:root{
  --bg:#06101e;--bg-elev:#091527;--panel:#0d1a2d;--panel-2:#112139;--panel-3:#152740;
  --line:#1f3551;--line-strong:#2a4568;--text:#f4f7fb;--text-2:#d7e1ee;--muted:#8fa4bf;
  --blue:#2f7df6;--blue-2:#5f8cff;--violet:#7d5cf5;--green:#25c979;--amber:#f2a93b;--red:#ef5d68;
  --sidebar:236px;--topbar:66px;--radius:16px;--radius-sm:11px;--shadow:0 18px 55px rgba(0,0,0,.24);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="light"]{
  --bg:#f4f7fb;--bg-elev:#eef3f9;--panel:#ffffff;--panel-2:#f7f9fc;--panel-3:#edf3fa;
  --line:#dbe5f1;--line-strong:#c8d6e8;--text:#122033;--text-2:#26384f;--muted:#6b7c92;
  --shadow:0 16px 42px rgba(42,62,88,.10);
}
*{box-sizing:border-box}
html,body,#app{min-height:100%;margin:0}
html{background:var(--bg)}
body{background:radial-gradient(circle at 77% 0%,rgba(47,125,246,.08),transparent 27%),var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}
svg{display:block}

.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 12px;border-right:1px solid var(--line);background:rgba(6,16,30,.93);backdrop-filter:blur(20px);z-index:20;display:flex;flex-direction:column}
:root[data-theme="light"] .sidebar{background:rgba(255,255,255,.94)}
.brand{height:50px;display:flex;align-items:center;gap:11px;padding:0 10px;font-weight:850;letter-spacing:.02em;font-size:20px}
.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#186df1,#7058ef);color:#fff;box-shadow:0 10px 28px rgba(47,125,246,.24)}
.brand-mark svg{width:19px;height:19px}.brand-meta{min-width:0}.brand-name{line-height:1}.brand-caption{margin-top:4px;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0}
.nav-section{font-size:11px;color:#61758f;text-transform:uppercase;letter-spacing:.14em;font-weight:800;padding:20px 11px 7px}
.nav{display:grid;gap:4px}.nav a{display:flex;align-items:center;gap:11px;min-height:44px;padding:0 12px;border-radius:11px;color:#9aadc4;font-weight:690;border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.nav a:hover{background:rgba(255,255,255,.035);color:var(--text);transform:translateX(1px)}
.nav a.active{background:linear-gradient(90deg,rgba(47,125,246,.20),rgba(125,92,245,.10));border-color:rgba(75,131,236,.24);color:#f4f8ff}
:root[data-theme="light"] .nav a.active{color:#173256}.nav a svg{width:18px;height:18px;color:#8ca3bf}.nav a.active svg{color:#73a7ff}
.sidebar-spacer{flex:1}.side-status{margin:14px 8px 10px;padding:12px;border:1px solid var(--line);background:rgba(255,255,255,.018);border-radius:12px}
.side-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(37,201,121,.08)}
.side-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;font-size:12px}.side-status-row span{color:var(--muted)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 8px 0;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--violet));font-weight:800;color:#fff}.user-copy{min-width:0;flex:1}.user-copy b{display:block;font-size:12px}.user-copy span{display:block;color:var(--muted);font-size:11px;margin-top:1px}

.main{min-width:0}.topbar{height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(6,16,30,.72);backdrop-filter:blur(18px);position:sticky;top:0;z-index:15}
:root[data-theme="light"] .topbar{background:rgba(244,247,251,.88)}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-title{font-weight:760;color:var(--text-2)}.global-search{width:min(420px,38vw);position:relative}.global-search svg{position:absolute;left:12px;top:11px;width:17px;height:17px;color:var(--muted)}.global-search .input{padding-left:38px;background:rgba(255,255,255,.015)}
.content{padding:28px 30px 38px;max-width:1720px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:20px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#6ca2ff;font-weight:820;margin-bottom:7px}.page-head h1{margin:0 0 6px;font-size:31px;line-height:1.08;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}

.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(310px,.7fr);margin-bottom:14px}.dashboard-bottom{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.two{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(255,255,255,.024),transparent 60%),var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:18px}.card-title{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line)}.card-title h2{font-size:15px;margin:0;letter-spacing:-.01em}.card-title p{font-size:12px;color:var(--muted);margin:3px 0 0}.card-body{padding:17px}
.metric{min-height:142px;padding:17px;position:relative;overflow:hidden}.metric::after{content:"";position:absolute;right:-24px;top:-38px;width:108px;height:108px;border-radius:50%;background:var(--metric-glow,rgba(47,125,246,.10));filter:blur(.2px)}.metric.blue{--metric-glow:rgba(47,125,246,.11)}.metric.green{--metric-glow:rgba(37,201,121,.10)}.metric.violet{--metric-glow:rgba(125,92,245,.11)}.metric.amber{--metric-glow:rgba(242,169,59,.11)}
.metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-label{color:var(--muted);font-size:12px;font-weight:720}.metric-value{font-size:28px;font-weight:860;letter-spacing:-.035em;margin-top:9px}.metric-sub{font-size:12px;color:var(--muted);margin-top:4px}.metric-trend{font-size:11px;font-weight:800;color:var(--green);white-space:nowrap}.metric-trend.muted{color:var(--muted)}
.icon-tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(47,125,246,.11);color:#74a7ff}.icon-tile.green{background:rgba(37,201,121,.10);color:#56dc98}.icon-tile.violet{background:rgba(125,92,245,.11);color:#a28bff}.icon-tile.amber{background:rgba(242,169,59,.11);color:#ffc15e}.icon-tile.red{background:rgba(239,93,104,.11);color:#ff7a85}.icon-tile svg{width:18px;height:18px}.metric-spark{height:29px;margin-top:10px;opacity:.95}.metric-spark svg{width:100%;height:100%}

.btn{min-height:38px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:0 13px;border-radius:10px;font-weight:720;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--panel-3)}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(135deg,#2f7df6,#6e63ee);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(47,125,246,.19)}.btn-primary:hover{background:linear-gradient(135deg,#3985fb,#776bf4)}.btn-ghost{background:transparent}.btn-danger{color:#ff8a94}.btn-sm{min-height:32px;padding:0 10px;font-size:12px}.btn-icon{width:38px;padding:0}.btn-icon.btn-sm{width:32px}.btn-pill{border-radius:999px}.mobile-nav-btn{display:none}
.input,.select{width:100%;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:0 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus{border-color:#3f86ed;box-shadow:0 0 0 3px rgba(47,125,246,.10)}.field label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:7px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stack{display:grid;gap:11px}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}

.toolbar-card{margin-bottom:14px}.toolbar{display:flex;align-items:center;gap:10px;padding:13px 14px;flex-wrap:wrap}.toolbar .search{min-width:300px;flex:1}.search-wrap{position:relative}.search-wrap>svg{position:absolute;left:12px;top:11px;width:17px;height:17px;color:var(--muted);pointer-events:none}.search-wrap .input{padding-left:38px}.toolbar-meta{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}

.table-card{overflow:visible}.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.075em;color:#7f96b3;font-weight:800;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.012);white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid rgba(31,53,81,.82);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:rgba(47,125,246,.025)}.title-cell{font-weight:740;color:var(--text-2);line-height:1.35}.sub-cell{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.right{text-align:right}.cell-actions{display:flex;justify-content:flex-end;gap:7px}
.table-footer{min-height:58px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px}.pager{display:flex;align-items:center;gap:7px}.pager-label{font-size:12px;color:var(--muted);min-width:92px;text-align:center}.page-size{width:78px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.green{color:#4bd28d;background:rgba(37,201,121,.07);border-color:rgba(37,201,121,.20)}.badge.amber{color:#f4b34f;background:rgba(242,169,59,.07);border-color:rgba(242,169,59,.20)}.badge.red{color:#f97883;background:rgba(239,93,104,.07);border-color:rgba(239,93,104,.20)}.badge.blue{color:#75a8ff;background:rgba(47,125,246,.07);border-color:rgba(47,125,246,.20)}.badge.neutral{color:#9cb0c8;background:rgba(255,255,255,.02)}

.chart-card .card-body{padding:14px 17px 17px}.chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.chart-value{font-size:24px;font-weight:840;letter-spacing:-.025em}.chart-sub{color:var(--muted);font-size:12px;margin-top:2px}.chart-wrap{height:250px;position:relative}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-grid line{stroke:rgba(143,164,191,.12);stroke-width:1}.chart-axis{font-size:10px;fill:#6f86a3}.chart-line{fill:none;stroke:#3b82f6;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#salesArea)}.chart-dot{fill:#6ba4ff;stroke:#dceaff;stroke-width:1}.chart-empty{height:100%;display:grid;place-items:center;color:var(--muted)}

.list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row strong{font-size:13px}.list-row span{color:var(--muted);font-size:12px}.list-main{min-width:0}.list-main strong,.list-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-value{text-align:right;white-space:nowrap}.activity{display:flex;gap:10px;align-items:flex-start}.activity .icon-tile{width:32px;height:32px;flex:0 0 auto;margin-top:1px}.activity-time{font-size:11px;color:var(--muted);white-space:nowrap}

.notice{padding:12px 14px;border:1px solid var(--line);border-radius:11px;color:var(--text-2);line-height:1.5;background:rgba(255,255,255,.018)}.notice.info{border-color:rgba(47,125,246,.22);background:rgba(47,125,246,.055)}.notice.warn{border-color:rgba(242,169,59,.22);background:rgba(242,169,59,.055)}.notice.good{border-color:rgba(37,201,121,.22);background:rgba(37,201,121,.05)}.muted{color:var(--muted)}.good{color:var(--green)}.bad{color:var(--red)}.amber{color:var(--amber)}.delta-up{color:var(--green);font-weight:750}.delta-down{color:var(--red);font-weight:750}.delta-zero{color:var(--muted)}

.integration-card{position:relative}.integration-card .icon-tile{margin-bottom:14px}.integration-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.integration-title b{font-size:14px}.integration-card p{color:var(--muted);min-height:40px;margin:9px 0 14px;line-height:1.55}.sync-run{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center}.sync-id{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--panel-2);font-weight:800;color:#8db1e3}.sync-copy{min-width:0}.sync-copy strong{display:block}.sync-copy span{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.settings-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px}.formula-preview{padding:16px;border-radius:13px;background:linear-gradient(145deg,rgba(47,125,246,.08),rgba(125,92,245,.045));border:1px solid rgba(72,126,224,.20)}.formula-equation{font-weight:800;font-size:15px}.formula-example{font-size:26px;font-weight:860;letter-spacing:-.03em;margin-top:10px}.setting-feature{display:flex;gap:11px;align-items:flex-start;padding:11px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.015)}.setting-feature .icon-tile{width:32px;height:32px;flex:0 0 auto}.setting-feature b{display:block;font-size:13px}.setting-feature span{display:block;color:var(--muted);font-size:11px;margin-top:2px}

.login-screen{min-height:100vh;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 50% -10%,rgba(47,125,246,.23),transparent 36%),var(--bg)}.login-card{width:min(430px,100%);padding:27px}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:25px}.login-brand .brand-mark{width:42px;height:42px}.login-title{font-size:25px;font-weight:850;letter-spacing:-.025em}.login-sub{color:var(--muted);margin-top:3px}.login-card .field{margin-bottom:13px}.login-card .btn{width:100%;margin-top:3px}.login-status{min-height:20px;margin-top:11px;color:var(--red);font-size:12px}
.empty{padding:40px 22px;text-align:center;color:var(--muted)}.loading{padding:48px;text-align:center;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.toast-host{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:80}.toast{min-width:280px;max-width:430px;padding:12px 14px;border-radius:11px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);animation:toastIn .2s ease}.toast.ok{border-color:rgba(37,201,121,.35)}.toast.err{border-color:rgba(239,93,104,.35)}@keyframes toastIn{from{transform:translateY(7px);opacity:0}}

.modal-backdrop{position:fixed;inset:0;background:rgba(2,8,16,.66);backdrop-filter:blur(5px);z-index:60;display:flex;justify-content:flex-end;animation:fadeIn .16s ease}.drawer{width:min(480px,100%);height:100%;background:var(--bg-elev);border-left:1px solid var(--line);box-shadow:-25px 0 70px rgba(0,0,0,.32);display:flex;flex-direction:column;animation:drawerIn .2s ease}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:20px}.drawer-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.drawer-body{padding:20px 22px;overflow:auto;display:grid;gap:16px}.drawer-foot{margin-top:auto;padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:12px}.kv span{color:var(--muted)}.kv b{font-weight:700;min-width:0;word-break:break-word}@keyframes drawerIn{from{transform:translateX(18px);opacity:.5}}@keyframes fadeIn{from{opacity:0}}

@media (max-width:1280px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-bottom,.settings-layout,.two{grid-template-columns:1fr}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:24px}.global-search{width:320px}}
@media (max-width:920px){:root{--sidebar:216px}.content{padding:20px}.topbar{padding:0 18px}.global-search{display:none}.three{grid-template-columns:1fr}}
@media (max-width:760px){.shell{display:block}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s ease;box-shadow:var(--shadow)}.shell.nav-open .sidebar{left:0}.mobile-nav-btn{display:inline-flex}.topbar{padding:0 14px}.content{padding:17px 12px 28px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:27px}.metrics{grid-template-columns:1fr}.toolbar .search{min-width:100%}.toolbar-meta{width:100%;margin-left:0}.form-row{grid-template-columns:1fr}.card-pad,.card-body{padding:15px}.metric{min-height:130px}.table-footer{align-items:flex-start;flex-direction:column}.drawer{width:100%}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
:focus-visible{outline:2px solid #4d8df5;outline-offset:2px}
