@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary:#0a0e1a;--bg-card:#121a2fbf;--bg-card-hover:#1c2744d9;--border-glass:#ffffff14;--border-active:#6366f180;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--glow-primary:0 0 25px #6366f159;--glow-emerald:0 0 25px #10b98166;--glow-rose:0 0 25px #f43f5e66;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 0 0,#6366f11f 0,#0000 50%),radial-gradient(at 100% 100%,#06b6d41a 0,#0000 50%),radial-gradient(#0f172a80 0,#0000 100%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0f172a99}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#6366f166}::-webkit-scrollbar-thumb:hover{background:#6366f1b3}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000005e}.glass-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.glass-button:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px)}.glass-button-primary{background:linear-gradient(135deg, var(--accent-primary) 0%, #4338ca 100%);color:#fff;box-shadow:var(--glow-primary);border:1px solid #fff3}.glass-button-primary:hover{background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%);transform:translateY(-2px);box-shadow:0 0 35px #6366f199}.glass-button-success{background:linear-gradient(135deg, var(--accent-emerald) 0%, #047857 100%);color:#fff;box-shadow:var(--glow-emerald);border:1px solid #fff3}.glass-button-danger{background:linear-gradient(135deg, var(--accent-rose) 0%, #be123c 100%);color:#fff;box-shadow:var(--glow-rose);border:1px solid #fff3}.glass-input{border:1px solid var(--border-glass);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:#0f172a99;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.glass-input:focus{border-color:var(--accent-primary);background:#0f172ad9;box-shadow:0 0 0 3px #6366f133}.scanner-overlay{aspect-ratio:3/4;border-radius:var(--radius-lg);background:#000;width:100%;max-width:480px;position:relative;overflow:hidden;box-shadow:0 20px 50px #000000b3}.scanner-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.face-viewfinder{pointer-events:none;border:2px dashed #6366f199;border-radius:50%/45%;width:240px;height:310px;transition:all .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);box-shadow:0 0 0 9999px #0a0e1aa6}.face-viewfinder.matched{border:3px solid var(--accent-emerald);box-shadow:0 0 0 9999px #0a0e1a99, var(--glow-emerald);animation:1.5s infinite pulse-emerald}.face-viewfinder.failed{border:3px solid var(--accent-rose);box-shadow:0 0 0 9999px #0a0e1a99, var(--glow-rose);animation:.4s ease-in-out shake}.face-viewfinder.liveness{border:3px solid var(--accent-amber);animation:1.5s infinite pulse-amber;box-shadow:0 0 0 9999px #0a0e1a99,0 0 25px #f59e0b66}@keyframes pulse-amber{0%{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 15px var(--accent-amber)}50%{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 35px var(--accent-amber)}to{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 15px var(--accent-amber)}}.scan-line{background:linear-gradient(90deg, transparent, var(--accent-cyan), var(--accent-primary), var(--accent-cyan), transparent);height:3px;box-shadow:0 0 15px var(--accent-cyan), 0 0 30px var(--accent-primary);animation:2.2s ease-in-out infinite alternate scan-vertical;position:absolute;top:20%;left:10%;right:10%}@keyframes scan-vertical{0%{opacity:.3;top:20%}50%{opacity:1}to{opacity:.3;top:75%}}@keyframes pulse-emerald{0%{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 15px var(--accent-emerald)}50%{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 35px var(--accent-emerald)}to{box-shadow:0 0 0 9999px #0a0e1aa6, 0 0 15px var(--accent-emerald)}}@keyframes shake{0%,to{transform:translate(-50%,-55%)}20%,60%{transform:translate(-54%,-55%)}40%,80%{transform:translate(-46%,-55%)}}.modal-backdrop{-webkit-backdrop-filter:blur(12px);z-index:100;background:#050810d9;justify-content:center;align-items:center;padding:1rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp;overflow-y:auto;box-shadow:0 25px 60px #0009}@media (width<=640px){.modal-backdrop{justify-content:flex-start!important;align-items:flex-start!important;padding:0!important;display:block!important;overflow-y:auto!important}.modal-content{width:100%!important;max-width:100%!important;min-height:100vh!important;max-height:none!important;padding:calc(env(safe-area-inset-top,0px) + 1.5rem) 1.5rem calc(env(safe-area-inset-bottom,0px) + 1.5rem) 1.5rem!important;box-sizing:border-box!important;border:none!important;border-radius:0!important;overflow-y:visible!important}.scanner-overlay{aspect-ratio:auto!important;max-width:100%!important;height:60vh!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-danger{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}.badge-info{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.font-mono{font-family:JetBrains Mono,monospace}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (width<=640px){.header-hide-mobile,.desktop-table-container{display:none!important}.mobile-cards-container{display:flex!important}.hero-banner{padding:1.25rem!important}.hero-title{font-size:1.4rem!important}.modal-backdrop{align-items:flex-end;padding:.5rem}.modal-content{border-radius:24px 24px 0 0;max-height:92vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp}.face-viewfinder{width:200px;height:260px}.scanner-overlay{aspect-ratio:4/5;border-radius:var(--radius-md);max-width:100%}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{transform:scale(.98);box-shadow:0 0 #6366f180,0 15px 40px #6366f166}50%{transform:scale(1.02);box-shadow:0 0 0 22px #6366f100,0 25px 60px #6366f199}to{transform:scale(.98);box-shadow:0 0 #6366f100,0 15px 40px #6366f166}}@keyframes pulse-ring-offline{0%{transform:scale(.98);box-shadow:0 0 #f59e0b80,0 15px 40px #f59e0b66}50%{transform:scale(1.02);box-shadow:0 0 0 22px #f59e0b00,0 25px 60px #f59e0b99}to{transform:scale(.98);box-shadow:0 0 #f59e0b00,0 15px 40px #f59e0b66}}.kiosk-btn-pulse{animation:3s cubic-bezier(.4,0,.6,1) infinite pulse-ring}.kiosk-btn-pulse-offline{animation:3s cubic-bezier(.4,0,.6,1) infinite pulse-ring-offline}.glow-text-gradient{background:linear-gradient(#fff 0%,#e2e8f0 60%,#cbd5e1 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 10px 30px #6366f159);-webkit-background-clip:text;background-clip:text}[data-theme=light] .glow-text-gradient{background:linear-gradient(#0f172a 0%,#1e293b 60%,#334155 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 12px #6366f11f);-webkit-background-clip:text;background-clip:text}@media (width<=968px){.login-branding-panel{display:none!important}.login-form-panel{flex:100%!important;width:100%!important;max-width:100%!important;padding:2rem 1.5rem!important}.login-mobile-header{display:block!important}.login-desktop-title{display:none!important}}@media (width>=768px){.app-main-layout{background-color:var(--bg-primary);min-height:100vh;display:flex}.app-desktop-sidebar{z-index:1000;background:linear-gradient(#090e24 0%,#050816 100%);border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;transition:all .3s cubic-bezier(.4,0,.2,1);position:sticky;top:0;display:flex!important}.app-desktop-content{flex:1;padding:2.25rem 2.5rem;overflow-y:auto}.app-pc-grid-metrics{grid-template-columns:repeat(3,1fr)!important;gap:1.25rem!important;margin-bottom:1.5rem!important;display:grid!important}.app-pc-hide{display:none!important}}@media (width<=767px){.app-desktop-sidebar,.app-mobile-hide{display:none!important}}[data-theme=light]{--bg-primary:#f8fafc;--bg-card:#ffffffd1;--bg-card-hover:#fffffffa;--border-glass:#0f172a14;--border-active:#4f46e580;--accent-primary:#4f46e5;--accent-primary-hover:#3730a3;--accent-emerald:#059669;--accent-rose:#be123c;--accent-amber:#d97706;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#5e6b7e}[data-theme=light] .modal-backdrop{background:#0f172a59!important}[data-theme=light] .modal-content{box-shadow:0 20px 45px #0f172a14!important}[data-theme=light] body{color:var(--text-primary);background-color:#f8fafc!important;background-image:radial-gradient(at 0 0,#6366f112 0,#0000 50%),radial-gradient(at 100% 100%,#06b6d40d 0,#0000 50%),radial-gradient(#f1f5f9f2 0,#0000 100%)!important}[data-theme=light] .glass-panel{border-color:#0f172a0f;box-shadow:0 8px 32px #0f172a0d!important}[data-theme=light] .glass-button{color:var(--text-primary);background:#0f172a05;border:1px solid #0f172a0f}[data-theme=light] .glass-button:hover{background:#0f172a0d}[data-theme=light] .glass-input{color:var(--text-primary)!important;background:#fffc!important;border-color:#0f172a14!important}[data-theme=light] .glass-input::placeholder{color:var(--text-muted)!important}[data-theme=light] .glass-input:focus{border-color:var(--accent-primary)!important;background:#fff!important;box-shadow:0 0 0 3px #6366f126!important}[data-theme=light] label{color:var(--text-secondary)!important}[data-theme=light] .glass-panel p,[data-theme=light] .app-desktop-content p,[data-theme=light] .app-desktop-content span{color:var(--text-secondary)}[data-theme=light] .app-desktop-sidebar{background:linear-gradient(#fff 0%,#f1f5f9 100%)!important;border-right:1px solid #0f172a0f!important}[data-theme=light] .app-desktop-sidebar span,[data-theme=light] .app-desktop-sidebar h4{color:var(--text-primary)!important}[data-theme=light] .app-desktop-sidebar button{color:var(--text-secondary)!important;border-color:#0f172a0d!important}[data-theme=light] .app-desktop-sidebar button:hover{background:#0f172a08!important}[data-theme=light] .app-desktop-content h1,[data-theme=light] .app-desktop-content h2,[data-theme=light] .app-desktop-content h3,[data-theme=light] .app-desktop-content h4{color:#0f172a!important}.sidebar-menu-btn{cursor:pointer;align-items:center;gap:.65rem;width:100%;transition:all .2s;display:flex;border-radius:var(--radius-md)!important;color:var(--text-secondary)!important;background:0 0!important;border:1px solid #0000!important;padding:.75rem .85rem!important;font-size:.82rem!important}.sidebar-menu-btn svg{transition:color .2s;color:var(--text-secondary)!important}.sidebar-menu-btn:hover{color:var(--text-primary)!important;background:#ffffff08!important}.sidebar-menu-btn:hover svg{color:var(--text-primary)!important}[data-theme=light] .sidebar-menu-btn:hover{background:#0f172a08!important}.sidebar-menu-btn.active{color:#818cf8!important;background:#6366f114!important;border-color:#6366f140!important}.sidebar-menu-btn.active svg{color:#818cf8!important}[data-theme=light] .sidebar-menu-btn.active{color:#4f46e5!important;background:#6366f114!important;border-color:#6366f133!important}[data-theme=light] .sidebar-menu-btn.active svg{color:#4f46e5!important}:root{--bg-card-item:#0f172a99}[data-theme=light]{--bg-card-item:#fffffff2}.welcome-hero-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#1a2440b3 0%,#0d1221b3 100%);border:1px solid #6366f133;grid-template-columns:1.25fr 1fr;align-items:center;gap:2.5rem;margin-bottom:1.75rem;padding:2.25rem;display:grid;box-shadow:0 10px 40px #6366f10d}[data-theme=light] .welcome-hero-card{background:linear-gradient(135deg,#6366f10d 0%,#06b6d408 100%)!important;border:1px solid #6366f126!important;box-shadow:0 10px 30px #6366f108!important}.sidebar-footer{background:#0508104d;border-top:1px solid #ffffff0d;padding:1rem .75rem}[data-theme=light] .sidebar-footer{background:#0f172a05!important;border-top:1px solid #0f172a0f!important}.hero-action-btn{border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.hero-action-btn:hover{background:#ffffff0d}[data-theme=light] .hero-action-btn{color:var(--text-primary)!important;background:#0f172a05!important;border:1px solid #0f172a0f!important}[data-theme=light] .hero-action-btn:hover{background:#0f172a0d!important}[data-theme=light] .glass-panel p,[data-theme=light] .glass-panel span,[data-theme=light] .app-desktop-content span{color:var(--text-secondary)!important}
