:root{--bg:#f1f1ee;--bg2:#e6e6e1;--surface:#fff;--surface-2:#f7f7f4;--glass:#ffffffdb;--ink:#15171a;--ink-2:#33383e;--muted:#555c64;--line:#d6d7d1;--accent:#3f5d78;--accent-ink:#fff;--accent-soft:#e3ebf2;--accent-text:#2e4a63;--cyan:#0b6e86;--cyan-soft:#d9f0f5;--green:#137a4a;--green-soft:#d8f1e3;--amber:#9a5b00;--amber-soft:#fbeccb;--violet:#5b3fb3;--violet-soft:#e7e0fa;--red:#c4262f;--red-soft:#fde1e3;--pink:#2e4a63;--pink-soft:#e3ebf2;--c1:#3f5d78;--c2:#2f6fd0;--c3:#c98200;--c4:#0f8f82;--c5:#7a55d6;--c6:#d2662a;--c7:#4a5560;--c8:#91a31f;--sb-bg:#111315;--sb-ink:#d3d7dc;--sb-muted:#98a0a8;--sb-line:#ffffff17;--sb-hover:#ffffff12;--shadow:0 1px 0 #14161a0a, 0 6px 20px #14161a0f;--shadow-lg:0 24px 60px #0a0c0f47;--r:10px;--sidebar:252px;--ease:cubic-bezier(.2,.8,.2,1);--dots:#282c3212;--wire:#282c3238;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d0f11;--bg2:#181b1f;--surface:#14171a;--surface-2:#191d21;--glass:#14171adb;--ink:#e9ebed;--ink-2:#c9ced3;--muted:#9ba3ab;--line:#2a2f34;--accent:#8db2d2;--accent-ink:#0c1620;--accent-soft:#1d2b38;--accent-text:#a9c8e3;--cyan:#52c7e0;--cyan-soft:#0f3340;--green:#4ccf8a;--green-soft:#103324;--amber:#f2b13c;--amber-soft:#3a2d12;--violet:#b4a0ff;--violet-soft:#2a2250;--red:#ff7b84;--red-soft:#3d1b22;--pink:#a9c8e3;--pink-soft:#1d2b38;--c1:#8db2d2;--c2:#6aa2ff;--c3:#f2b13c;--c4:#3fd0bf;--c5:#a68bff;--c6:#ff9254;--c7:#9aa6b2;--c8:#c4d84a;--sb-bg:#090a0c;--sb-line:#ffffff12;--shadow:0 1px 0 #0006, 0 8px 26px #00000059;--shadow-lg:0 24px 60px #000000a6;--dots:#ffffff0b;--wire:#fff3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45;overflow-x:clip}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.2}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.muted{color:var(--muted)}.small{font-size:12px}.bold{font-weight:700}.right{text-align:right}.center{text-align:center}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:10px;display:flex}.grow{flex:1;min-width:0}.show-sm{display:none!important}.clamp1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100%;transition:grid-template-columns .4s var(--ease);display:grid;position:relative}.app.collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{z-index:5;background:var(--sb-bg);height:100vh;color:var(--sb-ink);flex-direction:column;gap:6px;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 38px,#ffffff06 38px 39px),repeating-linear-gradient(0deg,#0000 0 38px,#ffffff06 38px 39px);position:absolute;inset:0}.sidebar>*{position:relative}.brand{align-items:center;gap:10px;padding:6px 8px 14px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #2e4a63);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 6px 18px #3f5d7859}.brand-txt{flex-direction:column;min-width:0;display:flex}.brand-txt b{color:#fff;font-size:16px}.brand-txt small{color:var(--sb-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;padding-right:2px;display:flex;position:relative;overflow-y:auto}.nav-pill{pointer-events:none;z-index:0;background:linear-gradient(90deg,#3f5d7847,#3f5d7847);border-radius:12px;height:40px;position:absolute;top:0;left:0;right:2px}.nav a{z-index:1;min-height:40px;color:var(--sb-ink);border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:600;display:flex;position:relative}.nav a.active{color:#fff}.nav-sec-btn{letter-spacing:.08em;text-transform:uppercase;min-height:36px;color:var(--sb-muted);text-align:left;z-index:1;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-top:8px;padding:0 12px;font-size:12px;font-weight:800;display:flex;position:relative}.nav-sec-btn .chev{transition:transform .25s var(--ease)}.nav-sec-btn[aria-expanded=false] .chev{transform:rotate(-90deg)}.nav a[data-shut="1"]{display:none}.nav-tools{z-index:1;gap:6px;padding:2px 4px 6px;display:flex;position:relative}.nav-tools button{color:var(--sb-muted);border-radius:8px;min-height:40px;padding:6px 8px;font-size:12px;font-weight:700}@media (hover:hover){.nav a:hover{background:var(--sb-hover)}.nav a.active:hover{background:0 0}.nav-tools button:hover{background:var(--sb-hover);color:#fff}}.cnt{background:var(--accent);min-width:22px;height:20px;color:var(--accent-ink);border-radius:99px;place-items:center;margin-left:auto;padding:0 7px;font-size:12px;font-weight:800;display:grid}.side-foot{border-top:1px solid var(--sb-line);flex-direction:column;gap:4px;padding-top:10px;display:flex}.side-foot .btn{color:var(--sb-ink)}.app.collapsed .sidebar:not(.as-drawer) .lbl,.app.collapsed .sidebar:not(.as-drawer) .brand-txt,.app.collapsed .sidebar:not(.as-drawer) .nav-sec-btn,.app.collapsed .sidebar:not(.as-drawer) .nav-tools,.app.collapsed .sidebar:not(.as-drawer) .hide-collapsed,.app.collapsed .sidebar:not(.as-drawer) .cnt{display:none}.app.collapsed .sidebar:not(.as-drawer) .nav a[data-shut]{display:flex}.app.collapsed .sidebar:not(.as-drawer) .nav a{justify-content:center;padding:0}.main{background-image:radial-gradient(var(--dots) 1px, transparent 1.2px);background-size:22px 22px;min-width:0;padding-bottom:28px;position:relative}.demo-banner{background:var(--accent-soft);color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 20px;font-size:12px;display:flex}.demo-banner svg{color:var(--accent-text);flex:none}.topbar{z-index:10;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 24px;display:flex;position:sticky;top:0}.search{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:460px;min-height:44px;color:var(--muted);border-radius:14px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex;overflow:hidden}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.kbd{border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:7px;padding:2px 7px;font-family:ui-monospace,monospace;font-size:12px}.icon-btn{width:44px;height:44px;color:var(--ink-2);border-radius:14px;flex:none;place-items:center;display:grid;position:relative}@media (hover:hover){.icon-btn:hover{background:var(--bg2)}}.icon-btn .dot{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;right:10px}.avatar{background:linear-gradient(135deg, var(--accent), #2e4a63);width:44px;height:44px;color:var(--accent-ink);border-radius:13px;flex:none;place-items:center;font-weight:800;display:grid}:root:not([data-theme=dark]) .avatar{color:#fff}.menu-btn{display:none}.page{max-width:1480px;margin:0 auto;padding:26px 28px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{align-items:center;gap:12px;font-size:27px;display:flex}.page-head h1 .ph-ic{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:13px;flex:none;place-items:center;display:grid}.page-head p{color:var(--muted);max-width:64ch;margin-top:4px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:18px;position:relative}.card.tight{padding:12px}.card.pad0{padding:0;overflow:hidden}.card h3{font-size:16px}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-h h3{align-items:center;gap:8px;display:flex}.card-h h3 svg{color:var(--accent-text)}.g2,.g3,.g4{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;display:grid}.g-main>*,.g2>*,.g3>*,.g4>*{min-width:0}.stack{flex-direction:column;gap:16px;display:flex}.kpi{flex-direction:column;gap:6px;display:flex;overflow:hidden}.kpi .k-ic{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:12px;place-items:center;display:grid}.kpi .k-v{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.1}.kpi .k-l{color:var(--muted);font-size:13px;font-weight:600}.delta{border-radius:99px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.delta.up{background:var(--green-soft)}.delta.down{background:var(--red-soft)}.spark{display:block}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;transition:transform .15s var(--ease), background .2s, box-shadow .2s;white-space:nowrap;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)}@media (hover:hover){.btn:hover{background:var(--bg2)}.btn.primary:hover{filter:brightness(1.1);background:var(--accent)}}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 35%, transparent);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.lg{min-height:52px;font-size:15px}.btn.sm{min-height:40px;padding:0 12px;font-size:13px}.btn[disabled]{opacity:.5;cursor:not-allowed}@media (pointer:coarse){.btn.sm{min-height:44px}}.input,select.input,textarea.input{border:1px solid var(--line);background:var(--surface);border-radius:12px;outline:0;width:100%;min-height:44px;padding:10px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}textarea.input{resize:vertical;min-height:88px;line-height:1.45}textarea.input.mono{font-size:14px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}.input.bad{border-color:var(--red)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label,.lab{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}.hint{color:var(--muted);font-size:12px}.hint.err{color:var(--red);font-weight:600}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);flex:none}input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.switch{background:var(--bg2);border:1px solid var(--line);border-radius:99px;flex:none;width:48px;height:28px;transition:background .25s;position:relative}.switch i{background:var(--ink-2);width:20px;height:20px;transition:transform .3s var(--ease), background .2s;border-radius:50%;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent);border-color:#0000}.switch.on i{background:var(--accent-ink);transform:translate(20px)}.switch:after{content:"";position:absolute;inset:-8px -2px}.seg{background:var(--bg2);scrollbar-width:none;border-radius:14px;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg .thumb{background:var(--surface);width:0;box-shadow:var(--shadow);border-radius:11px;position:absolute;top:4px;bottom:4px;left:0}.seg button{z-index:1;min-height:40px;color:var(--ink-2);white-space:nowrap;border-radius:11px;padding:0 14px;font-weight:700;position:relative}.seg button.on{color:var(--ink)}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs button{min-height:44px;color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:0 16px;font-weight:700}.tabs button.on{color:var(--ink);border-color:var(--accent)}.badge,.chip{background:var(--bg2);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.chip i.d{background:var(--muted);border-radius:50%;width:8px;height:8px}.chip.green i.d{background:var(--green)}.chip.amber i.d{background:var(--amber)}.chip.red i.d{background:var(--red)}.chip.accent i.d{background:var(--accent)}button.chip{border:1px solid var(--line);min-height:40px;padding:0 14px}button.chip.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.tag{background:var(--accent-soft);color:var(--accent-text);border-radius:8px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.bar{background:var(--bg2);border-radius:99px;height:9px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent), #8db2d2);border-radius:99px;width:0;height:100%;display:block}.bar.green i{background:var(--green)}.bar.amber i{background:var(--amber)}.bar.red i{background:var(--red)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.av{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.empty{text-align:center;color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:34px 16px;display:flex}.empty-ic{background:var(--accent-soft);width:60px;height:60px;color:var(--accent-text);border-radius:18px;place-items:center;margin-bottom:6px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:800}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}tbody tr:last-child td{border-bottom:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable button{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;align-items:center;gap:4px;min-height:32px;display:inline-flex}@media (hover:hover){tbody tr.click:hover{background:var(--surface-2);cursor:pointer}}.list-row{text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px;display:flex}@media (hover:hover){.list-row:hover{background:var(--surface-2)}}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters .input{flex:0 200px;width:auto;min-width:140px}.filters .search-f{flex:220px;max-width:360px}.code{color:#e2d5f2;white-space:pre;background:#0d0f11;border-radius:14px;max-height:360px;padding:14px;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto}.code.wrapc{white-space:pre-wrap;overflow-wrap:anywhere}.copyline{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;min-width:0;padding:6px 6px 6px 12px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.copyline span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08090b99;place-items:center;padding:16px;animation:.25s both fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(520px,100%);max-height:92vh;box-shadow:var(--shadow-lg);animation:pop .4s var(--ease) both;border:1px solid var(--line);border-radius:22px;padding:24px;overflow-y:auto}.modal h3{margin-bottom:4px;font-size:19px}.sheet{background:var(--surface);width:100%;padding:18px 16px calc(96px + env(safe-area-inset-bottom));animation:rise .35s var(--ease) both;border-radius:24px 24px 0 0;grid-template-columns:repeat(3,1fr);gap:8px;max-height:80vh;display:grid;overflow-y:auto}.sheet a{background:var(--bg2);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:76px;padding:4px;font-size:12px;font-weight:700;display:flex}.sheet a.active{background:var(--accent);color:var(--accent-ink)}.toasts{z-index:80;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);animation:slidein .45s var(--ease) both;border-radius:14px;align-items:center;gap:10px;max-width:360px;padding:12px 16px;font-weight:600;display:flex}.wipe{z-index:100;pointer-events:none;position:fixed;inset:0}.tour-mask{z-index:90;pointer-events:none;transition:all .45s var(--ease);border-radius:14px;position:fixed;box-shadow:0 0 0 9999px #08090bb3}.tour-tip{z-index:91;background:var(--surface);width:min(330px,100vw - 24px);box-shadow:var(--shadow-lg);border:1px solid var(--line);animation:pop .4s var(--ease) both;border-radius:20px;padding:16px;position:fixed}.tour-tip h4{margin-bottom:4px;font-size:15px}.tour-dots{gap:5px;display:flex}.tour-dots i{background:var(--line);border-radius:99px;width:6px;height:6px}.tour-dots i.on{background:var(--accent);width:18px}.drag-ghost{z-index:200;pointer-events:none;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-lg);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;max-width:240px;padding:8px 12px;font-size:13px;font-weight:700;position:fixed;top:0;left:0;overflow:hidden}body.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.palette-pop{z-index:70;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);width:min(320px,100vw - 24px);max-height:60vh;animation:pop .25s var(--ease) both;border-radius:18px;padding:8px;position:fixed;overflow-y:auto}.bottomnav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:61;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:22px;justify-content:space-around;padding:6px;display:none;position:fixed}.bottomnav a,.bottomnav button{min-width:52px;min-height:48px;color:var(--muted);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 8px;font-size:12px;font-weight:700;display:flex}.bottomnav a.active{color:var(--accent-ink);background:var(--accent)}.scrim{z-index:69;background:#08090b99;animation:.25s both fade;position:fixed;inset:0}.sidebar.as-drawer{z-index:70;width:min(300px,86vw);height:100%;box-shadow:var(--shadow-lg);animation:drawerin .35s var(--ease) both;position:fixed;top:0;bottom:0;left:0}.login{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100%;display:grid}.login-hero{color:#fff;background:radial-gradient(900px 600px at 80% 10%,#1d2b38 0%,#0000 60%),radial-gradient(700px 500px at 0 100%,#2e4a63 0%,#0000 62%),#0d0f11;flex-direction:column;justify-content:space-between;gap:24px;min-height:100vh;padding:38px 46px;display:flex;position:relative;overflow:hidden}.login-hero h1{max-width:15ch;margin-bottom:14px;font-size:clamp(30px,3.6vw,46px)}.login-hero p{opacity:.92;max-width:46ch;font-size:16px}.login-hero .art{opacity:.8;pointer-events:none;width:100%;height:36%;position:absolute;bottom:0;left:0;right:0}.float{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;background:#ffffff24;border:1px solid #ffffff47;border-radius:16px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex;position:absolute}.login-form{background:var(--bg);place-items:center;padding:28px 20px;display:grid}.login-card{flex-direction:column;gap:14px;width:min(430px,100%);display:flex}.login-card h2{font-size:26px}.roles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.role{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;font-size:12px;font-weight:700;display:flex}.role.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.otp{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp input{text-align:center;padding:0}.or{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.floaty{animation:6s ease-in-out infinite floaty}.feed-item{border-bottom:1px solid var(--line);animation:msgin .5s var(--ease) both;align-items:flex-start;gap:10px;padding:9px 0;display:flex}.feed-item:last-child{border:0}.feed-ic{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border-radius:10px;flex:none;place-items:center;display:grid}.feed-ic.green{background:var(--green-soft);color:var(--green)}.feed-ic.red{background:var(--red-soft);color:var(--red)}.feed-ic.amber{background:var(--amber-soft);color:var(--amber)}.hero-card{color:#fff;background:radial-gradient(500px 300px at 100% 0,#3f5d7880,#0000 70%),linear-gradient(135deg,#3f5d78,#1a1d21);border:0;border-radius:24px;padding:24px;position:relative;overflow:hidden}.hero-card h2{max-width:18ch;font-size:24px}.hero-card p{opacity:.94;max-width:44ch;margin-top:6px}.hero-card .hero-art{opacity:.75;pointer-events:none;width:38%;height:100%;position:absolute;bottom:0;right:0}.hero-card .btn{color:#1a1d21;background:#fff;border:0;position:relative}.hero-card>:not(.hero-art){z-index:1;position:relative}.attn{background:var(--surface-2);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-width:0;padding:12px;display:flex}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.tpl-art{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;height:120px;margin-bottom:12px;padding:8px;position:relative;overflow:hidden}.thumb-wire{stroke-dasharray:20 14;animation:1.2s linear infinite dash;stroke:var(--accent)!important}.perm{grid-template-columns:minmax(150px,1.6fr) repeat(5,minmax(60px,1fr));align-items:center;min-width:520px;display:grid}.perm>*{border-bottom:1px solid var(--line);padding:10px 8px}.perm .hd{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;font-size:12px;font-weight:800}.meter-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 12px;display:grid}.tl{padding-left:30px;position:relative}.tl:before{content:"";background:repeating-linear-gradient(var(--wire) 0 6px, transparent 6px 10px);width:2px;position:absolute;top:6px;bottom:6px;left:11px}.tl-item{padding:4px 0 14px;position:relative}.tl-dot{background:var(--surface);border:2px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;left:-30px}.tl-dot.success{border-color:var(--green);color:var(--green)}.tl-dot.failed{border-color:var(--red);color:var(--red)}.tl-dot.waiting,.tl-dot.retried{border-color:var(--amber);color:var(--amber)}.step-btn{text-align:left;border:1px solid #0000;border-radius:12px;width:100%;min-height:44px;padding:8px 10px;display:block}.step-btn.on{background:var(--accent-soft);border-color:var(--accent)}.cell-input{background:0 0;border:1px solid #0000;border-radius:8px;width:100%;min-height:40px;padding:6px 8px;font-size:16px}.cell-input:focus{border-color:var(--accent);background:var(--surface);outline:0}.cronbox{letter-spacing:.04em;text-align:center;font-family:ui-monospace,monospace;font-size:22px}.cron-cell{flex-direction:column;align-items:center;gap:4px;display:flex}.cron-cell small{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.nextrun{background:var(--surface-2);border:1px solid var(--line);animation:msgin .4s var(--ease) both;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.nextrun .n{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.app-tile{flex-direction:column;gap:10px;display:flex}.app-ic{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:13px;flex:none;place-items:center;display:grid}.diff-ok{color:var(--green)}.diff-bad{color:var(--red)}.sim-badge{background:var(--pink-soft);color:var(--ink);border:1px dashed var(--pink);border-radius:99px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-flex}.sim-badge svg{color:var(--pink)}.map-row{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 70px auto;align-items:center;gap:8px;padding:10px;display:grid}.circuit-bg{pointer-events:none;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes slidein{0%{opacity:0;transform:translate(30px)}}@keyframes drawerin{0%{transform:translate(-100%)}}@keyframes msgin{0%{opacity:0;transform:translateY(8px)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes dash{to{stroke-dashoffset:-24px}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.check{width:84px;height:84px}.check circle{fill:none;stroke:var(--green);stroke-width:4px;stroke-dasharray:240;stroke-dashoffset:240px;animation:.7s .1s forwards draw}.check path{fill:none;stroke:var(--green);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60px;animation:.5s .6s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}@media (width<=1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1fr)}.login{grid-template-columns:1fr}.login-hero{min-height:0;padding:28px 24px 36px}.login-hero .art,.login-hero .float{display:none}}@media (width>=721px) and (width<=1100px){.app{grid-template-columns:76px minmax(0,1fr)!important}.sidebar:not(.as-drawer) .lbl,.sidebar:not(.as-drawer) .brand-txt,.sidebar:not(.as-drawer) .nav-sec-btn,.sidebar:not(.as-drawer) .nav-tools,.sidebar:not(.as-drawer) .hide-collapsed,.sidebar:not(.as-drawer) .cnt{display:none}.sidebar:not(.as-drawer) .nav a[data-shut]{display:flex}.sidebar:not(.as-drawer) .nav a{justify-content:center;padding:0}.sidebar:not(.as-drawer) .brand{justify-content:center;padding:6px 0 14px}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:22px 20px 36px}.topbar{padding:10px 16px}.map-row{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 60px auto}}@media (width<=720px){.app,.app.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar:not(.as-drawer){display:none}.bottomnav{display:flex}.hide-sm{display:none!important}.show-sm{display:inline-flex!important}.menu-btn{display:grid}.page{padding:16px 14px 120px}.topbar{gap:6px;padding:8px 12px}.search{max-width:none}.demo-banner{padding:8px 14px}.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.g4.keep2{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head h1{font-size:22px}.kpi .k-v{font-size:25px}.page-head p:not(.keep){display:none}.toasts{bottom:96px;left:12px;right:12px}.toast{max-width:none}.roles{grid-template-columns:repeat(2,1fr)}.hero-card .hero-art{opacity:.35}.modal{padding:18px}.perm{min-width:460px}.map-row{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.map-row>:nth-child(n+4){grid-column:1/-1}.filters .input{flex:140px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse),(width<=1100px){.btn.sm,.seg button,button.chip,.nav-tools button,.demo-banner button{min-height:44px}.pal-btn{min-height:48px}}.nx{width:40px;height:40px;margin-left:auto}@media (pointer:coarse){.nx{width:44px;height:44px}}.panel-btn{display:none}@media (width<=1360px){.panel-btn{display:inline-flex}}@media (prefers-reduced-motion:reduce){.pulse.amb{display:none}}.canvas button.btn:disabled{opacity:.45}.cv-top .btn,.cv-tools .btn{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.g5>*{min-width:0}@media (width<=1100px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g5 .k-v{font-size:22px}}:root[data-still="1"] *,:root[data-still="1"] :before,:root[data-still="1"] :after{transition:none!important;animation:none!important}:root[data-still="1"] .pulse.amb{display:none}.page-head.compact{margin-bottom:10px}@media (width<=720px){.cv-top .panel-btn{display:none}.page-head.compact h1{font-size:20px}}.fcc-tip{pointer-events:none;z-index:3;width:176px;box-shadow:var(--shadow-lg);padding:8px 12px;position:absolute}.fcc-tip .dotk{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.k-ic.cyan{background:var(--cyan-soft);color:var(--cyan)}.k-ic.violet{background:var(--violet-soft);color:var(--violet)}.card.click{cursor:pointer;width:100%}@media (hover:hover){.card.click:hover{border-color:var(--accent);transform:translateY(-2px)}}.card.click{transition:transform .2s var(--ease), border-color .2s}.barrow{grid-template-columns:minmax(70px,38%) minmax(0,1fr) auto;align-items:center;gap:10px;min-height:32px;display:grid}.barwrap{min-width:0}.dcard{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;min-width:0;padding:12px}.dcard.click{cursor:pointer}.dcard-t{min-width:0;margin-bottom:8px;font-weight:800}.dcard-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.dcard-c{overflow-wrap:anywhere;flex-direction:column;gap:1px;min-width:0;display:flex}table.dense td{padding:7px 10px}td .tag,td .chip{vertical-align:middle}.drawer-ov{place-items:stretch end;padding:0}.drawer{background:var(--surface);border-left:1px solid var(--line);width:min(560px,100%);height:100%;animation:slidein .4s var(--ease) both;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.drawer-h{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.drawer-h h3{font-size:18px}.drawer-b{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px;display:flex;overflow-y:auto}.dragbar{background:var(--bg2);cursor:ew-resize;outline-offset:3px;border-radius:12px;flex:1;min-width:120px;height:44px;position:relative}.dragbar:before{content:"";background:var(--line);border-radius:99px;height:6px;position:absolute;top:19px;left:0;right:0}.dragbar i{background:var(--accent);border-radius:99px;height:6px;position:absolute;top:19px;left:0}.dragbar b{background:var(--surface);border:4px solid var(--accent);width:22px;height:22px;box-shadow:var(--shadow);border-radius:50%;position:absolute;top:11px}.dragbar.warn i{background:var(--amber)}.dragbar.warn b{border-color:var(--amber)}.k-ic{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:12px;place-items:center;display:grid}.heat{gap:3px;display:grid}.heat-c{color:#0c1620;border-radius:6px;place-items:center;min-height:34px;font-size:12px;font-weight:700;display:grid}.heat-h{color:var(--muted);text-align:center;align-self:center;font-size:12px;font-weight:800}.scroll-x{padding-bottom:6px;overflow-x:auto}.scroll-x::-webkit-scrollbar{height:6px}.scroll-x::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.paper{color:#15171a;box-shadow:var(--shadow-lg);background:#fff;border:1px solid #d9d2e7;border-radius:10px;max-width:820px;margin:0 auto;padding:34px 38px;font-size:14px}.paper h3{border-bottom:2px solid #3f5d78;margin:18px 0 6px;padding-bottom:3px;font-size:15px}.paper table th{color:#574963;border-color:#d9d2e7}.paper td{border-color:#d9d2e7}@media (width<=720px){.paper{padding:20px 16px}}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill-row .chip{cursor:default}.notice.bad svg{color:var(--red)}.chat{flex-direction:column;gap:12px;display:flex}.bubble{max-width:92%;animation:msgin .4s var(--ease) both;border-radius:16px;padding:10px 14px}.bubble.me{background:var(--accent);color:var(--accent-ink);align-self:flex-end}.bubble.ai{background:var(--surface-2);border:1px solid var(--line);align-self:flex-start;width:100%;max-width:100%}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;margin-right:4px;animation:1s ease-in-out infinite floaty;display:inline-block}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.store-tile{text-align:left;flex-direction:column;gap:8px;display:flex}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.abc{background:var(--bg2);border-radius:8px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-grid}.abc.B{background:var(--accent-soft);color:var(--accent-text)}.abc.X{background:var(--green-soft);color:var(--green)}.abc.Y{background:var(--amber-soft);color:var(--amber)}.abc.Z{background:var(--red-soft);color:var(--red)}.mini-note{color:var(--muted);font-size:12px}.tabs-sc{margin-bottom:14px}.hero-card .btn.ghostw{color:#fff;background:#ffffff29;border:1px solid #ffffff59}.pulse-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 0 var(--green);border-radius:50%;flex:none;animation:1.8s infinite pulseo}@keyframes pulseo{70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.sticky-sum{z-index:6;position:sticky;top:74px}@media print{.sidebar,.topbar,.bottomnav,.demo-banner,.page-head,.no-print,.toasts{display:none!important}.app{display:block!important}.main{background:0 0!important}.page{padding:0!important}.paper{box-shadow:none;border:0;max-width:none}body{overflow:visible}}@media (width<=720px){.drawer-ov{place-items:end stretch}.drawer{width:100%;height:94dvh;animation:rise .4s var(--ease) both;border-left:0;border-radius:22px 22px 0 0}.barrow{grid-template-columns:minmax(70px,34%) minmax(0,1fr) auto}.fcc-tip{width:156px}.page-head p:not(.keep){font-size:13px;display:block}}.po-row,.po-head{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) minmax(160px,1.6fr) 180px 110px;align-items:center;gap:14px;padding:10px 4px;display:grid}.po-head{border-top:0;padding:0 4px 6px;font-weight:700}.po-row>*,.min0{min-width:0}.po-qty{justify-content:flex-end;align-items:center;gap:4px;display:flex}@media (width<=1100px){.po-row,.po-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.po-row .dragbar{order:3;grid-column:1/-1}.po-qty{justify-content:flex-start}.po-head{display:none}}@media (width<=720px){.po-row{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr);margin-top:10px;padding:12px}.po-row .dragbar{order:0}}.heat>.small{align-self:center}.dotk{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.hb{flex-direction:column;gap:4px;display:flex}.hb-row{text-align:left;border-radius:8px;grid-template-columns:minmax(70px,34%) minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 4px;font-size:13px;display:grid}button.hb-row{min-height:44px}@media (hover:hover){button.hb-row:hover{background:var(--surface-2)}}.hb-row.on{background:var(--accent-soft)}.hb-l{min-width:0;font-weight:600}.hb-t{background:var(--bg2);border-radius:99px;height:14px;display:block;overflow:hidden}.hb-f{border-radius:99px;height:100%;display:block}.hb-v{text-align:right;white-space:nowrap;font-size:13px}.donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.don-row{text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 6px;font-size:13px;display:flex}.don-row i{border-radius:3px;flex:none;width:12px;height:12px}@media (hover:hover){button.don-row:hover{background:var(--surface-2)}}.kpi-big .k-v{letter-spacing:-.03em;font-size:38px;font-weight:800;line-height:1.1;font-family:var(--mono)}.kpi-multi{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;padding:8px 2px;display:grid}.pop-menu{z-index:30;min-width:210px;max-height:62vh;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.pop-menu.right{left:auto;right:0}.scrim-clear{z-index:29;position:fixed;inset:0}.mi{justify-content:flex-start}.explore{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1100px){.explore{grid-template-columns:minmax(0,1fr)}}.tight2{gap:10px}.builder{gap:12px}.formula{font-family:var(--mono);color:var(--muted);background:var(--bg2);overflow-wrap:anywhere;border-radius:6px;padding:4px 8px;font-size:12px;display:block}code{font-family:var(--mono);font-size:13px}.list-row.card.sel{border-color:var(--accent);background:var(--accent-soft)}:root{--bg:#eceff2;--bg2:#e0e4e8;--surface-2:#f4f6f8;--line:#cfd5db;--ink:#12161b;--muted:#4e5964;--dots:#1e283412;--wire:#1e28344d;--sb-bg:#12161b}:root[data-theme=dark]{--bg:#0b0e11;--bg2:#171c21;--surface:#12161a;--surface-2:#181d22;--line:#29313a;--muted:#9aa5b0;--dots:#ffffff0d;--wire:#ffffff4d;--sb-bg:#080a0d}:root{--r:8px}.card{border-radius:8px}.btn,.input,select.input,textarea.input,.seg,.seg button,.seg .thumb{border-radius:7px}.brand-mark{background:#3f5d78;border-radius:8px;box-shadow:0 6px 18px #3f5d7859}:root[data-theme=dark] .brand-mark{background:#46607a}.nav-pill{background:#ffffff14;border-radius:6px}.nav-pill:before{content:"";background:#8db2d2;border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav a{border-radius:6px}.main{background-image:linear-gradient(var(--dots) 1px, transparent 1px), linear-gradient(90deg, var(--dots) 1px, transparent 1px);background-size:32px 32px}.page-head h1 .ph-ic,.k-ic,.app-ic{border-radius:8px}:root:not([data-theme=dark]) .cnt{color:#2e4a63;background:#fff}.cnt.warn{background:var(--amber);color:#1b1200}.demo-btn{background:var(--amber-soft);border-color:var(--amber)}.danger-fill{background:var(--red)!important;color:#fff!important;box-shadow:none!important}:root[data-theme=dark] .danger-fill{color:#2a070b!important}.login-hero{background:radial-gradient(900px 600px at 85% 0,#8db2d238 0%,#0000 60%),repeating-linear-gradient(90deg,#0000 0 39px,#ffffff09 39px 40px),repeating-linear-gradient(0deg,#0000 0 39px,#ffffff09 39px 40px),#12161b}.login-hero h1{max-width:17ch;font-size:clamp(28px,3vw,40px)}.min0{min-width:0}.show-sm-i{display:none}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}button.chip,.chip.btn-chip{cursor:pointer;border:1px solid var(--line);background:var(--surface);min-height:40px;padding:0 14px;font-weight:600}.chip.btn-chip.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}@media (hover:hover){.chip.btn-chip:hover{border-color:var(--accent)}}.chip.red{background:var(--red-soft)}.chip.amber{background:var(--amber-soft)}.chip.green{background:var(--green-soft)}.chip.accent{background:var(--accent-soft)}.link-btn{color:var(--accent-text);text-align:left;align-items:center;gap:4px;min-width:40px;min-height:40px;font-weight:700;display:inline-flex}.icon-btn.sm{border-radius:7px;width:40px;height:40px}.x-btn{place-items:center;width:40px;height:40px;display:grid}.on-soft{background:var(--accent-soft)!important;border-color:var(--accent)!important}.notice{background:var(--accent-soft);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.notice svg{color:var(--accent-text);flex:none;margin-top:1px}.notice.warn{background:var(--amber-soft)}.notice.warn svg{color:var(--amber)}.notice.bad{background:var(--red-soft)}.copyline{border-radius:7px}.copyline svg{flex:none}.btn.danger{color:var(--red)}.btn.block{width:100%;display:flex}@media (pointer:coarse),(width<=1100px){.btn.sm,.seg button,button.chip,.nav-tools button,.link-btn,.icon-btn.sm,.x-btn{min-height:44px}.icon-btn.sm,.x-btn{min-width:44px}.search input{min-height:44px}}.grip{cursor:grab;touch-action:none;width:40px;height:40px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}@media (pointer:coarse){.grip{width:44px;height:44px}}@media (hover:hover){.grip:hover{background:var(--bg2)}}.scope-tag{font-family:var(--mono)}.tag{border-radius:5px}.tag.t-feat{background:var(--green-soft);color:var(--green)}.tag.t-fix{background:var(--amber-soft);color:var(--amber)}.tag.t-perf{background:var(--accent-soft);color:var(--accent-text)}.tag.t-other,.tag.t-chore,.tag.t-docs,.tag.t-test,.tag.t-style,.tag.t-ci,.tag.t-build,.tag.t-refactor,.tag.t-revert,.tag.t-merge{background:var(--bg2);color:var(--ink-2)}.ver{background:var(--bg2);border-radius:6px;align-items:center;gap:4px;padding:2px 9px;font-size:13px;font-weight:700;display:inline-flex}.ver.bad{background:var(--red-soft);color:var(--red)}.check-row{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;display:flex}.check-row.ok svg{color:var(--green)}.check-row.bad svg{color:var(--red)}.check-row.info svg{color:var(--muted)}.check-row.bad{border-color:var(--red)}.checks{flex-direction:column;gap:3px;margin:6px 0 0 18px;font-size:13px;display:flex}.size{background:var(--bg2);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:800}.size.sz-L{background:var(--amber-soft);color:var(--amber)}.size.sz-XL{background:var(--red-soft);color:var(--red)}.rule-row{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;min-width:0;margin-top:6px;padding:6px 8px;display:flex}.abc{background:var(--bg2);border-radius:6px;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-grid}.abc.A{background:var(--accent);color:var(--accent-ink)}.sel-check{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.k-ic.red{background:var(--red-soft);color:var(--red)}.k-ic.amber{background:var(--amber-soft);color:var(--amber)}.k-ic.green{background:var(--green-soft);color:var(--green)}.card.click{cursor:pointer;text-align:left;width:100%;transition:transform .2s var(--ease), border-color .2s}@media (hover:hover){.card.click:hover{border-color:var(--accent);transform:translateY(-2px)}}.g5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.chart-tip{pointer-events:none;z-index:3;width:140px;box-shadow:var(--shadow-lg);padding:6px 10px;position:absolute}.columns{align-items:flex-end;gap:4px;display:flex}.columns.dense{gap:2px}.colm{background:0 0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;padding:0;display:flex}.col-bar{border-radius:4px 4px 2px 2px;width:100%;display:block}.colm-l{color:var(--muted);white-space:nowrap;text-overflow:clip;max-width:100%;font-size:12px;overflow:hidden}.columns.dense .colm-l{display:none}.upbars{gap:2px;height:32px;display:flex}.ub{background:var(--line);border-radius:2px;flex:1 1 0;min-width:2px;display:block}.ub.up{background:var(--green)}.ub.degraded{background:var(--amber)}.ub.down{background:var(--red)}.runstrip{gap:2px;display:inline-flex}.rs{background:var(--green);border-radius:2px;width:7px;height:20px;display:block}.rs.f{background:var(--red)}.rs.s{background:var(--line)}.ring{--p:50;--rc:var(--accent);background:conic-gradient(var(--rc) calc(var(--p) * 1%), var(--bg2) 0);border-radius:50%;flex:none;place-items:center;width:58px;height:58px;display:grid}.ring:before{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:46px;height:46px}.ring b{z-index:1;grid-area:1/1;font-size:16px}.ring.green{--rc:var(--green)}.ring.amber{--rc:var(--amber)}.ring.red{--rc:var(--red)}.ring.big{width:96px;height:96px}.ring.big:before{width:78px;height:78px}.ring.big b{font-size:26px}.rail{padding:6px 0 2px;position:relative}.rail-track{z-index:0;height:0;position:absolute;top:23px;left:0;right:0}.rail-line{background:repeating-linear-gradient(90deg, var(--wire) 0 2px, transparent 2px 14px);height:10px;position:absolute;top:-5px;left:0;right:0}.rail-line:after{content:"";background:var(--wire);height:2px;position:absolute;top:4px;left:0;right:0}.pk{background:var(--accent);border-radius:4px;width:14px;height:14px;margin:-7px 0 0 -7px;display:block;position:absolute}.pk.amb{opacity:0;background:var(--accent-text);border-radius:3px;width:10px;height:10px;margin:-5px 0 0 -5px;top:0}.pk.live{box-shadow:0 0 0 0 var(--accent);animation:1.8s infinite pulseo}.pk.live.warn{background:var(--amber);box-shadow:0 0 0 0 var(--amber)}.pk.live.ok{background:var(--green)}.rail-st{z-index:1;gap:4px;display:grid;position:relative}.station{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.st-dot{background:var(--surface);border:2px solid var(--wire);width:34px;height:34px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.station.hot .st-dot{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.st-n{min-height:22px;font-size:16px}.st-l{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;overflow:hidden}.rail-card{overflow:hidden}.login-rail{z-index:2;--wire:#ffffff59;--surface:#1b2128;--ink-2:#d3d9df;--muted:#b7c0ca;--accent:#8db2d2;--accent-soft:#24313d;--accent-text:#a9c8e3;--amber:#f2b13c;--green:#4ccf8a;color:#fff;background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;max-width:560px;padding:18px 16px 8px;position:relative}.dora-grid .kpi{gap:4px}.qa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.qa{white-space:normal;text-align:left;justify-content:flex-start}.pipe-grid{grid-template-columns:minmax(250px,310px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.pipe-list{flex-direction:column;gap:10px;min-width:0;display:flex}.pipe-card{text-align:left;cursor:pointer;flex-direction:column;gap:6px;width:100%;padding:14px;display:flex}.pipe-card.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@media (hover:hover){.pipe-card:hover{border-color:var(--accent)}}.dag-wrap{border:1px solid var(--line);background:var(--surface-2);-webkit-overflow-scrolling:touch;border-radius:8px;max-width:100%;padding:4px;overflow:auto hidden}.dag-node{cursor:pointer}.dag-node:focus-visible{outline:none}.dag-node:focus-visible .dn-box{stroke:var(--accent);stroke-width:3px}.dn-box{fill:var(--surface);stroke:var(--line);stroke-width:1.5px}.dn-bar{fill:var(--muted)}.dn-name{fill:var(--ink);font-size:13px;font-weight:700}.dn-sub{fill:var(--muted);font-size:12px}.dn-ic{color:var(--muted)}.dag-node.success .dn-bar{fill:var(--green)}.dag-node.success .dn-ic{color:var(--green)}.dag-node.failed .dn-bar{fill:var(--red)}.dag-node.failed .dn-ic{color:var(--red)}.dag-node.failed .dn-box{stroke:var(--red)}.dag-node.running .dn-bar{fill:var(--accent)}.dag-node.running .dn-ic{color:var(--accent)}.dag-node.running .dn-box{stroke:var(--accent);stroke-dasharray:7 5;animation:1.2s linear infinite dash}.dag-node.waiting .dn-bar{fill:var(--amber)}.dag-node.waiting .dn-ic{color:var(--amber)}.dag-node.waiting .dn-box{stroke:var(--amber);stroke-width:2.5px}.dag-node.skipped{opacity:.55}.dag-node.sel .dn-box{stroke:var(--ink);stroke-width:2.5px}.dag-edge{stroke:var(--wire);stroke-width:2px}.dag-edge.ok{stroke:var(--green)}.dag-edge.fail{stroke:var(--red)}.dag-edge.run{stroke:var(--accent);stroke-dasharray:6 6;animation:1s linear infinite dash}.stagelist{flex-direction:column;gap:8px;list-style:none;display:flex}.stagelist li{align-items:flex-start;gap:10px;display:flex}.sl-n{background:var(--bg2);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;margin-top:8px;font-size:12px;font-weight:800;display:grid}.sl-g{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.sl-i{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px;display:flex}.sl-i.success svg{color:var(--green)}.sl-i.failed svg{color:var(--red)}.sl-i.running svg{color:var(--accent)}.sl-i.waiting svg{color:var(--amber)}.sl-i.on{border-color:var(--accent);background:var(--accent-soft)}.stage-detail{border:1px dashed var(--line);border-radius:8px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.code.mini{white-space:pre-wrap;overflow-wrap:anywhere;max-height:130px;font-size:12px}.code{color:#dfe6ec;background:#0d1114;border-radius:8px}.approval{border-left:4px solid var(--amber);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.fail-card{border-left:4px solid var(--red);margin-bottom:12px}.gantt{flex-direction:column;gap:4px;display:flex}.g-row{grid-template-columns:minmax(70px,32%) minmax(0,1fr) 46px;align-items:center;gap:8px;min-height:24px;display:grid}.g-track{background:var(--bg2);border-radius:99px;height:10px;position:relative;overflow:hidden}.g-bar{background:var(--muted);border-radius:99px;transition:width .15s linear;display:block;position:absolute;top:0;bottom:0}.g-bar.success{background:var(--green)}.g-bar.failed{background:var(--red)}.g-bar.running{background:var(--accent)}.g-bar.waiting{background:var(--amber)}.logbox{color:#dfe6ec;background:#0d1114;border-radius:8px;min-height:160px;max-height:440px;padding:8px 0;font-size:12.5px;line-height:1.55;overflow:auto}.ll{gap:10px;min-width:0;padding:1px 12px;display:flex}.ll .lt{color:#8c97a3;flex:none;width:42px}.ll .ls{color:#8fb4d4;text-overflow:ellipsis;white-space:nowrap;flex:none;width:118px;font-size:12px;overflow:hidden}.ll .lx{overflow-wrap:anywhere;white-space:pre-wrap;flex:1;min-width:0}.ll.cmd .lx{color:#a9c8e3;font-weight:700}.ll.ok .lx{color:#7ee2a8}.ll.warn .lx{color:#f2c36b}.ll.err .lx{color:#ff9a9a}.ll.hit{background:#ffd66629}.ll.cur{outline-offset:-1px;outline:1px solid #f2c36b}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-h{text-align:center;color:var(--muted);font-size:12px;font-weight:700}.cal-d{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) calc(var(--heat,0) * 38%), var(--surface));min-height:46px;color:var(--ink);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;font-size:12px;display:flex}.cal-d:disabled{opacity:.35}.cal-d.rb{outline:2px solid var(--amber);outline-offset:-2px}.cal-d.sel{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.tl-list{flex-direction:column;display:flex}.tl-row{border-bottom:1px solid var(--line);gap:10px;padding:9px 0;display:flex}.tl-row:last-child{border:0}.tl-ic{background:var(--green-soft);width:28px;height:28px;color:var(--green);border-radius:8px;flex:none;place-items:center;display:grid}.tl-row.failed .tl-ic{background:var(--red-soft);color:var(--red)}.tl-row.rollback .tl-ic{background:var(--amber-soft);color:var(--amber)}.paper{color:#15171a;background:#fff;border:1px solid #d3dae1;border-radius:8px;padding:26px 28px;font-size:14px}.paper h2{font-size:22px}.paper h3{text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #3f5d78;margin:16px 0 6px;padding-bottom:3px;font-size:14px}.paper .muted{color:#51606e}.notes{flex-direction:column;gap:4px;margin-left:20px;display:flex}.board{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:12px;display:grid}.bcol{background:var(--bg2);border-radius:8px;min-width:0;padding:8px}.bcol-h{align-items:center;gap:8px;padding:4px 6px 8px;display:flex}.bcol-b{flex-direction:column;gap:8px;max-height:620px;display:flex;overflow-y:auto}body.is-dragging .bcol[data-col=merged]{outline:2px dashed var(--accent)}.prc{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.prc.merged{opacity:.8}.prc-t{text-align:left;overflow-wrap:anywhere;min-height:44px;color:var(--ink);font-weight:700;line-height:1.3}.ck-row{gap:3px;display:inline-flex}.ck{background:var(--line);border-radius:3px;width:12px;height:12px;display:block}.ck.pass{background:var(--green)}.ck.fail{background:var(--red)}.ck.pending{background:var(--amber);box-shadow:0 0 0 0 var(--amber);animation:1.4s infinite pulseo}.ck.skipped{background:var(--bg2);border:1px solid var(--line)}.col-tabs{gap:6px;margin-bottom:10px;padding-bottom:4px;display:flex;overflow-x:auto}.eval-result{border:2px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.eval-result.on{background:var(--green-soft);border-color:var(--green)}.eval-result.on svg{color:var(--green)}.eval-result.off{background:var(--red-soft);border-color:var(--red)}.eval-result.off svg{color:var(--red)}.dot-user{background:var(--bg2);border:1px solid var(--line);border-radius:4px;width:14px;height:14px;display:inline-block}.dot-user.on{background:var(--green);border-color:var(--green)}.flag-list{flex-direction:column;display:flex}.flag-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) 56px minmax(280px,2fr) 72px auto;align-items:center;gap:14px;padding:10px 4px;display:grid}.flag-row.head{border-top:0;padding-bottom:4px}.flag-row.killed{background:var(--red-soft);border-radius:8px}.fr-pct{align-items:center;gap:6px;min-width:0;display:flex}.pct-n{text-align:center;min-width:44px}.fr-sw{align-items:center;gap:6px;display:flex}.dragbar{border-radius:8px}.sevbars{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.sevbar{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.flow{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.flow-s{background:var(--bg2);text-transform:capitalize;border-radius:99px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.flow-s i{background:var(--line);border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;font-weight:800;display:grid}.flow-s.done i{background:var(--green);color:#fff}.flow-s.cur{background:var(--accent-soft);font-weight:800}.statuspage{background:var(--surface);border:1px solid var(--line);max-width:780px;box-shadow:var(--shadow);border-radius:12px;margin:0 auto;overflow:hidden}.sp-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.sp-name{font-size:18px}.sp-banner{background:var(--green-soft);align-items:center;gap:10px;padding:16px 20px;display:flex}.sp-banner svg{color:var(--green)}.sp-banner.degraded,.sp-banner.partial,.sp-banner.maintenance{background:var(--amber-soft)}.sp-banner.degraded svg,.sp-banner.partial svg,.sp-banner.maintenance svg{color:var(--amber)}.sp-banner.down{background:var(--red-soft)}.sp-banner.down svg{color:var(--red)}.sp-list{padding:8px 20px}.sp-comp{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:14px 0;display:flex}.sp-st{color:var(--green);font-size:13px;font-weight:700}.sp-st.degraded,.sp-st.partial,.sp-st.maintenance{color:var(--amber)}.sp-st.down{color:var(--red)}.sp-leg{color:var(--muted)}.sp-key{color:var(--muted);flex-wrap:wrap;gap:16px;padding:12px 20px;display:flex}.sp-key .ub{vertical-align:-2px;flex:none;width:12px;height:12px;margin-right:6px;display:inline-block}.sp-h{padding:8px 20px 0}.sp-inc{flex-direction:column;gap:10px;padding:8px 20px 16px;display:flex}.sp-inc .small{color:var(--muted)}.sp-sub{background:var(--surface-2);border-top:1px solid var(--line);padding:16px 20px}.comp-row,.rule-card{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.alert-card{border:1px solid var(--red);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px;display:flex}.esc{flex-direction:column;gap:4px;margin:4px 0 4px 18px;font-size:13px;display:flex}.esc li.off{opacity:.45;text-decoration:line-through}.esc.big{gap:8px;margin:8px 0 0;font-size:14px;list-style:none}.esc.big li{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:12px;padding:8px 12px;display:flex}.esc-t{min-width:64px;color:var(--accent-text);font-weight:800}.oncall-now{background:var(--accent-soft);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.oc-who{align-items:center;gap:12px;display:flex}.strip{border-radius:8px;gap:2px;height:48px;display:flex;overflow:hidden}.strip-b{color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-width:0;padding:0 4px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.strip-b.ov{background-image:repeating-linear-gradient(45deg,#ffffff40 0 6px,#0000 6px 12px)}.strip-l{justify-content:space-between;margin-top:4px;display:flex}.shift-row{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.shift-row>i{border-radius:3px;flex:none;align-self:stretch;width:6px}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.repo{flex-direction:column;gap:10px;display:flex}.ldot{border-radius:50%;width:10px;height:10px;display:inline-block}.cls-row{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 12px;display:flex}.cls-row.on{border-color:var(--accent);background:var(--accent-soft)}.pat{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.tools-tabs{gap:8px;margin:14px 0;padding-bottom:4px;display:flex;overflow-x:auto}.tools-tabs .chip{flex:none}.feed-ic.mono{border-radius:8px;width:44px}@media (width<=1100px){.pipe-grid{grid-template-columns:minmax(0,1fr)}.pipe-list{scroll-snap-type:x proximity;flex-direction:row;padding-bottom:6px;overflow-x:auto}.pipe-card{scroll-snap-align:start;flex:0 0 270px}.board{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.bcol-b{max-height:420px}.flag-row{grid-template-columns:minmax(0,1fr) auto}.flag-row.head{display:none}.fr-pct{order:3;grid-column:1/-1}.flag-row>:nth-child(4){order:2}.show-sm-i{display:inline}.sevbars{grid-template-columns:repeat(2,minmax(0,1fr))}.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.qa-grid,.board{grid-template-columns:minmax(0,1fr)}.flag-row{border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:12px}.ll .ls{display:none}.ll .lt{width:38px}.g-row{grid-template-columns:minmax(64px,36%) minmax(0,1fr) 42px}.paper{padding:18px 14px}.sp-head,.sp-banner,.sp-list,.sp-key,.sp-sub,.sp-h,.sp-inc{padding-left:14px;padding-right:14px}.sevbars{grid-template-columns:minmax(0,1fr)}.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.rail-card .card-h .small{display:none}.st-dot{width:30px;height:30px}.rail-track{top:21px}.login-rail{padding:14px 8px 6px}.cal{gap:3px}.cal-d{min-height:44px}.strip-b span{display:none}.columns{gap:2px}}.table-wrap,.dag-wrap{scrollbar-width:thin;scrollbar-color:var(--wire) transparent}.table-wrap::-webkit-scrollbar{height:8px}.dag-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--wire);border-radius:8px}.dag-wrap::-webkit-scrollbar-thumb{background:var(--wire);border-radius:8px}td .row{flex-wrap:nowrap}.dcard-c .row{flex-wrap:wrap}.dcard-c{overflow:hidden}
