@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d100b2a099e34044-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2c34d62a75506231-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/0f1bdadaf30e2d5f-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a115172161b307bb-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/601f5c280d60caca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f5271587012faf78-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4c40f6{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_4c40f6{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--bg:#0a0a0e;--bg-sidebar:#070709;--surface:#16161c;--surface-2:#1c1c22;--surface-hover:#1f1f27;--line:#26262e;--line-2:#2a2a32;--ink:#ffffff;--ink-2:#a8a8b0;--ink-3:#7a7a85;--ink-4:#5a5a64;--accent:#3b82f6;--accent-hover:#2563eb;--accent-deep:#1e40af;--accent-soft:rgba(59,130,246,0.14);--accent-soft-strong:rgba(59,130,246,0.22);--success:#22c55e;--success-soft:rgba(34,197,94,0.14);--warn:#f59e0b;--warn-soft:rgba(245,158,11,0.14);--danger:#ef4444;--danger-soft:rgba(239,68,68,0.14);--info:#38bdf8;--info-soft:rgba(56,189,248,0.14);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 8px 28px rgba(0,0,0,0.35);--shadow-lg:0 24px 60px rgba(0,0,0,0.5);--shadow-glow:0 4px 14px rgba(59,130,246,0.35);--sans:"Geist","Geist Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--mono:"Geist Mono","Geist Mono Fallback",ui-monospace,"SF Mono","Fira Code",Menlo,monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--density-y:16px}[data-density=compact]{--density-y:11px}[data-density=comfy]{--density-y:22px}[data-theme=light]{--bg:#f6f7f9;--bg-sidebar:#ffffff;--surface:#ffffff;--surface-2:#f6f7f9;--surface-hover:#f0f1f4;--line:#e5e7eb;--line-2:#d1d5db;--ink:#0a0a0e;--ink-2:#4a4a52;--ink-3:#84848d;--ink-4:#b0b0b8;--accent-soft:rgba(59,130,246,0.10);--accent-soft-strong:rgba(59,130,246,0.16);--success-soft:rgba(34,197,94,0.10);--warn-soft:rgba(245,158,11,0.10);--danger-soft:rgba(239,68,68,0.10);--info-soft:rgba(56,189,248,0.12);--shadow-sm:0 1px 2px rgba(10,10,15,0.05);--shadow-md:0 8px 28px rgba(10,10,15,0.08);--shadow-lg:0 24px 60px rgba(10,10,15,0.14)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Geist,Geist Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;letter-spacing:-.01em}button{cursor:pointer;border:0;background:none;color:inherit;padding:0}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}@keyframes pulse-dot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.btn{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .15s ease}.btn:hover{background:var(--surface-hover);border-color:var(--line-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border-color:transparent;box-shadow:var(--shadow-glow);font-weight:600}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(59,130,246,.45)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:rgba(255,255,255,.06);color:var(--ink);border-color:transparent}[data-theme=light] .btn-ghost:hover{background:rgba(0,0,0,.05)}.btn-icon{width:32px;height:32px;padding:0;justify-content:center}.btn-danger{background:var(--danger-soft);color:#fca5a5;border-color:rgba(239,68,68,.25)}[data-theme=light] .btn-danger{color:#b91c1c}.btn-danger:hover{background:rgba(239,68,68,.22)}.btn-sm{padding:5px 10px;font-size:12px;gap:5px}.avatar{width:32px;height:32px;border-radius:9999px;background:linear-gradient(135deg,#1e2a4a,#3730a3);color:#93c5fd;place-items:center;font-weight:600;font-size:12px}.avatar,.brand-mark{display:grid;flex-shrink:0}.brand-mark{border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));place-items:center;color:#fff;font-weight:700;font-size:17px;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.brand-logo,.brand-mark{position:relative;width:34px;height:34px}.brand-logo{flex-shrink:0;display:grid;place-items:center}.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}.brand-logo .pulse-dot,.brand-mark .pulse-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;background:var(--success);border-radius:50%;border:2px solid var(--bg);box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse-dot 2.4s ease-out infinite}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;font-family:var(--sans);white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pill-running{background:var(--success-soft);color:var(--success)}.pill-running .pill-dot{background:var(--success);animation:pulse-dot 2s ease-out infinite;box-shadow:0 0 0 0 rgba(34,197,94,.6)}.pill-idle{background:rgba(255,255,255,.06);color:var(--ink-2)}[data-theme=light] .pill-idle{background:rgba(0,0,0,.06)}.pill-idle .pill-dot{background:var(--ink-3)}.pill-paused{background:var(--warn-soft);color:var(--warn)}.pill-paused .pill-dot{background:var(--warn)}.pill-failed{background:var(--danger-soft);color:var(--danger)}.pill-failed .pill-dot{background:var(--danger)}.pill-review{background:var(--info-soft);color:var(--info)}.pill-review .pill-dot{background:var(--info)}.pill-disabled{background:rgba(255,255,255,.04);color:var(--ink-4)}[data-theme=light] .pill-disabled{background:rgba(0,0,0,.04)}.pill-disabled .pill-dot{background:var(--ink-4)}.pill-sm{font-size:11px;padding:2px 8px}.page-v2{min-height:100vh;width:100%;flex-direction:column}.page-v2,.topbar-v2{background:var(--bg);display:flex}.topbar-v2{align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand-v2{display:flex;align-items:center;gap:12px}.brand-wordmark{width:auto;height:90px;display:block;margin:-28px -10px}[data-theme=dark] .brand-wordmark{filter:invert(1)}.brand-divider{display:inline-block;width:1px;height:22px;background:var(--line);flex-shrink:0}.brand-v2 .brand-name{font-size:15px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.brand-v2 .brand-sub{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.02em;margin-top:0}.topbar-actions{display:flex;gap:10px;align-items:center}.content-v2{flex:1 1;padding:28px 32px 60px}.page-inner{max-width:1180px;margin:0 auto}.home-hero,.page-inner{display:flex;flex-direction:column;gap:22px}.home-hero{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 28px 22px}.home-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.home-hero-head .greeting{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.home-hero-head .subtle{font-size:12.5px;color:var(--ink-3);margin-top:4px;font-family:var(--mono);letter-spacing:.02em}.home-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-kpi{padding:16px 22px 16px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.home-kpi:first-child{padding-left:0}.home-kpi:last-child{padding-right:0;border-right:0;padding-left:22px}.home-kpi:not(:first-child){padding-left:22px}.home-kpi .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.home-kpi .value{font-size:28px;font-weight:600;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.05}.home-kpi .value .unit{font-size:13px;color:var(--ink-3);font-weight:500;margin-left:4px}.home-kpi .delta{font-size:11.5px;color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-kpi .delta.down{color:var(--ink-3)}@media (max-width:720px){.home-kpis{grid-template-columns:repeat(2,1fr)}.home-kpi{border-right:0;padding:14px 0!important;border-bottom:1px solid var(--line)}.home-kpi:nth-child(odd){padding-right:16px!important;border-right:1px solid var(--line)!important}.home-kpi:nth-child(2n){padding-left:16px!important}.home-kpi:nth-last-child(-n+2){border-bottom:0}}.home-chart-wrap{position:relative}.home-chart-wrap .chart-svg{width:100%;height:180px;display:block}.home-chart-axis{display:flex;justify-content:space-between;margin-top:8px;font-size:10.5px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.05em}.home-chart-tooltip{position:absolute;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:8px 11px;font-size:11.5px;pointer-events:none;box-shadow:var(--shadow-md);white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));z-index:5}.home-chart-tooltip .tt-time{font-family:var(--mono);color:var(--ink-3);font-size:10.5px;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.home-chart-tooltip .tt-value{font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-chart-range{display:inline-flex;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:2px}.home-chart-range button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:4px 9px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease}.home-chart-range button:hover{color:var(--ink)}.home-chart-range button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm,0 1px 0 rgba(0,0,0,.05))}.home-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:1100px){.home-body{grid-template-columns:1fr}}.home-block{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.home-block-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.home-block-head h3{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}.home-block-head .meta{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.wf-row{display:grid;grid-template-columns:32px minmax(0,1fr) 110px 140px 48px;grid-gap:16px;gap:16px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s ease}[data-density=compact] .wf-row{padding:9px 18px}[data-density=comfy] .wf-row{padding:17px 20px}.wf-row:last-child{border-bottom:0}.wf-row:hover{background:var(--surface-hover)}.wf-row .wf-r-glyph{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.wf-row .wf-r-body{min-width:0}.wf-row .wf-r-name{font-size:13.5px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.wf-row .wf-r-last,.wf-row .wf-r-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-row .wf-r-last{font-size:11.5px;color:var(--ink-3);margin-top:2px;font-family:var(--mono)}.wf-row .wf-r-spark{height:24px;display:flex;gap:2px;align-items:flex-end;width:72px}.wf-row .wf-r-spark .b{flex:1 1;background:var(--accent-soft);border-radius:1.5px;min-width:2px}.wf-row .wf-r-spark .b.live{background:var(--accent)}.wf-row .wf-r-metric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--ink);font-weight:500;text-align:right}.wf-row .wf-r-metric .unit{font-size:11px;color:var(--ink-3);margin-left:3px}.wf-row .wf-r-trail{align-items:center;gap:12px}.wf-row .wf-r-action,.wf-row .wf-r-trail{display:flex;justify-content:flex-end}.icon-btn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);transition:all .12s ease}.icon-btn:hover{color:var(--ink);border-color:var(--line-2);background:var(--surface-hover)}.icon-btn.play{background:var(--accent-soft);color:var(--accent);border-color:transparent}.icon-btn.play:hover{background:var(--accent-soft-strong)}.icon-btn.stop{background:var(--danger-soft);color:var(--danger);border-color:transparent}.icon-btn.stop:hover{background:rgba(239,68,68,.22)}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn.running-indicator{background:var(--success-soft);color:var(--success);border-color:transparent;cursor:default}.running-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse-dot 2s ease-out infinite}.feed-list{padding:4px 0;max-height:480px;overflow-y:auto}.feed-row{display:grid;grid-template-columns:22px 1fr auto;grid-gap:12px;gap:12px;align-items:flex-start;padding:11px 18px;border-bottom:1px solid var(--line);transition:background .12s ease;cursor:pointer}.feed-row:last-child{border-bottom:0}.feed-row:hover{background:var(--surface-hover)}.feed-row .ic{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-top:1px}.feed-row .ic.ok{background:var(--success-soft);color:var(--success)}.feed-row .ic.fail{background:var(--danger-soft);color:var(--danger)}.feed-row .ic.run{background:var(--accent-soft);color:var(--accent)}.feed-row .ic.review{background:var(--info-soft);color:var(--info)}.feed-row .body{min-width:0}.feed-row .wf-name{font-size:12.5px;font-weight:500;color:var(--ink)}.feed-row .msg{font-size:12px;overflow:hidden;text-overflow:ellipsis}.feed-row .msg,.feed-row .when{color:var(--ink-3);margin-top:2px;white-space:nowrap}.feed-row .when{font-size:10.5px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}.feed-row.in-flight .ic{background:var(--accent-soft);color:var(--accent)}.feed-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(59,130,246,.6);animation:feed-pulse 1.6s ease-out infinite}@keyframes feed-pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.55)}70%{box-shadow:0 0 0 7px rgba(59,130,246,0)}to{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.status-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--line);font-size:11.5px;color:var(--ink-2);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-chip .dot{width:6px;height:6px;border-radius:50%}.status-chip .dot.r{background:var(--success)}.status-chip .dot.i{background:var(--info)}.status-chip .dot.f{background:var(--danger)}.status-chip .dot.p{background:var(--warn)}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;animation:fade-in .18s ease}[data-theme=light] .drawer-backdrop{background:rgba(10,10,15,.35)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(820px,92vw);background:var(--bg);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:101;display:flex;flex-direction:column;animation:slide-in .24s cubic-bezier(.2,.7,.3,1)}@keyframes slide-in{0%{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}.drawer-head{display:flex;align-items:flex-start;gap:14px;padding:22px 26px 18px;border-bottom:1px solid var(--line)}.drawer-body{flex:1 1;overflow-y:auto;padding:24px 26px 36px;display:flex;flex-direction:column;gap:24px}.drawer-section h4{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.drawer-tabs-wrap{padding:14px 26px 0;border-bottom:1px solid var(--line)}.wf-glyph-lg{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.tab-row{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}.tab-row button{padding:5px 12px;border-radius:6px;color:var(--ink-3);font-size:12.5px;font-weight:500;transition:background .12s ease,color .12s ease}.tab-row button:hover{color:var(--ink)}.tab-row button.active{background:var(--accent-soft);color:var(--ink)}.run-row{display:grid;grid-template-columns:24px 90px 1fr 80px 80px 24px;grid-gap:14px;gap:14px;align-items:center;padding:10px 12px;border-radius:8px;font-size:12.5px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease;cursor:pointer}.run-row.expanded,.run-row:hover{background:var(--surface);border-color:var(--line)}.run-row .run-time{color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.run-row .run-summary{color:var(--ink)}.run-row .run-meta{color:var(--ink-3);font-family:var(--mono);font-size:11.5px;text-align:right}.run-row .run-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center}.run-row .run-icon.ok{background:var(--success-soft);color:var(--success)}.run-row .run-icon.fail{background:var(--danger-soft);color:var(--danger)}.run-row .run-icon.run{background:var(--accent-soft);color:var(--accent)}.run-row .run-icon.review{background:var(--info-soft);color:var(--info)}.run-row .chev{color:var(--ink-3);transition:transform .15s ease;display:grid;place-items:center}.run-row.expanded .chev{transform:rotate(90deg)}.log-block{margin:4px 12px 12px;background:#04040a;border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.65;color:var(--ink-2);max-height:320px;overflow-y:auto}[data-theme=light] .log-block{background:#0a0a0e;color:#d1d5db;border-color:#1e1e26}.log-line{display:flex;gap:12px}.log-time{color:var(--ink-4);flex-shrink:0}.log-level{width:44px;flex-shrink:0;font-weight:500}.log-level.info{color:#38bdf8}.log-level.ok{color:var(--success)}.log-level.warn{color:var(--warn)}.log-level.err{color:var(--danger)}.log-msg{color:#d1d5db;word-break:break-word}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.kpi-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;gap:6px}.kpi-tile .kpi-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.kpi-tile .kpi-value{font-size:28px;font-weight:600;letter-spacing:-.025em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05}.kpi-tile .kpi-value .kpi-unit{font-size:13px;color:var(--ink-3);margin-left:4px;font-weight:500}.kpi-tile .kpi-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:12px;color:var(--ink-3)}.kpi-tile .kpi-delta{color:var(--success);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-tile .kpi-delta.down{color:var(--danger)}.card-plain{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.toast-stack{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;box-shadow:var(--shadow-md);font-size:13px;color:var(--ink);pointer-events:auto;animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.toast .toast-icon{width:22px;height:22px;border-radius:50%;background:var(--success-soft);color:var(--success);display:grid;place-items:center}.toast .toast-icon.fail{background:var(--danger-soft);color:var(--danger)}.live-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-3);font-size:11.5px;font-weight:500;letter-spacing:.01em}.live-pill .live-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4);flex-shrink:0}.live-pill.live-live{color:var(--success)}.live-pill.live-live .live-dot{background:var(--success);animation:pulse-dot 2s ease-out infinite;box-shadow:0 0 0 0 rgba(34,197,94,.6)}.live-pill.live-connecting .live-dot{background:var(--warn)}.live-pill.live-offline{color:var(--danger)}.live-pill.live-offline .live-dot{background:var(--danger)}.start-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:102;padding:22px 24px 20px;animation:fade-in .15s ease}.start-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.start-modal-head h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.start-modal-sub{margin:0 0 18px;font-size:12.5px;color:var(--ink-3);line-height:1.5}.start-modal-form{display:flex;flex-direction:column;gap:14px}.start-modal-form select{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7a85' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding:8px 28px 8px 11px}.start-modal-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.18)}.start-modal-form input[type=file]{font-size:13px;color:var(--ink-2)}.start-modal-helper{font-size:11px;color:var(--ink-3);margin-top:4px;display:block}.start-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.avatar{cursor:pointer;transition:transform .12s ease}.avatar:hover{transform:scale(1.04)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);min-width:220px;overflow:hidden;animation:fade-in .12s ease}.user-menu-head{padding:12px 14px;border-bottom:1px solid var(--line)}.user-menu-name{font-size:13px;font-weight:600;color:var(--ink)}.user-menu-email{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);margin-top:2px;word-break:break-all}.user-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 14px;font-size:13px;color:var(--ink-2);text-align:left;transition:background .1s ease,color .1s ease}.user-menu-item:hover{background:var(--surface-hover);color:var(--ink)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 28px 24px;box-shadow:var(--shadow-md)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-brand .brand-name{font-size:14.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.login-brand .brand-sub{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.02em;margin-top:1px}.login-title{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.login-sub{margin:0 0 20px;font-size:13px;color:var(--ink-3)}.login-form{gap:12px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field span{font-size:11.5px;color:var(--ink-3);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.login-field input{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.login-field input::placeholder{color:var(--ink-4)}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.18)}.login-error{font-size:12.5px;color:var(--danger);background:var(--danger-soft);border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:8px 11px}.login-submit{justify-content:center;padding:10px 14px;margin-top:4px}.login-footnote{margin:14px 0 0;font-size:11.5px;color:var(--ink-3);text-align:center}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}