:root{--bg:#f4f6fb;--bg-grad:radial-gradient(1200px 600px at 100% -10%, #e6edff 0%, transparent 55%), radial-gradient(900px 500px at -10% 0%, #e8f7f4 0%, transparent 45%);--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--ink:#0f172a;--ink-2:#334155;--muted:#64748b;--line:#e6e9f0;--line-strong:#d6dbe6;--brand:#4f46e5;--brand-2:#6366f1;--brand-soft:#eef2ff;--accent:#0ea5e9;--ok:#16a34a;--ok-soft:#e7f8ee;--warn:#d97706;--warn-soft:#fef3c7;--crit:#dc2626;--crit-soft:#fee2e2;--info:#0369a1;--info-soft:#e0f2fe;--shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a0a;--shadow:0 6px 24px #0f172a12;--shadow-lg:0 24px 60px #1e296329;--radius:16px;--radius-sm:10px;--radius-lg:22px;--r-pill:999px;--sidebar:252px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,sans-serif}[data-theme=dark]{--bg:#0b1020;--bg-grad:radial-gradient(1200px 600px at 100% -10%, #1b2550 0%, transparent 55%), radial-gradient(900px 500px at -10% 0%, #0f2b33 0%, transparent 45%);--surface:#121a2e;--surface-2:#161f36;--surface-3:#1b2740;--ink:#eef2fb;--ink-2:#c4cee0;--muted:#8c9ab8;--line:#243049;--line-strong:#2e3c5a;--brand:#818cf8;--brand-2:#a5b4fc;--brand-soft:#1e2647;--accent:#38bdf8;--ok:#4ade80;--ok-soft:#10331f;--warn:#fbbf24;--warn-soft:#3a2c08;--crit:#f87171;--crit-soft:#3a1414;--info:#7dd3fc;--info-soft:#0c2c40;--shadow-sm:0 1px 2px #0000004d;--shadow:0 8px 30px #00000059;--shadow-lg:0 30px 70px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{min-width:320px;color:var(--ink);background:var(--bg-grad), var(--bg);-webkit-font-smoothing:antialiased;font-synthesis:none;background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:color-mix(in srgb, var(--brand) 30%, transparent)}h1,h2,h3,h4{margin:0;line-height:1.2}p{margin:0}code,.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:2px solid #0000;border-radius:999px}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-lg);padding:36px}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.brand-logo{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg, var(--brand), var(--accent));width:44px;height:44px;box-shadow:0 10px 24px color-mix(in srgb, var(--brand) 40%, transparent);border-radius:13px;place-items:center;font-weight:800;display:grid}.auth h1{font-size:22px}.auth .sub{color:var(--muted);margin-top:18px;line-height:1.6}.field{gap:7px;margin-top:16px;display:grid}.field label{color:var(--ink-2);font-size:13px;font-weight:600}.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);outline:none;height:44px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}.btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,transform 50ms,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;box-shadow:0 8px 18px color-mix(in srgb, var(--brand) 32%, transparent);border-color:#0000}.btn--primary:hover{filter:brightness(1.05);background:linear-gradient(135deg, var(--brand), var(--brand-2))}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-3)}.btn--sm{border-radius:var(--r-pill);height:30px;padding:0 10px;font-size:12.5px}.btn--block{width:100%}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{background:color-mix(in srgb, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--line);flex-direction:column;gap:6px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:11px;padding:8px 8px 14px;display:flex}.sidebar .brand b{font-size:15px;display:block}.sidebar .brand small{color:var(--muted);font-size:12px}.nav-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 10px 6px;font-size:11px;font-weight:700}.nav-item{color:var(--ink-2);border-radius:11px;align-items:center;gap:11px;padding:9px 11px;font-size:14px;font-weight:500;transition:background .14s,color .14s;display:flex}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:650}.nav-item .ico{opacity:.85;flex:none;width:18px;height:18px}.nav-item.active .ico{opacity:1}.sidebar .spacer{flex:1}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar .crumbs{flex-direction:column;display:flex}.topbar .crumbs .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.topbar h1{font-size:19px}.topbar .grow{flex:1}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:11px;place-items:center;width:38px;height:38px;transition:background .14s;display:grid}.icon-btn:hover{background:var(--surface-3)}.userchip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);align-items:center;gap:10px;padding:6px 8px 6px 12px;display:flex}.userchip .avatar{color:#fff;background:linear-gradient(135deg, var(--brand), var(--accent));border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.userchip small{color:var(--muted);font-size:11px;display:block}.content{flex-direction:column;gap:18px;padding:22px 28px 48px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card.pad{padding:20px}.card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.card-head h2{font-size:16px}.card-head p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.grid{gap:16px;display:grid}.cols-2{grid-template-columns:1.15fr .85fr}.cols-3{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;position:relative;overflow:hidden}.metric .k{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.metric .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:28px;font-weight:750}.metric .h{color:var(--muted);margin-top:4px;font-size:12px}.metric .spark{opacity:.5;position:absolute;bottom:0;right:0}.trend-up{color:var(--ok)}.trend-down{color:var(--crit)}.pill{border-radius:var(--r-pill);background:var(--surface-3);height:22px;color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:650;display:inline-flex}.pill.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill--active,.pill--public,.pill--passed,.pill--healthy,.pill--ok{background:var(--ok-soft);color:var(--ok)}.pill--draft,.pill--internal,.pill--info{background:var(--info-soft);color:var(--info)}.pill--deprecated,.pill--forbidden,.pill--blocked,.pill--critical{background:var(--crit-soft);color:var(--crit)}.pill--sensitive,.pill--warning{background:var(--warn-soft);color:var(--warn)}.tag{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:7px;align-items:center;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:inline-flex}.tbl-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .strong{font-weight:600}.tbl .sub{color:var(--muted);margin-top:2px;font-size:12px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.chart svg{width:100%;height:auto;display:block;overflow:visible}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.funnel{gap:10px;display:grid}.funnel-step{gap:7px;display:grid}.funnel-step .lbl{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.funnel-step .lbl b{font-weight:600}.funnel-step .lbl .num{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.funnel-bar{background:var(--surface-3);border-radius:9px;height:30px;position:relative;overflow:hidden}.funnel-bar>i{background:linear-gradient(90deg, var(--brand), var(--accent));border-radius:9px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);display:block}.funnel-bar>span{color:var(--ink);font-size:12px;font-weight:700;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.barlist{gap:11px;display:grid}.barlist .row{grid-template-columns:1fr auto;gap:6px;display:grid}.barlist .top{justify-content:space-between;gap:10px;font-size:13px;display:flex}.barlist .track{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.barlist .track>i{background:linear-gradient(90deg, var(--brand-2), var(--accent));border-radius:999px;height:100%;display:block}.segmented{background:var(--surface-3);border-radius:var(--r-pill);border:1px solid var(--line);gap:3px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r-pill);color:var(--muted);background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:600;transition:all .14s}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.banner{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:500;display:flex}.banner--ok{background:var(--ok-soft);color:var(--ok)}.banner--err{background:var(--crit-soft);color:var(--crit)}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:8px;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{color:var(--muted);text-align:center;place-items:center;gap:8px;padding:40px;display:grid}.spinner{border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-load{min-height:60vh;color:var(--muted);place-items:center;gap:12px;display:grid}.hero{background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 14%, var(--surface)), var(--surface));border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px}.hero h2{font-size:22px}.hero p{color:var(--ink-2);max-width:70ch;margin-top:8px;line-height:1.6}.steps{counter-reset:step;gap:12px;display:grid}.step{grid-template-columns:30px 1fr;align-items:start;gap:12px;display:grid}.step .n{counter-increment:step;background:var(--brand-soft);width:28px;height:28px;color:var(--brand);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.step .n:before{content:counter(step)}.code{color:#e2e8f0;border-radius:var(--radius-sm);background:#0b1220;border:1px solid #1e293b;padding:16px;font-size:13px;line-height:1.65;position:relative;overflow-x:auto}.code .mono{white-space:pre}.copy-btn{color:#cbd5e1;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;height:28px;padding:0 10px;font-size:12px;position:absolute;top:10px;right:10px}.copy-btn:hover{background:#ffffff29}.platform-tabs{flex-wrap:wrap;gap:8px;display:flex}.platform-tab{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:8px 14px;font-size:13px;font-weight:600}.platform-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.errcode{grid-template-columns:minmax(180px,auto) 1fr;gap:8px 16px;font-size:13px;display:grid}.errcode dt{color:var(--crit);font-family:JetBrains Mono,ui-monospace,monospace}.errcode dd{color:var(--ink-2);margin:0}@media (width<=1100px){.cols-2,.cols-3{grid-template-columns:1fr}}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{z-index:60;width:80%;max-width:300px;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{z-index:50;background:#02061780;position:fixed;inset:0}.topbar{padding:12px 16px}.content{padding:16px}}.menu-btn{display:none}@media (width<=860px){.menu-btn{display:grid}}
