:root{color:#142033;font-synthesis:none;text-rendering:optimizelegibility;--blue:#1457d9;--blue-soft:#edf4ff;--line:#dce3ec;--muted:#68758a;--green:#18a957;--red:#e43737;--amber:#db8b08;--surface:#fff;background:#f4f7fb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f4f7fb;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-loading{min-height:100vh;color:var(--muted);place-items:center;font-size:14px;display:grid}.app-shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:216px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid var(--line);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;height:64px;padding:0 18px;font-size:14px;font-weight:710;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid}.sidebar nav{gap:5px;padding:16px 10px;display:grid}.sidebar nav button,.logout-button{color:#37445a;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;height:42px;padding:0 12px;font-size:13px;font-weight:590;display:flex}.sidebar nav button:hover,.logout-button:hover{color:#17243a;background:#f4f7fb}.sidebar nav button.active{color:var(--blue);background:var(--blue-soft);box-shadow:inset 2px 0 var(--blue)}.logout-button{margin:auto 10px 14px}.workspace{grid-column:2;min-width:0}.topbar{z-index:15;border-bottom:1px solid var(--line);background:#fffffff7;justify-content:space-between;align-items:center;height:64px;padding:0 26px;display:flex;position:sticky;top:0}.topbar h1{color:#101a2b;letter-spacing:-.035em;margin:0;font-size:23px}.system-status{align-items:stretch;height:42px;display:flex}.status-item{border-left:1px solid var(--line);align-items:center;gap:9px;min-width:128px;padding:0 16px;display:flex}.status-item:first-child{border-left:0}.status-item>span:last-child{gap:2px;display:grid}.status-item strong{font-size:12px;font-weight:680}.status-item small{color:var(--muted);font-size:10px}.live-dot{border-radius:50%;flex:none;width:7px;height:7px}.live-dot.online{background:var(--green);animation:2.2s ease-in-out infinite breathe;box-shadow:0 0 0 4px #e7f8ee}.live-dot.offline{background:#9aa5b4}@keyframes breathe{50%{box-shadow:0 0 0 6px #18a95714}}.queue-layout{min-height:calc(100vh - 64px);display:flex}.queue-content{flex:1;min-width:0;padding:20px 24px 16px}.queue-actions{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.queue-actions p{color:var(--muted);margin:0;font-size:12px}.primary-button,.secondary-button,.danger-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 15px;font-size:12px;font-weight:680;display:inline-flex}.primary-button{color:#fff;background:var(--blue);border:1px solid #0b4fcd;box-shadow:0 1px 2px #1457d92e}.primary-button:hover{background:#0e4ec8}.secondary-button{border:1px solid var(--line);color:#28364b;background:#fff}.danger-button{color:#d32323;background:#fff;border:1px solid #ef4c4c;width:100%}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:7px;align-content:space-between;min-height:111px;padding:15px 16px 13px;display:grid}.metric-label{color:#4d5a6f;align-items:center;gap:8px;font-size:12px;font-weight:610;display:flex}.metric-label svg{width:17px;height:17px}.metric.success .metric-label svg{color:var(--green)}.metric.danger .metric-label svg{color:var(--red)}.metric>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:29px;line-height:1}.metric>small{color:var(--muted);font-size:10px}.table-toolbar{align-items:center;gap:10px;height:48px;padding:6px 0;display:flex}.search-field{color:#6a778a;border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:8px;width:min(320px,45%);height:36px;padding:0 11px;display:flex}.search-field input{color:#223047;background:0 0;border:0;outline:0;width:100%;font-size:12px}.select-field{height:36px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:5px;padding:0 6px 0 11px;font-size:11px;display:flex}.select-field select{color:#26344a;background:#fff;border:0;outline:0;font-size:11px}.run-table-wrap,.schedule-table-wrap{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:auto}.run-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}.run-table th{color:#4f5d70;border-bottom:1px solid var(--line);text-align:left;background:#fbfcfe;height:39px;padding:0 14px;font-size:10px;font-weight:660}.run-table td{color:#334057;font-variant-numeric:tabular-nums;border-bottom:1px solid #e6ebf1;height:43px;padding:0 14px}.run-table tbody tr:last-child td{border-bottom:0}.run-table tbody tr{transition:background .15s,box-shadow .15s}.run-table tbody tr:hover{background:#f8faff}.run-table tbody tr.selected{box-shadow:inset 3px 0 var(--blue), inset 0 0 0 1px #8cb5ff;background:#f2f7ff}.run-link{color:#1d3557;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0;font-size:11px;font-weight:650}.run-status{color:#48566a;align-items:center;gap:7px;font-size:10px;font-weight:620;display:inline-flex}.run-status i{background:#929dad;border-radius:50%;width:6px;height:6px}.run-status.running i{background:var(--blue);box-shadow:0 0 0 3px #e7efff}.run-status.succeeded i{background:var(--green)}.run-status.failed i{background:var(--red)}.run-status.cancelled i{background:var(--amber)}.table-empty,.schedule-empty{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:7px;font-size:12px;display:grid}.table-footer{color:var(--muted);padding-top:12px;font-size:10px}.details-drawer{border-left:1px solid var(--line);background:#fff;flex-direction:column;flex:none;width:332px;height:calc(100vh - 64px);display:flex;position:sticky;top:64px}.details-drawer>header{justify-content:space-between;align-items:flex-start;min-height:74px;padding:18px 18px 12px;display:flex}.details-drawer h2{letter-spacing:-.025em;margin:0 0 5px;font-size:18px}.details-drawer header span{color:var(--muted);font-size:11px}.icon-button{color:#526075;background:0 0;border:0;border-radius:5px;place-items:center;width:30px;height:30px;padding:0;display:grid}.icon-button:hover{background:#f2f5f9}.details-status{align-items:center;gap:10px;min-height:35px;padding:0 18px;display:flex}.details-status>span:last-child{color:var(--amber);font-size:10px}.run-metadata{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:11px;margin:5px 18px 12px;padding:12px 0;display:grid}.run-metadata div{min-width:0}.run-metadata .wide{grid-column:1/-1}.run-metadata dt{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-size:9px}.run-metadata dd{color:#2b394f;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.detail-tabs{border-bottom:1px solid var(--line);margin:0 18px;display:flex}.detail-tabs button{color:#657287;background:0 0;border:0;border-bottom:2px solid #0000;min-width:70px;height:34px;padding:0;font-size:11px;font-weight:620}.detail-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.detail-tabs span{background:#eef2f7;border-radius:8px;place-items:center;min-width:16px;height:16px;margin-left:3px;font-size:9px;display:inline-grid}.detail-scroll{flex:1;min-height:0;padding:16px 18px;overflow:auto}.step-list{margin:0;padding:0;list-style:none}.step-list li{gap:11px;min-height:50px;display:flex;position:relative}.step-list li:not(:last-child):after{content:"";background:#d9e1ea;width:1px;position:absolute;top:23px;bottom:2px;left:10px}.step-icon{z-index:1;color:#718096;background:#fff;border:1px solid #b6c1cf;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;display:grid;position:relative}.step-icon.complete{color:var(--green);background:#effbf4;border-color:#8bd4a9}.step-list strong{color:#2b394f;text-transform:capitalize;margin-top:2px;font-size:11px;font-weight:620;display:block}.step-list small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.empty-detail{color:var(--muted);font-size:11px}.artifact-list{gap:7px;display:grid}.artifact-list a{color:#344258;border:1px solid var(--line);border-radius:6px;gap:9px;padding:10px;text-decoration:none;display:flex}.artifact-list a:hover{background:#f7faff;border-color:#9bbcff}.artifact-list span{gap:3px;display:grid}.artifact-list strong{font-size:10px}.artifact-list small{color:var(--muted);font-size:9px}.screenshot-preview{border:1px solid var(--line);border-radius:6px;margin:16px 0 0;padding:10px}.screenshot-preview figcaption{margin-bottom:8px;font-size:10px;font-weight:650}.screenshot-preview img{object-fit:contain;background:#f4f6f9;border:1px solid #e5eaf0;width:100%;max-height:190px;display:block}.run-error{color:#922626;background:#fff4f4;border:1px solid #ffd1d1;border-radius:6px;margin-top:14px;padding:11px;font-size:10px}.run-error p{margin:5px 0 0;line-height:1.45}.details-drawer>footer{border-top:1px solid var(--line);padding:14px 18px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#111b2c4d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #d7dee8;border-radius:9px;width:min(440px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 22px 70px #121e322e}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:19px 20px 14px;display:flex}.modal h2{margin:0;font-size:18px}.modal header p{color:var(--muted);margin:5px 0 0;font-size:11px}.modal form{gap:15px;padding:18px 20px 20px;display:grid}.modal form label,.login-panel label{color:#3c495c;gap:7px;font-size:11px;font-weight:640;display:grid}.modal input,.modal select,.login-panel input{color:#25334a;background:#fff;border:1px solid #cfd8e4;border-radius:6px;outline:0;width:100%;height:39px;padding:0 11px;font-size:12px}.modal input:focus,.modal select:focus,.login-panel input:focus{border-color:#7da8f5;box-shadow:0 0 0 3px #edf4ff}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-hint{color:var(--muted);font-weight:450}.modal form .checkbox-field{align-items:center;gap:9px;display:flex}.modal form .checkbox-field input{width:16px;height:16px;accent-color:var(--primary);margin:0}.form-note{color:#526078;background:#f6f8fb;border:1px solid #e3e8f0;border-radius:6px;margin:-4px 0 0;padding:10px 11px;font-size:10px;line-height:1.45}.modal form footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form-error{color:#c92b2b;margin:0;font-size:10px;line-height:1.45}.login-screen{background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:#fff;border-radius:10px;width:min(390px,100%);padding:32px;box-shadow:0 16px 50px #16243a14}.login-panel h1{letter-spacing:-.035em;margin:20px 0 7px;font-size:24px}.login-panel>p{color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.55}.login-panel form{gap:13px;display:grid}.login-button{width:100%;margin-top:4px}.login-panel a.login-button{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.schedules-view{padding:26px}.schedules-view>header{margin-bottom:18px}.schedules-view h2{margin:0 0 6px;font-size:18px}.schedules-view p{color:var(--muted);margin:0;font-size:11px}.schedule-empty strong{color:#344258}.schedule-empty p{margin:0}code{color:#36435a;background:#f1f4f8;border-radius:4px;padding:3px 5px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}@media (width<=1050px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{width:72px}.brand{justify-content:center;padding:0}.brand>span:last-child,.sidebar nav button{font-size:0}.sidebar nav button{justify-content:center;padding:0}.sidebar nav button svg{width:19px;height:19px}.logout-button{justify-content:center;padding:0;font-size:0}.workspace{grid-column:2}.status-item{min-width:auto;padding:0 10px}.status-item small{display:none}.details-drawer{z-index:25;position:fixed;top:64px;right:0;box-shadow:-14px 0 35px #19263c1f}}@media (width<=720px){.app-shell{display:block}.sidebar{border:0;border-top:1px solid var(--line);flex-direction:row;align-items:center;width:auto;height:58px;position:fixed;inset:auto 0 0}.brand,.logout-button{display:none}.sidebar nav{grid-template-columns:1fr 1fr;width:100%;padding:6px}.sidebar nav button,.sidebar nav button:not(.active){justify-content:center;font-size:11px}.workspace{padding-bottom:58px}.topbar{align-items:flex-start;gap:12px;height:auto;min-height:64px;padding:14px 16px}.topbar h1{font-size:20px}.system-status{flex-wrap:wrap;justify-content:flex-end;gap:8px;height:auto}.status-item{border:0;padding:0}.status-item:nth-child(2){display:none}.status-item strong{font-size:10px}.queue-content{padding:14px 12px}.queue-actions p{display:none}.queue-actions{justify-content:flex-end}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:94px}.search-field{width:100%}.select-field,.run-table th:nth-child(4),.run-table td:nth-child(4),.run-table th:nth-child(5),.run-table td:nth-child(5),.run-table th:nth-child(6),.run-table td:nth-child(6){display:none}.details-drawer{width:100%;height:calc(100vh - 58px);inset:0}.schedules-view{padding:18px 12px}.login-panel{padding:25px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
