@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-red:#d7282f;--brand-yellow:#ffcd00;--brand-black:#231f20;--color-bg:#e4e6e8;--color-surface:#fff;--color-border:#dadce0;--color-text:#202124;--color-muted:#5f6368;--color-accent:#1a73e8;--color-accent-hover:#1557b0;--color-good:#02854f;--color-good-bg:#02854f1f;--color-warn:#7a5b00;--color-warn-bg:#ffcd0033;--color-bad:var(--brand-red);--color-bad-bg:#d7282f1a;font-family:Roboto,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(135deg,#e8eaed 0%,#f1f3f4 40%,#e3e5e8 100%);background-attachment:fixed;margin:0}button{font-family:inherit}.app-shell{min-height:100vh}.hero-header{position:relative}.hero-photo{background-image:url(/assets/hero-banner-CUDdN_c2.jpg);background-position:50% 65%;background-size:cover;width:100%;height:88px;position:relative}.hero-overlay{background:linear-gradient(#0000,#0003);position:absolute;inset:0}.hero-logo-box{color:inherit;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;text-decoration:none;display:flex;position:absolute;top:14px;left:20px;box-shadow:0 2px 6px #00000040}.hero-logo-box img{width:auto;height:36px;display:block}.hero-app-name{color:var(--brand-black);white-space:nowrap;font-size:14px;font-weight:700}.hero-user{align-items:center;gap:10px;display:flex;position:absolute;top:12px;right:20px}.hero-user-name{color:#fff;text-transform:uppercase;letter-spacing:.03em;text-align:right;text-shadow:0 1px 3px #0009;font-size:12px;font-weight:700}.hero-signout{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff9;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:11px}.hero-signout:hover{background:#0000008c}.mobile-nav-trigger{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff9;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;font-size:16px;line-height:1;display:none}.mobile-nav-trigger:hover{background:#0000008c}.app-body{align-items:flex-start;gap:24px;padding:24px 20px 60px;display:flex}.main{flex:auto;min-width:0;max-width:1200px}.hero{padding:8px 4px 24px}.hero h1{margin:0 0 8px;font-size:26px}.hero p{color:var(--color-muted);margin:0}.tile{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);min-height:140px;color:inherit;border-radius:8px;justify-content:center;align-items:center;padding:20px;text-decoration:none;display:flex;box-shadow:0 1px 3px #3c40431f;container-type:inline-size}.tile:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #3c40432e}.empty-state{color:var(--color-muted);margin-top:16px}.sign-in-gate{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;max-width:400px;margin:15vh auto 0;padding:32px;box-shadow:0 1px 3px #3c40431f}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #3c40431f}.run-id{color:var(--color-muted);margin:0}.run-id code{background:var(--color-bg);border-radius:4px;padding:2px 6px;font-size:13px}.run-detail-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.collapsible-toggle{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.collapsible-toggle input{cursor:pointer;width:16px;height:16px}.collapsible-toggle-title{font-size:15px}.collapsible-toggle-hint{color:var(--color-muted);font-size:13px;font-weight:400}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;box-shadow:0 1px 2px #3c404314}.btn:hover{border-color:var(--color-accent)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn.primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn.ghost{box-shadow:none;color:var(--color-muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--color-text);border-color:var(--color-border);background:var(--color-bg)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:5px 10px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field.full{grid-column:1/-1}.field label,.field>span{font-size:13px;font-weight:500}.field input,.field select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);outline:none}.checkbox-list{flex-wrap:wrap;gap:12px;display:flex}.checkbox-list-item{align-items:center;gap:6px;font-size:14px;font-weight:400;display:flex}.table-scroll{overflow-x:auto}table.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:13px}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}table.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-bg);font-size:11px}table.data-table tr:last-child td{border-bottom:none}.pill{color:var(--color-muted);white-space:nowrap;background:#5f63681f;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.pill.status-in_progress{color:var(--color-accent);background:#1a73e81f}.pill.status-completed{background:var(--color-good-bg);color:var(--color-good)}.pill.status-failed{background:var(--color-bad-bg);color:var(--color-bad)}.pill.status-paused{background:var(--color-warn-bg);color:var(--color-warn)}.stage-progress-status{margin:0 0 12px}.stage-progress ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.stage-step{color:var(--color-muted);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.stage-step-index{background:var(--color-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.stage-step-label{flex:auto}.stage-step-duration{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:12px}.stage-step-done .stage-step-index{background:var(--color-good-bg);color:var(--color-good)}.stage-step-done .stage-step-label{color:var(--color-text)}.stage-step-current{background:#1a73e814}.stage-step-current .stage-step-index{background:var(--color-accent);color:#fff}.stage-step-current .stage-step-label{color:var(--color-text);font-weight:600}.stage-step-current .stage-step-duration{color:var(--color-accent);font-weight:600}.stage-step-failed{background:var(--color-bad-bg)}.stage-step-failed .stage-step-index{background:var(--color-bad);color:#fff}.stage-step-failed .stage-step-label{color:var(--color-bad);font-weight:600}.failure-banner{background:var(--color-bad-bg);border:1px solid var(--color-bad);color:var(--color-bad);border-radius:8px;margin-bottom:20px;padding:12px 16px}.failure-banner p{margin:0 0 4px}.failure-banner p:last-child{margin-bottom:0}.upload-audit-note{color:var(--color-muted);margin:0 0 12px;font-size:13px}.upload-zones{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.upload-zone h3{margin:0 0 8px;font-size:14px}.upload-zone-empty{color:var(--color-muted);font-size:13px}.upload-zone-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.upload-zone-list li{background:var(--color-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.upload-zone-filename{text-overflow:ellipsis;flex:auto;min-width:0;font-weight:500;overflow:hidden}.upload-zone-rejection-reason{color:var(--color-bad);flex-basis:100%;margin:2px 0 0;font-size:12px}.upload-zone-list button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:12px}.coverage-gap-dialog{background:var(--color-warn-bg);border:1px solid var(--color-warn);border-radius:8px;margin-bottom:20px;padding:16px 20px}.coverage-gap-dialog h2{margin:0 0 8px;font-size:16px}.coverage-gap-dialog h3{margin:12px 0 4px;font-size:13px}.results-table{overflow-x:auto}.results-table table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:13px}.results-table th,.results-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}.results-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-bg);font-size:11px}.results-table tr:last-child td{border-bottom:none}.ai-badge{color:var(--color-accent);white-space:nowrap;background:#1a73e81f;border-radius:999px;padding:2px 6px;font-size:10.5px;font-weight:700}.results-table-pagination{color:var(--color-muted);align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.results-table-pagination button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:5px 10px;font-family:inherit}.results-table-pagination button:disabled{opacity:.5;cursor:default}.run-history-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.run-history-row-new{box-shadow:inset 3px 0 0 0 var(--color-accent);background:#1a73e814}.sortable-column-header{font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:11px}.sortable-column-header:hover{color:var(--color-text)}.results-panel dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 16px;display:grid}.results-panel dt{color:var(--color-muted);font-size:13px}.results-panel dd{margin:0;font-weight:500}.download-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.download-error{color:var(--color-bad);font-size:13px}.export-history-list{color:var(--color-muted);flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.metrics-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.metrics-stats-nested{margin-bottom:16px}.metrics-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.metrics-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:11px}.metrics-stat-value{font-size:24px;font-weight:700}.metrics-stat-hint{color:var(--color-muted);font-size:12px}.metrics-widgets{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.metrics-widgets.is-refreshing{opacity:.6}.metrics-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.metrics-widget-wide{grid-column:1/-1}.metrics-widget-header h3{margin:0 0 12px;font-size:15px}.metrics-session-active-title{color:var(--color-muted);margin:0 0 8px;font-size:13px}.metrics-modal-backdrop{z-index:100;background:#20212480;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.metrics-modal-panel{background:var(--color-surface);border-radius:8px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 24px #3c40434d}.metrics-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.metrics-modal-header h3{margin:0}.metrics-modal-subtitle{color:var(--color-muted);margin:4px 0 0;font-size:13px}.metrics-modal-body{padding:16px 20px;overflow-y:auto}.app-sidebar{flex-direction:column;flex-shrink:0;width:260px;min-height:0;display:flex}.app-sidebar-scroll{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.sidebar-tool-list{flex-direction:column;gap:10px;display:flex}.sidebar-tool{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;min-height:0;padding:12px 14px;display:flex}.sidebar-tool-available{cursor:pointer}.sidebar-tool-unavailable{color:var(--color-muted);background:var(--color-bg);cursor:default}.sidebar-tool-unavailable:hover{border-color:var(--color-border);box-shadow:0 1px 3px #3c40431f}.sidebar-tool-label{font-size:14px;font-weight:600}.sidebar-tool-description{color:var(--color-muted);font-size:12px}.sidebar-tool-contact{color:var(--color-muted);font-size:12px;font-style:italic}.sidebar-admin-section{border-top:1px solid var(--color-border);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:11px;font-weight:700}.sidebar-admin-link{color:var(--color-accent);padding:4px 2px;font-size:13px;font-weight:500;text-decoration:none}.sidebar-admin-link:hover{color:var(--color-accent-hover);text-decoration:underline}.sidebar-skeleton{flex-direction:column;gap:10px;display:flex}.sidebar-skeleton-row{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-border) 37%, var(--color-bg) 63%);background-size:400% 100%;border-radius:8px;height:64px;animation:1.4s infinite sidebar-skeleton-shimmer}@keyframes sidebar-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.sidebar-error{background:var(--color-bad-bg);border:1px solid var(--color-bad);color:var(--color-bad);border-radius:8px;padding:12px 14px}.sidebar-error-title{margin:0 0 4px;font-weight:600}.sidebar-error-detail{margin:0;font-size:12px}@media (width<=640px){.hero-user-name{display:none}.metrics-widgets{grid-template-columns:1fr}.mobile-nav-trigger{display:inline-flex}.app-sidebar{display:none}.app-sidebar.app-sidebar--open{z-index:40;background:var(--color-surface);width:85vw;max-width:320px;height:100vh;padding:20px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 16px #0000004d}.app-sidebar.app-sidebar--open .app-sidebar-scroll{overflow-y:auto}.sidebar-backdrop{z-index:30;background:#00000073;position:fixed;inset:0}}
