
:root {
  --teal:#1A5C52;--teal-light:#2D8C7E;--teal-pale:#E8F4F2;
  --cream:#FAFAF5;--gold:#C8A84B;--text:#111;--gray:#888;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);min-height:100vh;overflow-x:hidden;}

/* LAYOUT */
.app{min-height:100vh;display:flex;flex-direction:column;}
.header{padding:28px 60px 0;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:14px;}
.brand-logo{height:48px;object-fit:contain;}
.activity-title{text-align:right;}
.activity-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gray);margin-bottom:4px;}
.activity-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--teal);}

/* PROGRESS */
.progress-wrap{padding:20px 60px 0;}
.progress-steps{display:flex;align-items:center;}
.prog-step{display:flex;align-items:center;gap:10px;flex:1;}
.prog-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#eee;color:#aaa;transition:all 0.3s;flex-shrink:0;}
.prog-label{font-size:11px;font-weight:500;color:#ccc;letter-spacing:0.5px;text-transform:uppercase;transition:color 0.3s;white-space:nowrap;}
.prog-line{flex:1;height:2px;background:#eee;margin:0 8px;transition:background 0.3s;}
.prog-step.active .prog-num{background:var(--teal);color:white;}
.prog-step.active .prog-label{color:var(--teal);}
.prog-step.done .prog-num{background:var(--gold);color:white;}
.prog-step.done .prog-label{color:var(--gold);}
.prog-line.done{background:var(--gold);}

/* SCREEN */
.screen{display:none;}
.screen.active{display:flex;flex-direction:column;flex:1;padding:36px 60px 60px;animation:fadeUp 0.4s ease forwards;align-items:center;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* STEP HEADER */
.step-header{margin-bottom:32px;text-align:center;width:100%;max-width:1000px;}
.step-num{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--teal-light);font-weight:600;margin-bottom:8px;}
.step-title{font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:2px;color:var(--teal);line-height:1;}

/* PRODUCT CARDS */
.cards-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:1000px;}
.product-card{background:white;border:3px solid transparent;border-radius:20px;padding:24px 20px;width:150px;cursor:pointer;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);text-align:center;box-shadow:0 2px 12px rgba(0,0,0,0.06);}
.product-card:hover{transform:translateY(-4px);border-color:var(--teal-light);}
.product-card.selected{border-color:var(--teal);background:var(--teal);}
.product-card .card-emoji{font-size:40px;margin-bottom:12px;}
.product-card .card-name{font-size:13px;font-weight:600;color:var(--teal);line-height:1.3;}
.product-card.selected .card-name{color:white;}

/* FUNCTIONAL */
.func-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:1000px;}
.func-card{background:white;border:3px solid transparent;border-radius:20px;padding:20px;cursor:pointer;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 2px 12px rgba(0,0,0,0.06);width:100%;}
.func-card:hover{transform:translateY(-4px);border-color:var(--teal-light);}
.func-card.selected{border-color:var(--teal);background:var(--teal);}
.fc-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.fc-icon{font-size:28px;}
.fc-name{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;color:var(--teal);}
.func-card.selected .fc-name{color:white;}
.ing-chips{display:flex;flex-wrap:wrap;gap:6px;}
.ing-chip{padding:5px 10px;border:1.5px solid #ddd;border-radius:100px;font-size:11px;font-weight:500;color:#555;cursor:pointer;transition:all 0.2s;background:white;}
.ing-chip:hover{border-color:var(--teal-light);color:var(--teal);}
.ing-chip.selected{background:var(--teal);border-color:var(--teal);color:white;}
.func-card.selected .ing-chip{border-color:rgba(255,255,255,0.4);color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.1);}
.func-card.selected .ing-chip.selected{background:white;color:var(--teal);border-color:white;}

/* TARGET */
.target-section{margin-bottom:28px;width:100%;max-width:1000px;}
.target-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gray);margin-bottom:14px;font-weight:600;}
.target-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.chip{padding:10px 22px;border:2px solid #ddd;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.2s;background:white;color:var(--text);}
.chip:hover{border-color:var(--teal-light);color:var(--teal);}
.chip.selected{background:var(--teal);border-color:var(--teal);color:white;}

/* FLAVOR — multi select */
.flavor-group{margin-bottom:28px;width:100%;max-width:1000px;text-align:center;}
.flavor-group-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--gold);margin-bottom:14px;}
.flavor-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.flavor-chip{padding:12px 22px;border:2px solid #ddd;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;background:white;color:var(--text);text-align:center;}
.flavor-chip .flavor-sub{font-size:10px;color:var(--gray);font-weight:400;margin-top:2px;}
.flavor-chip:hover{border-color:var(--teal-light);}
.flavor-chip.selected{background:var(--teal);border-color:var(--teal);color:white;}
.flavor-chip.selected .flavor-sub{color:rgba(255,255,255,0.7);}

/* CLAIMS — multi select */
.claims-grid{display:flex;flex-wrap:wrap;gap:16px;max-width:800px;justify-content:center;}
.claim-card{background:white;border:3px solid transparent;border-radius:16px;padding:24px 28px;cursor:pointer;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 2px 12px rgba(0,0,0,0.06);min-width:150px;}
.claim-card:hover{border-color:var(--teal-light);transform:translateY(-3px);}
.claim-card.selected{border-color:var(--teal);background:var(--teal);}
.claim-card .claim-icon{font-size:28px;margin-bottom:10px;display:flex;align-items:center;justify-content:flex-start;}
.claim-card .claim-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--teal);}
.claim-card.selected .claim-name{color:white;}

/* NAV */
.nav-row{display:flex;gap:12px;margin-top:32px;justify-content:center;width:100%;max-width:1000px;}
.back-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 28px;background:transparent;border:2px solid #ddd;border-radius:100px;font-size:15px;font-weight:500;color:var(--gray);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.back-btn:hover{border-color:var(--teal);color:var(--teal);}
.next-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:var(--teal);color:white;border:none;border-radius:100px;font-size:15px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all 0.2s;opacity:0.4;pointer-events:none;}
.next-btn.enabled{opacity:1;pointer-events:all;}
.next-btn.enabled:hover{background:var(--teal-light);transform:translateY(-2px);}

/* RESULT */
#screen-result{padding:40px 60px 60px;flex-direction:row !important;gap:60px;align-items:flex-start;}
.result-left{flex:0 0 340px;display:flex;flex-direction:column;align-items:center;}

/* QR Box */
.qr-box{background:white;border-radius:28px;padding:32px;box-shadow:0 20px 60px rgba(26,92,82,0.15);text-align:center;width:100%;}
.qr-logo{height:60px;object-fit:contain;margin-bottom:20px;}
.qr-img{width:220px;height:220px;object-fit:contain;margin:0 auto 20px;display:block;}
.qr-text{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--teal);margin-bottom:6px;}
.qr-sub{font-size:12px;color:var(--gray);}

.result-right{flex:1;padding-top:8px;}
.result-tag{display:inline-block;background:var(--teal);color:white;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:20px;}
.result-headline{font-family:'Bebas Neue',sans-serif;font-size:56px;line-height:1;color:var(--teal);margin-bottom:6px;letter-spacing:2px;}
.result-headline span{color:var(--gold);}
.result-subtitle{font-family:'DM Serif Display',serif;font-size:17px;color:var(--gray);font-style:italic;margin-bottom:24px;}
.result-sections{display:flex;flex-direction:column;gap:18px;margin-bottom:28px;}
.result-section-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-light);font-weight:600;margin-bottom:8px;}
.result-tags-row{display:flex;flex-wrap:wrap;gap:8px;}
.result-tag-pill{padding:6px 14px;background:var(--teal-pale);border-radius:100px;font-size:12px;font-weight:500;color:var(--teal);}
.result-tag-pill.gold{background:rgba(200,168,75,0.12);color:var(--gold);}
.formula-box{background:var(--teal);border-radius:16px;padding:20px 24px;margin-bottom:24px;}
.formula-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:10px;}
.formula-items{display:flex;flex-wrap:wrap;gap:8px;}
.formula-item{padding:5px 12px;background:rgba(255,255,255,0.15);border-radius:100px;font-size:12px;color:white;font-weight:500;}
.result-actions{display:flex;gap:12px;}
.btn-restart{padding:14px 28px;background:transparent;border:2px solid var(--teal);border-radius:100px;font-size:14px;font-weight:500;color:var(--teal);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.btn-restart:hover{background:var(--teal);color:white;}

/* ADMIN PAGE */
#admin-page{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:2000;overflow-y:auto;padding:40px;}
.admin-box{background:white;border-radius:24px;max-width:1000px;margin:0 auto;padding:40px;}
.admin-title{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--teal);margin-bottom:24px;letter-spacing:2px;}
.admin-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:24px;}
.admin-table th{background:var(--teal);color:white;padding:10px 12px;text-align:left;font-size:11px;letter-spacing:1px;}
.admin-table td{padding:10px 12px;border-bottom:1px solid #eee;vertical-align:top;}
.admin-table tr:hover td{background:#f9f9f9;}
.admin-btn{padding:12px 24px;background:var(--teal);color:white;border:none;border-radius:100px;font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;margin-right:12px;}
.admin-close{padding:12px 24px;background:transparent;border:2px solid #ddd;border-radius:100px;font-size:14px;color:var(--gray);cursor:pointer;font-family:'DM Sans',sans-serif;}
.admin-stats{display:flex;gap:20px;margin-bottom:24px;}
.stat-box{background:var(--teal-pale);border-radius:16px;padding:16px 24px;text-align:center;}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--teal);}
.stat-label{font-size:11px;color:var(--gray);letter-spacing:1px;}
