:root{--bg:#0B0E14;--panel:rgba(15,23,42,0.65);--muted:#9aa4b2;--fg:#e6edf3;--brand:#5da2ff;--accent:#22c55e;--danger:#ef4444;--border:rgba(255,255,255,0.1);color-scheme:dark}body.light-theme{--bg:#F0F2F5;--panel:#FFFFFF;--muted:#3a485f;--fg:#1A1C23;--brand:#0a1f44;--accent:#2563eb;--danger:#b91c1c;--border:rgba(0,0,0,0.1);color-scheme:light}*{box-sizing:border-box}body,html{height:100%}body.app{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-shell{min-height:100vh;background:radial-gradient(1200px 600px at 12% 12%,rgba(56,189,248,.12),transparent 60%),radial-gradient(900px 500px at 88% 80%,rgba(99,102,241,.12),transparent 65%),#0b0e14;position:relative;overflow:hidden}.app-shell:after,.app-shell:before{content:"";position:absolute;width:260px;height:260px;border-radius:999px;background:rgba(148,163,184,.08)}.app-shell:before{top:-60px;left:-60px}.app-shell:after{bottom:-80px;right:-80px}.app-shell>*{position:relative;z-index:1}.app-layout{display:flex;min-height:100vh}.sidebar{width:280px;background:#0B0E14;height:100vh;position:fixed;left:0;top:0;padding:20px 16px 20px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:16px;z-index:20;overflow:hidden;transition:width .3s ease-in-out,padding .3s ease-in-out}.sidebar .brand{padding:0;display:inline-flex;align-items:baseline;gap:8px}.sidebar .brand-text{white-space:nowrap;overflow:hidden}.sidebar .brand-lock{color:rgba(226,232,240,.85);text-transform:uppercase;font-size:11px;letter-spacing:2px}.sidebar .brand-sep{color:rgba(148,163,184,.6);font-weight:600}.sidebar .brand-patch{font-size:16px;font-weight:800;color:#a5f3fc;text-shadow:0 0 12px rgba(56,189,248,.35)}.sidebar-pin{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:rgba(13,20,38,.6);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease,border-color .12s ease,box-shadow .12s ease}.sidebar-pin:hover{color:var(--fg);border-color:rgba(0,229,255,.35);box-shadow:0 6px 16px rgba(0,0,0,.35)}.sidebar.is-pinned .sidebar-pin{color:#00E5FF;border-color:rgba(0,229,255,.5);box-shadow:0 0 12px rgba(0,229,255,.25)}.sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sidebar-nav a{display:flex;align-items:center;gap:16px;color:rgba(226,232,240,.75);text-decoration:none;padding:12px 20px;border-radius:12px;border:1px solid transparent;border-left-width:4px;font-size:.95rem;font-weight:500;box-sizing:border-box}.sidebar-nav .nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav a:hover{color:rgba(226,232,240,1);border-color:rgba(0,229,255,.35);background:rgba(13,20,38,.6)}.sidebar-nav a.active{color:#e2e8f0;border-color:rgba(56,189,248,.45) rgba(56,189,248,.45) rgba(56,189,248,.45) rgba(34,211,238,.9);background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(56,189,248,.14),rgba(99,102,241,.12));box-shadow:inset 0 2px 10px rgba(56,189,248,.18),0 0 14px rgba(56,189,248,.22)}.sidebar-nav a.active .nav-icon{background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);box-shadow:0 0 12px rgba(56,189,248,.8)}.nav-icon{width:10px;height:10px;border-radius:999px;background:rgba(148,163,184,.6);flex:0 0 auto}.sidebar.is-collapsed{width:60px;padding:20px 8px}.sidebar.is-collapsed:not(.is-pinned):hover{width:280px;padding:20px 16px 20px 20px}.sidebar.is-collapsed .brand-text,.sidebar.is-collapsed .nav-label{opacity:0;transition:opacity .15s ease-in-out}.sidebar.is-collapsed:not(.is-pinned):hover .brand-text,.sidebar.is-collapsed:not(.is-pinned):hover .nav-label{opacity:1}.app-main{margin-left:280px;flex:1 1;height:100vh;display:flex;flex-direction:column}.app-main-scroll{flex:1 1;overflow-y:auto}body[data-sidebar=hidden] .sidebar{width:0;padding:0;border-right:0;overflow:hidden}body[data-sidebar=hidden] .app-main{margin-left:0}body[data-sidebar-mode=collapsed] .app-main{margin-left:60px}.container{max-width:1280px;margin:0 auto;padding:0 16px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(11,14,20,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(56,189,248,.12);box-shadow:0 1px 0 rgba(56,189,248,.08)}.brand{color:rgba(226,232,240,.88);text-decoration:none;font-weight:700;letter-spacing:.3px;padding:8px 0;gap:10px}.brand,.brand-mark{display:inline-flex;align-items:center}.brand-mark{justify-content:center;height:34px;padding:6px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.brand img{display:block;height:20px;width:auto;opacity:.88;filter:brightness(.92) saturate(.85)}.brand-text{font-weight:600}.brand:hover{color:var(--brand)}.nav{display:flex;gap:10px;flex-wrap:wrap}.nav a{color:rgba(226,232,240,.7);text-decoration:none;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(13,20,38,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;overflow:hidden}.nav a:after{content:"";position:absolute;left:-120%;top:0;width:120%;height:100%;background:linear-gradient(120deg,transparent,rgba(0,229,255,.12),transparent);transition:transform .3s ease;pointer-events:none}.nav a:hover{color:rgba(226,232,240,1);border-color:rgba(0,229,255,.35)}.nav a:hover:after{transform:translateX(160%)}.nav a.active{color:var(--fg);background:rgba(0,229,255,.08);border-color:rgba(0,229,255,.5);box-shadow:inset 0 2px 10px rgba(0,229,255,.12)}.nav a.active:before{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:#00E5FF;box-shadow:0 0 10px rgba(0,229,255,.8);border-radius:999px}.header-right{display:inline-flex;align-items:center;gap:12px;margin-left:auto}.header-clock{color:var(--muted);font-size:12px}.duty-status{margin-left:16px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(56,189,248,.2);background:rgba(15,23,42,.55);box-shadow:0 0 12px rgba(56,189,248,.12)}.duty-status .duty-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.duty-status .duty-value{font-weight:700;color:#cbd5f5}.duty-status .duty-value.is-highlight{background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 10px rgba(56,189,248,.35)}.badge.duty{margin-top:6px;padding:3px 10px;background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.4);color:#e0f2fe;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.badge.role{background:rgba(34,197,94,.12);color:#bbf7d0;border-color:rgba(34,197,94,.35);text-transform:capitalize}.user-menu{position:relative}.user-button{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(13,20,38,.8);color:var(--fg);cursor:pointer}.user-button:hover{border-color:rgba(96,165,250,.45);box-shadow:0 2px 12px rgba(96,165,250,.12)}.user-avatar{width:36px;height:36px;border-radius:999px;border:2px solid #00e5ff;box-shadow:0 0 10px rgba(0,229,255,.35);overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.user-avatar-fallback{font-size:14px;font-weight:700;color:#a5f3fc}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-button-name{font-weight:600;font-size:13px;white-space:nowrap}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:999}.user-dropdown-header{display:grid;grid-gap:4px;gap:4px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--border)}.user-dropdown-name{font-weight:700}.user-dropdown-meta{color:var(--muted);font-size:12px}.user-dropdown-action{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--fg);padding:8px 10px;border-radius:10px;cursor:pointer;display:block;text-decoration:none}.user-dropdown-action:hover{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.35);color:var(--fg)}.user-dropdown-action.danger:hover{background:rgba(127,29,29,.2);border-color:rgba(239,68,68,.35);color:#f87171}.link-button{background:transparent;border:0;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.link-button:hover{color:var(--brand)}.quick-action{transition:transform .12s ease,box-shadow .12s ease}.quick-action:hover{transform:scale(1.1)}.quick-action-success{color:#34d399;border-color:rgba(52,211,153,.4)}.quick-action-success:hover{box-shadow:0 0 12px rgba(52,211,153,.35)}.quick-action-danger{color:#fb7185;border-color:rgba(251,113,133,.4)}.quick-action-danger:hover{box-shadow:0 0 12px rgba(251,113,133,.35)}.content{padding:32px 16px 56px}.card{background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;box-shadow:0 18px 40px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h1,.card h2,.card h3{margin-top:0}.content h1{font-size:28px;letter-spacing:-.3px}.content h2{font-size:22px;letter-spacing:-.2px}.content .muted{color:rgba(148,163,184,.9)}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px}.grid>.card[style*="grid-column: 1 / -1"],.grid>.full{grid-column:1/-1}.table-scroll{overflow:auto;border-radius:12px}.btn{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 12px;border-radius:8px;background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);border:1px solid rgba(56,189,248,.35);color:#0b1120;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background .12s ease,transform 80ms ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 10px 24px rgba(56,189,248,.25)}.btn:hover{filter:brightness(1.05);box-shadow:0 12px 28px rgba(56,189,248,.3)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none}.upload-photo-btn{border:1px solid rgba(0,229,255,.6);color:#a5f3fc;background:rgba(13,20,38,.6)}.upload-photo-btn:hover{box-shadow:0 0 14px rgba(0,229,255,.35);border-color:rgba(0,229,255,.9)}table.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.table thead th{text-align:left;color:var(--muted);font-weight:600;background:rgba(13,20,38,.6)}.table tbody td,.table thead th{padding:10px 12px;border-bottom:1px solid var(--border)}.table.dense tbody td,.table.dense thead th{padding:6px 10px}.table tbody tr:hover{background:rgba(96,165,250,.08)}.table tbody tr.row-interactive{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.table tbody tr.row-interactive:hover{background:rgba(0,229,255,.08);box-shadow:inset 4px 0 0 #00E5FF,0 8px 18px rgba(0,229,255,.12)}.table tbody tr.row-interactive:active{background:rgba(96,165,250,.18)}.row-chevron{display:inline-flex;align-items:center;margin-left:8px;color:rgba(148,163,184,.7);transition:transform .15s ease,color .15s ease}.row-interactive:hover .row-chevron{transform:translateX(2px);color:rgba(191,219,254,.9)}.pagination-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px}.pagination-controls{display:flex;gap:6px;flex-wrap:wrap}.pagination-btn{background:#1b2230;color:#e2e8f0;border:1px solid rgba(148,163,184,.2);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:12px}.pagination-btn:hover:not(:disabled){border-color:rgba(0,229,255,.5);color:#ffffff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{border-color:#00E5FF;box-shadow:0 0 10px rgba(0,229,255,.3);color:#ffffff}.pagination-select{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e2e8f0}.pagination-select select{background:#1b2230;color:#e2e8f0;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:4px 8px}.filter-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-group{gap:12px}.filter-actions,.filter-group{display:inline-flex;align-items:center;flex-wrap:wrap}.filter-actions{gap:8px;margin-left:auto}.filter-actions-row{flex-basis:100%;justify-content:flex-end;margin-left:0}.filter-bar-stacked{flex-direction:column;align-items:flex-start}.filter-bar-compact{flex-wrap:nowrap}.filter-bar-inline{align-items:stretch}.filter-actions-left{margin-left:0;justify-content:flex-start}.filter-bar label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.filter-bar input,.filter-bar select{height:36px;padding:6px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.05);color:var(--fg);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:rgba(56,189,248,.8);box-shadow:0 0 0 3px rgba(56,189,248,.2),0 0 22px rgba(14,165,233,.45);background:rgba(15,23,42,.7)}.filter-bar-compact input,.filter-bar-compact select{height:32px;padding:4px 8px;border-radius:8px}.filter-bar-compact .filter-group{display:inline-flex;align-items:center;gap:10px;flex-wrap:nowrap;flex:1 1}.filter-bar-compact .input-compact{width:72px;text-align:center}.filter-bar-compact .input-date{width:130px}.filter-actions-stack{flex-direction:column;align-items:stretch;gap:8px;margin-left:16px}.filter-actions-stack .btn{width:100%;justify-content:center}.filter-actions-sub{justify-content:flex-start;margin-left:0;margin-top:8px;width:100%}.ingest-status{margin-top:6px;font-size:12px}.spinner{position:relative;width:18px;height:18px;border-radius:999px;display:inline-block;margin-right:6px;background:conic-gradient(from 0deg,rgba(34,211,238,0) 0deg 20deg,rgba(34,211,238,.9) 20deg 34deg,rgba(34,211,238,0) 34deg 120deg,rgba(56,189,248,.85) 120deg 134deg,rgba(34,211,238,0) 134deg 220deg,rgba(99,102,241,.75) 220deg 238deg,rgba(34,211,238,0) 238deg 1turn);-webkit-mask:radial-gradient(circle at center,transparent 55%,#000 56%);mask:radial-gradient(circle at center,transparent 55%,#000 56%);animation:ringSpin 1.4s linear infinite}.spinner:after,.spinner:before{content:"";position:absolute;inset:3px;border-radius:999px;border:1px solid rgba(56,189,248,.45);box-shadow:0 0 8px rgba(56,189,248,.25)}.spinner:after{inset:6px;border-color:rgba(99,102,241,.5);animation:ringSpin 2.2s linear infinite reverse}@keyframes spin{to{transform:rotate(1turn)}}.table .sticky-right{position:-webkit-sticky;position:sticky;right:0;background:var(--panel);z-index:1;box-shadow:-8px 0 12px rgba(0,0,0,.25)}.patch-modal{max-width:760px;width:100%}.patch-modal .form-grid{display:grid;grid-gap:16px;gap:16px}.patch-modal .form-section{display:grid;grid-gap:12px;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.patch-modal .form-section:last-child{padding-bottom:0;border-bottom:0}.patch-modal .field{display:grid;grid-gap:6px;gap:6px}.patch-modal .field>span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.patch-modal .field-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.patch-modal input,.patch-modal select,.patch-modal textarea{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.05);color:var(--fg);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.patch-modal input:focus,.patch-modal select:focus,.patch-modal textarea:focus{outline:none;border-color:rgba(56,189,248,.8);box-shadow:0 0 0 3px rgba(56,189,248,.2),0 0 22px rgba(14,165,233,.45);background:rgba(15,23,42,.7)}.patch-modal textarea{min-height:96px;resize:vertical}.patch-modal select{cursor:pointer}.multi-select{display:grid;grid-gap:8px;gap:8px}.multi-select .chip-row{display:flex;flex-wrap:wrap;gap:6px}.multi-select .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.35);font-size:12px}.multi-select .chip button{background:transparent;border:0;color:var(--fg);cursor:pointer;padding:0 2px}.multi-select .chip button[disabled]{opacity:.5;cursor:not-allowed}.multi-select .chip-role{font-size:11px;color:var(--muted)}.multi-select .chip-options{max-height:160px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#0b1220}.multi-select .chip-option{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;color:var(--fg);cursor:pointer;border-bottom:1px solid var(--border)}.multi-select .chip-option:last-child{border-bottom:0}.multi-select .chip-option:hover{background:rgba(96,165,250,.12)}.multi-select .chip-option[disabled]{opacity:.6;cursor:not-allowed}.login-shell{min-height:100vh;margin:0;padding:0;position:relative;overflow:hidden}.login-shell:before{content:"";position:absolute;inset:-40%;background:radial-gradient(800px 600px at 15% 20%,rgba(37,99,235,.35),transparent 60%),radial-gradient(700px 500px at 80% 70%,rgba(124,58,237,.35),transparent 60%),linear-gradient(120deg,#0b0e14,#0f172a 45%,#0b1022);animation:loginGlow 18s ease-in-out infinite;z-index:0}.login-grid{display:grid;grid-template-columns:3fr 2fr;min-height:100vh;position:relative;z-index:1}.login-hero{position:relative;padding:64px 72px;display:flex;align-items:center;background:linear-gradient(130deg,rgba(15,23,42,.85),rgba(2,6,23,.9));border-right:1px solid rgba(148,163,184,.12);overflow:hidden}.login-hero:before{content:"";position:absolute;inset:-20% -10% -10% -20%;background-image:radial-gradient(circle at 20% 20%,rgba(34,211,238,.25),transparent 50%),radial-gradient(circle at 70% 60%,rgba(99,102,241,.18),transparent 55%),linear-gradient(transparent 97%,rgba(148,163,184,.18) 98%),linear-gradient(90deg,transparent 97%,rgba(148,163,184,.18) 98%);background-size:auto,auto,40px 40px,40px 40px;opacity:.55}.login-hero:after{content:"";position:absolute;inset:10% 12% auto auto;width:360px;height:240px;background:radial-gradient(ellipse at center,rgba(56,189,248,.25),transparent 70%);filter:blur(2px);opacity:.6}.login-hero-inner{max-width:560px;position:relative;z-index:1}.sentinel{position:absolute;inset:50% auto auto 50%;width:320px;height:320px;transform:translate(-50%,-50%);z-index:0;pointer-events:none;opacity:.9}.sentinel .ring{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(34,211,238,.5);box-shadow:0 0 24px rgba(56,189,248,.35),inset 0 0 16px rgba(56,189,248,.25);background:conic-gradient(from 0deg,rgba(34,211,238,0) 0deg 18deg,rgba(34,211,238,.8) 18deg 28deg,rgba(34,211,238,0) 28deg 90deg,rgba(56,189,248,.9) 90deg 102deg,rgba(34,211,238,0) 102deg 180deg,rgba(99,102,241,.75) 180deg 194deg,rgba(34,211,238,0) 194deg 1turn);-webkit-mask:radial-gradient(circle at center,transparent 62%,#000 63%);mask:radial-gradient(circle at center,transparent 62%,#000 63%);animation:ringSpin 26s linear infinite}.sentinel .ring-b{inset:26px;border-color:rgba(56,189,248,.55);box-shadow:0 0 18px rgba(56,189,248,.3),inset 0 0 14px rgba(56,189,248,.2);animation-duration:34s;animation-direction:reverse}.sentinel .ring-c{inset:56px;border-color:rgba(99,102,241,.6);box-shadow:0 0 14px rgba(99,102,241,.3),inset 0 0 10px rgba(99,102,241,.2);animation-duration:42s}.login-brand-mark,.login-hero-copy,.login-hero-title{position:relative;z-index:2}.login-brand-mark{width:56px;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(34,211,238,.9),rgba(99,102,241,.9));margin-bottom:18px}.login-hero-title{font-size:clamp(40px,6vw,64px);margin:0 0 16px;font-weight:800;letter-spacing:2px;background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}.login-hero-copy{margin:0;color:rgba(226,232,240,.85);font-size:16px;max-width:520px;line-height:1.6}.login-features{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-gap:12px;gap:12px}.login-features li{display:flex;align-items:center;gap:10px;color:var(--fg)}.login-icon{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#bfdbfe;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.35)}.login-footer{margin-top:24px;font-size:12px}.login-auth{display:flex;align-items:center;justify-content:center;padding:48px 24px}.login-card{width:100%;max-width:420px;padding:28px;border-radius:20px;border:.5px solid rgba(255,255,255,.35);background:rgba(12,18,32,.45);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 70px rgba(2,6,23,.6)}.login-card:before{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(180deg,transparent,rgba(0,229,255,.08) 50%,transparent);opacity:.35;transform:translateY(-120%);animation:scanline 5s linear infinite;pointer-events:none}.login-card{position:relative;overflow:hidden}.login-card-brand{display:inline-flex;align-items:baseline;gap:10px;font-weight:800;letter-spacing:.4px;margin-bottom:8px}.login-card-brand .brand-lock{color:rgba(226,232,240,.9);text-transform:uppercase;font-size:13px;letter-spacing:2.2px}.login-card-brand .brand-sep{color:rgba(148,163,184,.7);font-weight:600}.login-card-brand .brand-patch{font-size:22px;font-weight:800;color:#a5f3fc;text-shadow:0 0 16px rgba(56,189,248,.35)}.login-welcome{margin:6px 0 4px;font-size:20px;font-weight:700;color:#e2e8f0}.login-subtext{margin:0 0 6px;color:var(--muted);font-size:13px}.login-fields{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.login-field{position:relative;display:grid;color:var(--fg);font-weight:500}.login-field span{position:absolute;left:12px;top:12px;font-size:12px;color:rgba(148,163,184,.85);text-transform:uppercase;letter-spacing:.6px;transition:all .2s ease;pointer-events:none}.login-field input{width:100%;padding:18px 12px 8px;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:var(--fg);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-field input:focus{outline:none;border-color:rgba(56,189,248,.8);box-shadow:0 0 0 3px rgba(56,189,248,.2),0 0 22px rgba(14,165,233,.45);background:rgba(15,23,42,.7)}.login-field input::placeholder{color:transparent}.login-field input:focus+span,.login-field input:not(:placeholder-shown)+span{top:6px;font-size:10px;color:rgba(148,163,184,.9);letter-spacing:1px}.login-button{justify-content:center;min-height:32px;padding:6px 12px;border:0;border-radius:8px;background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);color:#0b1120;font-size:13px;font-weight:600;letter-spacing:.2px;box-shadow:0 12px 30px rgba(56,189,248,.35)}.login-button:hover{filter:brightness(1.05)}.otp-card{max-width:460px}.otp-form{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.otp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.otp-input{width:100%;aspect-ratio:1/1;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:var(--fg);font-size:20px;font-weight:700;text-align:center;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.otp-input:focus{outline:none;border-color:rgba(56,189,248,.8);box-shadow:0 0 0 3px rgba(56,189,248,.2),0 0 22px rgba(14,165,233,.45);background:rgba(15,23,42,.7)}.otp-email{margin-top:2px}@media (max-width:900px){.login-grid{grid-template-columns:1fr}.login-hero{padding:48px 24px;border-right:0;min-height:40vh}.login-auth{padding:32px 20px 48px}}@keyframes loginGlow{0%{transform:translateZ(0) scale(1);opacity:.9}50%{transform:translate3d(-2%,2%,0) scale(1.04);opacity:1}to{transform:translateZ(0) scale(1);opacity:.9}}@keyframes scanline{0%{transform:translateY(-120%)}to{transform:translateY(120%)}}@keyframes ringSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.kpi{display:flex;gap:16px;flex-wrap:wrap}.kpi .item{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 18px;min-width:240px;display:flex;flex-direction:column;gap:6px}.kpi .item .value{font-size:28px;font-weight:800;letter-spacing:.2px}.kpi .item.cve{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.35);color:#c7d2fe;box-shadow:inset 0 0 0 1px rgba(129,140,248,.25),inset 0 0 16px rgba(99,102,241,.2)}.kpi .item.kev{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.35);color:#fed7aa;box-shadow:inset 0 0 0 1px rgba(251,146,60,.25),inset 0 0 16px rgba(245,158,11,.2)}.muted{color:var(--muted)}.section{margin:16px 0}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.badge.critical{background:rgba(239,68,68,.15);color:#fecaca;border-color:rgba(239,68,68,.35)}.badge.high{background:rgba(245,158,11,.15);color:#fde68a;border-color:rgba(245,158,11,.35)}.badge.medium{background:rgba(34,197,94,.15);color:#bbf7d0;border-color:rgba(34,197,94,.35)}.badge.low{background:rgba(96,165,250,.15);color:#bfdbfe;border-color:rgba(96,165,250,.35)}.badge.na{background:rgba(148,163,184,.2);color:#cbd5e1;border-color:rgba(148,163,184,.35)}.badge.research{background:rgba(0,229,255,.12);color:#a5f3fc;border-color:rgba(0,229,255,.4);text-transform:uppercase;letter-spacing:.6px}.severity-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;border:1px solid transparent}.severity-critical{background:rgba(239,68,68,.18);color:#fecaca;border-color:rgba(239,68,68,.45)}.severity-high{background:rgba(251,146,60,.18);color:#fed7aa;border-color:rgba(251,146,60,.45)}.severity-med{background:rgba(250,204,21,.18);color:#fef9c3;border-color:rgba(250,204,21,.45)}.alert{padding:10px 12px;border-radius:12px;border:1px solid var(--border)}.alert.critical{background:rgba(239,68,68,.15);color:#fecaca;border-color:rgba(239,68,68,.35)}.live-lead-bar{grid-column:1/-1;position:relative;display:flex;align-items:center;gap:6px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#22d3ee,#38bdf8,#6366f1);color:#0b1120;font-weight:700;box-shadow:0 18px 40px rgba(34,211,238,.35),0 0 26px rgba(56,189,248,.35);overflow:hidden}.live-lead-glow{position:absolute;inset:-40% -10%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 60%);opacity:.45;mix-blend-mode:screen;pointer-events:none}.live-lead-label{text-transform:uppercase;letter-spacing:.8px;font-size:12px}.live-lead-value{font-size:16px}.live-lead-message{font-size:13px;font-weight:600;opacity:.85}.handover-card .handover-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.info-box{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border-radius:12px;border:1px solid rgba(59,130,246,.35);background:rgba(15,23,42,.75);color:#c7d2fe}.info-box .info-icon{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(59,130,246,.2);color:#93c5fd;flex:0 0 auto}@media print{body{background:#fff;color:#000}.footer,.header{display:none!important}.container{max-width:100%;padding:0 12px}.content{padding:0}.grid{display:block}.content .grid>:not(.print-include){display:none!important}.card{background:#fff;border:1px solid #ddd;box-shadow:none;color:#000}.btn{display:none!important}}@media (max-width:900px){.grid{grid-template-columns:repeat(6,1fr)}.filter-bar,.filter-bar-compact,.filter-bar-compact .filter-group{flex-wrap:wrap}.filter-actions-stack{flex-direction:row;margin-left:0}}@media (max-width:640px){.grid{grid-template-columns:repeat(4,1fr)}.row{flex-direction:column;align-items:flex-start;gap:6px}.brand{padding:8px 0}}.anim-fade{animation:fadeIn .3s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.toast{position:fixed;right:16px;bottom:16px;background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:1000}.pies{display:grid;grid-template-columns:1fr;justify-items:center;grid-gap:24px;gap:24px}.pies.two{grid-template-columns:1fr 1fr}.pie-block{text-align:center;margin:0 auto}.pie-block,.pie-legend{width:100%;max-width:800px;overflow:hidden}.pie-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:8px;gap:8px;margin:8px auto 0;justify-content:center}.pie-legend .legend-row{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 8px rgba(56,189,248,.25);flex:0 0 auto}.pie-legend .legend-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pie-legend .legend-actions .btn{padding:6px 10px;font-size:12px}@media (max-width:720px){.pie-block,.pie-legend{max-width:640px}}.badge.status-new{background:rgba(56,189,248,.12);color:#bae6fd;border-color:rgba(56,189,248,.35)}.badge.status-applicable{background:rgba(251,146,60,.14);color:#fed7aa;border-color:rgba(251,146,60,.35)}.badge.status-na{background:rgba(148,163,184,.2);color:#cbd5e1;border-color:rgba(148,163,184,.35)}.badge.status-monitoring{background:rgba(125,211,252,.18);color:#bae6fd;border-color:rgba(125,211,252,.5)}.badge.status-progress{background:rgba(251,191,36,.18);color:#fde68a;border-color:rgba(251,191,36,.5)}.badge.status-resolved{background:rgba(34,197,94,.16);color:#bbf7d0;border-color:rgba(34,197,94,.45)}.status-badge{font-size:13px;padding:4px 10px;font-weight:700}.table-account .account-input,.table-account .account-select{height:32px;padding:6px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.05);color:var(--fg);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.table-account .account-select{background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.4)}.table-account .account-input:focus,.table-account .account-select:focus{outline:none;border-color:rgba(56,189,248,.8);box-shadow:0 0 0 3px rgba(56,189,248,.2),0 0 22px rgba(14,165,233,.45);background:rgba(15,23,42,.7)}.table-account .account-name-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:6px}.table-account .badge.duty{align-self:flex-start}.table-account .account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.table-account tbody td,.table-account thead th{padding:4px 8px}.table-account .account-name-inputs{display:flex;align-items:center;gap:6px}.table-account .account-name-inputs .account-input{min-width:110px}.table-account .account-email{font-size:11px}.table-account .account-role-stack{display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px}.table-account .account-actions .btn{min-height:28px;padding:4px 8px;font-size:12px}.btn-row{display:inline-flex;align-items:center;gap:6px}.date-nowrap{white-space:nowrap}.cve-id,.tech{font-family:JetBrains Mono,Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.2px}.cve-id{font-size:.85rem;font-weight:600;color:#00E5FF}body.light-theme .cve-id{color:#2563EB}.json-pre{font-family:JetBrains Mono,Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.json-key{color:rgba(96,165,250,.75)}.json-string{color:#a7f3d0}.json-number{color:#fef9c3}.json-boolean{color:#facc15}.json-null{color:rgba(148,163,184,.8)}body.light-theme .card{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);box-shadow:10px 10px 20px rgba(163,177,198,.45),-10px -10px 20px rgba(255,255,255,.8);-webkit-backdrop-filter:none;backdrop-filter:none}body.light-theme .btn{background:#F0F2F5;border:1px solid rgba(0,0,0,.08);box-shadow:4px 4px 8px rgba(163,177,198,.45),-4px -4px 8px rgba(255,255,255,.8);color:#0a1f44}body.light-theme .btn:hover{box-shadow:inset 2px 2px 6px rgba(163,177,198,.55),inset -2px -2px 6px rgba(255,255,255,.85)}body.light-theme .table thead th{background:#F0F2F5}.theme-toggle{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:rgba(13,20,38,.7);color:var(--fg);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.35);z-index:1200;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.4)}body.light-theme .theme-toggle{background:#F0F2F5;color:#0a1f44;box-shadow:6px 6px 14px rgba(163,177,198,.45),-6px -6px 14px rgba(255,255,255,.85)}