@font-face{font-family:__Hanken_Grotesk_9c618b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:__Hanken_Grotesk_9c618b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:__Hanken_Grotesk_9c618b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:__Hanken_Grotesk_9c618b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:__Hanken_Grotesk_Fallback_9c618b;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_9c618b{font-family:__Hanken_Grotesk_9c618b,__Hanken_Grotesk_Fallback_9c618b;font-style:normal}.__variable_9c618b{--font-sans:"__Hanken_Grotesk_9c618b","__Hanken_Grotesk_Fallback_9c618b"}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-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:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-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:__IBM_Plex_Mono_Fallback_595324;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:__IBM_Plex_Mono_595324,__IBM_Plex_Mono_Fallback_595324;font-style:normal}.__variable_595324{--font-mono:"__IBM_Plex_Mono_595324","__IBM_Plex_Mono_Fallback_595324"}:root{color-scheme:light;--font-ui:var(--font-sans),"Hanken Grotesk",-apple-system,sans-serif;--font-num:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;--paper:#faf9f6;--surface:#fff;--surface-sunken:#f2f0ea;--border:#e6e3da;--border-strong:#d6d2c5;--ink:#17181c;--ink-muted:#6b6a63;--ink-faint:#a6a49a;--accent:#b5540f;--accent-strong:#8f4209;--accent-soft:#f6e7d8;--valid:#1a7f4b;--valid-soft:#e3f3ea;--invalid:#c6362b;--invalid-soft:#fbe9e7;--risky:#b5540f;--risky-soft:#f6e7d8;--unknown:#6b6a63;--unknown-soft:#ececea;--shadow-sm:0 1px 2px rgba(23,24,28,.04);--shadow-md:0 6px 20px -8px rgba(23,24,28,.16);--radius:14px;--radius-sm:8px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:var(--surface-sunken);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:4px 6px 22px;margin-bottom:18px;border-bottom:1px solid var(--border)}.brand-mark{display:inline-flex;align-items:flex-end;gap:2px;height:18px}.brand-mark span{width:4px;border-radius:2px;background:var(--accent)}.brand-mark span:first-child{height:8px;opacity:.45}.brand-mark span:nth-child(2){height:13px;opacity:.7}.brand-mark span:nth-child(3){height:18px}.brand-word{font-weight:700;font-size:16px;letter-spacing:-.01em}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.sidebar-nav a{text-decoration:none;color:var(--ink-muted);font-size:13.5px;font-weight:600;padding:9px 10px;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.sidebar-nav a:hover{background:var(--surface);color:var(--ink)}.sidebar-foot{font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;padding:10px;font-family:var(--font-num)}.main{padding:40px 48px 60px;min-width:0}.main-inner{max-width:880px;margin:0 auto;animation:rise .4s ease both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1{font-size:24px;letter-spacing:-.015em;margin:0 0 4px}h1,h2{font-weight:700}h2{font-size:15px;letter-spacing:-.005em;margin:0 0 16px}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.subtitle{font-size:14px;margin:0 0 28px;max-width:60ch}.meta,.subtitle{color:var(--ink-muted)}.meta{font-size:12.5px;margin-top:3px}.num{font-family:var(--font-num);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}code{font-family:var(--font-num);font-size:.92em;background:var(--surface-sunken);border:1px solid var(--border);padding:1px 6px;border-radius:5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px 24px;margin-bottom:20px;animation:rise .45s ease both}.card+.card{animation-delay:.05s}form.inline{display:flex;gap:8px}input[type=file],input[type=text]{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:9px 12px;font-size:13.5px;font-family:var(--font-ui);color:var(--ink)}input[type=text]{flex:1 1}input[type=file]:focus,input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{margin-bottom:14px;font-size:13.5px}.field label{display:block;font-size:12px;font-weight:600;color:var(--ink-muted);margin-bottom:6px}button{background:var(--ink);color:var(--paper);border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:13.5px;font-weight:600;font-family:var(--font-ui);cursor:pointer;transition:transform .1s ease,background .15s ease,opacity .15s ease}button:hover{background:#000}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}a>button{pointer-events:none}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:0 12px 10px}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{padding:14px 12px;vertical-align:middle;font-size:13.5px}.data-table tr:last-child td{border-bottom:none}.data-table tr{transition:background .12s ease}.data-table tbody tr:hover{background:var(--surface-sunken)}.data-table a.row-link{text-decoration:none;font-weight:600;color:var(--ink)}.data-table a.row-link:hover{color:var(--accent-strong)}.empty-state{color:var(--ink-muted);font-size:13.5px;padding:20px 4px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill-pending,.pill-running_mtn,.pill-running_n2b{background:var(--risky-soft);color:var(--accent-strong)}.pill-running_mtn .pill-dot,.pill-running_n2b .pill-dot{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pill-needs_approval{background:var(--risky-soft);color:var(--accent-strong)}.pill-completed{background:var(--valid-soft);color:var(--valid)}.pill-failed{background:var(--invalid-soft);color:var(--invalid)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:16px}.stat{background:var(--surface);padding:14px 16px;text-align:left}.stat .value{font-family:var(--font-num);font-size:22px;font-weight:600;letter-spacing:-.01em;display:block}.stat .label{font-size:10.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;display:block}.progress-track{height:10px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--border);overflow:hidden;display:flex;margin:4px 0 10px}.progress-track span{height:100%;transition:width .5s ease}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:4px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-item .num{color:var(--ink);font-weight:600}.warning{background:var(--risky-soft);border:1px solid #e8c39a;color:var(--accent-strong);padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.5px}.btn-danger{background:var(--invalid)}.btn-danger:hover{background:#a92c22}.btn-danger-ghost{background:transparent;color:var(--invalid);border:1px solid var(--border-strong)}.btn-danger-ghost:hover{background:var(--invalid-soft);border-color:#eab3ac}.btn-quiet{background:transparent;color:var(--ink-muted);border:1px solid var(--border-strong)}.btn-quiet:hover{background:var(--surface-sunken);color:var(--ink)}.confirm-box{background:var(--invalid-soft);border:1px solid #eab3ac;border-radius:var(--radius-sm);padding:16px 18px;font-size:13.5px;max-width:520px}.confirm-box .meta{color:#9c2e25}.card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-actions{display:flex;gap:12px;justify-content:flex-end}.link-action{font-size:12.5px;font-weight:600;color:var(--ink-muted);text-decoration:none}.link-action:hover{color:var(--accent-strong)}.error-banner{background:var(--invalid-soft);border:1px solid #eab3ac;color:var(--invalid);padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.5px}.error-banner .meta{color:#9c2e25}.back-link{display:inline-block;color:var(--ink-muted);text-decoration:none;font-size:12.5px;margin-bottom:14px}.back-link:hover{color:var(--ink)}.kv-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}.kv-row:last-child{border-bottom:none}.kv-row .k{color:var(--ink-muted)}