:root{--background:#f6f8f7;--surface:#ffffff;--surface-muted:#edf5f1;--text:#12221a;--muted:#66756d;--border:#dce7e1;--green:#0b7a45;--green-dark:#075f36;--blue:#0072bc;--yellow:#f7c948;--danger:#b42318;--shadow:0 18px 60px rgba(10,50,32,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img,video{max-width:100%}.button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.98rem;font-weight:750;gap:.5rem;justify-content:center;min-height:48px;padding:.85rem 1.15rem;transition:transform .16s ease,background .16s ease,opacity .16s ease}.button:disabled{cursor:not-allowed;opacity:.55}.button:not(:disabled):hover{transform:translateY(-1px)}.buttonPrimary{background:var(--green);color:#ffffff}.buttonPrimary:hover{background:var(--green-dark)}.buttonSecondary{background:var(--surface);border:1px solid var(--border);color:var(--green)}.brandMark{align-items:center;background:var(--green);border-radius:8px;color:#ffffff;display:inline-flex;font-weight:900;height:52px;justify-content:center;width:52px}.appName,.stepCounter{color:var(--green);font-size:.84rem;font-weight:850;margin:0;text-transform:uppercase}.eventEntry{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);margin:0 auto;max-width:1120px;min-height:100vh;padding:5rem 1.25rem}.entryHero{align-content:start;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:1.35rem;gap:1.35rem;padding:clamp(1.5rem,4vw,3.5rem)}.adminHeader h1,.entryHero h1,.finalActions h1,.processingPanel h1,.stepHeader h1{font-size:clamp(2rem,5vw,4.3rem);letter-spacing:0;line-height:.98;margin:.25rem 0 .75rem}.adminHeader p,.entryHero p,.finalActions p,.stepHeader p{color:var(--muted);font-size:1.04rem;line-height:1.55;margin:0;max-width:760px}.entryStats{display:flex;flex-wrap:wrap;gap:.7rem}.entryStats span{align-items:center;background:var(--surface-muted);border-radius:8px;color:var(--green-dark);display:inline-flex;font-weight:700;gap:.45rem;padding:.7rem .85rem}.entryPreview{display:grid;grid-gap:1rem;gap:1rem}.emptyState,.entryPreview article,.exportCard,.metricCard{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.2rem}.entryPreview strong,.metricCard strong{display:block;font-size:2rem;line-height:1}.entryPreview span,.exportCard span,.metricCard span{color:var(--muted)}.pageShell{margin:0 auto;max-width:1120px;min-height:100vh;padding:2rem 1rem 6rem}.narrowShell{max-width:720px}.centerShell{display:grid;place-items:center}.stepHeader{margin:0 auto 1.25rem}.capturePanel,.formPanel,.processingPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:1rem;gap:1rem;padding:1.25rem}.formPanel label{color:var(--text);display:grid;font-size:.94rem;font-weight:750;grid-gap:.45rem;gap:.45rem}.formPanel input,.formPanel select{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:46px;padding:.75rem .85rem}.twoCols{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.checkRow{align-items:start;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.9rem}.checkRow input{height:20px;margin-top:.15rem;width:20px}.checkRow span,.finePrint{color:var(--muted);font-size:.92rem;line-height:1.45}.required{background:var(--surface-muted)}.finePrint{margin:0}.formError{background:#fff1f0;border:1px solid #ffd3cf;border-radius:8px;color:var(--danger);margin:0;padding:.85rem}.chipGroup{display:flex;flex-wrap:wrap;gap:.55rem}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:.88rem;font-weight:750;padding:.55rem .8rem}.chip.selected{background:var(--green);border-color:var(--green);color:#ffffff}.cardGrid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.cardGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choiceCard{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:.7rem;gap:.7rem;min-height:220px;padding:1rem;text-align:left}.choiceCard.selected{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,122,69,.14)}.choiceCard strong{font-size:1.1rem}.choiceCard span{color:var(--muted);line-height:1.4}.choiceCard small{color:var(--blue);font-weight:800}.choiceMedia{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,rgba(11,122,69,.88),rgba(0,114,188,.72)),var(--surface-muted);border-radius:8px;color:#ffffff;display:flex;font-size:2rem;font-weight:900;justify-content:center}.outfitMedia{background:linear-gradient(135deg,rgba(0,114,188,.9),rgba(247,201,72,.88)),var(--surface-muted)}.stickyActions{bottom:0;display:flex;justify-content:flex-end;margin-top:1rem;padding:1rem 0;position:-webkit-sticky;position:sticky}.cameraPreview{aspect-ratio:1;background:#0f1f19;border-radius:8px;object-fit:cover;width:100%}.uploadBox{align-items:center;background:var(--surface-muted);border:1px dashed var(--green);border-radius:8px;color:var(--green-dark);cursor:pointer;display:flex;gap:.7rem;justify-content:center;min-height:86px;padding:1rem;text-align:center}.uploadBox input{display:none}.processingPanel{text-align:center;width:min(100%,520px)}.spinner{animation:spin .9s linear infinite;border:4px solid var(--surface-muted);border-top-color:var(--green);border-radius:999px;height:64px;margin:0 auto;width:64px}.progressTrack{background:var(--surface-muted);border-radius:999px;height:10px;overflow:hidden}.progressTrack span{background:var(--green);display:block;height:100%;transition:width .3s ease}@keyframes spin{to{transform:rotate(1turn)}}.finalPage{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) 360px;margin:0 auto;max-width:1180px;min-height:100vh;padding:1rem}.finalActions,.finalPhotoPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.finalPhotoPanel{display:grid;place-items:center;padding:1rem}.finalPhotoPanel img{border-radius:8px;max-height:calc(100vh - 2rem);object-fit:contain}.finalActions{align-content:start;grid-gap:.9rem;gap:.9rem}.finalActions,.qrPanel{display:grid;padding:1rem}.qrPanel{align-items:center;background:var(--surface-muted);border-radius:8px;grid-gap:.4rem;gap:.4rem;justify-items:center}.qrPanel img{background:#ffffff;border-radius:8px;padding:.5rem;width:180px}.galleryGrid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.galleryItem{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.galleryItem img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.galleryItem div{display:grid;grid-gap:.2rem;gap:.2rem;padding:.8rem}.galleryItem span{color:var(--muted)}.adminShell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.adminNav{background:#10231a;color:#ffffff;display:grid;grid-gap:1rem;gap:1rem;grid-template-rows:auto auto 1fr;padding:1rem}.adminNav nav{display:grid;grid-gap:.35rem;gap:.35rem}.adminNav a{border-radius:8px;color:#dce7e1;font-weight:750;padding:.7rem .75rem}.adminNav a:hover{background:rgba(255,255,255,.09);color:#ffffff}.adminContent{padding:2rem}.adminHeader{margin-bottom:1.25rem}.adminHeader h1{font-size:clamp(2rem,4vw,3.2rem)}.exportGrid,.metricGrid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr))}.metricCard{display:grid;grid-gap:.5rem;gap:.5rem}.filterBar{align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin-bottom:1rem;padding:1rem}.filterBar label{display:grid;font-weight:750;grid-gap:.4rem;gap:.4rem}.filterBar select{border:1px solid var(--border);border-radius:8px;min-height:46px;padding:.7rem .8rem}.metricCard strong{font-size:1.8rem}.adminTwoCols{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.adminPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.adminPanel h2{margin:0 0 .8rem}.rankRow{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin:0;padding:.7rem 0}.adminList{display:grid;grid-gap:1rem;gap:1rem}.outfitList{display:flex;flex-wrap:wrap;gap:.5rem}.outfitList span{border-radius:999px;color:var(--green-dark);font-weight:750;padding:.45rem .65rem}.outfitList span,.routeHero{background:var(--surface-muted)}.routeHero{align-items:center;border-radius:8px;display:flex;gap:.8rem;padding:1rem}.routeHero span,.routeHero strong{display:block}.routeHero span{color:var(--muted);margin-top:.25rem}.routeSection h2{margin:0 0 .5rem}.routeSection ol,.routeSection ul{margin:0;padding-left:1.25rem}.routeSection li{margin:.35rem 0}.settingsTextList{display:grid;grid-gap:1rem;gap:1rem}.settingsTextList p{color:var(--muted);line-height:1.45;margin:.25rem 0 0}.settingsCommands{margin-top:1rem}.settingsCommands code{background:var(--surface-muted);border-radius:8px;display:block;margin-top:.6rem;overflow-x:auto;padding:.85rem}.mutedLine{color:var(--muted);margin-top:-.4rem}.clientCampaignList{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.clientCampaign{border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:.35rem;gap:.35rem;padding:.9rem}.clientCampaign small,.clientCampaign span{color:var(--muted)}.eventMiniList{margin-top:.4rem}.tableWrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;min-width:820px;width:100%}td,th{border-bottom:1px solid var(--border);padding:.75rem;text-align:left;vertical-align:top}th{background:var(--surface-muted);color:var(--green-dark);font-size:.82rem;text-transform:uppercase}.exportCard{display:grid;grid-gap:.4rem;gap:.4rem}.adminLoginPage{display:grid;min-height:100vh;padding:1rem;place-items:center}.adminLoginCard{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:1rem;gap:1rem;max-width:460px;padding:1.25rem;width:100%}.adminLoginCard h1{font-size:2.2rem;line-height:1;margin:.35rem 0 .5rem}.adminLoginCard p{color:var(--muted);line-height:1.5;margin:0}.adminLoginCard label{display:grid;font-weight:750;grid-gap:.45rem;gap:.45rem}.adminLoginCard input{border:1px solid var(--border);border-radius:8px;min-height:46px;padding:.75rem .85rem}.kioskPage{align-items:center;background:linear-gradient(135deg,rgba(11,122,69,.08),rgba(0,114,188,.08)),var(--background);display:grid;min-height:100vh;padding:2rem}.kioskPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:1.4rem;gap:1.4rem;margin:0 auto;max-width:860px;padding:clamp(1.5rem,5vw,4rem)}.kioskPanel h1{font-size:clamp(2.4rem,7vw,5.5rem);line-height:.95;margin:.35rem 0 .9rem}.kioskPanel p{color:var(--muted);font-size:1.1rem;line-height:1.55;margin:0}.kioskActions{display:flex;flex-wrap:wrap;gap:.7rem}.kioskActions span{align-items:center;background:var(--surface-muted);border-radius:8px;color:var(--green-dark);display:inline-flex;font-weight:800;gap:.5rem;padding:.75rem .9rem}.adminQr{background:#ffffff;border:1px solid var(--border);border-radius:8px;height:92px;padding:.35rem;width:92px}@media (max-width:900px){.adminShell,.adminTwoCols,.eventEntry,.finalPage{grid-template-columns:1fr}.adminNav{position:static}.adminNav nav{display:flex;flex-wrap:wrap}.cardGrid,.cardGrid.two,.exportGrid,.galleryGrid,.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.adminContent,.eventEntry,.finalPage,.pageShell{padding:1rem}.entryHero h1,.finalActions h1,.stepHeader h1{font-size:2.25rem}.cardGrid,.cardGrid.two,.exportGrid,.filterBar,.galleryGrid,.metricGrid,.twoCols{grid-template-columns:1fr}.choiceCard{min-height:0}}