:root{--primary:#16161a;--on-primary:#fff;--canvas:#fff;--surface:#f1f3f5;--surface-soft:#f8f9fa;--hairline:#e4e9ec;--hairline-soft:#edf0f2;--ink:#16161a;--ink-strong:#000;--charcoal:#3b414b;--slate:#5b6472;--steel:#666f75;--stone:#9aa1ad;--muted:#b4bac4;--brand-coral:#f2552c;--brand-magenta:#e0368b;--brand-blue:#1f5eff;--brand-blue-deep:#1747c8;--brand-blue-200:#dfe8ff;--brand-cyan:#2fb2ff;--brand-purple:#6a3fd6;--brand-amber:#f39a1d;--brand-green:#14a86b;--success-bg:#e3f6ef;--success-text:#1f8a67;--warning-bg:#fff3e0;--warning-text:#a35a00;--danger-bg:#fdebee;--danger-text:#c9304e;--danger:#e34562;--r-xs:4px;--r-sm:6px;--r-md:4px;--r-lg:6px;--r-xl:8px;--r-xxl:12px;--r-full:9999px;--e1:#0000000a 0 1px 2px 0;--e2:#00000014 0 4px 6px 0;--e4:#24242414 0 12px 16px -4px;color:var(--ink);background:var(--surface-soft);-webkit-font-smoothing:antialiased;font-family:"Source Sans 3",Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5}*{box-sizing:border-box}body{background:var(--surface-soft);margin:0}img{display:block}a{color:inherit}code,.mono{font-family:Ubuntu Mono,ui-monospace,Menlo,monospace;font-size:13.5px}code{background:var(--surface);border-radius:var(--r-xs);padding:1px 6px}.t-heading-md{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:600;line-height:1.25}.t-heading-sm{margin:0;font-size:20px;font-weight:600;line-height:1.3}.t-card-title{margin:0;font-size:16px;font-weight:600;line-height:1.4}.t-subtitle{color:var(--steel);margin:0;font-size:16px;font-weight:500}.t-caption{color:var(--steel);font-size:13px;line-height:1.6}.t-micro{color:var(--steel);font-size:12px}.t-strong{font-weight:600}.t-num{font-variant-numeric:tabular-nums}.muted{color:var(--steel)}.danger-text{color:var(--danger-text)}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#c9ccd3;background:#111114;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:#fff;align-items:center;gap:10px;min-width:0;padding:4px 10px 22px;display:flex}.sidebar-brand b{letter-spacing:-.2px;color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:15px;display:block;overflow:hidden}.sidebar-brand div>span{color:#8b909a;font-size:11.5px;line-height:1.2;display:block}.logo-mark{background:var(--brand-blue-deep);color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.nav-group{letter-spacing:.4px;text-transform:uppercase;color:#6d727c;padding:16px 12px 6px;font-size:11.5px;font-weight:600}.nav-item{border-radius:var(--r-md);color:#c9ccd3;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.nav-item svg{color:#8b909a;flex-shrink:0}.nav-item:hover{background:#ffffff0f}.nav-item.active{color:#fff;background:#ffffff1a}.nav-item.active svg{color:#fff}.sidebar-foot{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:14px 10px 4px;display:flex}.sidebar-foot .t-micro{color:#8b909a}.sidebar-lang{color:#c9ccd3;font:inherit;border-radius:var(--r-full);cursor:pointer;background:#ffffff0f;border:0;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.sidebar-lang:hover{color:#fff;background:#ffffff1f}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;background:var(--canvas);border-bottom:1px solid var(--hairline);align-items:center;gap:16px;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-title{min-width:0}.crumbs{color:var(--steel);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.page-title{letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;font-weight:600;overflow:hidden}.topbar .nav-toggle{display:none}.content{width:100%;max-width:1320px;padding:24px 32px 64px}.page-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.page-head .t-heading-md{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page-head .t-subtitle{margin-top:0;font-size:14.5px;font-weight:400}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{white-space:nowrap;font:inherit;border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.btn-sm{padding:5px 12px;font-size:13.5px}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:active{background:var(--charcoal)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-tertiary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}.btn-tertiary:hover{border-color:var(--stone)}.btn-danger{background:var(--canvas);color:var(--danger-text);border-color:#f1c7c7}.btn-danger:hover{border-color:var(--danger)}.btn:disabled{background:var(--hairline);color:var(--muted);cursor:not-allowed;border-color:#0000}.btn-link{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-weight:500;text-decoration:none;display:inline-flex}.btn-link:hover{text-decoration:underline}.btn-link:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.btn-link.danger{color:var(--danger-text)}.btn-link.muted{color:var(--steel)}.icon-btn{border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--canvas);cursor:pointer;width:32px;height:32px;color:var(--ink);flex:none;place-items:center;display:grid}.icon-btn:hover{border-color:var(--stone)}.card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:24px;box-shadow:0 1px 2px #16161a0a}.card-tight{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-head .t-caption{margin-top:2px}.card-tight>.card-head{border-bottom:1px solid var(--hairline-soft);margin-bottom:0;padding:14px 20px}.card-tight>.card-head .select{width:auto;min-width:160px;height:34px}.card-feature{background:var(--surface);border-radius:var(--r-xl);padding:24px}.stack{gap:20px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3-1{grid-template-columns:2fr 1fr;gap:20px;display:grid}.kpis{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden;box-shadow:0 1px 2px #16161a0a}.kpis-2{grid-template-columns:repeat(2,1fr)}.kpis-3{grid-template-columns:repeat(3,1fr)}.kpi{border-right:1px solid var(--hairline-soft);color:inherit;min-width:0;padding:20px 24px;text-decoration:none}.kpi:last-child{border-right:0}a.kpi:hover{background:var(--surface-soft)}.kpi-label{color:var(--steel);align-items:center;gap:6px;font-size:13px;display:flex}.kpi-value{letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;font-weight:600;line-height:1.2}.kpi-value.muted{color:var(--muted)}.kpi-foot{color:var(--steel);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12.5px;display:flex}.delta{font-weight:600}.delta.up{color:var(--success-text)}.delta.down{color:var(--danger-text)}.tool-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.badge{border-radius:var(--r-full);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-info{background:var(--brand-blue-200);color:var(--brand-blue-deep)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-neutral{background:var(--surface);color:var(--slate)}.badge-dark{background:var(--primary);color:#fff}.badge-glass{color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--e1);background:#ffffffdb}.badge-glass:before{display:none}.pill-tabs{flex-wrap:wrap;gap:6px;display:inline-flex}.pill-tab{font:inherit;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--canvas);color:var(--slate);cursor:pointer;align-items:center;gap:6px;padding:5px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.pill-tab:hover{border-color:var(--stone)}.pill-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pill-tab .n{opacity:.7;font-variant-numeric:tabular-nums;font-size:11.5px}.pill-tab.off{color:var(--stone)}.pill-tab.active.off{color:#c9ccd3}.pill-tab.add{color:var(--steel);border-style:dashed}.seg-tabs{border-bottom:1px solid var(--hairline-soft);scrollbar-width:none;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.seg-tab{font:inherit;color:var(--steel);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:14px;display:inline-flex}.seg-tab:hover{color:var(--ink)}.seg-tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.field{align-content:start;gap:6px;min-width:0;display:grid}.field>span{color:var(--charcoal);font-size:13px;font-weight:500}.field small{color:var(--steel);font-size:12.5px}.input,.select,.textarea{font:inherit;color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);outline:none;width:100%;height:38px;padding:0 12px;font-size:14px}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-soft);color:var(--slate)}.textarea{resize:vertical;height:auto;padding:10px 12px;line-height:1.55}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c8594' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-blue-deep);box-shadow:0 0 0 1px var(--brand-blue-deep)}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filters .select,.filters .input{width:auto;min-width:160px;height:36px}.form-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-row>.input,.form-row>.select{flex:1;min-width:0}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.form-actions .spacer{flex-wrap:wrap;gap:14px;margin-right:auto;display:flex}.switch{border-radius:var(--r-full);background:var(--hairline);cursor:pointer;border:0;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";width:16px;height:16px;box-shadow:var(--e1);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.on{background:var(--primary)}.switch.on:after{transform:translate(16px)}.switch:disabled{opacity:.5;cursor:not-allowed}.form-grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{background:var(--surface-soft);color:var(--steel);text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:10px 16px;font-size:13px;font-weight:600}.table td{border-bottom:1px solid var(--hairline-soft);vertical-align:middle;padding:11px 16px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--surface-soft)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .actions{text-align:right;white-space:nowrap}.table tr.clickable{cursor:pointer}.table tr.dim td{opacity:.55}.table tr.dim td.actions{opacity:1}.table-scroll{overflow-x:auto}.cell-main{font-weight:500}.cell-sub{color:var(--steel);font-size:12.5px}.cell-clip{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.table-foot{border-top:1px solid var(--hairline-soft);color:var(--steel);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.run-log{background:var(--primary);color:#d7dbe2;border-radius:var(--r-lg);white-space:pre-wrap;word-break:break-all;max-height:320px;padding:12px 14px;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.7;overflow:auto}.empty{text-align:center;color:var(--steel);padding:48px 16px}.empty b{color:var(--ink);margin-bottom:4px;font-size:15px;display:block}.loading-line{color:var(--steel);align-items:center;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.spinner{border:2px solid var(--hairline);border-top-color:var(--ink);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{border-radius:var(--r-xl);background:var(--surface);align-items:flex-start;gap:12px;padding:14px 16px;font-size:13.5px;display:flex}.notice svg{color:var(--steel);flex:none;margin-top:2px}.notice.warn{background:var(--warning-bg);color:var(--warning-text)}.notice.warn svg{color:var(--warning-text)}.notice.bad{background:var(--danger-bg);color:var(--danger-text)}.notice.bad svg{color:var(--danger-text)}.divider{background:var(--hairline-soft);height:1px;margin:18px 0}.kv{grid-template-columns:140px 1fr;gap:10px 16px;margin:0;font-size:13.5px;display:grid}.kv dt{color:var(--steel)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.kv.wrap .mono-copy .mono{white-space:normal;overflow-wrap:anywhere}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:grid}.user-cell{align-items:center;gap:10px;display:flex}.toast{background:var(--primary);color:#fff;border-radius:var(--r-full);box-shadow:var(--e4);z-index:60;max-width:calc(100vw - 32px);padding:10px 18px;font-size:13.5px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:40;background:#0a0a0a66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--canvas);border-radius:var(--r-xxl);box-shadow:var(--e4);width:min(560px,100%);max-height:90vh;padding:28px;overflow:auto}.modal-lg{width:min(880px,100%)}.progress{background:var(--surface);border-radius:var(--r-full);height:6px;overflow:hidden}.progress>div{background:var(--primary);border-radius:var(--r-full);height:100%}.mono-copy{align-items:center;gap:4px;max-width:100%;display:inline-flex}.mono-copy .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.copy-btn{color:var(--muted);cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.copy-btn:hover,.copy-btn:focus-visible{opacity:1;background:var(--surface-soft)}.app-picker{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.app-picker .select{width:auto;max-width:240px;height:36px}.app-picker+.user-menu{margin-left:0}.user-menu{flex:none;margin-left:auto;position:relative}.user-trigger{border:1px solid var(--hairline);background:var(--canvas);border-radius:var(--r-full);cursor:pointer;font:inherit;color:inherit;align-items:center;gap:10px;padding:4px 14px 4px 4px;display:flex}.user-trigger:hover{border-color:var(--stone)}.user-trigger-text{text-align:left;line-height:1.2;display:grid}.user-trigger-text b{font-size:13.5px}.user-trigger-text span{color:var(--steel);font-size:12px}.menu{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-xl);width:260px;box-shadow:var(--e4);z-index:30;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.menu-head{border-bottom:1px solid var(--hairline-soft);overflow-wrap:anywhere;gap:6px;margin-bottom:6px;padding:10px 10px 12px;font-size:13.5px;display:grid}.menu-head .badge{justify-self:start}.menu-item{border-radius:var(--r-md);width:100%;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;display:flex}.menu-item:hover{background:var(--surface)}.menu-item.danger{color:var(--danger-text)}.login-wrap{background:var(--canvas);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--primary);color:#fff;isolation:isolate;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-art:after{content:"";z-index:-1;background:radial-gradient(70% 60% at 100% 0,#ffffff14,#0000 60%),radial-gradient(60% 50% at 0 100%,#ffffff0d,#0000 60%);position:absolute;inset:0}.login-art .sidebar-brand{padding:0}.login-art h1{letter-spacing:-1.5px;max-width:520px;margin:0;font-size:56px;font-weight:600;line-height:1.1}.login-art p{color:#ffffffb3;max-width:440px;font-size:16px}.login-points{color:#ffffffc7;gap:10px;margin:28px 0 0;padding:0;font-size:14.5px;list-style:none;display:grid}.login-points li{align-items:center;gap:10px;display:flex}.login-points svg{color:#6fd39b;flex:none}.login-form{place-items:center;padding:48px;display:grid}.login-form form{gap:18px;width:min(380px,100%);display:grid}.login-form .login-mobile-brand{display:none}.center-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.nav-backdrop{display:none}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,1fr)}.kpis .kpi{border-bottom:1px solid var(--hairline-soft)}.kpis .kpi:nth-child(2n){border-right:0}.grid-2,.grid-3-1,.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-form .login-mobile-brand{align-items:center;gap:10px;display:flex}.form-grid-3{grid-template-columns:1fr 1fr}}@media (width<=800px){.app{grid-template-columns:1fr}.sidebar{z-index:50;width:272px;height:auto;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app.nav-open .sidebar{box-shadow:var(--e4);transform:none}.app.nav-open .nav-backdrop{z-index:45;background:#0a0a0a66;display:block;position:fixed;inset:0}.topbar .nav-toggle{display:grid}.content,.topbar{padding-left:16px;padding-right:16px}.topbar{gap:12px;height:64px}.page-title{font-size:18px}.user-trigger{padding:3px}.app-picker .t-caption{display:none}.app-picker .select{max-width:150px}.user-trigger-text{display:none}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-actions{justify-content:flex-start}.card{padding:18px}.card-tight{padding:0}.card-head{flex-wrap:wrap}.kv{grid-template-columns:110px 1fr}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.filters .select,.filters .input{flex:140px;min-width:0}.modal-backdrop{padding:12px}.modal{padding:20px}.login-form{padding:24px 16px}.kpi{padding:16px}.kpi-value{font-size:24px}}.stack>.page-head{margin-bottom:0}
