:root{color-scheme:dark;--bg: #07090d;--bg-2: #0c1016;--panel: rgba(17, 22, 29, .88);--panel-2: rgba(11, 15, 21, .92);--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .18);--text: #f6f3ee;--muted: #a7a7ad;--faint: #6f747d;--orange: #ff6b00;--orange-2: #ff9b35;--green: #32c766;--blue: #60a5fa;--red: #ff584d;--gray: #9ca3af;--shadow: 0 18px 70px rgba(0, 0, 0, .38);--radius: 8px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:linear-gradient(135deg,rgba(255,107,0,.08),transparent 26%),radial-gradient(circle at 82% 12%,rgba(255,107,0,.12),transparent 28%),linear-gradient(180deg,#0a0d12,#050609)}button,input,textarea,select{font:inherit}button{color:inherit}a{color:var(--orange-2);text-decoration:none}a:hover{color:#ffb464}.app-shell{min-height:100dvh;padding:0 16px 16px}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:58px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{padding:0 22px 0 6px;color:var(--orange);font-size:24px;font-weight:800;letter-spacing:0}.tabs{display:flex;align-items:stretch;height:58px}.tab{position:relative;min-width:100px;padding:0 18px;border:0;background:transparent;color:#c9cbd1;font-size:16px;cursor:pointer}.tab.active{color:var(--text);background:#ffffff08}.tab.active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--orange)}.top-actions{display:flex;align-items:center;gap:12px;color:var(--muted)}.icon-button,.ghost-button,.primary-button,.secondary-button,.download-button,.fix-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--radius);border:1px solid var(--line-strong);background:#ffffff08;color:var(--text);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,opacity .14s ease}.icon-button{width:38px;height:38px;border-color:transparent;background:transparent}.icon-button.small{width:34px;height:34px}.icon-button:disabled,.primary-button:disabled,.secondary-button:disabled,.download-button:disabled,.ghost-button:disabled,.fix-button:disabled{cursor:not-allowed;opacity:.45}.icon-button:not(:disabled):hover,.ghost-button:not(:disabled):hover,.secondary-button:not(:disabled):hover{border-color:#ffffff47;background:#ffffff12}.fix-button:not(:disabled):hover{border-color:#ff9a35b3;background:#ff6b001f}.primary-button:not(:disabled):hover,.download-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 38px #ff6b0042}.run-state{display:inline-flex;align-items:center;min-width:124px;gap:8px;padding-left:14px;border-left:1px solid var(--line);font-size:13px}.run-state span{width:8px;height:8px;border-radius:50%;background:var(--gray)}.run-state.active span{background:var(--orange);box-shadow:0 0 18px #ff6b00b3}.workspace{display:grid;grid-template-columns:minmax(290px,376px) minmax(520px,1fr) minmax(260px,290px);gap:12px;padding:14px 0 12px}.control-rail,.table-panel,.summary-panel,.log-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),var(--panel);box-shadow:var(--shadow)}.control-rail{padding:16px}.intro-block{padding-bottom:18px}.intro-block h1{max-width:350px;margin:0 0 12px;font-size:clamp(24px,2.2vw,33px);line-height:1.05;letter-spacing:0}.intro-block p{max-width:330px;margin:0;color:var(--muted);font-size:16px;line-height:1.45}.field-label,.number-field span{display:block;margin:15px 0 8px;color:#dedfe5;font-size:13px}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;top:50%;left:12px;color:var(--muted);transform:translateY(-50%)}input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:#03050994;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:#ff6b00b8;box-shadow:0 0 0 3px #ff6b0024}.input-with-icon input{height:40px;padding:0 12px 0 38px}textarea{min-height:144px;resize:vertical;padding:12px;color:#cdd0d8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.6}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.number-field div{position:relative}.number-field input{height:40px;padding:0 34px 0 12px}.number-field em{position:absolute;right:11px;top:50%;color:var(--muted);font-size:12px;font-style:normal;transform:translateY(-50%);pointer-events:none}.rail-actions{display:grid;gap:9px;padding-top:14px}.primary-button,.secondary-button,.download-button,.fix-button{width:100%;min-height:42px;padding:0 15px;font-size:15px;font-weight:650}.primary-button,.download-button{border-color:#ff6b00cc;background:linear-gradient(180deg,#ff8a22,#ff6700);color:#fff}.secondary-button{border-color:var(--line-strong);background:#ffffff08}.fix-button{margin-top:10px;border-color:#ff6b0061;background:#ff6b0012;color:#ffb464}.stretch{margin-top:10px}.table-panel{min-width:0;overflow:hidden}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 16px;border-bottom:1px solid var(--line)}.toolbar-title{display:flex;gap:16px;color:var(--text);font-size:14px}.toolbar-title span{color:#e8e8ec}.progress-track,.metric-track{height:6px;overflow:hidden;border-radius:0;background:#ffffff14}.progress-track{width:min(560px,46vw);margin-top:10px}.progress-track span,.metric-track span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--orange-2))}.toolbar-buttons{display:flex;gap:10px}.ghost-button{min-height:38px;padding:0 13px;font-size:14px}.compact-button{min-height:32px;margin-left:8px;font-size:13px}.queue-table{min-height:548px}.queue-row{display:grid;grid-template-columns:128px minmax(220px,1.35fr) minmax(72px,.55fr) minmax(150px,.7fr) 82px;align-items:center;min-height:46px;border-bottom:1px solid var(--line)}.queue-row>div{min-width:0;padding:0 16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}.queue-row>div:first-child{display:flex;align-items:center;gap:9px}.queue-row svg{flex:0 0 auto}.queue-head{min-height:50px;color:#f2f2f4;background:#ffffff04}.queue-head>div{color:#f0f0f3;font-weight:600}.status-text{font-size:13px}.status-text.resolved,.status-text.started{color:var(--green)}.status-text.error{color:var(--red)}.status-text.resolving,.status-text.starting{color:var(--orange)}.status-text.queued,.status-text.discovered{color:var(--blue)}.status-text.skipped{color:var(--gray)}.queue-row:has(.status-text.resolved) svg,.queue-row:has(.status-text.started) svg{color:var(--green)}.queue-row:has(.status-text.error) svg{color:var(--red)}.queue-row:has(.status-text.resolving) svg,.queue-row:has(.status-text.starting) svg{color:var(--orange)}.queue-row:has(.status-text.queued) svg,.queue-row:has(.status-text.discovered) svg{color:var(--blue)}.muted{color:var(--muted)}.empty-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:320px;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px 16px;color:var(--muted)}.page-controls{display:flex;align-items:center;gap:8px}.page-number{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:34px;border:1px solid rgba(255,107,0,.72);border-radius:4px;color:var(--orange-2);background:#ff6b001f}select{height:34px;min-width:118px;padding:0 10px;color:#e7e8ec}.summary-panel{padding:18px}.summary-panel h2,.log-panel h2{margin:0;font-size:19px;line-height:1.2}.metric{display:grid;grid-template-columns:32px 1fr;gap:14px;margin-top:26px}.metric-icon{display:flex;justify-content:center;padding-top:3px}.metric-orange .metric-icon{color:var(--orange)}.metric-green .metric-icon{color:var(--green)}.metric-gray .metric-icon{color:var(--gray)}.metric-red .metric-icon{color:var(--red)}.metric-body>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.metric-body span{color:#e6e6ec;font-size:15px}.metric-body strong{font-size:22px;font-weight:500}.metric-green .metric-track span{background:var(--green)}.metric-gray .metric-track span{background:var(--gray)}.metric-red .metric-track span{background:var(--red)}.run-settings{display:grid;gap:8px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.run-settings div{display:flex;justify-content:space-between;gap:12px}.run-settings span{color:var(--muted)}.run-settings strong{font-weight:500}.run-settings.compact{margin-top:16px}.download-button{margin-top:26px;min-height:46px}.log-panel{overflow:hidden}.log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:8px 14px;border-bottom:1px solid var(--line)}.log-table{max-height:260px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.log-row{display:grid;grid-template-columns:200px 84px 1fr;min-height:26px;align-items:center;border-bottom:1px solid rgba(255,255,255,.075)}.log-row>div{min-width:0;padding:0 14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.log-head{position:sticky;top:0;z-index:1;color:var(--muted);background:#10141b}.log-info{color:#77cf4a}.log-warn{color:#ffc247}.log-error{color:var(--red)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media(max-width:1180px){.workspace{grid-template-columns:330px 1fr}.summary-panel{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.summary-panel h2,.run-settings,.download-button,.fix-button,.summary-panel .secondary-button{grid-column:1 / -1}.metric{margin-top:0}}@media(max-width:860px){.app-shell{padding:0 10px 12px}.topbar{grid-template-columns:1fr auto;row-gap:8px;padding-top:10px}.brand{padding-left:0}.tabs{grid-column:1 / -1;order:3;width:100%;height:48px}.tab{flex:1;min-width:0;padding:0 8px}.run-state{min-width:auto}.workspace{grid-template-columns:1fr}.control-grid{grid-template-columns:1fr 1fr}.queue-table{min-height:0;overflow-x:auto}.queue-row{min-width:760px}.panel-toolbar,.pagination,.log-toolbar{align-items:flex-start;flex-direction:column}.progress-track{width:calc(100vw - 64px)}.summary-panel{grid-template-columns:1fr}.log-row{min-width:720px}.log-table{overflow-x:auto}}
