:root{--bg:#0b1020;--surface:#121a33;--surface-2:#0f1730;--border:hsla(0,0%,100%,.07);--border-2:hsla(0,0%,100%,.12);--text:hsla(0,0%,100%,.96);--muted:hsla(0,0%,100%,.7);--muted-2:hsla(0,0%,100%,.5);--primary:#a78bfa;--primary-hover:#8b5cf6;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--radius:14px;--radius-sm:10px;--sidebar-w:260px;--topbar-h:64px;--container-w:1280px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--font-sans:Inter,"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--fs-h1:28px;--fs-h2:22px;--fs-h3:18px;--fs-body:14px;--fs-sm:12px;--lh:1.5}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(125,92,255,.14),transparent 30%),radial-gradient(circle at top right,rgba(64,201,255,.12),transparent 28%),radial-gradient(circle at bottom left,rgba(255,92,176,.08),transparent 28%),linear-gradient(180deg,#0a0c12,#0f1219 46%,#111521);color:var(--text);font-family:var(--font-sans);line-height:var(--lh);min-height:100%}body{position:relative;overflow-x:hidden}body:after,body:before{content:"";position:fixed;inset:auto;pointer-events:none;z-index:0;filter:blur(80px);opacity:.55}body:before{top:-120px;left:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(110,86,255,.26),transparent 68%)}body:after{right:-120px;bottom:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(42,196,255,.18),transparent 70%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}::selection{background:rgba(125,92,255,.35)}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app-shell.no-sidebar{grid-template-columns:1fr}.sidebar-overlay{display:none}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02)),linear-gradient(180deg,var(--surface),var(--surface-2));border-right:1px solid hsla(0,0%,100%,.08);padding:var(--s-5) var(--s-4);gap:var(--s-4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset -1px 0 0 hsla(0,0%,100%,.03),18px 0 50px rgba(0,0,0,.22)}.sidebar,.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand{gap:6px;padding-bottom:var(--s-4);border-bottom:1px solid hsla(0,0%,100%,.08)}.sidebar-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.sidebar-close{display:none}.brand-title{font-weight:950;letter-spacing:.12em;font-size:14px;color:hsla(0,0%,100%,.96);text-shadow:0 0 22px rgba(125,92,255,.18)}.brand-sub{font-size:var(--fs-sm);color:var(--muted)}.sidebar-meta{display:grid;grid-gap:var(--s-2);gap:var(--s-2);padding:var(--s-3);border:1px solid hsla(0,0%,100%,.08);border-radius:calc(var(--radius) + 2px);background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04),0 10px 24px rgba(0,0,0,.14)}.row{display:flex;align-items:center;gap:var(--s-2)}.sidebar-groups{display:grid;grid-gap:var(--s-4);gap:var(--s-4);flex:1 1;overflow:auto;padding-right:6px}.sidebar-groups::-webkit-scrollbar{width:8px}.sidebar-groups::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.14);border-radius:999px}.sidebar-groups::-webkit-scrollbar-track{background:transparent}.nav-group{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.nav-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:0 var(--s-2)}.nav-list{display:grid;grid-gap:8px;gap:8px}.nav-link{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:calc(var(--radius-sm) + 2px);color:var(--muted);border:1px solid transparent;background:hsla(0,0%,100%,.015);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.nav-link:hover{transform:translateX(2px);background:hsla(0,0%,100%,.055);border-color:hsla(0,0%,100%,.08);color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.14)}.nav-link.active{color:hsla(0,0%,100%,.98);background:linear-gradient(135deg,rgba(125,92,255,.22),rgba(72,157,255,.14));border-color:rgba(125,92,255,.32);box-shadow:inset 3px 0 0 0 var(--primary),0 14px 28px rgba(50,40,110,.22)}.nav-link.active:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.nav-icon{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:6px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.06);color:var(--text);font-size:11px;flex:0 0 auto;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05)}.nav-link.active .nav-icon{background:hsla(0,0%,100%,.09);border-color:hsla(0,0%,100%,.1)}.sidebar-actions{display:grid;grid-gap:8px;gap:8px;padding-top:var(--s-4);border-top:1px solid hsla(0,0%,100%,.08)}.app-main{min-height:100vh;position:relative;z-index:1}.topbar{height:var(--topbar-h);position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(17,20,30,.86),rgba(14,17,25,.76));border-bottom:1px solid hsla(0,0%,100%,.08);box-shadow:0 10px 30px rgba(0,0,0,.16)}.topbar,.topbar-inner{display:flex;align-items:center}.topbar-inner{width:min(var(--container-w),100%);margin:0 auto;padding:0 var(--s-5);justify-content:space-between;gap:var(--s-4)}.topbar-left{display:flex;align-items:center;gap:var(--s-3);min-width:0}.mobile-menu-btn{display:none;padding:8px 10px}.page-title{font-size:var(--fs-h3);font-weight:950;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw;color:hsla(0,0%,100%,.98);text-shadow:0 0 20px rgba(125,92,255,.12)}.badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.badge,.badges{align-items:center}.badge{display:inline-flex;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.04);color:var(--muted);font-size:var(--fs-sm);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04)}.badge-dot,.badgeDot{width:8px;height:8px;border-radius:999px;background:hsla(0,0%,47%,.55);border:1px solid hsla(0,0%,100%,.14);box-shadow:0 0 10px hsla(0,0%,100%,.08)}.badge.ok .badge-dot,.badge.ok .badgeDot{background:rgba(34,197,94,.95);box-shadow:0 0 12px rgba(34,197,94,.45)}.badge.warn .badge-dot,.badge.warn .badgeDot{background:rgba(245,158,11,.95);box-shadow:0 0 12px rgba(245,158,11,.4)}.badge.bad .badge-dot,.badge.danger .badgeDot{background:rgba(239,68,68,.95);box-shadow:0 0 12px rgba(239,68,68,.42)}.container{width:min(var(--container-w),100%);margin:0 auto;padding:var(--s-5)}.grid{grid-gap:var(--s-4)}.grid,.grid2{display:grid;gap:var(--s-4)}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-4)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.card{position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius);background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04),0 18px 40px rgba(0,0,0,.16)}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.16),transparent);pointer-events:none}.card:hover{border-color:rgba(125,92,255,.18);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 20px 44px rgba(0,0,0,.2)}.card-inner,.cardInner{padding:var(--s-5)}.card-title,.cardTitle{font-weight:950;font-size:var(--fs-h3);letter-spacing:-.01em}.h2{font-weight:950;font-size:var(--fs-h2)}.sub{color:var(--muted);font-size:var(--fs-sm)}.kpi{font-size:28px;font-weight:950;letter-spacing:-.03em;margin-top:6px;color:hsla(0,0%,100%,.98)}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.05);padding:3px 7px;border-radius:10px;color:hsla(0,0%,100%,.9)}.hr{height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);width:100%;margin:var(--s-4) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:hsla(0,0%,100%,.05);color:var(--text);cursor:pointer;font-size:13px;font-weight:800;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{background:hsla(0,0%,100%,.08);transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.16)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-color:hsla(0,0%,100%,.12);color:#0a0c10;box-shadow:0 12px 24px rgba(93,139,255,.24)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover),#8aa7ff)}.btn-ghost{background:hsla(0,0%,100%,.015);border-color:hsla(0,0%,100%,.08);color:var(--text)}.btn-danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.28);color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.input,.select,textarea.input{width:100%;padding:12px;border-radius:12px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.04);color:var(--text);outline:none;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03)}.input:focus,.select:focus,textarea.input:focus{border-color:rgba(93,139,255,.45);box-shadow:0 0 0 3px rgba(93,139,255,.12),0 12px 24px rgba(0,0,0,.14)}.errBox,.okBox,.warnBox{border-radius:var(--radius);padding:var(--s-4);border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.04);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03)}.errBox{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.12)}.warnBox{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.12)}.okBox{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.12)}.table{width:100%;border-collapse:collapse;border:1px solid hsla(0,0%,100%,.08);border-radius:12px;overflow:hidden}.table td,.table th{padding:10px;border-bottom:1px solid hsla(0,0%,100%,.08);vertical-align:top}.table thead th{text-align:left;font-size:12px;color:var(--muted);background:hsla(0,0%,100%,.04);position:-webkit-sticky;position:sticky;top:0;z-index:1}.table tr:hover td{background:hsla(0,0%,100%,.03)}@media (max-width:1100px){:root{--container-w:1000px}.container{padding:var(--s-4)}.grid2{grid-template-columns:1fr}}@media (max-width:980px){.app-shell{grid-template-columns:1fr;position:relative}.mobile-menu-btn{display:inline-flex}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:min(86vw,360px);z-index:50;transform:translateX(-105%);transition:transform .18s ease;box-shadow:0 20px 60px rgba(0,0,0,.55)}.sidebar-close{display:inline-flex;padding:8px 10px}.app-shell.mobile-open .sidebar{transform:translateX(0)}.app-shell.mobile-open .sidebar-overlay{display:block}.topbar-inner{padding:0 var(--s-4)}.container{padding:var(--s-4)}.page-title{max-width:48vw}.table{min-width:860px}}@media (max-width:560px){.container{padding:var(--s-3)}.topbar{height:58px}.page-title{font-size:16px;max-width:44vw}.btn{padding:10px}.card-inner,.cardInner{padding:var(--s-4)}.badge{padding:6px 9px;font-size:12px}.row{flex-wrap:wrap}}.app-main .app-shell{grid-template-columns:1fr!important;min-height:auto!important}.app-main .app-shell .sidebar,.app-main .app-shell .sidebar-overlay,.app-main .app-shell .topbar{display:none!important}.app-main .app-shell .app-main{min-height:auto!important}.app-main .app-shell .container{width:100%!important;max-width:none!important;margin:0!important}