@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-black:#000;--bg-dark-surface:#09090b;--bg-dark-card:#121215;--bg-avatar:#18181b;--border-subtle:rgba(255,255,255,.1);--border-light:rgba(255,255,255,.18);--text-white:#fff;--text-gray:#a1a1aa;--text-dim:#71717a;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:9999px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{color:#fff;background-color:#000;width:100%;height:100%;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}.app-container{color:#fff;background:#000;flex-direction:column;width:100%;min-height:100vh;display:flex}.top-navbar{border-bottom:1px solid var(--border-subtle);z-index:100;background:#000;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.brand-title{align-items:center;gap:.6rem;display:flex}.brand-icon-shield{border:1px solid var(--border-light);color:#fff;background:#18181b;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.brand-text-block{flex-direction:column;display:flex}.brand-main{letter-spacing:.04em;color:#fff;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:800}.brand-sub{color:#38bdf8;letter-spacing:.12em;font-size:.62rem;font-weight:700}.nav-mode-switcher{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:#121215;padding:3px;display:flex}.nav-mode-btn{border-radius:var(--radius-pill);color:var(--text-gray);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.nav-mode-btn.active{color:#000;background:#fff;font-weight:700}.branch-select-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:#38bdf8;background:#121215;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;display:flex}.branch-select-pill select{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:.8rem;font-weight:600}.branch-select-pill select option{color:#fff;background:#121215}.kiosk-viewport{background:#000;flex:1;justify-content:center;width:100%;padding:0;display:flex}.kiosk-card.minimal-ios-card{width:100%;max-width:480px;box-shadow:none;background:#000;border:none;border-radius:0;flex-direction:column;gap:1.25rem;padding:1rem 1.25rem 2rem;display:flex}.top-minimal-progress-bar{background:rgba(255,255,255,.15);border-radius:9999px;width:100%;height:4px;margin-bottom:.25rem;overflow:hidden}.progress-track-active{background:#fff;border-radius:9999px;width:45%;height:100%}.kiosk-header{justify-content:space-between;align-items:center;display:flex}.kiosk-branch-info{color:#fff;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:#121215;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:700;display:flex}.btn-sos{color:#fff;border-radius:var(--radius-pill);letter-spacing:.5px;cursor:pointer;background:#ff2e63;border:none;justify-content:center;align-items:center;gap:8px;width:100%;min-width:220px;padding:12px 24px;font-size:.92rem;font-weight:800;transition:all .2s ease-in-out;display:flex;box-shadow:0 0 20px rgba(255,46,99,.6)}.btn-sos:active{transform:scale(.97)}.sos-hold-btn{border-radius:var(--radius-pill);color:#fff;cursor:pointer;touch-action:manipulation;background:#18181b;border:2px solid #ef4444;justify-content:center;align-items:center;width:100%;min-width:240px;min-height:56px;padding:14px 24px;font-size:.95rem;font-weight:800;transition:transform .1s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(239,68,68,.5)}.sos-hold-btn:active{transform:scale(.98)}.sos-progress-bar{z-index:1;background:#ef4444;transition:width .1s linear;position:absolute;top:0;bottom:0;left:0}.sos-cancel-btn{border-radius:var(--radius-pill);color:#e4e4e7;cursor:pointer;letter-spacing:.5px;touch-action:manipulation;background:#09090b;border:2px solid #3f3f46;justify-content:center;align-items:center;gap:8px;width:100%;min-width:240px;min-height:56px;padding:14px 24px;font-size:.95rem;font-weight:800;transition:all .2s ease-in-out;display:flex}.sos-cancel-btn:hover{color:#fff;background:#18181b;border-color:#71717a}.sos-cancel-btn:active{transform:scale(.98)}.kiosk-clock-section{text-align:center;padding:.5rem 0}.kiosk-time{letter-spacing:-.03em;color:#fff;font-family:Outfit,sans-serif;font-size:3.6rem;font-weight:900;line-height:1}.kiosk-date{color:#38bdf8;letter-spacing:.08em;text-transform:uppercase;margin-top:.4rem;font-size:.85rem;font-weight:700}.minimal-section-header{margin:.25rem 0}.minimal-headline{letter-spacing:-.03em;color:#fff;font-size:1.6rem;font-weight:700;line-height:1.25}.minimal-shift-list{flex-direction:column;display:flex}.minimal-shift-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:center;gap:16px;padding:1.1rem .25rem;transition:background .2s;display:flex}.minimal-shift-row:hover{background:rgba(255,255,255,.03)}.shift-avatar-badge{border:1px solid var(--border-light);background:#18181b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.25rem;display:flex}.shift-row-content{flex-direction:column;flex:1;display:flex}.shift-row-title{color:#fff;font-size:1.1rem;font-weight:600}.shift-row-sub{color:var(--text-gray);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.82rem}.shift-check-indicator{border:1.5px solid rgba(255,255,255,.3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.shift-check-indicator.active{color:#000;background:#fff;border-color:#fff}.minimal-actions-group{flex-direction:column;gap:12px;width:100%;margin-top:.5rem;display:flex}.btn-minimal-pill{border-radius:var(--radius-pill);cursor:pointer;text-align:center;border:none;width:100%;padding:16px 24px;font-size:1.05rem;font-weight:700;transition:transform .2s,opacity .2s}.btn-white-primary{color:#000;background:#fff;box-shadow:0 10px 25px rgba(255,255,255,.15)}.btn-white-primary:hover{opacity:.95;transform:translateY(-2px)}.btn-dark-secondary{color:#fff;background:#18181b;border:1px solid rgba(255,255,255,.2)}.btn-dark-secondary:hover{background:#27272a;transform:translateY(-2px)}.kiosk-secondary-links{color:var(--text-gray);flex-direction:column;align-items:center;gap:6px;font-size:.82rem;display:flex}.kiosk-link-btn{color:#38bdf8;cursor:pointer;background:0 0;border:none;font-weight:700;text-decoration:underline}.mobile-home-indicator{border-radius:var(--radius-pill);background:rgba(255,255,255,.7);width:130px;height:5px;margin:16px auto 4px}.birthday-banner{border:1px solid var(--border-light);border-radius:var(--radius-md);color:#fff;background:#121215;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.scanner-modal-overlay{z-index:9999;background:rgba(0,0,0,.98);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.scanner-box{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:#09090b;flex-direction:column;align-items:center;gap:.9rem;width:100%;max-width:460px;max-height:94vh;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.scanner-box-header{justify-content:space-between;align-items:center;width:100%;display:flex}.scanner-title{color:#fff;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:800;display:flex}.btn-close-scanner{color:var(--text-gray);cursor:pointer;background:0 0;border:none}.pose-steps-progress-bar{justify-content:center;gap:6px;width:100%;display:flex}.pose-step-pill{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-gray);background:#18181b;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-size:.72rem;font-weight:700;display:flex}.pose-step-pill.active{color:#000;background:#fff;border-color:#fff}.pose-step-pill.done{color:#10b981;background:rgba(16,185,129,.2);border-color:#10b981}.camera-viewport{background:#000;border:4px solid rgba(255,255,255,.4);border-radius:150px/195px;width:320px;max-width:88vw;height:400px;max-height:50vh;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.face-oval-guide{pointer-events:none;border:4px dashed #f59e0b;border-radius:140px/185px;flex-direction:column;justify-content:space-between;align-items:center;padding:12px 0;transition:all .3s;animation:2s infinite alternate pulse-yellow;display:flex;position:absolute;top:10px;bottom:10px;left:10px;right:10px;box-shadow:inset 0 0 25px rgba(245,158,11,.3)}@keyframes pulse-yellow{0%{border-color:#f59e0b;box-shadow:inset 0 0 15px rgba(245,158,11,.3)}to{border-color:#ef4444;box-shadow:inset 0 0 35px rgba(239,68,68,.5)}}.face-oval-guide.scanning{border:4px dashed #f59e0b;animation:2s infinite alternate pulse-yellow}.face-oval-guide.success{border:4px solid #10b981!important;animation:none!important;box-shadow:inset 0 0 35px rgba(16,185,129,.5)!important}.face-oval-guide.error{border:4px solid #ef4444!important;animation:none!important;box-shadow:inset 0 0 35px rgba(239,68,68,.6)!important}.corner-bracket{border-style:solid;border-color:#fff;width:22px;height:22px;position:absolute}.corner-bracket.top-left{border-width:3px 0 0 3px;border-top-left-radius:8px;top:15px;left:15px}.corner-bracket.top-right{border-width:3px 3px 0 0;border-top-right-radius:8px;top:15px;right:15px}.corner-bracket.bottom-left{border-width:0 0 3px 3px;border-bottom-left-radius:8px;bottom:15px;left:15px}.corner-bracket.bottom-right{border-width:0 3px 3px 0;border-bottom-right-radius:8px;bottom:15px;right:15px}.scan-laser-line{background:linear-gradient(90deg,transparent 0%,#fff 50%,transparent 100%);height:2px;animation:2.5s ease-in-out infinite alternate scan-vertical;position:absolute;left:10%;right:10%}@keyframes scan-vertical{0%{top:15%}to{top:85%}}.oval-prompt-tag{border-radius:var(--radius-pill);color:#fff;background:#000;border:1px solid #fff;margin-bottom:8px;padding:4px 12px;font-size:.65rem;font-weight:800}.pose-instruction-card{text-align:center;width:100%}.pose-prompt-text{color:#fff;font-size:.95rem;font-weight:700}.pose-status-text{color:var(--text-gray);font-size:.75rem}.pose-status-text .highlight{color:#10b981;font-weight:800}.scanner-guide-subtext{color:var(--text-gray);text-transform:uppercase;font-size:.75rem;font-weight:700}.confidence-badge-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:#fff;background:#18181b;padding:6px 16px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.scan-feedback-banner{border-radius:var(--radius-md);text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:.85rem;font-weight:700;display:flex}.scan-feedback-banner.success{color:#34d399;background:rgba(16,185,129,.2);border:1px solid #10b981}.scan-feedback-banner.danger{color:#f87171;background:rgba(244,63,94,.2);border:1px solid #ef4444}.scanner-footer-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:4px;display:flex}.btn-cancel-scan{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-gray);cursor:pointer;background:#18181b;padding:8px 16px;font-size:.82rem;font-weight:600}.btn-capture-manual{border-radius:var(--radius-sm);color:#000;cursor:pointer;background:#fff;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:700;display:flex}.admin-portal-wrapper{background:#000;flex:1;min-height:calc(100vh - 65px);display:flex}.admin-sidebar{border-right:1px solid var(--border-subtle);background:#09090b;flex-direction:column;width:260px;padding:1.25rem .75rem;display:flex}.sidebar-brand{color:#fff;border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:0 1rem 1.25rem;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:800;display:flex}.sidebar-menu{flex-direction:column;gap:4px;margin-top:1rem;display:flex}.sidebar-menu button{border-radius:var(--radius-sm);color:var(--text-gray);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.sidebar-menu button:hover{color:#fff;background:rgba(255,255,255,.05)}.sidebar-menu button.active{color:#000;background:#fff;font-weight:700}.admin-main-content{background:#000;flex:1;padding:2rem;overflow-y:auto}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.stat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#09090b;flex-direction:column;gap:8px;padding:1.5rem;display:flex}.stat-label{color:var(--text-gray);font-size:.85rem;font-weight:600}.stat-value{color:#fff;font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:800}.stat-card.alert{background:rgba(255,46,99,.1);border-color:#ff2e63}.stat-card.alert .stat-value{color:#ff2e63}.data-table{border-collapse:collapse;width:100%;margin-top:1rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:.85rem}.data-table th{color:var(--text-gray);background:#09090b;font-weight:700}.data-table tr:hover{background:rgba(255,255,255,.02)}.status-pill{border-radius:var(--radius-pill);padding:4px 10px;font-size:.75rem;font-weight:700}.status-pill.active{color:#34d399;background:rgba(16,185,129,.2)}.status-pill.inactive{color:#f87171;background:rgba(244,63,94,.2)}.form-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#09090b;padding:1.75rem}.grid-form{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--text-gray);font-size:.8rem;font-weight:700}.form-group input,.form-group select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:#fff;background:#121215;outline:none;padding:10px 14px;font-family:inherit;font-size:.85rem}.form-group input:focus,.form-group select:focus{border-color:#fff}.submit-btn{color:#000;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:none;padding:12px 24px;font-weight:700}@media (max-width:768px){.top-navbar{flex-direction:column;align-items:stretch}.admin-portal-wrapper{flex-direction:column}.admin-sidebar{width:100%}.grid-form{grid-template-columns:1fr}}.printable-modal-overlay{z-index:99999;background:rgba(0,0,0,.95);flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.printable-report-card{color:#0f172a;background:#fff;border-radius:16px;flex-direction:column;gap:1.25rem;width:100%;max-width:840px;max-height:90vh;padding:2rem;display:flex;overflow-y:auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.8)}.printable-header{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.printable-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.85rem}.printable-table th,.printable-table td{text-align:left;border:1px solid #cbd5e1;padding:8px 12px}.printable-table th{color:#0f172a;background:#f1f5f9;font-weight:700}@media print{body *{visibility:hidden}.printable-report-card,.printable-report-card *{visibility:visible}.printable-report-card{width:100%;max-width:100%;box-shadow:none;border:none;position:absolute;top:0;left:0}}.cyber-splash-overlay{z-index:999999;background:#000;flex-direction:column;justify-content:center;align-items:center;animation:.4s ease-out splashFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}@keyframes splashFadeIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.cyber-splash-content{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:24px;width:90%;max-width:420px;display:flex;position:relative}.splash-biometric-scanner-ring{background:radial-gradient(circle,rgba(56,189,248,.15) 0%,rgba(0,0,0,.9) 70%);border:2px dashed rgba(56,189,248,.6);border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;animation:2s ease-in-out infinite alternate ringPulse;display:flex;position:relative;box-shadow:0 0 40px rgba(56,189,248,.3),inset 0 0 20px rgba(56,189,248,.2)}@keyframes ringPulse{0%{transform:scale(.96);box-shadow:0 0 20px rgba(56,189,248,.2)}to{transform:scale(1.04);box-shadow:0 0 50px rgba(56,189,248,.5)}}.splash-laser-beam{background:linear-gradient(90deg,transparent 0%,#38bdf8 50%,transparent 100%);height:3px;animation:1.2s ease-in-out infinite alternate splashScan;position:absolute;left:10%;right:10%;box-shadow:0 0 12px #38bdf8}@keyframes splashScan{0%{top:15%}to{top:85%}}.splash-shield-icon{color:#38bdf8;-webkit-filter:drop-shadow(0 0 12px rgba(56,189,248,.9));filter:drop-shadow(0 0 12px rgba(56,189,248,.9));animation:1.5s ease-in-out infinite alternate iconGlow}@keyframes iconGlow{0%{opacity:.8;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.splash-title-group{flex-direction:column;gap:4px;display:flex}.splash-brand-main{letter-spacing:2px;background:linear-gradient(135deg,#fff 0%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:900}.splash-brand-sub{letter-spacing:3px;color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:700}.splash-progress-wrapper{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.splash-progress-track{background:rgba(255,255,255,.1);border-radius:4px;width:100%;height:4px;overflow:hidden}.splash-progress-fill{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 100%);height:100%;transition:width .1s linear;box-shadow:0 0 10px #38bdf8}.splash-status-text{color:#38bdf8;letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}
