.app-layout{display:flex;width:100%;height:100%}.sidebar{width:260px;min-width:260px;height:100%;background-color:var(--bg-dark);border-right:1px solid var(--glass-border);padding:.8rem 1rem 1.25rem;display:flex;flex-direction:column;position:relative;transition:width .24s ease,min-width .24s ease,padding .24s ease}.sidebar-toggle{position:absolute;top:1rem;right:-14px;z-index:20;width:28px;height:42px;display:grid;place-items:center;border:1px solid rgba(139,92,246,.36);border-radius:999px;background:radial-gradient(circle at 40% 25%,rgba(139,92,246,.26),transparent 52%),rgba(8,13,31,.96);color:#e2e8f0e6;cursor:pointer;font-size:1.35rem;font-weight:900;line-height:1;box-shadow:0 12px 28px #00000052,0 0 18px #8b5cf624;transition:transform .18s ease,border-color .18s ease,color .18s ease}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{color:#fff;border-color:#a78bfaad;transform:translate(1px);outline:none}.sidebar-header{margin:-1.45rem 0 .55rem;padding:0;min-height:150px;display:grid;align-items:start;overflow:visible;position:relative}.runtime-ribbon{position:absolute;top:18px;left:-38px;z-index:4;width:118px;height:25px;display:grid;place-items:center;transform:rotate(-45deg);transform-origin:center;color:#fff7ed;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px #f9731638,0 0 0 1px #ffffff2e inset;pointer-events:none}.runtime-ribbon.beta{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 8px 18px #f9731638,0 0 0 1px #ffffff2e inset}.runtime-ribbon.local{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 8px 18px #ef44443d,0 0 0 1px #ffffff29 inset}.sidebar-logo{display:block;width:235px;max-width:none;height:auto;object-fit:contain;filter:saturate(1.12) drop-shadow(0 16px 30px rgba(37,99,235,.18)) drop-shadow(0 0 24px rgba(139,92,246,.14))}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow-y:auto;transition:opacity .16s ease}.nav-item{padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-weight:500;display:flex;align-items:center;gap:.75rem}.nav-item:hover{background-color:var(--glass-bg);color:var(--text-main)}.nav-item.active{background:linear-gradient(90deg,var(--glass-bg),transparent);color:var(--accent-primary);border-left:3px solid var(--accent-primary)}.sidebar-user{margin-top:auto;padding:1rem;border-top:1px solid var(--glass-border);display:grid;gap:.75rem;transition:opacity .16s ease}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user strong{color:var(--text-main);font-size:.92rem}.sidebar-user span{color:var(--text-muted);font-size:.78rem}.sidebar-user button,.auth-card button{border:1px solid rgba(139,92,246,.35);border-radius:8px;background:rgba(139,92,246,.16);color:var(--text-main);cursor:pointer;font-weight:700;padding:.65rem .9rem}.sidebar-user-profile{display:block;text-align:left;background:transparent!important;border-color:transparent!important;padding:0!important}.sidebar-user-profile:hover strong{color:var(--accent-primary)}.sidebar-user button:hover,.auth-card button:hover{background:rgba(139,92,246,.24)}.app-layout.sidebar-collapsed .sidebar{width:10px;min-width:10px;padding:0}.app-layout.sidebar-collapsed .sidebar-toggle{right:-24px;top:1rem}.app-layout.sidebar-collapsed .sidebar-header{min-height:58px;margin:0;overflow:hidden}.app-layout.sidebar-collapsed .sidebar-logo,.app-layout.sidebar-collapsed .runtime-ribbon,.app-layout.sidebar-collapsed .sidebar-nav,.app-layout.sidebar-collapsed .sidebar-user{opacity:0;pointer-events:none}.app-layout.sidebar-collapsed .sidebar-nav,.app-layout.sidebar-collapsed .sidebar-user{visibility:hidden}.auth-page{width:100vw;min-height:100vh;display:grid;place-items:center;padding:2rem;position:relative;overflow:hidden;background:#00081c;box-sizing:border-box}.auth-card{width:min(470px,100%);display:grid;gap:.95rem;padding:2rem 2.15rem 2.15rem;position:relative;z-index:1;overflow:hidden;border:1px solid rgba(96,165,250,.22);border-radius:8px;background:linear-gradient(180deg,rgba(3,7,18,.5),rgba(7,12,28,.58)),linear-gradient(135deg,rgba(139,92,246,.16),transparent 42%,rgba(14,165,233,.13));-webkit-backdrop-filter:blur(22px) saturate(1.15);backdrop-filter:blur(22px) saturate(1.15);box-shadow:0 34px 110px #00000085,0 0 80px #3b82f629,inset 0 1px #ffffff0f;animation:authPanelEnter .7s ease-out both}.auth-card.idle{width:100vw;max-width:none;padding:0;gap:0;overflow:visible;border-color:transparent;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.auth-card.active{width:min(980px,100%);min-height:min(720px,calc(100vh - 4rem));display:grid;place-items:center;padding:0;gap:0;overflow:visible;border-color:transparent;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;transform-origin:center}.auth-card.stage-identify,.auth-card.stage-password{width:100vw;max-width:none;min-height:auto;display:grid;place-items:unset;padding:0;animation:none}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(139,92,246,.72),rgba(14,165,233,.46),rgba(255,255,255,.08));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.auth-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.08) 48%,transparent 74%);transform:translate(-120%);animation:authCardSheen 7s ease-in-out infinite;pointer-events:none}.auth-card.idle:before,.auth-card.active:before,.auth-card.active:after,.auth-card.idle:after{display:none}.auth-logo-stage{position:relative;display:grid;place-items:center;justify-self:center;width:min(380px,96%)}.auth-logo{display:block;width:100%;height:auto;justify-self:center;margin:-1.3rem 0 .1rem;object-fit:contain;mix-blend-mode:normal;filter:saturate(1.08) drop-shadow(0 18px 38px rgba(37,99,235,.18));position:relative;z-index:1;animation:authLogoFloat 5.5s ease-in-out infinite}.auth-card.idle .auth-logo{width:100%;margin:0;clip-path:inset(0 0 3% 0);filter:saturate(1.1) drop-shadow(0 24px 56px rgba(37,99,235,.22))}.auth-card.idle .auth-logo-stage{width:min(980px,96vw)}.auth-logo-trigger{position:absolute;width:1.45%;height:4.2%;left:56.9%;top:38.3%;border:0;border-radius:999px;padding:0;background:transparent;cursor:pointer;opacity:0;z-index:3}.auth-logo-trigger:after{content:"";position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;border-radius:inherit;background:radial-gradient(circle,rgba(56,189,248,.45),transparent 62%);opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.auth-logo-trigger:hover:after,.auth-logo-trigger:focus-visible:after{opacity:1;transform:scale(1)}.auth-card.idle .auth-logo-trigger{opacity:1}.auth-card.active .auth-logo-stage{width:min(720px,94vw);margin-top:-1.8rem;animation:authStageWake .58s ease-out both}.auth-card.stage-identify .auth-logo-stage,.auth-card.stage-password .auth-logo-stage{width:min(980px,96vw);margin-top:0;animation:none}.auth-card.active .auth-logo-trigger{display:none}.auth-card.active .auth-logo{margin:0;clip-path:inset(0 0 3% 0);filter:saturate(1.12) drop-shadow(0 24px 54px rgba(37,99,235,.24)) drop-shadow(0 0 24px rgba(56,189,248,.1))}.auth-card.stage-identify .auth-logo,.auth-card.stage-password .auth-logo{animation:authLogoFloat 5.5s ease-in-out infinite}.auth-card.stage-totp .auth-logo{animation:authLogoSecure .68s ease-out both,authLogoFloat 5.5s ease-in-out infinite .68s}.auth-stage-panel{position:absolute;left:50%;top:58%;width:min(430px,calc(100vw - 2rem));z-index:4;display:grid;gap:.8rem;transform:translate(-50%);animation:authStagePanelEnter .4s cubic-bezier(.2,.8,.2,1) both}.auth-stage-panel.identify-probe-panel,.auth-stage-panel.secure-channel-panel{position:fixed;left:calc(50% + 34px);top:calc(50vh + 260px);width:min(570px,calc(100vw - 2rem));gap:.32rem}.auth-stage-panel:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(125,211,252,.72),rgba(139,92,246,.52),rgba(255,255,255,.08));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.auth-stage-panel.identify-probe-panel:before,.auth-stage-panel.secure-channel-panel:before{display:none}.auth-stage-rail{position:absolute;left:50%;bottom:calc(100% - 1px);width:1px;height:70px;background:linear-gradient(to top,rgba(56,189,248,.72),transparent);transform-origin:bottom;animation:authRailDrop .46s ease-out both;pointer-events:none}.identify-probe-panel .auth-stage-rail,.secure-channel-panel .auth-stage-rail{display:none}.auth-stage-rail:before,.auth-stage-rail:after{content:"";position:absolute;left:50%;border-radius:999px;transform:translate(-50%)}.auth-stage-rail:before{bottom:-4px;width:9px;height:9px;background:#38bdf8;box-shadow:0 0 22px #38bdf8b8}.auth-stage-rail:after{top:-2px;width:5px;height:5px;background:rgba(167,139,250,.9);box-shadow:0 0 18px #a78bfabf}.auth-stage-content{display:grid;gap:.68rem;padding:1.05rem;position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 50% -20%,rgba(56,189,248,.2),transparent 42%),linear-gradient(180deg,rgba(3,7,18,.8),rgba(5,11,30,.72));box-shadow:0 22px 60px #0000007a,0 0 38px #2563eb33,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2)}.identify-stage,.access-stage{display:grid;gap:.42rem;padding:0;overflow:visible;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-stage-content:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.08) 48%,transparent 74%);transform:translate(-120%);animation:authCardSheen 5.8s ease-in-out infinite;pointer-events:none}.identify-stage:after,.access-stage:after{display:none}.auth-stage-kicker{color:#7dd3fcdb;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.identify-stage .auth-stage-kicker,.access-stage .auth-stage-kicker{justify-self:center;color:#7dd3fcbd;margin-bottom:-.2rem;text-shadow:0 0 20px rgba(56,189,248,.28)}.auth-stage-content label{margin:0;color:#e2e8f0db}.auth-stage-content p{margin:0;color:#cbd5e1c7;font-size:.88rem}.auth-stage-content input{width:100%}.auth-data-input,.auth-access-input,.auth-code-entry{position:relative}.auth-identify-line{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:1rem;position:relative;padding:.05rem 0}.auth-identify-line label{color:#e2e8f0eb;font-size:.9rem;letter-spacing:.04em;text-shadow:0 0 20px rgba(255,255,255,.12)}.auth-data-input input,.auth-access-input input{min-height:48px;border-radius:14px;border:1px solid rgba(125,211,252,.24);background:linear-gradient(90deg,rgba(15,23,42,.78),rgba(2,6,23,.64)),repeating-linear-gradient(90deg,rgba(56,189,248,.1) 0 1px,transparent 1px 18px);padding-left:4.1rem;font-weight:700;letter-spacing:.04em}.identify-stage .auth-data-input,.access-stage .auth-data-input{min-height:36px}.identify-stage .auth-data-input input,.access-stage .auth-data-input input{position:absolute;top:-.3rem;right:0;bottom:-.3rem;left:0;z-index:2;min-height:36px;border:0;border-radius:0;background:transparent;color:#e2f5fff5;caret-color:#7dd3fcd9;padding:0;font-size:1.18rem;letter-spacing:.055em;box-shadow:none;font-weight:900;text-shadow:0 0 18px rgba(56,189,248,.28)}.identify-stage .auth-data-input input:focus,.access-stage .auth-data-input input:focus{border-color:transparent;background:transparent;box-shadow:none}.auth-access-input input{padding-left:.95rem;letter-spacing:.12em}.auth-data-dots{position:absolute;left:.95rem;top:50%;z-index:2;display:flex;gap:.24rem;transform:translateY(-50%);pointer-events:none}.identify-stage .auth-data-dots,.access-stage .auth-data-dots{left:0;right:0;justify-content:space-between;gap:0}.auth-data-dots span{width:5px;height:5px;border-radius:999px;background:rgba(56,189,248,.24);box-shadow:0 0 #38bdf800;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.identify-stage .auth-data-dots span,.access-stage .auth-data-dots span{width:7px;height:7px;background:rgba(125,211,252,.3);animation:authIdentifyDotBlink 1.45s ease-in-out infinite}.identify-stage .auth-data-dots span:nth-child(2n),.access-stage .auth-data-dots span:nth-child(2n){animation-delay:.12s}.identify-stage .auth-data-dots span:nth-child(3n),.access-stage .auth-data-dots span:nth-child(3n){animation-delay:.24s}.identify-stage .auth-data-dots span:nth-child(4n),.access-stage .auth-data-dots span:nth-child(4n){animation-delay:.36s}.auth-data-input:focus-within .auth-data-dots span,.auth-data-dots span.active{background:rgba(56,189,248,.95);box-shadow:0 0 14px #38bdf8b8;transform:scale(1.2)}.auth-data-input:focus-within .auth-data-dots span:nth-child(2n){animation:authDataPulse 1.1s ease-in-out infinite}.auth-stage-content>button[type=submit]{margin-top:.12rem;min-height:46px;border-color:#7dd3fc6b;border-radius:14px;background:linear-gradient(135deg,rgba(139,92,246,.78),rgba(14,165,233,.62)),linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);box-shadow:0 16px 38px #2563eb42,0 0 24px #8b5cf62e;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.auth-stage-content>button[type=submit]:hover{background:linear-gradient(135deg,rgba(139,92,246,.9),rgba(14,165,233,.76));box-shadow:0 18px 44px #2563eb57,0 0 32px #8b5cf63d;transform:translateY(-1px)}.auth-scan-submit{width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:999px;padding:0;background:radial-gradient(circle at 35% 28%,rgba(125,211,252,.3),transparent 47%),rgba(2,8,28,.04);color:#7dd3fc;cursor:pointer;filter:drop-shadow(0 0 18px rgba(56,189,248,.28));transition:transform .2s ease,color .2s ease,opacity .2s ease}.auth-lock-submit{width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:999px;padding:0;background:radial-gradient(circle at 42% 28%,rgba(167,139,250,.28),transparent 48%),rgba(2,8,28,.04);color:#a78bfa;cursor:pointer;filter:drop-shadow(0 0 18px rgba(139,92,246,.28));transition:transform .2s ease,color .2s ease,opacity .2s ease}.auth-lock-submit:hover,.auth-lock-submit:focus-visible{color:#e9d5ff;transform:translateY(-1px) scale(1.06);outline:none}.auth-lock-submit:disabled{cursor:progress;opacity:.55}.auth-lock-submit svg{width:42px;height:42px;overflow:visible}.lock-shackle,.lock-body,.lock-keyhole,.lock-pulse{fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.lock-body{stroke-width:2.65;animation:authLockBodyGlow 2s ease-in-out infinite}.lock-shackle{transform-origin:21px 18px;animation:authLockShackle 2s ease-in-out infinite}.lock-keyhole{stroke:#e2f5ffe0;stroke-width:1.9;animation:authLockKeyhole 2s ease-in-out infinite}.lock-pulse{stroke:#38bdf8;opacity:.72;stroke-dasharray:10 14;animation:authLockPulse 1.45s ease-in-out infinite}.auth-lock-submit:not(:disabled) svg{animation:authLockHover 1.75s ease-in-out infinite}.auth-scan-submit:hover,.auth-scan-submit:focus-visible{color:#e0f2fe;transform:translateY(-1px) scale(1.06);outline:none}.auth-scan-submit:disabled{cursor:progress;opacity:.55}.auth-scan-submit svg{width:42px;height:42px;overflow:visible}.scan-lens,.scan-handle,.scan-sweep,.scan-fingerprint,.scan-person{fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.scan-lens{stroke-width:2.8;animation:authScanLensGlow 1.9s ease-in-out infinite}.scan-handle{transform-origin:18px 18px}.scan-sweep{stroke:#38bdf8;opacity:.85;animation:authScanSweep 1.5s ease-in-out infinite}.scan-fingerprint{opacity:.84;stroke-width:1.45;animation:authScanFingerprint 2.1s ease-in-out infinite}.scan-person{opacity:.7;stroke:#e2f5ffdb;stroke-width:1.55;animation:authScanPerson 2.1s ease-in-out infinite}.auth-scan-submit:not(:disabled) svg{animation:authScanHover 1.65s ease-in-out infinite}.auth-scan-status{justify-self:center;color:#7dd3fcbd;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-code-entry{min-height:56px}.auth-code-entry .totp-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;opacity:.02;caret-color:transparent}.auth-code-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:.48rem}.auth-code-slots span{display:grid;place-items:center;min-height:54px;border:1px solid rgba(125,211,252,.25);border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(56,189,248,.18),transparent 54%),rgba(2,6,23,.64);color:#e0f2fe;font-size:1.35rem;font-weight:900;box-shadow:inset 0 1px #ffffff0f;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.auth-code-entry:focus-within .auth-code-slots span,.auth-code-slots span.filled{border-color:#38bdf89e;box-shadow:inset 0 1px #ffffff14,0 0 22px #38bdf82e}.auth-code-slots span.filled{transform:translateY(-1px)}.auth-stage-panel>.auth-link-button{justify-self:center;min-height:auto;padding:.15rem .4rem;position:relative;z-index:2;white-space:nowrap}.auth-card .auth-identify-close{justify-self:center;width:34px;height:34px;display:grid;place-items:center;border:0!important;border-radius:999px;padding:0!important;position:relative;z-index:2;background:transparent!important;color:#fecacac2;font-size:1.15rem;line-height:1;cursor:pointer;text-shadow:0 0 16px rgba(248,113,113,.36);box-shadow:none;animation:authCloseFloat 2.6s ease-in-out infinite;transition:color .18s ease,transform .18s ease}.auth-card .auth-identify-close:hover,.auth-card .auth-identify-close:focus-visible{background:transparent!important;border:0!important;color:#fecaca;transform:scale(1.12);outline:none}.auth-card.active .auth-error{margin:0;border-radius:14px;background:rgba(127,29,29,.58);animation:authErrorFuse .42s ease-out both}.identify-probe-panel .auth-error,.secure-channel-panel .auth-error{justify-self:center;width:auto;max-width:min(420px,100%);padding:.55rem .8rem;border:1px solid rgba(248,113,113,.24);border-radius:999px;background:rgba(127,29,29,.2);color:#fecaca;box-shadow:0 0 24px #f871711a}.auth-failed .auth-logo{animation:authFailureGlitch .7s ease-in-out,authLogoFloat 5.5s ease-in-out infinite .7s}.auth-failed .auth-logo-stage:after{content:"";position:absolute;top:22%;right:20%;bottom:28%;left:20%;background:linear-gradient(90deg,transparent,rgba(248,113,113,.34),transparent);filter:blur(4px);animation:authFailureScan .7s ease-out;pointer-events:none}.auth-failed .auth-data-dots span{animation:authDotScatter .68s ease-in-out;background:rgba(248,113,113,.95);box-shadow:0 0 18px #f87171bd}.auth-card h1{margin:0;color:var(--text-main)}.auth-card p,.auth-card label{color:var(--text-muted)}.auth-card p{margin:0 0 .75rem}.auth-card label{font-weight:700;font-size:.86rem;margin-top:.15rem}.auth-card input{min-height:46px;border:1px solid rgba(116,144,202,.24);border-radius:8px;background:rgba(2,6,23,.44);color:var(--text-main);padding:0 .85rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.auth-card input:focus{border-color:#38bdf89e;background:rgba(4,10,24,.66);box-shadow:0 0 0 3px #38bdf81a,0 0 28px #60a5fa1f}.auth-card button:disabled{cursor:progress;opacity:.65}.auth-card>button[type=submit]{margin-top:.3rem;min-height:46px;border-color:#7dd3fc6b;background:linear-gradient(135deg,rgba(139,92,246,.78),rgba(14,165,233,.62)),linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);box-shadow:0 16px 38px #2563eb42,0 0 24px #8b5cf62e;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.auth-field-enter{animation:authFieldReveal .32s ease-out both}.auth-card>button[type=submit]:hover{background:linear-gradient(135deg,rgba(139,92,246,.9),rgba(14,165,233,.76));box-shadow:0 18px 44px #2563eb57,0 0 32px #8b5cf63d;transform:translateY(-1px)}.auth-link-button{background:transparent!important;border-color:transparent!important;color:var(--accent-primary)!important;text-decoration:underline}@keyframes authPanelEnter{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes authLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes authStageWake{0%{opacity:.86;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes authLogoWake{0%{transform:translateY(0) scale(1);filter:saturate(1.05) drop-shadow(0 24px 54px rgba(37,99,235,.18))}48%{transform:translateY(-5px) scale(1.018);filter:saturate(1.2) drop-shadow(0 24px 54px rgba(37,99,235,.3)) drop-shadow(0 0 34px rgba(56,189,248,.18))}to{transform:translateY(0) scale(1)}}@keyframes authLogoUnlock{0%{transform:translate(0) scale(1)}45%{transform:translate(-8px) scale(1.01)}to{transform:translate(0) scale(1)}}@keyframes authLogoSecure{0%{transform:translateY(0) scale(1)}36%{transform:translateY(-4px) scale(1.012)}68%{transform:translateY(2px) scale(.998)}to{transform:translateY(0) scale(1)}}@keyframes authStagePanelEnter{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.96);filter:blur(6px)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:blur(0)}}@keyframes authRailDrop{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes authDataPulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.25)}}@keyframes authIdentifyDotBlink{0%,to{opacity:.22;transform:scale(.78);box-shadow:0 0 #38bdf800}48%{opacity:1;transform:scale(1.22);box-shadow:0 0 16px #38bdf8ad}}@keyframes authScanHover{0%,to{transform:rotate(-12deg) translate(-3px,2px) scale(1)}32%{transform:rotate(10deg) translate(3px,-3px) scale(1.09)}66%{transform:rotate(-4deg) translate(1px,1px) scale(1.04)}}@keyframes authScanLensGlow{0%,to{stroke:currentColor;filter:drop-shadow(0 0 0 rgba(56,189,248,0))}50%{stroke:#e0f2fe;filter:drop-shadow(0 0 10px rgba(56,189,248,.7))}}@keyframes authScanSweep{0%,to{transform:translate(-10px) rotate(-3deg);opacity:.1}35%{opacity:.96}62%{opacity:.96}50%{transform:translate(11px) rotate(3deg)}}@keyframes authScanFingerprint{0%,to{opacity:.42;transform:translate(-1px)}50%{opacity:1;transform:translate(1px)}}@keyframes authScanPerson{0%,to{opacity:.38;transform:scale(.96)}50%{opacity:.92;transform:scale(1.04)}}@keyframes authLockHover{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-3px) scale(1.08)}62%{transform:translateY(1px) scale(.99)}}@keyframes authLockShackle{0%,to{transform:translateY(0) rotate(0);opacity:.84}38%{transform:translateY(-3px) rotate(-7deg);opacity:1}62%{transform:translateY(-1px) rotate(5deg)}}@keyframes authLockBodyGlow{0%,to{filter:drop-shadow(0 0 0 rgba(167,139,250,0))}50%{filter:drop-shadow(0 0 12px rgba(167,139,250,.65))}}@keyframes authLockKeyhole{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}@keyframes authLockPulse{0%,to{transform:translate(-10px);opacity:.12}48%{transform:translate(10px);opacity:.9}}@keyframes authCloseFloat{0%,to{transform:translateY(0);opacity:.72}50%{transform:translateY(-3px);opacity:1}}@keyframes authDotScatter{0%,to{transform:translate(0) scale(1)}35%{transform:translate(-4px,3px) scale(.82)}68%{transform:translate(5px,-2px) scale(1.18)}}@keyframes authErrorFuse{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes authGridDrift{0%{background-position:0 0,0 0}to{background-position:72px 72px,72px 72px}}@keyframes authLightSweep{0%{transform:translate3d(-3%,-1%,0) scale(1)}to{transform:translate3d(3%,1%,0) scale(1.04)}}@keyframes authCardSheen{0%,46%{transform:translate(-120%)}72%,to{transform:translate(120%)}}@keyframes authFieldReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes authFailureGlitch{0%,to{transform:translate(0);filter:saturate(1.15) drop-shadow(0 20px 40px rgba(37,99,235,.26)) drop-shadow(0 0 30px rgba(139,92,246,.18))}18%{transform:translate(-8px);filter:saturate(1.2) drop-shadow(9px 0 0 rgba(239,68,68,.48)) drop-shadow(-8px 0 0 rgba(56,189,248,.34))}36%{transform:translate(7px)}54%{transform:translate(-4px)}72%{transform:translate(3px)}}@keyframes authFailureScan{0%{opacity:0;transform:translateY(-70%)}30%{opacity:1}to{opacity:0;transform:translateY(70%)}}@media (prefers-reduced-motion: reduce){.auth-page:before,.auth-page:after,.auth-card,.auth-card:after,.auth-logo,.auth-logo-stage,.auth-failed .auth-logo,.auth-failed .auth-logo-stage:after,.auth-field-enter,.auth-stage-panel,.auth-stage-rail,.auth-stage-content:after,.auth-data-input:focus-within .auth-data-dots span,.auth-scan-submit:not(:disabled) svg,.auth-lock-submit:not(:disabled) svg,.scan-lens,.scan-fingerprint,.scan-person,.scan-sweep,.lock-shackle,.lock-body,.lock-keyhole,.lock-pulse,.auth-failed .auth-data-dots span,.auth-card.active .auth-error{animation:none}}@media (max-width: 720px){.auth-page{padding:1rem;align-items:start}.auth-card.active{min-height:calc(100vh - 2rem);align-content:start;padding-top:clamp(1.5rem,8vh,4rem)}.auth-card.active .auth-logo-stage{width:min(560px,98vw);margin-top:0}.auth-card.stage-identify .auth-logo-stage,.auth-card.stage-password .auth-logo-stage{width:min(980px,98vw)}.auth-stage-panel{top:min(48vh,360px);width:min(420px,calc(100vw - 1.25rem))}.auth-stage-panel.identify-probe-panel,.auth-stage-panel.secure-channel-panel{position:fixed;top:calc(50vh + 210px);width:min(520px,calc(100vw - 1.25rem))}.auth-identify-line{grid-template-columns:auto minmax(120px,1fr) auto;gap:.58rem}.identify-stage .auth-data-dots span{width:6px;height:6px}.auth-stage-rail{height:44px}.auth-stage-content{padding:.92rem}.auth-code-slots{gap:.32rem}.auth-code-slots span{min-height:48px;border-radius:12px;font-size:1.15rem}}.password-rules{display:grid;gap:.3rem;color:var(--text-muted);font-size:.78rem}.password-rules span.ok{color:#34d399}.password-match-error{margin-top:-.45rem;color:#fca5a5;font-size:.88rem;font-weight:600}.totp-input{font-size:1.4rem;font-weight:800;letter-spacing:.45rem;text-align:center}.remember-options{display:flex;flex-wrap:wrap;gap:.55rem}.remember-options button{background:transparent;border:1px solid var(--glass-border);color:var(--text-muted);min-height:40px}.remember-options button.active{border-color:var(--accent-primary);color:var(--accent-primary);background:rgba(139,92,246,.12)}.auth-error{border:1px solid rgba(248,113,113,.35);border-radius:8px;background:rgba(127,29,29,.25);color:#fecaca;padding:.75rem;font-size:.88rem}.auth-success{border:1px solid rgba(52,211,153,.35);border-radius:8px;background:rgba(6,78,59,.22);color:#bbf7d0;padding:.75rem;font-size:.88rem}.profile-view,.profile-detail{max-width:1040px;display:grid;gap:1.5rem}.profile-overview-header,.profile-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--glass-border)}.profile-overview-header h2,.profile-detail-header h2,.profile-detail h2{margin:0;font-size:1.7rem}.profile-rows{display:grid;gap:1.25rem}.profile-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem;align-items:center}.profile-row>span,.profile-detail label,.profile-detail-row span{color:var(--text-main);font-weight:600}.profile-row-value{min-height:62px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.2rem;border:1px solid rgba(139,92,246,.24);border-radius:8px;background:rgba(148,163,184,.12);color:var(--text-main);text-align:left}button.profile-row-value{cursor:pointer}.profile-row-value:disabled{cursor:not-allowed;opacity:.7}.profile-row-value strong{font-weight:600}.profile-row-value .profile-placeholder,.profile-detail-row .profile-placeholder{color:var(--text-muted);font-weight:500}.profile-edit-icon{width:24px;height:24px;flex:0 0 auto;color:var(--accent-primary)}.profile-close-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:rgba(148,163,184,.18);color:var(--text-main);cursor:pointer}.profile-detail .profile-close-button{width:36px;height:36px;padding:0;border:0;border-radius:999px;background:rgba(148,163,184,.18);color:var(--text-main)}.profile-close-icon{width:20px;height:20px}.profile-detail{min-height:min(680px,calc(100vh - 4rem))}.profile-detail-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem;align-items:center}.profile-detail-row strong{font-weight:600}.security-warning{margin:1.8rem 0 1rem;padding:1rem 1.25rem;border:1px solid rgba(245,158,11,.65);border-radius:8px;background:rgba(245,158,11,.22);color:#f8d18b;line-height:1.5}.security-info{margin:1.8rem 0 1rem;padding:1rem 1.25rem;border:1px solid rgba(52,211,153,.28);border-radius:8px;background:rgba(15,23,42,.72);color:var(--text-main);line-height:1.5}.security-info strong{color:#a7f3d0}.security-info ol{margin:.65rem 0 .55rem 1.25rem;padding:0}.security-info li+li{margin-top:.25rem}.security-info span{color:var(--text-muted)}.security-switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid rgba(139,92,246,.22);border-radius:8px;background:rgba(3,7,18,.52)}.security-switch-row span{display:block;font-weight:700}.security-switch-row small{display:block;margin-top:.25rem;color:var(--text-muted)}.security-switch{position:relative;display:inline-flex;align-items:center;width:54px;height:30px;flex:0 0 auto;cursor:pointer}.security-switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.security-switch span{width:100%;height:100%;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:rgba(15,23,42,.9);transition:background .2s ease,border-color .2s ease}.security-switch span:after{content:"";position:absolute;top:5px;left:5px;width:20px;height:20px;border-radius:50%;background:#cbd5e1;transition:transform .2s ease,background .2s ease}.security-switch input:checked+span{border-color:#34d399b8;background:rgba(16,185,129,.28)}.security-switch input:checked+span:after{transform:translate(24px);background:#34d399}.security-note{margin:0;color:var(--text-muted);font-size:.9rem}.profile-detail input,.security-input{min-height:58px;border:1px solid rgba(139,92,246,.24);border-radius:8px;background:rgba(3,7,18,.86);color:var(--text-main);padding:0 1rem}.security-switch input{min-height:0;border:0;background:transparent;padding:0}.help-dot{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:.25rem;border:1px solid #34d399;border-radius:999px;color:#34d399;font-size:.72rem;line-height:1}.security-input.danger{background:rgba(127,29,29,.22);border-color:#f8717159}.profile-detail-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:.75rem}.profile-detail button,.profile-detail-actions button{border:1px solid rgba(139,92,246,.35);border-radius:8px;background:rgba(139,92,246,.16);color:var(--text-main);cursor:pointer;font-weight:700;padding:.65rem .9rem}.totp-setup{display:grid;gap:.75rem;padding:1rem;border:1px solid rgba(52,211,153,.22);border-radius:8px;background:rgba(3,7,18,.5)}.totp-setup p{margin:0;color:var(--text-main);line-height:1.5}.totp-qr{width:220px;height:220px;padding:.5rem;border-radius:12px;background:#fff;justify-self:start}.totp-setup code,.totp-setup small{display:block;margin-top:.5rem;word-break:break-all}@media (max-width: 720px){.profile-row,.profile-detail-row{grid-template-columns:1fr;gap:.5rem}}.main-content{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.top-header{height:70px;display:flex;align-items:center;padding:0 2rem;border-bottom:1px solid var(--glass-border);background-color:var(--bg-darker)}.page-content{flex:1;padding:2rem;overflow-y:auto}.excel-export-qc-toggle{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-radius:14px;border:1px solid rgba(16,185,129,.25);background:rgba(7,10,26,.92);box-shadow:0 18px 40px #00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.excel-export-qc-toggle__label{display:flex;align-items:center;gap:.6rem;color:#fff;font-size:.84rem;font-weight:800;cursor:pointer}.excel-export-qc-toggle__label:has(input:disabled){cursor:not-allowed}.excel-export-qc-toggle__message{color:var(--text-muted);font-size:.74rem;max-width:270px;line-height:1.35}.excel-export-qc-toggle:has(.spinner) .excel-export-qc-toggle__message{color:#10b981}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0003}.card-title{font-size:1.125rem;color:var(--text-muted)}.card-value{font-size:2.5rem;font-weight:700}:root{--bg-dark: #0f172a;--bg-darker: #020617;--bg-panel: #1e293b;--accent-primary: #8b5cf6;--accent-secondary: #3b82f6;--text-main: #f8fafc;--text-muted: #94a3b8;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glow-primary: rgba(139, 92, 246, .4);--error: #ef4444;--success: #10b981;--warning: #f59e0b}*,*:before,*:after{box-sizing:border-box}body{margin:0;display:flex;min-width:320px;min-height:100vh;background-color:var(--bg-darker);color:var(--text-main);font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh;display:flex}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--text-main)}p{margin:0 0 1rem;line-height:1.6}.glass-panel{background:rgba(255,255,255,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 8px 32px #0000005e;position:relative;overflow:hidden}.glass-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.text-gradient{background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--glow-primary)}70%{box-shadow:0 0 20px 10px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}html,body,#root{height:100%;width:100%;overflow:hidden}
