@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Marcellus&family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#0b1220;--panel:#121b2e;--panel-raised:#1c2a44;--line:#263654;--text:#e7ecf3;--text-dim:#8a97ac;--gold:#e8c468;--teal:#3fa796;--amber:#e8935a;--coral:#e0685a;--grey:#8a97ac}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif;font-size:14px}h1,h2,h3,.num,.numeric{font-family:Manrope,sans-serif}::selection{background:var(--gold);color:#0b1220}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}#login-screen{background:radial-gradient(600px 400px at 15% 10%, #e8c4680f, transparent), radial-gradient(700px 500px at 85% 90%, #3fa7960f, transparent), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;width:380px;padding:40px 36px}.login-mark{width:44px;height:44px;margin-bottom:20px}.login-card h1{margin:0 0 4px;font-size:20px;font-weight:700}.login-card p.sub{color:var(--text-dim);margin:0 0 28px;font-size:13px}.field{margin-bottom:16px}.field label{color:var(--text-dim);margin-bottom:6px;font-size:12px;display:block}.field input{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);border-radius:4px;padding:11px 12px;font-family:inherit;font-size:14px}.not-attended-toolbar{flex-wrap:wrap}.not-attended-toolbar input[type=text]{min-width:180px}.not-attended-toolbar select{min-width:160px}.field input:focus{border-color:var(--gold);outline:none}.btn-primary{background:var(--gold);color:#1a1406;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:6px;padding:12px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:600}.btn-primary:hover{filter:brightness(1.06)}.login-error{color:var(--coral);margin:0 0 14px;font-size:12.5px;display:none}.login-error.visible{display:block}.login-hint{color:var(--text-dim);border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:12px}#app{min-height:100vh;display:none}.shell{min-height:100vh;display:flex}.rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:216px;padding:20px 14px;display:flex}.brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:14px;padding:0 8px 22px;display:flex}.brand svg{flex-shrink:0}.brand-text .t1{font-family:Manrope,sans-serif;font-size:14.5px;font-weight:700;line-height:1.2}.brand-text .t2{color:var(--text-dim);font-size:11px}.nav-item{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:10px;margin-bottom:2px;padding:10px;font-size:13.5px;display:flex}.nav-item svg{opacity:.8;flex-shrink:0}.nav-item:hover{background:var(--panel-raised);color:var(--text)}.nav-item.active{background:var(--panel-raised);color:var(--gold);border-left:2px solid var(--gold);padding-left:8px}.nav-item .count{color:var(--text-dim);margin-left:auto;font-family:Manrope,sans-serif;font-size:11px}.nav-item.active .count{color:var(--gold)}.rail-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.logout-btn{color:var(--text-dim);cursor:pointer;font-size:12.5px}.logout-btn:hover{color:var(--coral)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.topbar h2{margin:0;font-size:17px;font-weight:700}.status-line{color:var(--text-dim);align-items:center;gap:18px;font-size:12.5px;display:flex}.status-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:2.4s infinite pulse;display:inline-block;box-shadow:0 0 #3fa79680}@keyframes pulse{0%{box-shadow:0 0 #3fa79673}70%{box-shadow:0 0 0 6px #3fa79600}to{box-shadow:0 0 #3fa79600}}@media (prefers-reduced-motion:reduce){.status-dot{animation:none}}.content{padding:24px 28px 40px;overflow-y:auto}.config-page{max-width:980px}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px}.config-card{max-width:420px}.config-header{margin-bottom:18px}.config-header h2{margin:0 0 6px;font-size:20px}.config-header p,.config-description{color:var(--text-dim);margin:0 0 20px;font-size:13px}.config-section{flex-direction:column;display:flex}.config-section form{margin-top:auto}.config-form-spaced{border-top:1px solid var(--line);padding-top:20px;margin-top:24px!important}.config-feedback{min-height:18px;margin-bottom:12px}.config-card .sub,.config-danger p{color:var(--text-dim);font-size:13px}.config-message{color:var(--teal);min-height:18px}.config-error{color:var(--coral);min-height:18px}.btn-danger{color:var(--coral);border:1px solid var(--coral);cursor:pointer;background:0 0;border-radius:4px;padding:11px 14px;font-weight:600}.btn-danger:hover{background:#dc645a1a}@media (width<=760px){.config-grid{grid-template-columns:1fr}}.panel{display:none}.panel.active{display:block}.kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--card-color,var(--grey));border-radius:6px;padding:18px 20px}.kpi-card .label{color:var(--text-dim);margin-bottom:10px;font-size:12.5px}.kpi-card .value{font-size:32px;font-weight:800;line-height:1}.kpi-card .sub{color:var(--text-dim);margin-top:8px;font-size:11.5px}h3.section-title{justify-content:space-between;align-items:center;margin:0 0 14px;font-size:14.5px;font-weight:700;display:flex}h3.section-title .desc{color:var(--text-dim);font-size:12px;font-weight:400}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:6px;width:100%;overflow:hidden}thead th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--line);background:var(--panel-raised);cursor:pointer;white-space:nowrap;padding:11px 14px;font-size:11.5px;font-weight:600}thead th.num,td.num{text-align:right}thead th:hover{color:var(--text)}tbody td{border-bottom:1px solid var(--line);padding:10px 14px;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#ffffff05}td.numeric{font-variant-numeric:tabular-nums}.pct-bar{align-items:center;gap:8px;display:flex}.pct-track{background:var(--line);border-radius:3px;width:64px;height:5px;overflow:hidden}.pct-fill{background:var(--teal);height:100%}.table-scroll{border-radius:6px;max-height:560px;overflow-y:auto}.table-scroll table{border-radius:0}.toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar input[type=text]{background:var(--panel);border:1px solid var(--line);max-width:320px;color:var(--text);border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.toolbar select{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:4px;padding:9px 12px;font-family:inherit;font-size:13px}.btn-export{border:1px solid var(--teal);color:var(--teal);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:6px;margin-left:auto;padding:9px 14px;font-family:inherit;font-size:12.5px;display:flex}.btn-export:hover{background:#3fa7961a}.result-count{color:var(--text-dim);margin-bottom:10px;font-size:12px}.result-count strong{color:var(--text);font-weight:600}.not-attended-table{margin-bottom:14px;overflow-x:auto}.not-attended-table table{min-width:620px}.pagination{color:var(--text-dim);justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.pagination button{background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;border-radius:4px;padding:8px 12px}.pagination button:hover:not(:disabled){background:var(--panel-raised)}.pagination button:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.5}.badge{border-radius:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.success{color:var(--teal);background:#3fa79626}.badge.duplicate{color:var(--amber);background:#e8935a26}.badge.error{color:var(--coral);background:#e0685a26}.badge.attendance{color:var(--gold);background:#e8c46826}.badge.hadya{color:var(--teal);background:#3fa79626}.feed-list{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin:0;padding:0;list-style:none;overflow:hidden}.feed-row{border-bottom:1px solid var(--line);grid-template-columns:76px 96px 1fr 120px 90px;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:grid}.feed-row:last-child{border-bottom:none}.feed-row.new{animation:1.6s ease-out flashIn}@keyframes flashIn{0%{background:#e8c4681f}to{background:0 0}}@media (prefers-reduced-motion:reduce){.feed-row.new{animation:none}}.feed-time{color:var(--text-dim);font-variant-numeric:tabular-nums}.feed-name{font-weight:500}.feed-group{color:var(--text-dim)}.empty-state{text-align:center;color:var(--text-dim);border:1px dashed var(--line);border-radius:6px;padding:40px 20px}.empty-state strong{color:var(--text);margin-bottom:4px;font-size:14px;display:block}.import-intro{color:var(--text-dim);max-width:640px;margin:0 0 20px;font-size:13px;line-height:1.6}.dropzone{border:1.5px dashed var(--line);text-align:center;cursor:pointer;background:var(--panel);border-radius:8px;padding:36px 24px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--gold);background:#e8c4680a}.dropzone .icon{margin-bottom:12px}.dropzone .dz-title{margin-bottom:4px;font-size:14px;font-weight:600}.dropzone .dz-sub{color:var(--text-dim);font-size:12.5px}.dropzone input[type=file]{display:none}.import-row{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.import-row>div{flex:1;min-width:280px}.required-cols{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px 18px}.required-cols .rc-title{color:var(--text-dim);margin-bottom:10px;font-size:12.5px;font-weight:600}.required-cols ul{margin:0;padding:0;list-style:none}.required-cols li{border-bottom:1px solid var(--line);justify-content:space-between;padding:5px 0;font-size:12.5px;display:flex}.required-cols li:last-child{border-bottom:none}.required-cols .opt-tag{color:var(--text-dim);background:var(--panel-raised);border-radius:3px;padding:1px 6px;font-size:10.5px}.link-btn{color:var(--gold);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;text-decoration:underline}.import-status{color:var(--text-dim);margin-top:10px;font-size:12.5px}.import-status.err{color:var(--coral)}.summary-tiles{grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0;display:grid}.summary-tiles .tile{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--tile-color,var(--grey));border-radius:6px;padding:16px 18px}.summary-tiles .tile .label{color:var(--text-dim);margin-bottom:8px;font-size:12px}.summary-tiles .tile .value{font-family:Manrope,sans-serif;font-size:26px;font-weight:800}.last-import-note{color:var(--text-dim);background:var(--panel-raised);border-left:2px solid var(--teal);border-radius:5px;margin-bottom:18px;padding:10px 14px;font-size:12.5px}tr.row-error td{color:var(--coral)}tr.row-dup td{color:var(--amber)}@media (width<=900px){.rail{width:64px}.brand-text,.nav-item span:not(.count),.rail-footer .logout-btn span{display:none}.kpi-row{grid-template-columns:repeat(2,1fr)}.feed-row{grid-template-columns:60px 1fr;grid-template-areas:"time name"".group"}}@media (width<=600px){.not-attended-toolbar{align-items:stretch}.not-attended-toolbar input[type=text],.not-attended-toolbar select,.not-attended-toolbar .btn-export{flex:100%;max-width:none;margin-left:0}.pagination{flex-wrap:wrap;justify-content:center}}.boarding-portal{--ivory:#faf6ec;--ink:#1c1b18;--sage:#7e9686;box-sizing:border-box;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 10%,#c9a44c1a,#0000 45%),radial-gradient(circle at 85% 90%,#0f3b2c59,#0000 50%),#0a100d;flex-direction:column;align-items:center;padding:32px 16px 60px;font-family:Inter,sans-serif;display:flex}.portal-head{color:var(--ivory);text-align:center;margin-bottom:28px}.portal-head .brandline,.pass-org .line1{color:var(--pass-gold-light,#e7cc85);letter-spacing:.06em;text-transform:uppercase;font-family:Marcellus,serif;font-size:13px}.portal-head h1{margin:6px 0 4px;font-family:Marcellus,serif;font-size:clamp(26px,5vw,38px);font-weight:400}.portal-head p{color:#b9c6be;margin:0;font-size:13px}.search-card{box-sizing:border-box;background:var(--ivory);border-radius:18px;width:100%;max-width:400px;padding:28px 24px 26px;box-shadow:0 20px 50px #00000073}.search-card label{color:#0f3b2c;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.search-card input{box-sizing:border-box;width:100%;color:var(--ink);background:#fff;border:2px solid #e1dacb;border-radius:10px;outline:none;padding:14px 16px;font-size:20px;font-weight:600}.search-card button{color:#e7cc85;cursor:pointer;background:#0f3b2c;border:0;border-radius:10px;width:100%;margin-top:16px;padding:14px 16px;font-size:15px;font-weight:700}.search-card button:disabled{opacity:.65;cursor:wait}.search-hint{color:#8b8672;text-align:center;margin-top:14px;font-size:12px}.error-msg{color:#9c3b2a;background:#fbeae6;border:1px solid #e7b3a5;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:13px}.pass-screen{flex-direction:column;align-items:center;width:100%;display:flex}.barnamaj-notice{color:var(--ivory);text-align:center;margin:0 0 18px;font-size:15px;font-weight:600}.barnamaj-attendance{color:var(--ivory);text-align:center;margin-top:22px}.barnamaj-attendance p{color:#b9c6be;margin:0 0 10px;font-size:13px}.barnamaj-attendance button{color:#0a2a1f;cursor:pointer;background:#c9a44c;border:1px solid #c9a44c;border-radius:999px;padding:11px 20px;font-size:13px;font-weight:700}.barnamaj-attendance button:disabled{cursor:wait;opacity:.65}.attendance-result{margin-top:10px;font-size:13px}.attendance-result.error{color:#f0a08d}.attendance-result.success{color:#b9d8b9}.actions-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;display:flex}.actions-row button{color:var(--ivory);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:10px 18px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.actions-row button.primary{color:#0a2a1f;background:#c9a44c;border-color:#c9a44c}.pass-wrap{width:100%;max-width:760px}.boarding-pass{background:var(--ivory);border-radius:20px;width:100%;overflow:hidden;box-shadow:0 30px 70px #00000080}.pass-top{min-height:230px;display:flex}.pass-left{background:linear-gradient(155deg, var(--pass-deep,#0f3b2c), var(--pass-deeper,#0a2a1f));color:var(--ivory);flex-direction:column;flex:46%;justify-content:space-between;padding:26px 24px;display:flex}.pass-logo-row{align-items:center;gap:10px;display:flex}.pass-logo{flex-shrink:0;width:38px;height:38px}.pass-org{line-height:1.3}.pass-org .line2{color:#9fb2a6;letter-spacing:.08em;margin-top:2px;font-size:10.5px}.pass-group-name{color:#fff;word-break:break-word;font-family:Marcellus,serif;font-size:clamp(30px,6vw,44px);line-height:1.02}.miqaat-tag{color:var(--pass-gold-light,#e7cc85);border-top:1px solid #ffffff24;padding-top:10px;font-size:11px}.pass-divider{border-left:2px dashed #1c1b182e;width:0}.pass-right{flex-direction:column;flex:54%;justify-content:center;gap:14px;padding:24px 26px;display:flex}.field-label{color:var(--sage);letter-spacing:.08em;margin-bottom:3px;font-size:10px;font-weight:700}.field-value{color:var(--ink);font-size:15px;font-weight:600;line-height:1.3}.field-name .field-value{font-size:22px;font-weight:700}.field-grid{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}.field-full{grid-column:1/-1}.pass-bottom{background:#1c1b1808;border-top:2px dashed #1c1b182e;align-items:center;gap:18px;padding:18px 26px;display:flex}.qr-box{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;padding:6px;display:flex}.qr-box img{width:100%;height:100%}.its-big{color:var(--ink);white-space:nowrap;font-size:clamp(24px,5vw,32px);font-weight:800}.its-big span{display:block}.its-big span:first-child{color:var(--sage);letter-spacing:.08em;margin-bottom:2px;font-size:10px}.scan-note{color:#6b6656;text-align:right;max-width:230px;margin-left:auto;font-size:11.5px;line-height:1.45}.scan-note strong{color:var(--ink)}.pass-footer-tag{color:#7c8a80;text-align:center;margin-top:16px;font-size:11px}@media (width<=640px){.pass-top{flex-direction:column}.pass-divider{border-top:2px dashed #1c1b182e;border-left:0;width:auto;height:0}.pass-left{padding:22px 20px}.pass-group-name{font-size:34px}.pass-right{padding:20px}.pass-bottom{flex-wrap:wrap;padding:16px 20px}.scan-note{text-align:left;width:100%;max-width:none;margin-left:0}}@media print{html,body{margin:0;background:#fff!important}.boarding-portal{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;padding:0}.portal-head,.barnamaj-notice,.actions-row,.barnamaj-attendance,.attendance-result,.pass-footer-tag{display:none!important}.pass-wrap{max-width:100%}.boarding-pass,.pass-left,.pass-bottom{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.attendance-scanner{color:#fff;background:#0d1726;max-width:760px;min-height:100vh;margin:auto;padding:24px}.attendance-scanner header{justify-content:space-between;align-items:center;display:flex}.attendance-scanner h1{margin:.2rem 0;font-size:clamp(1.6rem,5vw,2.4rem)}.attendance-scanner p{margin:.3rem 0 1.2rem}.attendance-scanner header button,.manual-form button{cursor:pointer;border:0;border-radius:8px;min-height:46px;padding:0 18px;font-weight:700}.scanner-card{background:#172942;border-radius:16px;padding:18px}.scanner-card video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:10px;width:100%;display:block}.scanner-state{text-align:center;padding:14px;font-size:1.2rem}.camera-error{background:#7f1d1d;border-radius:8px;padding:12px;font-weight:700}.manual-form{border-top:1px solid #496078;margin-top:16px;padding-top:18px}.manual-form div{gap:8px;display:flex}.scan-result{text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:290px;padding:20px;font-size:1.35rem;display:flex}.scan-result small{font-size:.9rem}.scan-result.valid{color:#fff;background:#0b8f4d}.scan-result.duplicate{color:#111;background:#f5d20b}.scan-result.invalid{color:#fff;background:#c62828}@media (width<=520px){.attendance-scanner{padding:14px}.manual-form div{flex-direction:column}.manual-form button{width:100%}}.hadya-scanner{color:#f7fafc;background:#07111f;min-height:100vh;padding:1rem;font-family:system-ui,sans-serif}.hadya-scanner header{justify-content:space-between;align-items:center;gap:1rem;max-width:48rem;margin:0 auto 1rem;display:flex}.hadya-scanner h1{margin:0;font-size:clamp(1.5rem,5vw,2.25rem)}.hadya-scanner header p{color:#b8c7d9;margin:.35rem 0 0;font-size:1.05rem}.hadya-scanner button{cursor:pointer;border:0;border-radius:.5rem;padding:.8rem 1rem;font-weight:700}.hadya-scanner header button{color:#fff;background:#26364d}.scanner-card{text-align:center;background:#111e31;border:2px solid #2c4564;border-radius:1rem;max-width:48rem;margin:auto;padding:1rem}.scanner-card video{object-fit:cover;background:#000;border-radius:.75rem;width:100%;min-height:18rem;max-height:60vh}.scanner-state{color:#d9e6f5;padding:3rem 1rem;font-size:1.4rem;font-weight:700}.camera-error{color:#ffb4ab;font-size:1.1rem}.scan-result{border-radius:.75rem;place-content:center;gap:.65rem;min-height:18rem;padding:2rem 1rem;font-size:1.2rem;display:grid}.scan-result strong{font-size:clamp(1.5rem,6vw,2.4rem)}.scan-result.valid{background:#0b5d3b;border:3px solid #42e695}.scan-result.invalid{background:#681e2a;border:3px solid #ff6b6b}.scan-result small{color:#d7e2ed;margin-top:1rem}.manual-form{text-align:left;margin-top:1rem}.manual-form label{margin-bottom:.4rem;font-weight:700;display:block}.manual-form>div{gap:.5rem;display:flex}.manual-form input{border:1px solid #617590;border-radius:.5rem;flex:1;min-width:0;padding:.8rem;font-size:1.1rem}.manual-form button{color:#07111f;background:#e8c468}.manual-form button:disabled{opacity:.6;cursor:wait}@media (width<=480px){.hadya-scanner header{align-items:flex-start}.hadya-scanner header button{padding:.6rem}.manual-form>div{flex-direction:column}}.balloting-screen,.balloting-pin-screen{background:radial-gradient(circle at 50% 0%, #e8c46817, transparent 36%), var(--bg);min-height:100dvh;color:var(--text)}.balloting-screen{flex-direction:column;align-items:center;width:100%;padding:clamp(24px,5vh,64px) clamp(20px,5vw,96px);display:flex}.balloting-header{justify-content:space-between;align-items:flex-start;gap:24px;width:min(100%,1120px);display:flex}.balloting-header h1,.balloting-pin-card h1{color:var(--gold);letter-spacing:.02em;margin:0;font-family:Manrope,sans-serif;font-size:clamp(26px,3vw,46px);font-weight:800}.balloting-header button{border:1px solid var(--line);color:var(--text-dim);background:var(--panel);cursor:pointer;border-radius:5px;padding:9px 16px}.balloting-header button:hover{color:var(--text);border-color:var(--gold)}.balloting-eyebrow{color:var(--text-dim);letter-spacing:.18em;margin:0 0 8px;font-size:11px;font-weight:600}.balloting-screen>p[role=alert]{width:min(100%,720px);color:var(--coral);text-align:center;margin:28px 0 0}.balloting-progress{color:var(--text-dim);letter-spacing:.02em;text-align:center;margin-top:clamp(34px,7vh,82px);font-size:clamp(18px,2vw,28px)}.balloting-progress strong{color:var(--gold)}.balloting-progress span{color:var(--text-dim);margin-top:8px;font-size:13px;display:block}.balloting-result{border:1px solid var(--line);border-top:4px solid var(--gold);text-align:center;background:linear-gradient(145deg,#1c2a44f5,#121b2efa);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,920px);min-height:clamp(280px,42vh,470px);margin-top:clamp(24px,4vh,46px);padding:clamp(30px,5vw,72px) 24px;display:flex;box-shadow:0 18px 70px #00000038}.balloting-result>span{color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(12px,1.2vw,16px);font-weight:600}.balloting-result>strong{color:var(--gold);letter-spacing:.08em;overflow-wrap:anywhere;margin-top:14px;font-family:Manrope,sans-serif;font-size:clamp(48px,9vw,128px);font-weight:800;line-height:1.05}.balloting-name{margin-top:25px;font-size:clamp(21px,2.4vw,38px);font-weight:700}.balloting-group{color:var(--text-dim);margin-top:8px;font-size:clamp(15px,1.5vw,22px)}.balloting-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(24px,4vh,42px);display:flex}.balloting-button,.balloting-results-button{width:auto;min-width:190px;margin:0;padding:15px 28px;font-size:16px}.balloting-button{box-shadow:0 8px 24px #e8c46824}.balloting-button:disabled{cursor:not-allowed;opacity:.55}.balloting-results{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(100%,920px);margin-top:30px;padding:26px clamp(20px,4vw,48px)}.balloting-results h2{margin:0 0 18px;font-size:clamp(20px,2vw,28px)}.balloting-results ol{margin:0;padding-left:28px}.balloting-results li{padding:9px 0 9px 8px;font-size:clamp(15px,1.5vw,21px)}.balloting-results li strong{color:var(--gold);margin-right:14px}.balloting-results li span{color:var(--text)}.balloting-pin-screen{place-items:center;padding:24px;display:grid}.balloting-pin-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:9px;width:min(100%,410px);padding:clamp(30px,5vw,48px);box-shadow:0 22px 70px #00000040}.balloting-pin-card .balloting-eyebrow{margin-bottom:14px}.balloting-pin-label{color:var(--text-dim);margin:14px 0 22px;font-size:15px}.balloting-pin-card input{border:1px solid var(--line);width:100%;color:var(--text);background:var(--bg);font:inherit;text-align:center;letter-spacing:.25em;border-radius:4px;outline:none;padding:13px 14px;font-size:18px}.balloting-pin-card input:focus{border-color:var(--gold)}.balloting-pin-card .btn-primary{margin-top:18px}.balloting-error{color:var(--coral);margin:14px 0 0;font-size:13px}@media (width<=600px){.balloting-screen{padding-inline:14px}.balloting-header button{padding:8px 10px;font-size:12px}.balloting-result{min-height:300px}.balloting-result>strong{letter-spacing:.04em;font-size:clamp(40px,13vw,72px)}.balloting-actions{width:100%}.balloting-button,.balloting-results-button{flex:180px}}
