:root{color-scheme:light;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-sm:5px;--r-md:8px;--r-lg:12px;--r-pill:999px;--fs-xs:0.75rem;--fs-sm:0.85rem;--fs-base:0.94rem;--fs-md:1.05rem;--fs-lg:1.3rem;--fs-xl:1.7rem;--fs-hero:2.6rem;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--shadow-1:0 1px 2px rgba(11,11,11,0.05),0 1px 3px rgba(11,11,11,0.06);--shadow-2:0 2px 8px rgba(11,11,11,0.08),0 8px 24px rgba(11,11,11,0.06);--page:#f4f5f3;--surface:#ffffff;--surface-2:#f7f8f6;--surface-3:#eef0ec;--ink:#14140f;--ink-2:#52514e;--muted:#86847d;--border:#e2e2db;--border-strong:#cfcfc7;--accent:#2a78d6;--accent-weak:#eaf2fc;--accent-ink:#1c5cab;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--ok:#0ca30c;--ok-bg:#e7f6e7;--warn:#b7791b;--warn-bg:#fbf1dc;--warn-border:#ecca86;--err:#d03b3b;--err-bg:#fbe9e9;--info:#2a78d6;--info-bg:#eaf2fc;--mismatch:#fbe0e0}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--page:#0d0d0c;--surface:#1a1a19;--surface-2:#201f1d;--surface-3:#262523;--ink:#f4f3ee;--ink-2:#c3c2b7;--muted:#8f8d85;--border:#2c2c2a;--border-strong:#3a3a37;--accent:#3987e5;--accent-weak:#17273c;--accent-ink:#86b6ef;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--ok:#0ca30c;--ok-bg:#14260f;--warn:#e0a33a;--warn-bg:#2c2410;--warn-border:#4a3d18;--err:#e66767;--err-bg:#2c1414;--info:#3987e5;--info-bg:#17273c;--mismatch:#331717;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 2px 8px rgba(0,0,0,0.5),0 8px 24px rgba(0,0,0,0.4)}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.shell{display:flex;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;height:100vh;width:232px;flex:0 0 232px;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4) var(--sp-3);background:var(--surface);border-right:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--series-1),var(--series-3));color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.02em}.brand-name{font-weight:700;font-size:var(--fs-base)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--ink-2);font-weight:500;font-size:var(--fs-sm);line-height:1.2}.nav-item:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.nav-item.active{background:var(--accent-weak);color:var(--accent-ink);font-weight:600}.nav-icon{flex:0 0 auto;opacity:.9}.sidebar-foot{margin-top:auto;font-size:var(--fs-xs);padding:var(--sp-2)}.main-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);background:color-mix(in srgb,var(--page) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.topbar-title{font-size:var(--fs-md);font-weight:700;margin:0}.content{padding:var(--sp-5);max-width:1180px;width:100%}h1{font-size:var(--fs-xl);margin:0 0 var(--sp-4);font-weight:700;letter-spacing:-.01em}h2{font-size:var(--fs-md);margin:var(--sp-5) 0 var(--sp-3)}h2,h3{font-weight:650}h3{font-size:var(--fs-base);margin:var(--sp-4) 0 var(--sp-2)}p{line-height:1.55}.muted{color:var(--muted)}.ok{color:var(--ok)}.error{color:var(--err);font-size:var(--fs-sm);white-space:pre-wrap}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.page-head h1{margin:0}.page-head .sub{color:var(--muted);font-size:var(--fs-sm);margin:var(--sp-1) 0 0}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .spacer{flex:1 1 auto}.btn,button{font:inherit;font-weight:600;font-size:var(--fs-sm);padding:.5rem .95rem;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:filter .12s ease,background .12s ease}.btn:hover,button:hover:not(:disabled){filter:brightness(1.06);text-decoration:none}.btn.secondary,button.secondary{background:var(--surface);color:var(--accent-ink);border-color:var(--border-strong)}.btn.secondary:hover,button.secondary:hover:not(:disabled){background:var(--surface-2)}.btn.danger,button.danger{background:var(--surface);color:var(--err);border-color:var(--err)}button.danger:hover:not(:disabled){background:var(--err-bg);filter:none}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--ink-2);padding:.4rem .7rem}.btn-ghost:hover{background:var(--surface-2);color:var(--ink);filter:none}.btn:disabled,button:disabled{opacity:.5;cursor:default}.btn-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.stack{gap:var(--sp-4);max-width:720px}.stack,fieldset{display:flex;flex-direction:column}fieldset{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-4) var(--sp-5);gap:var(--sp-3);background:var(--surface);box-shadow:var(--shadow-1)}legend{font-weight:650;padding:0 var(--sp-2);color:var(--ink)}label.field{flex-direction:column;gap:var(--sp-1);font-weight:500}label.field,label.inline{display:flex;font-size:var(--fs-sm);color:var(--ink-2)}label.inline{align-items:center;gap:var(--sp-2)}input,select,textarea{font:inherit;font-size:var(--fs-sm);padding:.5rem .6rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%}input[type=checkbox]{width:auto;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}input[aria-invalid=true]{border-color:var(--err)}textarea{min-height:5rem;resize:vertical}.edition-row{display:grid;grid-template-columns:8.5rem 1fr 1fr 1fr 1fr auto;grid-gap:var(--sp-2);gap:var(--sp-2);align-items:end;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.edition-row button{align-self:end}.card{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);background:var(--surface);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--sp-4)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.card-head h2,.card-head h3{margin:0}.grid-cards{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-md);overflow:auto;background:var(--surface);box-shadow:var(--shadow-1)}table.data,table.list{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}table.data td,table.data th,table.list td,table.list th{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--border);vertical-align:top}table.data thead th,table.list thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--ink-2);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}table.data tbody tr:hover,table.list tbody tr:hover{background:var(--surface-2)}table.data tbody tr:last-child td,table.list tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}.sort-caret{opacity:.5;margin-left:4px;font-size:.7em}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;padding:.12rem .5rem;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;line-height:1.5}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge.plain:before{display:none}.badge.active,.badge.green,.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border));background:var(--ok-bg)}.badge.amber,.badge.warn{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.badge.err,.badge.red{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--border));background:var(--err-bg)}.badge.blue,.badge.info,.badge.running{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--border));background:var(--info-bg)}.warn{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-sm);color:var(--ink)}.notice,.warn{padding:.55rem .8rem;font-size:var(--fs-sm)}.notice{background:var(--info-bg);border:1px solid color-mix(in srgb,var(--info) 30%,var(--border));border-radius:var(--r-sm)}.err-block{background:var(--err-bg);border:1px solid color-mix(in srgb,var(--err) 35%,var(--border));border-radius:var(--r-sm);padding:.55rem .8rem;font-size:var(--fs-sm);color:var(--ink);white-space:pre-wrap}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--muted)}.empty .empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-md);background:var(--surface-3);color:var(--muted)}.empty h3{margin:0;color:var(--ink);font-size:var(--fs-base)}.empty p{margin:0;max-width:42ch}.empty p,.pagination{font-size:var(--fs-sm)}.pagination{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);color:var(--ink-2)}.pagination .spacer{flex:1 1 auto}.search{position:relative;display:inline-flex;align-items:center;min-width:260px}.search svg{position:absolute;left:10px;color:var(--muted);pointer-events:none}.search input{padding-left:2rem}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--sp-2) var(--sp-4);gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm)}.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--ink)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.stat{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);background:var(--surface)}.stat .stat-label{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.stat .stat-value{font-size:var(--fs-lg);font-weight:700;margin-top:2px}.crosscheck{display:grid;grid-template-columns:160px 1fr 1fr;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;font-size:var(--fs-sm);background:var(--surface)}.crosscheck>div{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.crosscheck .head{background:var(--surface-2);font-weight:600;color:var(--ink-2)}.crosscheck .mismatch{background:var(--mismatch)}.analysis-top{flex-wrap:wrap;gap:var(--sp-4) var(--sp-6)}.analysis-top,.rating{display:flex;align-items:center}.rating{gap:var(--sp-3)}.rating-value{font-size:1.75rem;font-weight:700;line-height:1;color:var(--ink);white-space:nowrap}.rating-max{font-size:var(--fs-base);font-weight:500;color:var(--muted)}.rating-scale{display:inline-flex;gap:4px}.rating-dot{position:relative;width:16px;height:16px;border-radius:50%;background:var(--surface-3);overflow:hidden;display:inline-block}.rating-dot-fill{position:absolute;inset:0;background:var(--accent)}.analysis-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.analysis-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-top:var(--sp-4)}.analysis-split h3{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.check-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);font-size:var(--fs-sm)}.check-item{display:flex;align-items:flex-start;gap:var(--sp-3)}.check-mark{font-weight:700;width:1.1em;text-align:center;flex:none}.check-item.yes .check-mark{color:var(--ok)}.check-item.no .check-mark{color:var(--err)}.check-item.no,.check-item.unknown{color:var(--muted)}.quote-list{margin:var(--sp-3) 0 0;padding-left:var(--sp-4);display:grid;grid-gap:2px;gap:2px}.analysis-text,.quote-list{font-size:var(--fs-sm);color:var(--ink-2)}.analysis-text{margin-top:var(--sp-4)}.analysis-text p{margin:0 0 var(--sp-2)}.analysis-foot{margin:var(--sp-4) 0 0;font-size:var(--fs-xs)}.uploads{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-3)}.uploads .up{width:150px;font-size:var(--fs-xs)}.uploads img{max-width:100%;border-radius:var(--r-sm)}.dialog-backdrop{position:fixed;inset:0;background:rgba(11,11,11,.45);display:grid;place-items:center;z-index:100;padding:var(--sp-4)}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--sp-5);max-width:440px;width:100%;display:flex;flex-direction:column;gap:var(--sp-3)}.dialog h3{margin:0}.login-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-4);background:radial-gradient(1200px 500px at 15% -10%,var(--accent-weak),transparent 60%),var(--page)}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.login-brand{display:flex;align-items:center;gap:var(--sp-3)}.login-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--series-1),var(--series-3));color:#fff;font-weight:800}.login-title{font-size:var(--fs-md);margin:0}.login-sub{font-size:var(--fs-sm);color:var(--muted);margin:2px 0 0}.login-card button{justify-content:center;padding:.6rem}.login-error{margin:0;color:var(--err);background:var(--err-bg);border:1px solid color-mix(in srgb,var(--err) 35%,var(--border));border-radius:var(--r-sm);padding:.5rem .7rem;font-size:var(--fs-sm)}.chart-figure{margin:0}.chart-legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-sm);margin-top:var(--sp-2)}.chart-legend .key{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}.chart-legend .swatch{width:14px;height:3px;border-radius:2px;display:inline-block}.chart-svg{display:block;width:100%;height:auto;overflow:visible}.chart-svg .grid{stroke:var(--border);stroke-width:1}.chart-svg .axis-label{fill:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-svg .end-label{fill:var(--ink-2);font-size:11px;font-weight:600}.chart-crosshair{stroke:var(--border-strong);stroke-width:1}.chart-tooltip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);white-space:nowrap;z-index:5}.chart-tooltip .tt-row{display:flex;align-items:center;gap:6px}.chart-tooltip .tt-dot{width:8px;height:8px;border-radius:50%}.chart-tooltip .tt-date{font-weight:700;margin-bottom:2px}@media (max-width:720px){.sidebar{display:none}.content{padding:var(--sp-4)}}.control-line{font-size:var(--fs-sm);font-weight:600}.control-actions{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border)}.control-interval{display:flex;align-items:flex-end;gap:var(--sp-2);margin-left:auto}.control-interval .field{width:9rem}.pipeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin-bottom:var(--sp-5);overflow:hidden}.pipeline--discovery{--pl:var(--series-1);--pl-weak:var(--accent-weak)}.pipeline--stats{--pl:var(--series-3);--pl-weak:var(--ok-bg)}.p-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.p-dot{width:10px;height:10px;border-radius:50%;background:var(--pl,var(--accent));flex:none}.p-name{font-weight:700;font-size:var(--fs-md)}.p-desc{color:var(--muted);font-size:var(--fs-sm)}.p-grow{flex:1 1}.track-zone{padding:var(--sp-5)}.track-scroll{overflow-x:auto}.track{display:flex;align-items:flex-start;min-width:520px}.stage{flex:1 1;min-width:110px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.stage .node{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;position:relative;z-index:1;border:2px solid var(--border-strong);background:var(--surface);color:var(--muted)}.stage:after,.stage:before{content:"";position:absolute;top:16px;height:2px;background:var(--border-strong);width:50%}.stage:before{left:0}.stage:after{right:0}.stage:first-child:before,.stage:last-child:after{display:none}.stage.is-done .node,.stage.is-done:after,.stage.is-done:before,.stage.is-error:after,.stage.is-error:before,.stage.is-running:before,.stage.is-warn:after,.stage.is-warn:before{background:var(--pl,var(--accent))}.stage.is-done .node{border-color:var(--pl,var(--accent));color:#fff}.stage.is-running .node{border-color:var(--pl,var(--accent));color:var(--pl,var(--accent));background:var(--pl-weak,var(--accent-weak))}.stage.is-running .node:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--pl,var(--accent));opacity:.5;animation:stage-pulse 1.6s ease-out infinite}.stage.is-error .node{background:var(--err-bg);border-color:var(--err);color:var(--err)}.stage.is-warn .node{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}@keyframes stage-pulse{0%{transform:scale(.75);opacity:.6}to{transform:scale(1.15);opacity:0}}@media (prefers-reduced-motion:reduce){.runbar i,.stage.is-running .node:after{animation:none}}.s-name{margin-top:var(--sp-2);font-weight:600;font-size:var(--fs-sm)}.s-metric{font-size:var(--fs-xs);color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.s-metric.err{color:var(--err)}.s-metric.live{color:var(--pl,var(--accent));font-weight:600}.s-metric.muted,.s-sub{color:var(--muted)}.s-sub{font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:1.1em;white-space:pre}.runbar{margin-top:var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;background:var(--pl-weak,var(--accent-weak));border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.runbar i{width:8px;height:8px;border-radius:50%;background:var(--pl,var(--accent));flex:none;animation:stage-pulse 1.6s ease-out infinite;font-style:normal}.lastbar b,.runbar b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lastbar{margin-top:var(--sp-4);gap:var(--sp-3);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2)}.lastbar,.p-foot{display:flex;align-items:center;flex-wrap:wrap;background:var(--surface-2)}.p-foot{gap:var(--sp-5);border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-5)}.p-meta{font-size:var(--fs-sm);color:var(--ink-2)}.p-meta b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.link-btn{background:none;border:none;box-shadow:none;color:var(--accent-ink);font-weight:600;cursor:pointer;font-size:var(--fs-sm);padding:2px 4px}.link-btn:hover:not(:disabled){text-decoration:underline;filter:none}.runnow{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.btn-note{font-size:var(--fs-xs);color:var(--muted)}.sched-dialog{display:flex;flex-direction:column;gap:var(--sp-4)}.sched-presets{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.sched-preset{font-size:var(--fs-sm);padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}.sched-preset.sel{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.sched-custom{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2)}.sched-custom input{width:76px;font:inherit;padding:6px 8px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sched-hint{flex:1 1;font-size:var(--fs-xs);color:var(--muted)}.gantt{display:grid;grid-template-columns:110px 1fr 190px;grid-row-gap:var(--sp-3);row-gap:var(--sp-3);align-items:center;padding:var(--sp-2) 0}.g-label{font-size:var(--fs-sm);font-weight:600}.g-rail{position:relative;height:18px;background:var(--surface-3);overflow:hidden}.g-bar,.g-rail{border-radius:var(--r-sm)}.g-bar{position:absolute;top:0;bottom:0;background:var(--series-1);opacity:.9;min-width:3px}.g-bar.err{background:var(--err)}.g-bar.warn{background:var(--warn)}.g-meta{font-size:var(--fs-xs);color:var(--ink-2);padding-left:var(--sp-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g-meta .e{color:var(--err);font-weight:600}.g-axis{grid-column:2;display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pipeline--sheets{--pl:var(--series-2);--pl-weak:var(--warn-bg)}.pipeline--processing{--pl:#7c5cd6;--pl-weak:#efe9fb}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .pipeline--processing{--pl:#a98ee8;--pl-weak:#2a2140}}:root[data-theme=dark] .pipeline--processing{--pl:#a98ee8;--pl-weak:#2a2140}