:root{--ink:#14231f;--muted:#6f7975;--emerald:#0b6255;--emerald-2:#084a41;--gold:#c99b4c;--gold-soft:#ead8b6;--ivory:#f8f5ee;--paper:#fffefa;--line:#e8e2d7;--danger:#b44747;--shadow:0 24px 80px rgba(21,42,35,.12);--shadow-sm:0 10px 30px rgba(21,42,35,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 92% 4%,rgba(201,155,76,.2),transparent 28%),radial-gradient(circle at 5% 95%,rgba(11,98,85,.11),transparent 24%),var(--ivory);letter-spacing:-.01em}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M0 40h80M40 0v80' stroke='%23c99b4c' stroke-opacity='.08'/%3E%3C/svg%3E")}h1,h2,h3,.display-4,.display-6{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:-.025em}h1.fw-bold,.display-4.fw-bold{font-weight:700!important}.kiosk{min-height:100vh;display:flex;align-items:center;padding:32px 0}.glass{position:relative;background:rgba(255,254,250,.9);border:1px solid rgba(201,155,76,.28);border-radius:32px;box-shadow:var(--shadow);backdrop-filter:blur(18px);overflow:hidden}.glass:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--emerald),var(--gold),var(--emerald))}.step{display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:#68736f;text-transform:uppercase}.step b{color:var(--emerald)}.lead{color:#4f5c57}.btn{font-weight:700;letter-spacing:-.01em;border-radius:14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn-xl{padding:1rem 2rem;font-size:1.05rem;border-radius:16px}.btn-brand{border:0;background:linear-gradient(135deg,var(--emerald),var(--emerald-2));color:white;box-shadow:0 10px 24px rgba(11,98,85,.23)}.btn-brand:hover,.btn-brand:focus{background:linear-gradient(135deg,#0d7464,var(--emerald));color:white;box-shadow:0 14px 30px rgba(11,98,85,.3)}.btn-outline-dark{border-color:#cbd0cd;color:var(--ink)}.form-control,.form-select{min-height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:.75rem 1rem;box-shadow:none}.form-control:focus,.form-select:focus{border-color:var(--emerald);box-shadow:0 0 0 .22rem rgba(11,98,85,.11)}textarea.form-control{min-height:110px}.form-label{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#68736f}.camera-frame{position:relative;overflow:hidden;border-radius:28px;background:#0b1714;aspect-ratio:3/4;max-height:68vh;border:6px solid rgba(255,255,255,.9);box-shadow:0 24px 60px rgba(10,27,22,.24)}.camera-frame video,.camera-frame img{width:100%;height:100%;object-fit:cover}.countdown{position:absolute;inset:0;display:none;place-items:center;color:white;font-family:"Cormorant Garamond",serif;font-size:10rem;font-weight:700;background:rgba(6,21,17,.58);backdrop-filter:blur(4px)}.costume-card{cursor:pointer;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow-sm);transition:.25s;overflow:hidden}.costume-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(21,42,35,.14)}.costume-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,155,76,.18),0 20px 45px rgba(21,42,35,.15);transform:translateY(-5px)}.costume-art{height:160px;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.22),transparent 25%),linear-gradient(145deg,#0b6255,#18352d 72%,#c99b4c);display:grid;place-items:center;color:white;font-size:3.2rem}.card{border:1px solid var(--line);border-radius:20px;background:rgba(255,254,250,.92);box-shadow:var(--shadow-sm)}.card-body{padding:1.35rem}.badge{border-radius:999px;padding:.55em .8em}.alert{border:0;border-radius:16px}.progress{border-radius:999px;background:#e5e7e4;overflow:hidden}.progress-bar{background:linear-gradient(90deg,var(--emerald),#159b84)!important}.spinner-premium{width:82px;height:82px;border:7px solid var(--gold-soft);border-top-color:var(--emerald);border-radius:50%;animation:spin .9s linear infinite;box-shadow:inset 0 0 0 5px rgba(255,255,255,.65)}@keyframes spin{to{transform:rotate(360deg)}}.navbar{padding:.85rem 0!important;background:rgba(16,35,30,.96)!important;box-shadow:0 8px 30px rgba(0,0,0,.12);backdrop-filter:blur(18px)}.navbar-brand{font-family:"Cormorant Garamond",serif;font-size:1.55rem!important;font-weight:700}.navbar .btn{border-radius:10px}.admin-shell{max-width:1440px}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-heading h1{font-size:2.7rem;margin:0}.stat-card{position:relative;overflow:hidden;min-height:145px;padding:1.35rem}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-25px;top:-28px;background:rgba(201,155,76,.16)}.stat-card small{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-card strong{display:block;color:var(--emerald);line-height:1;margin-top:1rem}.table-responsive{border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-sm)}.table{margin:0}.table thead th,.table>tbody>tr:first-child>th{padding:1rem 1.1rem;background:#edf3f0;color:#476058;border:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.table td{padding:1rem 1.1rem;border-color:#eee9df;vertical-align:middle}.table tbody tr:hover{background:#fbfaf5}.login-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 1.25rem;background:linear-gradient(145deg,var(--emerald),#113b32);color:#f3d59a;font-size:1.6rem;box-shadow:0 14px 30px rgba(11,98,85,.24)}#qrcode canvas,#qrcode img{padding:12px!important;background:white;border-radius:18px;box-shadow:var(--shadow-sm)}@media(max-width:767px){.kiosk{padding:16px 0}.glass{border-radius:24px}.display-4{font-size:2.7rem}.step{font-size:.58rem;letter-spacing:.045em;padding:.5rem .7rem}.btn-xl{width:100%}.navbar .container{gap:.6rem}.navbar .btn{font-size:.7rem;padding:.35rem .5rem}.admin-heading{display:block}.admin-heading h1{font-size:2.2rem}.camera-frame{max-height:62vh}.costume-art{height:120px}}
