:root{--bg:#f4f6f8;--bg-elev:#fff;--panel:#fff;--panel-2:#f0f3f6;--text:#1c2430;--muted:#5c6b7a;--accent:#1f6b5c;--accent-dim:rgba(31,107,92,.12);--accent-ink:#fff;--accent-deep:#174f44;--ok:#1f7a45;--ok-bg:#e8f6ee;--ok-border:#9fd4b3;--warn:#b5810a;--warn-bg:#fff6e0;--warn-border:#e6c56a;--info:#2f5f8f;--info-bg:#eaf2f9;--info-border:#9dbbd8;--danger:#b42318;--danger-bg:#fdecec;--danger-border:#f0b0ab;--neutral:#6b7785;--neutral-bg:#eef1f4;--border:#d5dde5;--border-soft:#e8edf2;--shadow:0 8px 24px rgba(28,36,48,.08);--radius:12px;--font:"Nunito","Segoe UI",sans-serif;--display:"Nunito","Segoe UI",sans-serif;--ease:cubic-bezier(0.22,1,0.36,1);--mint:var(--bg);--green:var(--ok);--slate:var(--muted);--deep:var(--text);--lavender:var(--info)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--muted);font-size:.85rem;font-weight:500}.layout{display:grid;grid-template-columns:268px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--border);padding:1.35rem 1.1rem;gap:1rem;overflow:auto}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:.55rem;padding:.15rem .35rem .35rem}.brand-mark{display:flex;align-items:center;gap:.7rem}.brand-logo{width:2.25rem;height:2.25rem;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1rem}.brand-logo,.brand-name{font-family:var(--display);font-weight:700}.brand-name{font-size:1.15rem;letter-spacing:-.02em;line-height:1.1}.brand-sub{color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase}.badge,.brand-sub{letter-spacing:.04em}.badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;background:var(--neutral-bg);color:var(--text);font-size:.68rem;font-weight:700;padding:.22rem .5rem;border-radius:6px;border:1px solid var(--border)}.badge-live{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.badge-soon{background:var(--neutral-bg);color:var(--neutral);border-color:var(--border)}.badge-staging{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.badge-error,.badge-prod-risk{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.payload-view{grid-column:1/-1;width:100%;max-height:280px;overflow:auto;background:#1e2933;color:#d7dee6;padding:.85rem 1rem;border-radius:10px;font-size:.78rem;margin:0}.results-page{width:100%}.results-page .sub{max-width:none}.results-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.results-section-title{margin:0 0 1rem;font-size:1.15rem}.results-flow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.results-flow{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.75rem}.results-flow.outcome-sent{border-color:var(--ok-border);background:var(--ok-bg)}.results-flow.outcome-no_change{border-color:var(--border);background:var(--neutral-bg)}.results-flow.outcome-failed{border-color:var(--danger-border);background:var(--danger-bg)}.results-flow.outcome-never{border-style:dashed;background:#fff;opacity:.9}.results-flow.outcome-running{border-color:var(--warn-border);background:var(--warn-bg)}.results-flow-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.results-flow-name{font-weight:800;font-size:1.02rem}.results-flow-dir{font-size:.82rem;font-weight:700;color:var(--accent);margin-top:.15rem}.results-flow-what{font-size:.82rem;color:var(--muted)}.results-outcome-pill{flex:0 0 auto;font-size:.68rem;font-weight:800;letter-spacing:.03em;padding:.35rem .55rem;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.results-outcome-pill.tiny{font-size:.65rem;padding:.2rem .45rem}.results-outcome-pill.outcome-sent{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.results-outcome-pill.outcome-no_change{background:var(--neutral-bg);color:var(--neutral);border-color:var(--border)}.results-outcome-pill.outcome-failed{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.results-outcome-pill.outcome-never{background:transparent;color:var(--muted)}.results-outcome-pill.outcome-running{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.results-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem .75rem;gap:.55rem .75rem}.results-flow-grid .muted-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.results-flow-grid strong{font-size:.95rem}.results-flow-msg{margin:0;font-size:.9rem;line-height:1.45;color:var(--text)}.btn-link{color:var(--accent);font-weight:700;text-decoration:none}.btn-link:hover{text-decoration:underline}.results-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid var(--border-soft);padding-bottom:.65rem}.results-tabs .tab{background:transparent;color:var(--muted);border:1px solid transparent;font-weight:700}.results-tabs .tab.active{background:var(--neutral-bg);color:var(--text);border-color:var(--border)}.results-data-main,.results-op-chips{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.chip{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--neutral-bg);color:var(--text)}.chip-op{background:var(--info-bg);color:var(--info)}.results-data-list{display:flex;flex-direction:column;gap:.55rem}.results-data-row{display:grid;grid-template-columns:1fr auto;grid-gap:.55rem .75rem;gap:.55rem .75rem;align-items:center;padding:.75rem .85rem;border:1px solid var(--border-soft);border-radius:12px;background:#fff}.results-data-title{font-weight:700;font-size:.92rem}.results-empty-box{margin:0;padding:1.1rem;border:1px dashed var(--border);border-radius:12px;color:var(--muted);background:var(--panel-2)}.results-issue-list{color:var(--danger);line-height:1.55}.sched-page{width:100%}.sched-page .sub{max-width:none}.sched-howto .sched-steps{margin:0 0 1rem;padding-left:1.2rem;color:var(--muted);line-height:1.65}.sched-howto .sched-steps strong{color:var(--text)}.sched-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.85rem;gap:.85rem}.sched-card{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.75rem}.sched-card.on{border-color:var(--ok-border);background:var(--ok-bg)}.sched-card.off{background:var(--neutral-bg)}.sched-flow-visual{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.85rem;padding:.85rem 1rem;border-radius:12px;background:var(--panel-2);border:1px solid var(--border);font-weight:700;font-size:.88rem}.sched-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.sched-card-kind{font-weight:800;font-size:1.02rem}.sched-card-dir{font-size:.82rem;font-weight:700;color:var(--accent);margin-top:.15rem}.sched-card-what{font-size:.82rem;color:var(--muted)}.sched-card-when strong{display:block;font-size:.98rem;margin:.15rem 0}.sched-card-meta{display:grid;grid-template-columns:1fr;grid-gap:.55rem;gap:.55rem}.results-flow-grid .muted-label,.sched-card-meta .muted-label,.sched-preview .muted-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.sched-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.65rem;gap:.65rem}.sched-preset{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:#fff;border:1px solid var(--border);color:var(--text);padding:.85rem 1rem}.sched-preset strong{font-size:.95rem}.sched-preset span{font-size:.85rem;color:var(--muted);font-weight:600}.sched-preset em{font-style:normal;font-size:.78rem;color:var(--accent);font-weight:700}.sched-form{display:grid;grid-gap:.85rem;gap:.85rem;max-width:560px}.sched-preview{padding:.85rem 1rem;border-radius:12px;background:var(--ok-bg);border:1px solid var(--ok-border)}.sched-preview strong{display:block;margin:.25rem 0;font-size:1rem}.live-page{width:100%}.live-page .sub{max-width:none}.live-pulse{animation:stage-pulse 1.4s ease-in-out infinite}.live-dag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.live-dag{border:1px solid var(--border);border-radius:16px;padding:1.05rem;background:#fff;display:flex;flex-direction:column;gap:.85rem;min-height:360px}.live-dag.running{border-color:var(--warn-border);background:var(--warn-bg);box-shadow:none}.live-dag.scheduled{border-color:var(--info-border);background:var(--info-bg)}.live-dag.idle{opacity:.92;border-style:dashed;background:#fff}.live-dag-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.live-dag-title{font-weight:800;font-size:1.05rem}.live-dag-dir{font-size:.82rem;font-weight:700;color:var(--accent);margin-top:.15rem}.live-state{font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:.35rem .55rem;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.live-state.run{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.live-state.wait{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.live-state.off{background:var(--neutral-bg);color:var(--neutral);border-color:var(--border)}.live-timers{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.live-timer{border:1px solid var(--border-soft);border-radius:12px;padding:.75rem;background:var(--panel-2)}.live-timer.hot{background:var(--warn-bg);border-color:var(--warn-border)}.live-timer.next{background:var(--info-bg);border-color:var(--info-border)}.live-timer strong{display:block;font-size:1.45rem;letter-spacing:-.03em;margin:.2rem 0 .35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live-schedules ul{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.live-schedules li{display:flex;gap:.45rem;align-items:flex-start;font-size:.84rem;color:var(--muted)}.live-schedules li.on{color:var(--text);font-weight:600}.live-dots{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.live-dot{width:12px;height:12px;border-radius:999px;background:var(--border);border:1px solid transparent}.live-dot.success{background:var(--ok)}.live-dot.error{background:var(--danger)}.live-dot.running{background:var(--warn);animation:stage-pulse 1.2s ease-in-out infinite}@media (max-width:1100px){.live-dag-grid,.live-timers{grid-template-columns:1fr}}@media (max-width:1000px){.results-flow-list,.results-summary-strip{grid-template-columns:1fr}}.badge-neutral{background:var(--neutral-bg);color:var(--deep)}.nav-hint{font-size:.78rem;margin:0;line-height:1.4}.nav-hint,.nav-section{color:var(--muted);padding:0 .35rem}.nav-section{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;margin:.65rem 0 0}.lang-switch{display:flex;gap:.35rem;padding:0 .2rem}.lang{flex:1 1;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:.4rem .35rem;text-align:center;font-weight:600;font-size:.72rem;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.lang.active{background:var(--accent-dim);color:var(--accent);border-color:rgba(31,107,92,.35)}.sidebar nav{display:flex;flex-direction:column;gap:.3rem}.sidebar a{padding:.55rem .7rem;border-radius:10px;color:var(--muted);transition:background .18s var(--ease),color .18s var(--ease)}.sidebar a.active,.sidebar a:hover{background:rgba(31,107,92,.08);color:var(--text)}.nav-primary a{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.92rem}.nav-step{display:inline-flex;width:1.35rem;height:1.35rem;border-radius:999px;align-items:center;justify-content:center;background:var(--panel-2);color:var(--accent);font-size:.72rem;font-weight:700;flex-shrink:0}.sidebar a.active .nav-step{background:var(--accent);color:var(--accent-ink)}.nav-advanced a{font-size:.88rem}.sidebar-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-soft);display:grid;grid-gap:.55rem;gap:.55rem}.main,.sidebar-footer .ghost{width:100%}.main{padding:2rem 2rem 3rem;max-width:none;min-width:0;animation:fade-up .35s var(--ease)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1{margin:0 0 .35rem;font-family:var(--display);font-size:clamp(1.65rem,2.4vw,2.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}h2,h3{letter-spacing:-.02em}.sub{color:var(--muted);margin:0 0 1.5rem;line-height:1.5;max-width:52ch;font-size:.98rem}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head .sub{margin-bottom:0}.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--muted);font-size:.82rem;margin:0 0 .85rem}.crumb a{color:var(--accent);font-weight:600}.crumb a:hover{text-decoration:underline}.card{background:linear-gradient(180deg,var(--panel) 0,var(--bg-elev) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:inset 0 1px 0 rgba(28,36,48,.04)}.card,.grid{margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.btn,button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:.62rem 1rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .15s var(--ease),filter .15s var(--ease),background .15s var(--ease)}.btn:hover,button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:600}button.ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted);background:rgba(28,36,48,.04)}button.secondary{background:var(--neutral-bg)}button.secondary,input,select{color:var(--text);border:1px solid var(--border)}input,select{background:#fff;border-radius:10px;padding:.65rem .8rem;font:inherit;width:100%;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input:focus,select:focus{outline:none;border-color:rgba(31,107,92,.55);box-shadow:0 0 0 3px rgba(31,107,92,.12)}.row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.err{color:var(--danger)}.ok{color:var(--ok)}pre{white-space:pre-wrap;word-break:break-word;font-size:.78rem;color:var(--muted);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.projects-home .hero-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.55rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:.25rem}.project-card{position:relative;display:flex;flex-direction:column;gap:.75rem;background:linear-gradient(165deg,rgba(31,107,92,.06),transparent 40%),var(--panel);border:1px solid var(--border);border-radius:18px;padding:1.35rem 1.35rem 1.2rem;color:inherit;text-decoration:none;min-height:210px;overflow:hidden;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.project-card:after{content:"";position:absolute;inset:auto -20% -40% 40%;height:120px;background:radial-gradient(circle,rgba(31,107,92,.1),transparent 70%);pointer-events:none}.project-card:hover{border-color:var(--info-border);transform:translateY(-3px);box-shadow:var(--shadow)}.project-card-disabled{opacity:.72;cursor:not-allowed;background:linear-gradient(180deg,var(--panel-2) 0,var(--bg) 100%)}.project-card-disabled:after{display:none}.project-card-disabled:hover{border-color:var(--border);transform:none;box-shadow:none}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;position:relative;z-index:1}.project-avatar{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.1rem;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(31,107,92,.22)}.project-card-disabled .project-avatar{background:var(--panel-2);color:var(--neutral);border-color:var(--border)}.project-card h2{margin:0;font-family:var(--display);font-size:1.35rem;font-weight:700}.project-meta{display:grid;grid-gap:.35rem;gap:.35rem;position:relative;z-index:1}.project-flow{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--muted)}.flow-chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:600}.flow-arrow{color:var(--accent);opacity:.8}.project-summary{margin:0;color:var(--muted);line-height:1.45;flex:1 1}.project-cta,.project-summary{position:relative;z-index:1;font-size:.92rem}.project-cta{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-weight:700}.project-card-disabled .project-cta{color:var(--muted);font-weight:600}.steps{display:grid;grid-gap:.85rem;gap:.85rem;margin:1.1rem 0 1.5rem}.step-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:1rem;gap:1rem;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.15rem 1.25rem;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.step-card:hover{border-color:rgba(31,107,92,.4);transform:translateY(-2px);box-shadow:var(--shadow)}.step-card h2{margin:0 0 .3rem;font-size:1.05rem;font-family:var(--display)}.step-card p{margin:0;color:var(--muted);line-height:1.45;font-size:.92rem}.step-num{display:inline-flex;width:2.35rem;height:2.35rem;border-radius:999px;align-items:center;justify-content:center;background:var(--accent-dim);color:var(--accent);font-weight:700;font-size:1rem;border:1px solid rgba(31,107,92,.22)}.step-status{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-2)}.status-pill.ok{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.status-pill.err{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.status-pill.idle{color:var(--muted)}.status-dot{width:.45rem;height:.45rem;border-radius:999px;background:currentColor}.step-go{color:var(--accent);font-weight:700;font-size:.88rem;white-space:nowrap}.next-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-radius:14px;border:1px solid rgba(31,107,92,.28);background:linear-gradient(90deg,rgba(31,107,92,.1),rgba(31,107,92,.03));margin-bottom:1.25rem}.next-banner strong{display:block;font-size:.95rem;margin-bottom:.15rem}.next-banner span{color:var(--muted);font-size:.88rem}.flow-rail{display:flex;align-items:center;gap:.45rem;margin:0 0 1.25rem;flex-wrap:wrap}.flow-rail-item{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--muted);font-size:.78rem;font-weight:600}.flow-rail-item.accent{color:var(--accent);border-color:rgba(31,107,92,.3);background:var(--accent-dim)}.login-shell{min-height:calc(100vh - 0px);display:grid;place-items:center;padding:2rem 1rem}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:1.75rem 1.6rem;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:1.25rem}.login-card form{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1rem}.login-card button[type=submit]{width:100%;margin-top:.35rem;padding:.75rem 1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--border-soft);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:.85rem}.stat b{display:block;font-size:1.4rem}.stat span{color:var(--muted);font-size:.85rem}.bars{display:flex;flex-direction:column;gap:.45rem}.bar-row{display:grid;grid-template-columns:110px 1fr 40px;grid-gap:.5rem;gap:.5rem;align-items:center;background:transparent;border:0;color:inherit;padding:.2rem 0;cursor:pointer;text-align:left;font-weight:500}.bar-row.active .bar-label{color:var(--accent)}.bar-track{height:10px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.bar-fill{display:block;height:100%;border-radius:999px;transition:width .25s ease}.bar-value{font-size:.85rem;color:var(--muted)}.stage-panel{display:flex;flex-direction:column;gap:1rem;width:100%}.stage-process{display:grid;grid-template-columns:1.4fr 1.2fr auto;grid-gap:1rem;gap:1rem;align-items:start;padding:.95rem 1.1rem;border-radius:12px;border:1px solid var(--border);background:var(--panel-2)}.stage-process-kicker{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem;font-weight:700}.stage-process-active strong,.stage-process-main strong{font-size:1.05rem;letter-spacing:-.02em}.stage-process-status{display:inline-block;margin-left:.55rem;font-size:.78rem;font-weight:700;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);vertical-align:middle}.stage-process-status.success{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.stage-process-status.error{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.stage-process-status.running{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.stage-process-time{color:var(--muted);font-size:.82rem;align-self:center}.stage-progress{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.85rem}.stage-progress-track{flex:1 1;height:10px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.stage-progress-fill{height:100%;background:var(--accent);transition:width .35s ease}.stage-graph{list-style:none;margin:0;display:flex;flex-wrap:nowrap;gap:0;align-items:stretch;width:100%;overflow-x:auto;padding:0 0 .35rem}.stage-wrap{display:flex;align-items:center;flex:1 1;min-width:0}.stage-node{flex:1 1 auto;min-width:132px;width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:14px;padding:.85rem .8rem;display:flex;flex-direction:column;gap:.28rem;color:var(--text);cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.stage-node:hover{transform:translateY(-1px)}.stage-node.success{border-color:var(--ok-border);background:var(--ok-bg)}.stage-node.error{border-color:var(--danger-border);background:var(--danger-bg)}.stage-node.running{border-color:var(--warn-border);background:var(--warn-bg);box-shadow:0 0 0 3px var(--warn-bg);animation:stage-pulse 1.4s ease-in-out infinite}.stage-node.skipped{opacity:.55}.stage-node.focus.selected,.stage-node.selected{box-shadow:0 0 0 2px rgba(31,107,92,.45)}.stage-node.focus:not(.selected){outline:2px dashed rgba(31,107,92,.55);outline-offset:2px}@keyframes stage-pulse{0%,to{box-shadow:0 0 0 3px var(--warn-bg)}50%{box-shadow:0 0 0 6px var(--warn-bg)}}.stage-top{display:flex;justify-content:space-between;align-items:center}.stage-num{width:1.55rem;height:1.55rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;background:rgba(28,36,48,.08)}.stage-title{font-weight:700;font-size:.92rem;line-height:1.25}.stage-node em,.stage-state{font-style:normal;color:var(--muted);font-size:.78rem;text-transform:lowercase}.stage-state.success{color:var(--ok);font-weight:700}.stage-state.error{color:var(--danger);font-weight:700}.stage-state.running{color:var(--warn);font-weight:700}.stage-meta{display:flex;gap:.45rem;flex-wrap:wrap}.stage-node small{color:var(--muted);font-size:.72rem}.stage-node .inferred,.stage-now{color:var(--warn)}.stage-now{margin-top:.15rem;font-size:.7rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.stage-now.err{color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;background:#556273;display:inline-block}.dot.success{background:var(--ok)}.dot.error{background:var(--danger)}.dot.running{background:var(--warn);box-shadow:0 0 0 3px rgba(181,129,10,.2)}.dot.skipped{background:#6b7785}.stage-connector{flex:0 0 18px;width:18px;height:4px;border-radius:999px;background:var(--border);margin:0 .2rem}.stage-connector.done{background:var(--ok)}.stage-connector.fail{background:var(--danger)}.stage-connector.live{background:var(--warn);animation:stage-pulse 1.4s ease-in-out infinite}@media (max-width:1100px){.stage-process{grid-template-columns:1fr}.stage-graph{flex-wrap:wrap;gap:.55rem}.stage-wrap{flex-grow:1;flex-shrink:1;flex-basis:calc(33.33% - 0.55rem);min-width:150px}.stage-connector{display:none}}.legend .pill.run{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.legend .pill.err{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.lvl{font-size:.75rem;padding:.1rem .4rem;border-radius:999px;border:1px solid var(--border)}.lvl.success{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.lvl.error{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.lvl.info{color:var(--info);border-color:var(--info-border);background:var(--info-bg)}.lvl.warning{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.pipeline-page{width:100%}.pipeline-page>.sub{max-width:none}.pipeline-toolbar label{min-width:180px;flex:1 1}.pipeline-run-select{flex:2 1;min-width:280px}.pipeline-card{width:100%}.guide-toc ol{margin:.5rem 0 0;padding-left:1.2rem;color:var(--muted);line-height:1.7}.guide-toc a{color:var(--accent)}.guide-toc a:hover{color:var(--text)}.guide-section h2{margin:0 0 .75rem;font-size:1.15rem}.guide-p{color:var(--muted);line-height:1.55;margin:0 0 .65rem}.guide-bullets,.guide-steps{color:var(--text);line-height:1.65;margin:.4rem 0 0;padding-left:1.2rem}.guide-bullets li,.guide-steps li{margin-bottom:.35rem;color:var(--muted)}.guide-section{scroll-margin-top:1rem}.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.client-card.muted{opacity:.75}.pill{font-size:.75rem;border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;color:var(--muted)}.pill.ok{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.mount-list{color:var(--muted);line-height:1.6}.mount-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.6rem;gap:.6rem}.mount-form input{width:100%}@media (max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--border-soft)}.main{padding:1.25rem 1.1rem 2rem}.grid-2{grid-template-columns:1fr}.step-card{grid-template-columns:auto 1fr}.step-go{display:none}}.inspect-page{width:100%}.inspect-page .sub{max-width:none}.inspect-toolbar{display:grid;grid-gap:.85rem;gap:.85rem}.inspect-entity-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.inspect-entity-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:.7rem .85rem;text-align:left}.inspect-entity-tabs button span{font-size:.75rem;font-weight:600;color:var(--muted)}.inspect-entity-tabs button.active{background:var(--accent-dim);border-color:rgba(31,107,92,.35);color:var(--accent-deep)}.inspect-meta{margin:0;color:var(--muted);font-size:.85rem}.inspect-compare h2{margin:0 0 .75rem;font-size:1.05rem}.inspect-diff-samples{margin-top:.75rem;color:var(--muted);font-size:.85rem}.inspect-diff-samples p{margin:.25rem 0}.inspect-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;margin-bottom:.85rem}.inspect-side{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.65rem;min-height:220px}.inspect-side-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.inspect-side-head h3{margin:0;font-size:1rem}.inspect-note{margin:.25rem 0 0;font-size:.78rem;color:var(--muted)}.inspect-side-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.inspect-winthor{border-color:var(--info-border);background:var(--info-bg)}.inspect-fastchannel{border-color:var(--ok-border);background:var(--ok-bg)}.inspect-middleware{border-color:var(--border);background:var(--neutral-bg);margin-bottom:1rem}.inspect-table-wrap{overflow:auto;max-height:420px;border-radius:10px;border:1px solid var(--border-soft);background:#fff}.inspect-table{width:100%;border-collapse:collapse;font-size:.8rem}.inspect-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel-2);z-index:1}.inspect-table td{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1000px){.inspect-grid{grid-template-columns:1fr}.inspect-entity-tabs{grid-template-columns:1fr 1fr}}.lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1rem;margin-top:1rem;align-items:start}.lab-grid,.lab-side{display:grid;gap:1rem}.lab-side{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem}.lab-fc .lab-table tbody tr{cursor:pointer}.lab-panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.lab-table-wrap{max-height:520px;overflow:auto}.lab-table-wrap .inspect-table{min-width:max-content}.lab-table td,.lab-table th{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.lab-table tbody tr{cursor:pointer}.lab-table tbody tr:hover{background:rgba(0,0,0,.03)}.lab-row-selected{background:rgba(34,120,90,.08)}.lab-check-col{width:36px;max-width:36px;text-align:center!important}.lab-json{max-height:280px;overflow:auto;font-size:.75rem;margin:0}.lab-json-edit{width:100%;min-height:220px;max-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.35;padding:.5rem .6rem;border:1px solid var(--border-soft);border-radius:8px;resize:vertical;background:#fafbfc}.lab-mapping{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border-soft)}.lab-mapping-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.lab-mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-gap:.75rem;gap:.75rem;align-items:stretch}.lab-mapping-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.75rem;color:var(--muted,#667)}.lab-mapping-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;max-height:2.4em;line-height:1.2;font-weight:600;color:var(--text,#334)}.lab-mapping-field input{width:100%;box-sizing:border-box;margin-top:auto;font-size:.85rem;font-weight:600;min-height:2.25rem}.lab-preview-list{display:grid;grid-gap:.85rem;gap:.85rem;max-height:520px;overflow:auto}.lab-preview-item{border:1px solid var(--border-soft);border-radius:10px;padding:.65rem;background:#fff}.lab-preview-item-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem}.lab-push-error-cell{max-width:420px;vertical-align:top}.lab-fc-error-detail{margin-top:.35rem}.lab-fc-error-detail summary{cursor:pointer;font-size:.75rem;color:var(--muted,#667)}.lab-results-table .lab-json{max-height:320px;margin-top:.35rem}.lab-warn-list{margin:0 0 .5rem;padding-left:1.1rem;color:#a33;font-size:.8rem}.lab-req{margin-top:.45rem}.lab-req-path{font-size:.8rem;margin-bottom:.25rem;word-break:break-all}@media (max-width:1000px){.lab-grid{grid-template-columns:1fr}}.changes-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr);grid-gap:1rem;gap:1rem;margin-top:1rem;align-items:start}.changes-detail{padding:.75rem .25rem;display:grid;grid-gap:.75rem;gap:.75rem}.changes-json-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.changes-before{color:#a33}.changes-after{color:#1a7a45;font-weight:600}.changes-run-list{list-style:none;margin:0;padding:0;max-height:640px;overflow:auto}.changes-run-list button{width:100%;text-align:left;display:flex;flex-direction:column;gap:.15rem;margin-bottom:.4rem;background:transparent;border:1px solid var(--border-soft);border-radius:8px;padding:.55rem .65rem;cursor:pointer}.changes-run-list button.active{border-color:#1a7a45;background:rgba(26,122,69,.08)}@media (max-width:1000px){.changes-json-grid,.changes-layout{grid-template-columns:1fr}}.path-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;grid-gap:.85rem;gap:.85rem;align-items:end;margin-bottom:.85rem}.path-selectors label{margin:0}.path-direction{margin:0 0 .75rem;color:var(--text);font-size:.95rem}.path-hint{margin:0 0 .85rem;padding:.75rem 1rem;border-radius:10px;background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn);font-weight:600}.path-board-card{margin-bottom:1rem}.path-board{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:.5rem .25rem .85rem}.path-hub-wrap{display:flex;align-items:center;flex:1 1;min-width:0}.path-hub{flex:1 1 auto;min-width:128px;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:#fff;border:2px dashed var(--border);border-radius:16px;padding:.95rem .85rem;color:var(--muted);opacity:.72}.path-hub.on-path{opacity:1;border-style:solid;color:var(--text);box-shadow:0 0 0 3px rgba(196,104,28,.12);border-color:#c4681c;background:#fff8f1}.path-hub.success.on-path{border-color:var(--ok-border);background:var(--ok-bg);box-shadow:none}.path-hub.error.on-path{border-color:var(--danger-border);background:var(--danger-bg)}.path-hub.running.on-path{border-color:var(--warn-border);background:var(--warn-bg);animation:stage-pulse 1.4s ease-in-out infinite}.path-hub-icon{width:2.1rem;height:2.1rem;border-radius:10px;background:linear-gradient(145deg,#e8a15a,#c4681c);margin-bottom:.25rem}.path-hub:not(.on-path) .path-hub-icon{background:var(--panel-2)}.path-hub strong{font-size:.78rem;letter-spacing:.06em}.path-hub>span{font-size:.8rem;font-weight:600}.path-hub-state{font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.04em;margin-top:.2rem}.path-hub-state.success{color:var(--ok)}.path-hub-state.error{color:var(--danger)}.path-hub-state.running{color:var(--warn)}.path-edge{flex:0 0 28px;height:4px;border-radius:999px;background:var(--border);margin:0 .2rem}.path-edge.lit{background:#c4681c;box-shadow:0 0 0 3px rgba(196,104,28,.15)}.path-edge.fail{background:var(--danger)}.path-edge.live{background:var(--warn);animation:stage-pulse 1.4s ease-in-out infinite}.path-legend{margin:0;color:var(--muted);font-size:.82rem}@media (max-width:900px){.path-selectors{grid-template-columns:1fr}.path-hub-wrap{flex:1 1 100%}.path-edge{display:none}.path-board{flex-direction:column;gap:.55rem}}.run-live-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.run-live-col h4{margin:0 0 .65rem;font-size:.95rem}.run-live-event{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;margin-bottom:.5rem;background:var(--surface)}.run-live-event-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.run-live-pre{margin:.5rem 0 0;padding:.55rem;font-size:.72rem;max-height:220px;overflow:auto;background:var(--bg);border-radius:6px;white-space:pre-wrap;word-break:break-word}@media (max-width:900px){.run-live-grid{grid-template-columns:1fr}}.run-live-log-scroll{max-height:min(60vh,560px);min-height:220px;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.45rem;padding:.5rem .65rem;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.run-live-log-line{flex-shrink:0}.run-live-log-line strong.price-delta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.run-price-updates-scroll{max-height:min(40vh,320px);overflow-y:auto;overscroll-behavior:contain}.run-monitor{display:flex;flex-direction:column;gap:1rem}.run-monitor-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem}.run-monitor-progress{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.run-monitor-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),#2e7d32);border-radius:999px;transition:width .35s ease}.run-monitor-stages{display:flex;flex-wrap:wrap;gap:.35rem}.run-stage-pill{font-size:.72rem;font-weight:700;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.run-stage-pill.done{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.run-stage-pill.active{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);animation:stage-pulse 1.4s ease-in-out infinite}.run-stage-pill.error{background:rgba(198,40,40,.1);border-color:rgba(198,40,40,.45);color:#c62828}.run-monitor-activity{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;background:var(--surface);display:flex;flex-direction:column;gap:.35rem}.run-monitor-activity-pulse{border-color:var(--warn-border);background:var(--warn-bg)}.run-monitor-activity.is-error{border-color:rgba(198,40,40,.45);background:rgba(198,40,40,.06)}.run-monitor-activity strong{font-size:1.05rem;line-height:1.35}.run-monitor-op{font-size:.78rem;opacity:.85}.run-monitor-fc-progress{margin:0}.run-monitor-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);grid-gap:1rem;gap:1rem;align-items:start}.run-monitor-log-section h4,.run-monitor-side-block h4{margin:0 0 .55rem;font-size:.95rem}.run-monitor-log{max-height:min(55vh,480px)}.run-live-log-line.is-latest{border-left:3px solid var(--accent);background:rgba(196,104,28,.06)}.run-monitor-side{display:flex;flex-direction:column;gap:1rem}.run-monitor-side-block{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:var(--bg)}.run-monitor-dispatch-list{margin:0;padding-left:1.1rem;font-size:.88rem}.run-monitor-dispatch-list li{margin-bottom:.35rem}.run-monitor-details-toggle{font-weight:600}.run-mapping-panel{margin:0;border:none;padding:0;background:transparent}.run-mapping-foot{clear:both;margin:.85rem 0 0;padding-top:.65rem;border-top:1px solid var(--border-soft);width:100%;font-size:.82rem}.mapping-hint{display:none}.run-monitor-hint{border-style:dashed}.run-monitor-loading{min-height:120px;justify-content:center}.run-monitor-spinner:after{content:" …";animation:stage-pulse 1s ease-in-out infinite}@keyframes row-flash{0%{background:rgba(46,125,50,.18)}to{background:transparent}}tr.row-flash{animation:row-flash 1.2s ease-out}@media (max-width:900px){.run-monitor-body{grid-template-columns:1fr}.run-monitor-log{max-height:min(45vh,360px)}}.run-live-log-line time{font-size:.75rem;opacity:.75;margin-left:auto}.run-live-log-line.lvl-warn{border-left:3px solid #ed6c02}.run-live-log-line.lvl-error{border-left:3px solid #c62828}.staging-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.staging-banner.ok{border-color:rgba(46,125,50,.35);background:rgba(46,125,50,.06)}.staging-banner.risk{border-color:rgba(198,40,40,.4);background:rgba(198,40,40,.06)}.staging-banner-channels{font-weight:600;font-size:.88rem}.staging-banner-note{margin:0;font-size:.82rem}.staging-banner-warn{font-size:.82rem}