@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap");.page-loading{display:grid;place-items:center;min-height:100vh;color:var(--muted);font-size:13px}:root{--bg:#fafafa;--panel:#fff;--panel-2:#f4f4f5;--border:#e4e4e7;--border-strong:#d4d4d8;--fg:#09090b;--fg-2:#3f3f46;--muted:#71717a;--muted-2:#a1a1aa;--primary:#18181b;--primary-fg:#fafafa;--primary-hover:#27272a;--ring:#18181b;--ok:#15803d;--ok-bg:#f0fdf4;--ok-border:#bbf7d0;--warn:#b45309;--warn-bg:#fffbeb;--warn-border:#fde68a;--bad:#b91c1c;--bad-bg:#fef2f2;--bad-border:#fecaca;--info:#1d4ed8;--info-bg:#eff6ff;--info-border:#bfdbfe;--shadow-sm:0 1px 2px rgba(9,9,11,.05);--shadow-md:0 6px 16px -6px rgba(9,9,11,.12);--shadow-lg:0 24px 48px -12px rgba(9,9,11,.2);--scrim:rgba(9,9,11,.45);--font-sans:"Geist",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r:10px;--r-sm:6px;--pill:999px;--sidebar-w:256px;--topbar-h:56px}:root[data-theme=dark]{--bg:#09090b;--panel:#0d0d10;--panel-2:#18181b;--border:#27272a;--border-strong:#3f3f46;--fg:#fafafa;--fg-2:#d4d4d8;--muted:#a1a1aa;--muted-2:#71717a;--primary:#fafafa;--primary-fg:#09090b;--primary-hover:#e4e4e7;--ring:#fafafa;--ok:#4ade80;--ok-bg:rgba(21,128,61,.16);--ok-border:rgba(74,222,128,.35);--warn:#fbbf24;--warn-bg:rgba(180,83,9,.16);--warn-border:rgba(251,191,36,.32);--bad:#f87171;--bad-bg:rgba(185,28,28,.16);--bad-border:hsla(0,91%,71%,.35);--info:#60a5fa;--info-bg:rgba(29,78,216,.18);--info-border:rgba(96,165,250,.35);--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 6px 16px -6px rgba(0,0,0,.55);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.7);--scrim:rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}figure,h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit}svg{display:block}[hidden]{display:none!important}::selection{background:var(--primary);color:var(--primary-fg)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-sm)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:var(--primary);color:var(--primary-fg);padding:8px 14px;border-radius:var(--r-sm);transition:top .15s ease}.skip-link:focus{top:12px}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.eyebrow,.h1{font-weight:600}.h1{font-size:24px;letter-spacing:-.02em;line-height:1.25}.h2{font-size:16px;font-weight:600;letter-spacing:-.01em}.sub{font-size:12.5px}.muted,.sub{color:var(--muted)}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border-radius:var(--r-sm);border:1px solid transparent;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn svg{width:16px;height:16px}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-outline{background:var(--panel);color:var(--fg);border-color:var(--border-strong)}.btn-outline:hover{background:var(--panel-2)}.btn-ghost{background:transparent;color:var(--fg-2)}.btn-ghost:hover{background:var(--panel-2);color:var(--fg)}.btn-danger{background:transparent;color:var(--warn);border-color:var(--border-strong)}.btn-danger:hover{background:var(--warn-bg);border-color:var(--warn-border)}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-sm svg{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:30px}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 9px;border-radius:var(--pill);border:1px solid var(--border);background:var(--panel);font-size:11px;font-weight:500;color:var(--fg-2);white-space:nowrap}.badge svg{width:12px;height:12px}.badge-strong{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.badge-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.badge-info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.badge-muted{background:var(--panel-2);color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--border)}.card-head .h2{margin:0}.card-body{padding:18px}.card-foot{padding:13px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:11.5px;font-weight:500;color:var(--fg-2)}.input,.select{height:36px;padding:0 11px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:13px;color:var(--fg);width:100%;transition:border-color .15s ease,box-shadow .15s ease}textarea.input{height:auto;padding:9px 11px;resize:vertical;min-height:72px;line-height:1.5}.input::placeholder{color:var(--muted-2)}.input:focus-visible,.select:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in srgb,var(--ring) 18%,transparent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:32px;cursor:pointer}.input-group{display:flex;align-items:center;gap:0}.input-group .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group .unit{height:36px;padding:0 11px;border:1px solid var(--border-strong);border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--panel-2);color:var(--muted);font-size:12px;font-family:var(--font-mono)}.input-group .unit,.switch{display:inline-flex;align-items:center}.switch{gap:9px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:32px;height:19px;border-radius:var(--pill);background:var(--border-strong);position:relative;transition:background-color .15s ease;flex:0 0 auto}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{transform:translateX(13px)}.switch input:focus-visible+.track{outline:2px solid var(--ring);outline-offset:2px}.switch .switch-label{font-size:12.5px;color:var(--fg-2)}.progress{height:6px;border-radius:var(--pill);background:var(--panel-2);overflow:hidden;border:1px solid var(--border)}.progress>span{display:block;height:100%;background:var(--primary);border-radius:var(--pill);transition:width .4s cubic-bezier(.16,.84,.44,1)}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{text-align:left;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 14px;white-space:nowrap;background:var(--panel)}table.tbl td,table.tbl th{border-bottom:1px solid var(--border)}table.tbl td{padding:11px 14px;vertical-align:middle}table.tbl tbody tr:last-child td{border-bottom:0}table.tbl tbody tr.rowlink{cursor:pointer}table.tbl tbody tr.rowlink:hover{background:var(--panel-2)}table.tbl .num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-empty{padding:38px 18px;text-align:center;color:var(--muted);font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:15px 16px;box-shadow:var(--shadow-sm)}.kpi .kpi-label{font-size:11.5px;color:var(--muted);font-weight:500}.kpi .kpi-value{font-size:21px;font-weight:600;letter-spacing:-.02em;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .kpi-foot{margin-top:9px;display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted)}.kpi .spark{margin-top:11px;display:flex;align-items:flex-end;gap:3px;height:26px}.kpi .spark i{display:block;flex:1 1;background:var(--border-strong);border-radius:2px 2px 0 0;min-height:2px}.kpi .spark i.hot{background:var(--primary)}.chart{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:8px}.chart .col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.chart .track{width:100%;max-width:44px;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart .bar{width:100%;border-radius:6px 6px 3px 3px;background:var(--primary);opacity:.9;transition:height .4s cubic-bezier(.16,.84,.44,1)}.chart .bar.soft{background:var(--border-strong);opacity:1}.chart .cl{font-size:10.5px;color:var(--muted);white-space:nowrap}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:12px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--primary);margin-right:6px;vertical-align:middle}.legend-dot.soft{background:var(--border-strong)}.stack{display:flex;height:12px;border-radius:var(--pill);overflow:hidden;border:1px solid var(--border);background:var(--panel-2)}.stack>span{display:block;height:100%}.stack-legend{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.stack-legend .sl-row{display:flex;align-items:center;gap:10px;font-size:12.5px}.stack-legend .swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.stack-legend .sl-name{color:var(--fg-2)}.stack-legend .sl-val{margin-left:auto;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(1200px 600px at 50% -10%,var(--panel-2),var(--bg) 60%)}.login-card{width:100%;max-width:412px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:30px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--primary);color:var(--primary-fg);display:grid;place-items:center}.brand-mark svg{width:20px;height:20px}.login .brand-line{display:flex;align-items:center;gap:11px;margin-bottom:22px}.provider-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.provider{border:1px solid var(--border-strong);border-radius:var(--r);padding:13px;display:flex;flex-direction:column;gap:8px;background:var(--panel);transition:border-color .15s ease,background-color .15s ease;position:relative;text-align:left}.provider .p-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.provider .p-name{font-size:13px;font-weight:600}.provider .p-desc{font-size:11.5px;color:var(--muted);line-height:1.4}.provider .tick{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:transparent;flex:0 0 auto}.provider[aria-pressed=true]{border-color:var(--primary);background:var(--panel-2)}.provider[aria-pressed=true] .tick{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.provider .tick svg{width:11px;height:11px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:20px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);height:100vh;position:-webkit-sticky;position:sticky;top:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 14px;z-index:60}.sb-brand{display:flex;align-items:center;gap:11px;padding:6px 6px 16px}.sb-brand .brand-mark{width:34px;height:34px;border-radius:10px}.sb-brand .brand-mark svg{width:18px;height:18px}.sb-brand .sb-name{font-size:13.5px;font-weight:600;letter-spacing:-.01em}.sb-brand .sb-sub{font-size:11px;color:var(--muted)}.sb-nav{flex:1 1;overflow-y:auto;gap:18px;padding:2px 0}.sb-group,.sb-nav{display:flex;flex-direction:column}.sb-group{gap:2px}.sb-group>.eyebrow{padding:0 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--fg-2);text-decoration:none;width:100%;text-align:left;transition:background-color .15s ease,color .15s ease}.nav-item svg{width:16px;height:16px;flex:0 0 auto;color:var(--muted)}.nav-item:hover{background:var(--panel-2);color:var(--fg)}.nav-item[aria-current=page]{background:var(--primary);color:var(--primary-fg)}.nav-item[aria-current=page] svg{color:var(--primary-fg)}.nav-item .nav-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.nav-item[aria-current=page] .nav-count{color:var(--primary-fg);opacity:.75}.sb-progress{margin:14px 4px 10px;padding:13px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel-2)}.sb-progress .sp-top{display:flex;justify-content:space-between;font-size:11.5px;color:var(--fg-2);margin-bottom:9px}.sb-progress .sp-top b{font-weight:600;font-family:var(--font-mono)}.sb-progress .sp-note{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.4}.sb-user{display:flex;align-items:center;gap:10px;padding:11px 6px 2px;border-top:1px solid var(--border);margin-top:6px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);display:grid;place-items:center;font-size:11.5px;font-weight:600;color:var(--fg-2);flex:0 0 auto}.avatar.sm{width:28px;height:28px;font-size:11px}.sb-user .u-meta{min-width:0;flex:1 1}.sb-user .u-name{font-size:12.5px;font-weight:600}.sb-user .u-name,.sb-user .u-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user .u-role{font-size:11px;color:var(--muted)}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topbar .menu-btn{display:none}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);min-width:0}.breadcrumb svg{width:14px;height:14px;color:var(--muted-2)}.breadcrumb .crumb-now{color:var(--fg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1 1}.topbar-actions{display:flex;align-items:center;gap:8px}.ctx-select{max-width:190px}.ctx-select,.search-btn{height:32px;font-size:12.5px}.search-btn{display:inline-flex;align-items:center;gap:8px;padding:0 9px 0 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--muted);transition:background-color .15s ease}.search-btn:hover{background:var(--panel-2)}.search-btn svg{width:15px;height:15px}kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.content{padding:28px 32px 56px;width:100%;max-width:1280px;margin:0 auto;flex:1 1}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.page-head .ph-actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.grid{display:grid;grid-gap:14px;gap:14px}.g-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.g-2b{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack-v{display:flex;flex-direction:column;gap:18px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:14px 16px;border-bottom:1px solid var(--border)}.filterbar .field{gap:5px}.filterbar .field .label{font-size:11px}.filterbar .input,.filterbar .select{height:32px;font-size:12.5px}.filterbar .f-grow{flex:1 1;min-width:180px}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row .lr-main{min-width:0;flex:1 1}.list-row .lr-name{font-size:13px;font-weight:600}.list-row .lr-name,.list-row .lr-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .lr-sub{font-size:11.5px;color:var(--muted)}.chip-card{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--pill);border:1px solid var(--border);background:var(--panel-2);font-size:11px;font-family:var(--font-mono);color:var(--fg-2)}.scrim{position:fixed;inset:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s ease}.scrim.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;max-height:100vh;width:min(440px,92vw);background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:90;transform:translateX(100%);transition:transform .24s cubic-bezier(.16,.84,.44,1);display:flex;flex-direction:column}.drawer.show{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.drawer-body{padding:18px;overflow-y:auto;flex:1 1}.detail-list{display:flex;flex-direction:column}.detail-list .dl-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-list .dl-row:last-child{border-bottom:0}.detail-list .dl-k{color:var(--muted)}.detail-list .dl-v{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.detail-total{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel-2);display:flex;align-items:baseline;justify-content:space-between}.detail-total .dt-v{font-size:20px;font-weight:600;font-family:var(--font-mono)}.palette{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding-top:12vh;background:var(--scrim)}.palette-panel{width:min(600px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden}.palette-search{display:flex;align-items:center;gap:11px;height:46px;padding:0 16px;border-bottom:1px solid var(--border)}.palette-search svg{width:18px;height:18px;color:var(--muted)}.palette-search input{flex:1 1;border:0;background:transparent;height:100%;font-size:14px;outline:none}.palette-list{max-height:52vh;overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:7px;font-size:13px;width:100%;text-align:left;color:var(--fg-2)}.palette-item svg{width:16px;height:16px;color:var(--muted)}.palette-item.active,.palette-item:hover{background:var(--panel-2);color:var(--fg)}.palette-item .pi-sub{margin-left:auto;font-size:11.5px;color:var(--muted);font-family:var(--font-mono)}.palette-foot{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted)}.palette-empty{padding:26px 16px;text-align:center;color:var(--muted);font-size:13px}.pop-wrap{position:relative}.popover{position:absolute;top:calc(100% + 8px);right:0;width:330px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:70;overflow:hidden}.popover-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.popover-head .h2{font-size:13px}.notif-item{display:flex;gap:11px;padding:12px 14px;border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:0}.notif-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:var(--panel-2);border:1px solid var(--border);color:var(--fg-2)}.notif-ico svg{width:15px;height:15px}.notif-item .n-body{min-width:0}.notif-item .n-title{font-size:12.5px;font-weight:500}.notif-item .n-sub{font-size:11.5px;color:var(--muted);margin-top:2px}.dot-badge{position:relative}.dot-badge:after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--warn);border:1.5px solid var(--panel)}.toasts{position:fixed;right:18px;bottom:18px;z-index:110;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.toast{display:flex;align-items:flex-start;gap:11px;min-width:270px;max-width:360px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);transform:translateY(10px);opacity:0;transition:transform .2s ease,opacity .2s ease}.toast.in{transform:none;opacity:1}.toast.out{transform:translateY(8px);opacity:0;transition-duration:.18s}.toast .t-ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.toast .t-ico svg{width:15px;height:15px}.toast .t-title{font-size:12.5px;font-weight:600}.toast .t-sub{font-size:11.5px;color:var(--muted);margin-top:1px}.code-wrap{position:relative}pre.code{margin:0;padding:16px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r);overflow:auto;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--fg-2);max-height:520px}.code-copy{position:absolute;top:10px;right:10px}.steps{position:relative;padding-left:38px;display:flex;flex-direction:column;gap:4px}.steps:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1px;background:var(--border)}.step{position:relative;padding:10px 0}.step .step-dot{position:absolute;left:-38px;top:9px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:600;font-family:var(--font-mono);background:var(--primary);color:var(--primary-fg);border:1px solid var(--primary)}.step.todo .step-dot{background:var(--panel);color:var(--muted);border:1px solid var(--border-strong)}.step .step-title{font-size:13px;font-weight:600}.step .step-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}.notice{display:flex;gap:11px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel-2);font-size:12.5px;color:var(--fg-2);line-height:1.5}.notice svg{width:16px;height:16px;flex:0 0 auto;color:var(--muted);margin-top:1px}.notice.info{background:var(--info-bg);border-color:var(--info-border)}.notice.info svg{color:var(--info)}.notice.warn{background:var(--warn-bg);border-color:var(--warn-border)}.notice.warn svg{color:var(--warn)}.helper{font-size:11.5px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;text-decoration:none;margin-bottom:12px}.back-link svg{width:16px;height:16px;flex:0 0 auto}.month-chevron{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--muted)}.month-chevron svg{width:18px;height:18px}.stat-inline{display:flex;gap:26px;flex-wrap:wrap}.stat-inline .si{display:flex;flex-direction:column;gap:3px}.stat-inline .si-v{font-size:18px;font-weight:600;font-family:var(--font-mono)}.stat-inline .si-l{font-size:11px;color:var(--muted)}.mail-preview{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--panel)}.mail-head{padding:16px 18px;border-bottom:1px solid var(--border);background:var(--panel-2)}.mail-body{padding:18px}.mail-body p{font-size:13px;line-height:1.6;color:var(--fg-2);margin:0 0 13px}.mail-body .h2{margin-bottom:4px}.mail-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 4px}.mail-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:7px 0}.mail-table td,.mail-table th{border-bottom:1px solid var(--border)}.mail-table td{padding:8px 0}.mail-table td.num{text-align:right;font-family:var(--font-mono)}.mail-total{display:flex;justify-content:space-between;padding-top:12px;font-size:13px;font-weight:600}.mail-summary{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.mail-summary td{padding:10px 0;border-bottom:1px solid var(--border)}.mail-summary td.num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mail-summary .mail-total-row td{border-bottom:0;padding-top:14px}.mail-summary .mail-total-row td.num strong{font-size:16px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.seg button{height:30px;padding:0 12px;font-size:12.5px;color:var(--fg-2);background:var(--panel)}.seg button+button{border-left:1px solid var(--border)}.seg button[aria-pressed=true]{background:var(--primary);color:var(--primary-fg)}.da-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));grid-gap:5px;gap:5px}.da-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.da-stat{border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;background:var(--panel-2)}.da-stat .ds-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.da-stat .ds-v{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.da-stat .ds-m{font-size:11.5px;color:var(--muted);margin-top:3px}.da-stat.is-best{background:var(--ok-bg);border-color:var(--ok-border)}.da-stat.is-best .ds-v{color:var(--ok)}.da-stat.is-worst{background:var(--bad-bg);border-color:var(--bad-border)}.da-stat.is-worst .ds-v{color:var(--bad)}.da-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel);font-size:11.5px;transition:background-color .15s ease,border-color .15s ease}.da-cell .da-h{font-weight:600;color:var(--muted);font-size:11px}.da-cell .da-p{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.da-cell.cheap{background:var(--ok-bg);border-color:var(--ok-border)}.da-cell.cheap .da-p{color:var(--ok)}.da-cell.mid{background:var(--panel-2)}.da-cell.expensive{background:var(--warn-bg);border-color:var(--warn-border)}.da-cell.expensive .da-p{color:var(--warn)}.da-cell.worst{background:var(--bad);border-color:var(--bad)}.da-cell.worst .da-h,.da-cell.worst .da-p{color:var(--primary-fg)}.da-cell.best{background:var(--primary);border-color:var(--primary)}.da-cell.best .da-h,.da-cell.best .da-p{color:var(--primary-fg)}.da-cell .da-badge{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--muted);margin-top:2px}.da-cell.cheap .da-badge{color:var(--ok)}.da-cell.expensive .da-badge{color:var(--warn)}.da-cell.worst .da-badge{color:var(--primary-fg);opacity:.85}.da-cell.best .da-badge{color:var(--primary-fg);opacity:.8}.da-tip{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm)}.da-tip svg{width:20px;height:20px;flex:0 0 auto;color:var(--primary)}.da-tip .dt-text{font-size:13px;line-height:1.5;color:var(--fg-2)}.da-tip .dt-text b{color:var(--fg)}.da-tip .dt-sub{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5}.da-cell.in-window{box-shadow:inset 0 0 0 1.5px var(--fg)}.da-cell.best.in-window,.da-cell.worst.in-window{box-shadow:inset 0 0 0 1.5px var(--primary-fg)}.da-stat.is-window{border-color:var(--fg);background:var(--panel)}.chart.da-hist{height:150px;gap:3px}.chart.da-hist .col{gap:5px}.chart.da-hist .track{max-width:none}.chart.da-hist .bar{border-radius:3px 3px 1px 1px;min-height:3px}.chart.da-hist .bar.is-cheap{background:var(--ok)}.chart.da-hist .bar.is-expensive{background:var(--bad)}.chart.da-hist .cl{font-size:9.5px}.da-hist-wrap{max-height:440px;overflow:auto}.da-hist-wrap table.tbl th{position:-webkit-sticky;position:sticky;top:0;z-index:2}@media (max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-2,.g-2b,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}}@media (max-width:1024px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .24s cubic-bezier(.16,.84,.44,1);box-shadow:var(--shadow-lg)}.sidebar.show{transform:none}.topbar .menu-btn{display:inline-flex}.content{padding:20px 18px 48px}.ctx-select{display:none}}@media (max-width:640px){.kpi-grid{grid-template-columns:1fr}.search-btn .s-label,.search-btn kbd{display:none}.page-head{flex-direction:column;align-items:stretch}.provider-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}