:root{color:#1f2430;font-synthesis:none;--ink:#1f2430;--muted:#72798a;--line:#e2e5ee;--line-strong:#d5dae6;--line-subtle:#edf0f6;--surface:#fff;--surface-subtle:#f8f9fd;--sidebar:#f7f8fd;--blue:#4d7ff4;--blue-dark:#3769df;--blue-soft:#edf2ff;--green:#20a36c;--green-soft:#eaf8f1;--amber:#c37a15;--amber-soft:#fff5e4;--red:#d05050;--red-soft:#fff0f0;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}html{background:var(--sidebar);min-width:320px}body{background:#f6f7fb;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}code,pre,.mono-title{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}code{overflow-wrap:anywhere}.app-frame{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);color:#4f5768;background:var(--sidebar);flex-direction:column;height:100vh;padding:20px 14px 16px;display:flex;position:sticky;top:0}.brand{height:48px;color:inherit;align-items:center;gap:11px;margin:0 6px 25px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--blue);border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 12px #4d7ff438}.brand strong,.brand small,.account-row strong,.account-row small{display:block}.brand strong{font-size:15px;line-height:1.1}.brand small{color:#8b93a5;margin-top:3px;font-size:11px}.primary-nav{gap:17px;display:grid}.nav-group{gap:3px;display:grid}.nav-group-label{color:#959daf;text-transform:uppercase;padding:0 11px 5px;font-size:10px;font-weight:750}.primary-nav a{color:#5d6576;border-radius:6px;align-items:center;gap:10px;height:40px;padding:0 11px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.primary-nav a:hover{color:#3e6ee3;background:var(--blue-soft)}.primary-nav a.active{color:#3f6fe6;box-shadow:inset 2px 0 var(--blue);background:#e9efff}.sidebar-spacer{flex:1}.account-row{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) 32px;align-items:center;gap:9px;min-width:0;padding:13px 6px 0;display:grid}.account-row .avatar{color:#315aca;background:#dfe8ff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.account-row strong{color:#4c5567;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-row small{color:#9199aa;font-size:10px}.account-row .icon-button{background:0 0;width:30px;height:30px}.auth-screen{min-height:100vh;color:var(--ink);background:var(--surface);flex-direction:column;padding:34px clamp(22px,6vw,88px);display:flex}.auth-brand{color:#4f5768;align-items:center;gap:11px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:15px;line-height:1.1}.auth-brand small{color:#8b93a5;margin-top:3px;font-size:11px}.auth-content{width:min(520px,100%);margin:auto 0;padding:72px 0 110px}.auth-content h1{letter-spacing:0;margin:0;font-size:clamp(34px,5vw,58px);line-height:1.05}.auth-content>p:not(.eyebrow){max-width:470px;color:var(--muted);margin:18px 0 28px;font-size:15px}.auth-content .button{width:fit-content;min-height:42px;padding-inline:18px;text-decoration:none}.auth-state{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:10px}.auth-state strong{color:var(--ink);font-size:16px}.auth-state span{max-width:440px;font-size:12px}.auth-state .button{margin-top:8px}.workspace{background:#f6f7fb;min-width:0;min-height:100vh}.page-container{width:min(1220px,100%);margin:0 auto;padding:42px 44px 72px}.page-header{justify-content:space-between;align-items:flex-start;gap:28px;min-height:82px;margin-bottom:28px;display:flex}.page-header h1{color:var(--ink);letter-spacing:0;margin:0;font-size:28px;line-height:1.2}.page-header>div:first-child>p:last-child{max-width:700px;color:var(--muted);margin:8px 0 0;font-size:13px}.eyebrow{color:var(--blue);text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.header-actions,.button-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.button,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-weight:700;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.button{min-height:36px;padding:8px 13px;font-size:12px}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:var(--blue-dark)}.button.secondary{color:#475166;border-color:var(--line-strong);background:#fff}.button.secondary:hover,.button.ghost:hover{background:#f1f4fc}.button.ghost{color:#647085;background:0 0}.button.danger{color:var(--red);background:#fff;border-color:#e4b9b7}.button:disabled,.icon-button:disabled{opacity:.48;cursor:not-allowed}.icon-button{color:#647085;border-color:var(--line);background:#fff;width:32px;height:32px;padding:0;text-decoration:none}.icon-button:hover{color:var(--blue);background:var(--blue-soft);border-color:#b7c9f7}.icon-button.danger{color:var(--red)}.text-link{color:var(--blue);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.back-link{color:#647085;align-items:center;gap:6px;width:fit-content;margin:-12px 0 18px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--blue)}.project-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--line);min-height:190px;color:inherit;background:var(--surface);border-radius:8px;grid-template-rows:1fr auto;grid-template-columns:40px minmax(0,1fr);gap:15px;padding:22px;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:grid}.project-card:hover{border-color:#bdccf4;box-shadow:0 8px 24px #314b8814}.project-card h2{margin:1px 0 7px;font-size:16px}.project-card p{color:var(--muted);margin:0;font-size:12px}.project-card footer{border-top:1px solid var(--line-subtle);color:#7d8698;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:14px;font-size:11px;display:flex}.icon-tile{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.table-section,.panel-section,.composer{border:1px solid var(--line);background:var(--surface);border-radius:8px}.table-section{overflow:hidden}.section-heading{border-bottom:1px solid var(--line-subtle);color:#727b8e;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:14px 18px;display:flex}.section-heading h2{color:#303848;letter-spacing:0;margin:0;font-size:13px}.section-heading p{color:#8a93a4;margin:3px 0 0;font-size:11px}.section-heading>span{font-size:11px;font-weight:650}.data-table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:#788196;background:var(--surface-subtle);text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:800}.data-table td{border-top:1px solid var(--line-subtle);color:#444c5c;vertical-align:middle;min-width:80px;padding:13px 14px}.data-table tbody tr:hover{background:#fafbff}.data-table td:last-child{text-align:right;width:48px}.data-table td>small{color:#7b847f;margin-top:4px;font-size:10px;display:block}.cell-title{color:#303848;align-items:center;gap:8px;font-weight:750;display:flex}.cell-title svg{color:var(--blue);flex:none}.mono-title{color:#36405a;font-size:11px}.status-badge{color:#697386;text-transform:uppercase;white-space:nowrap;background:#f2f4f9;border:1px solid #d9deea;border-radius:5px;align-items:center;width:fit-content;max-width:100%;padding:3px 7px;font-size:9px;font-weight:850;display:inline-flex}.status-ready,.status-succeeded,.status-active,.status-verified,.status-candidate{color:#15855a;background:var(--green-soft);border-color:#bfe9d2}.status-running,.status-validating,.status-provisioning,.status-queued,.status-pending,.status-busy{color:#3e70e5;background:var(--blue-soft);border-color:#c8d7fb}.status-warning,.status-cancelling{color:#ae6910;background:var(--amber-soft);border-color:#f0d2a4}.status-failed,.status-cancelled,.status-revoked,.status-blocking,.status-purged,.status-offline,.status-degraded{color:#c63e3e;background:var(--red-soft);border-color:#f2c4c4}.compute-table td:last-child{text-align:left;white-space:nowrap;width:auto}.compute-table th:first-child,.compute-table td:first-child{min-width:220px}.compute-table th:nth-child(3),.compute-table td:nth-child(3){min-width:250px}.compute-table th:nth-child(6),.compute-table td:nth-child(6){min-width:160px}.compute-table th:nth-child(7),.compute-table td:nth-child(7){min-width:170px}.empty-state{text-align:center;color:#8b94a5;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:26px;display:flex}.empty-state svg{color:#a4adbd;margin-bottom:8px}.empty-state strong{color:#4b5568;font-size:13px}.empty-state p{max-width:420px;margin:5px 0 0;font-size:11px}.loading-state{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{border:1px solid;border-radius:6px;align-items:center;gap:8px;margin:14px 0;padding:11px 13px;font-size:12px;display:flex}.notice.success{color:#16815a;background:var(--green-soft);border-color:#bfe9d2}.notice.error{color:#c13f3f;background:var(--red-soft);border-color:#f2c4c4}.notice.warning{color:#ae6910;background:var(--amber-soft);border-color:#f0d2a4}.summary-strip{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));min-height:78px;margin-bottom:16px;display:grid}.summary-strip>div{border-right:1px solid var(--line-subtle);flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:15px 18px;display:flex}.summary-strip>div:last-child{border-right:0}.summary-strip span:first-child{color:#7d8698;text-transform:uppercase;font-size:10px;font-weight:750}.summary-strip strong,.summary-strip .text-link{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.two-column{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:16px;margin:16px 0;display:grid}.panel-section{min-width:0;overflow:hidden}.detail-list{margin:0}.detail-list>div{border-bottom:1px solid var(--line-subtle);grid-template-columns:minmax(110px,30%) minmax(0,1fr);align-items:center;gap:16px;min-height:48px;padding:10px 18px;display:grid}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:#7b8496;font-size:11px}.detail-list dd{color:#3e4759;text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px;font-weight:650}.detail-list code{font-size:10px;font-weight:500}.finding-list{padding:8px 16px 14px}.finding{border-bottom:1px solid var(--line-subtle);grid-template-columns:24px minmax(0,1fr);gap:8px;padding:13px 0;display:grid}.finding:last-child{border-bottom:0}.finding>span{color:var(--blue)}.finding-blocking>span{color:var(--red)}.finding header{justify-content:space-between;gap:10px;display:flex}.finding strong{text-transform:capitalize;font-size:11px}.finding p{color:#727b8e;margin:5px 0;font-size:11px}.finding code{font-size:10px}.manifest-block{padding:18px}.manifest-block>span{color:#788196;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.manifest-block>code{color:#496fc9;word-break:break-all;margin:7px 0 18px;font-size:10px;display:block}.manifest-block dl{margin:0}.manifest-block dl div{border-top:1px solid var(--line-subtle);justify-content:space-between;gap:12px;padding:8px 0;font-size:11px;display:flex}.manifest-block dt{color:#7d8698}.manifest-block dd{margin:0;font-weight:700}form label{color:#545e70;gap:6px;font-size:11px;font-weight:750;display:grid}input,select,textarea{color:#303848;background:#fff;border:1px solid #d5dae6;border-radius:5px;outline:none;width:100%;min-width:0}input,select{height:36px;padding:0 10px}textarea{resize:vertical;padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4d7ff421}input:disabled{color:#8992a4;background:#f2f4f9}.inline-form{border-bottom:1px solid var(--line-subtle);grid-template-columns:190px minmax(220px,1fr) 190px auto;align-items:end;gap:10px;padding:14px 18px;display:grid}.inline-form .grow{min-width:0}.inline-form .notice{grid-column:1/-1;margin:0}.drawer-backdrop{z-index:20;background:#0e141159;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-panel{width:min(440px,100vw);height:100%;color:var(--ink);background:#fff;overflow-y:auto;box-shadow:-14px 0 42px #28375c24}.side-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:74px;padding:18px 20px;display:flex}.side-panel h2{margin:0;font-size:17px}.side-panel form{gap:16px;padding:20px;display:grid}.side-panel footer{border-top:1px solid var(--line-subtle);justify-content:flex-end;gap:8px;padding-top:15px;display:flex}.bundle-format-hint{border-left:3px solid var(--blue);color:#667084;background:var(--blue-soft);align-items:flex-start;gap:9px;padding:11px 12px;font-size:10px;line-height:1.5;display:flex}.bundle-format-hint>svg{color:var(--blue);flex:none;margin-top:1px}.bundle-format-hint strong{color:#3f485a;margin-bottom:2px;font-size:11px;display:block}.bundle-format-hint p{margin:0}.bundle-format-hint code{font-size:10px}.file-drop{min-height:132px;color:var(--blue);cursor:pointer;text-align:center;background:#f7f9ff;border:1px dashed #aebff0;border-radius:7px;align-content:center;place-items:center;padding:20px}.file-drop strong{color:#3f485a;overflow-wrap:anywhere;max-width:100%}.file-drop span{color:#7d8698;font-size:10px;font-weight:500}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.progress-line{isolation:isolate;color:#365fbf;background:var(--blue-soft);border-radius:6px;place-items:center;height:36px;font-size:10px;font-weight:750;display:grid;position:relative;overflow:hidden}.progress-line span{z-index:-1;background:#cbd9ff;transition:width .12s;position:absolute;inset:0 auto 0 0}.composer{margin-bottom:16px;overflow:hidden}.composer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:14px 18px;display:flex}.composer>header>div{align-items:center;gap:10px;display:flex}.composer h2{margin:0;font-size:14px}.composer p{color:var(--muted);margin:3px 0 0;font-size:11px}.run-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:18px;display:grid}.training-view-options{border:1px solid var(--line);border-radius:6px;grid-column:1/-1;margin:0;padding:12px}.training-view-options legend{color:#545e70;padding:0 4px;font-size:11px;font-weight:750}.training-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.training-view-option{align-items:center;gap:8px;min-width:0;display:flex}.training-view-option input{flex:none;width:16px;height:16px;margin:0}.run-form .snapshot-review{background:var(--surface-subtle);border:1px solid #e1e6f1;border-radius:6px;grid-column:1/-1;grid-template-columns:90px minmax(0,1fr);gap:7px 12px;padding:12px;font-size:10px;display:grid}.snapshot-review span{color:#7d8698;text-transform:uppercase;font-weight:750}.snapshot-review strong,.snapshot-review code{overflow-wrap:anywhere;min-width:0}.run-form>.notice{grid-column:1/-1;margin:0}.run-form>.button{grid-column:1/-1;justify-self:end;width:fit-content}.tabs{border-bottom:1px solid var(--line-strong);gap:4px;height:44px;margin:20px 0 16px;display:flex}.tabs button{color:#737d90;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:88px;padding:0 13px;font-size:11px;font-weight:750}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.timeline{padding:6px 0}.timeline article{min-height:78px;padding:0 0 18px 42px;display:grid;position:relative}.timeline article:before{content:"";background:#d7ddea;width:1px;position:absolute;top:24px;bottom:0;left:14px}.timeline article:last-child:before{display:none}.timeline-dot{width:29px;height:29px;color:var(--blue);background:var(--blue-soft);border:1px solid #c4d2f6;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.timeline article>div{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;overflow:hidden}.timeline header{border-bottom:1px solid var(--line-subtle);justify-content:space-between;gap:12px;padding:10px 13px;display:flex}.timeline header strong{text-transform:capitalize;font-size:11px}.timeline time{color:#858fa1;font-size:10px}.timeline pre{color:#4b5568;background:#fafbff;max-height:240px;margin:0;padding:12px 13px;font-size:10px;line-height:1.6;overflow:auto}.metrics-stack{gap:16px;display:grid}.metric-chart-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;overflow:hidden}.live-indicator{color:var(--green);text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.live-indicator>span{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%}.metric-chart-summary{border-bottom:1px solid var(--line-subtle);grid-template-columns:repeat(3,minmax(0,1fr));min-height:72px;display:grid}.metric-chart-summary>div{border-right:1px solid var(--line-subtle);flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:13px 18px;display:flex}.metric-chart-summary>div:last-child{border-right:0}.metric-chart-summary span{color:#7d8698;text-transform:uppercase;font-size:9px;font-weight:750}.metric-chart-summary strong{color:#343d4f;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.metric-chart-scroll{padding:14px 16px 8px;overflow-x:auto}.metric-chart{width:100%;min-width:520px;height:auto;display:block}.metric-chart text{fill:#818a9c;font-size:10px}.metric-grid-line{stroke:#e7eaf2;stroke-width:1px}.metric-line{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;vector-effect:non-scaling-stroke}.metric-point{fill:#fff;stroke:var(--blue);stroke-width:2.5px;vector-effect:non-scaling-stroke}.lineage-layout{align-items:start}.lineage-list{padding:10px 16px 15px}.lineage-link{border-bottom:1px solid var(--line-subtle);grid-template-columns:30px minmax(0,1fr);gap:9px;min-width:0;padding:10px 0;display:grid}.lineage-link:last-child{border-bottom:0}.lineage-link>span{width:29px;height:29px;color:var(--blue);background:var(--blue-soft);border-radius:6px;place-items:center;display:grid}.lineage-link>div{min-width:0}.lineage-link strong,.lineage-link code,.lineage-link small{display:block}.lineage-link strong{color:#444e60;text-transform:capitalize;font-size:10px}.lineage-link code{overflow-wrap:anywhere;margin-top:3px;font-size:9px}.lineage-link small{color:#8992a4;margin-top:3px;font-size:9px}@media (width<=940px){.app-frame{grid-template-columns:190px minmax(0,1fr)}.page-container{padding:34px 28px 60px}.inline-form,.run-form{grid-template-columns:1fr 1fr}}@media (width<=700px){.app-frame{padding-bottom:64px;display:block}.sidebar{z-index:10;border-top:1px solid var(--line);border-right:0;width:100%;height:64px;padding:0 10px;display:block;position:fixed;inset:auto 0 0}.brand,.sidebar-spacer,.nav-group-label{display:none}.account-row{z-index:12;border:0;width:32px;padding:0;display:block;position:fixed;top:10px;right:12px}.account-row>.avatar,.account-row>span{display:none}.account-row .icon-button{background:#fff}.primary-nav{grid-template-columns:repeat(4,1fr);gap:3px;height:100%;display:grid}.nav-group{display:contents}.primary-nav a{border-radius:0;flex-direction:column;justify-content:center;gap:3px;height:100%;padding:5px 2px;font-size:9px}.primary-nav a.active{box-shadow:inset 0 2px var(--blue)}.page-container{padding:24px 16px 44px}.page-header{min-height:0;margin-bottom:22px;display:block}.page-header h1{font-size:23px}.header-actions{justify-content:flex-start;margin-top:15px}.header-actions .button{flex:1}.project-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line-subtle)}.summary-strip strong,.summary-strip .text-link{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.two-column,.inline-form,.run-form{grid-template-columns:1fr}.inline-form .notice,.run-form .snapshot-review,.run-form>.notice,.run-form>.button,.training-view-options{grid-column:1}.training-view-grid{grid-template-columns:1fr}.inline-form .button,.run-form>.button{width:100%}.tabs{overflow-x:auto}.tabs button{min-width:78px}.data-table{min-width:700px}.detail-list>div{grid-template-columns:100px minmax(0,1fr)}.metric-chart-summary{grid-template-columns:1fr 1fr}.metric-chart-summary>div:nth-child(2){border-right:0}.metric-chart-summary>div:last-child{border-top:1px solid var(--line-subtle);grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
