/* Standalone, system-font UI. No external assets or build step. */
:root {
  color-scheme: dark;
  --bg: #0b1018;
  --panel: #121a25;
  --panel-raised: #172130;
  --border: #263244;
  --border-soft: #202b3c;
  --text: #edf3fa;
  --muted: #9baac0;
  --dim: #76879e;
  --mint: #63e2bc;
  --blue: #7eb9ff;
  --amber: #f4c370;
  --red: #ff8b93;
  --violet: #b8a1ff;
  --radius: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.6; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .46; cursor: not-allowed; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(23px, 2.3vw, 31px); line-height: 1.45; letter-spacing: -.025em; }
h2 { font-size: 15px; font-weight: 650; letter-spacing: .015em; }
h3 { font-size: 14px; font-weight: 600; }
a { color: var(--mint); text-decoration: none; }
a:hover { color: #a1f2d9; }
input:not([type="checkbox"]):not([type="radio"]), select {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #0e1621;
  color: var(--text);
}
input::placeholder { color: var(--dim); }
input:focus, select:focus { border-color: var(--mint); }
input[type="checkbox"], input[type="radio"] { width: 16px; height: 16px; margin: 0; accent-color: var(--mint); cursor: pointer; vertical-align: middle; flex-shrink: 0; }
input:disabled { cursor: not-allowed; }
input[type="search"]::-webkit-search-cancel-button { cursor: pointer; }
select { cursor: pointer; }
svg { display: block; }
.icon { width: 18px; height: 18px; flex: 0 0 18px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.subtle { color: var(--muted); font-size: 12px; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .15em; color: var(--muted); }
.eyebrow.accent { color: var(--mint); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 15px; border: 1px solid transparent; border-radius: 8px; font-size: 13px; font-weight: 600; line-height: 1.4; white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.button.primary { background: var(--mint); color: #0b2d26; }
.button.primary:hover:not(:disabled) { background: #89edcc; }
.button.secondary { border-color: var(--border); background: #192434; color: #dbe6f4; }
.button.secondary:hover:not(:disabled) { background: #223249; border-color: #405772; }
.button.quiet { background: transparent; color: var(--muted); }
.button.quiet:hover:not(:disabled) { background: #1b2839; color: var(--text); }
.button.small { min-height: 33px; padding: 7px 11px; font-size: 12px; }
.button.wide { width: 100%; }
.button.danger { color: #ffd6da; border-color: #64404b; background: #3a2530; }
.button.danger:hover:not(:disabled) { background: #51303e; }
.brand-mark { display: flex; justify-content: center; align-items: center; width: 38px; height: 38px; border-radius: 12px; border: 1px solid #315a52; color: var(--mint); background: #19342f; flex-shrink: 0; }
.brand-mark svg { width: 27px; height: 27px; }
.brand-mark.large { width: 56px; height: 56px; border-radius: 16px; margin-bottom: 25px; }
.brand-mark.large svg { width: 35px; height: 35px; }
.noscript { padding: 20px; text-align: center; background: #482d2d; color: #ffe5dd; }
.login-panel { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 42px 20px; background: radial-gradient(ellipse at 50% 10%, #17332e 0, #101b27 35%, var(--bg) 70%); }
.login-card { width: min(100%, 480px); border: 1px solid #2b3b48; border-radius: 24px; background: #121c27; padding: 42px; box-shadow: 0 24px 90px #0005; }
.login-card h1 { font-size: 26px; margin: 9px 0 13px; }
.login-intro { color: var(--muted); line-height: 1.8; }
.login-form { display: grid; gap: 10px; margin-top: 28px; }
.login-form label { font-size: 13px; font-weight: 600; }
.login-form input { width: 100%; min-height: 46px !important; }
.login-form .primary { margin-top: 8px; min-height: 46px; }
.field-help { color: var(--muted); font-size: 12px; line-height: 1.8; }
.form-message { font-size: 13px; color: var(--red); overflow-wrap: anywhere; }
.login-assurance { display: flex; gap: 8px; align-items: center; color: var(--muted); border-top: 1px solid var(--border-soft); margin-top: 25px; padding-top: 21px; font-size: 12px; }
.shield { color: var(--mint); border: 1px solid #356253; border-radius: 50%; width: 19px; height: 19px; text-align: center; line-height: 18px; }
.login-footer { text-align: center; font-size: 12px; color: var(--dim); padding-top: 24px; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 78px; padding: 15px max(24px, calc((100vw - 1392px) / 2)); border-bottom: 1px solid var(--border-soft); background: #101824; }
.brand { display: flex; gap: 12px; align-items: center; }
.brand-title { font-size: 17px; font-weight: 650; letter-spacing: .03em; }
.brand .eyebrow { font-size: 9px; }
.topbar-tools { display: flex; gap: 8px; align-items: center; }
.connection-group { display: flex; gap: 12px; align-items: center; margin-right: 12px; }
.workspace { max-width: 1440px; margin: 0 auto; padding: 32px 24px 20px; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 27px; }
.page-heading h1 { margin: 7px 0 8px; }
.page-heading p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
.safety-link { display: inline-flex; gap: 8px; align-items: center; white-space: nowrap; font-size: 12px; border: 1px solid #254439; border-radius: 30px; background: #142b25; padding: 7px 12px; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.metric-card { background: linear-gradient(145deg, #172230, var(--panel)); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; min-width: 0; }
.metric-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 17px; }
.metric-heading h2 { color: #acbcd0; font-size: 12px; font-weight: 550; }
.metric-symbol { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 18px; }
.metric-symbol.mint { background: #1a3832; color: var(--mint); }
.metric-symbol.blue { background: #1e344f; color: var(--blue); }
.metric-symbol.amber { background: #3b3021; color: var(--amber); }
.metric-symbol.violet { background: #322a49; color: var(--violet); }
.metric-value { display: flex; align-items: baseline; gap: 8px; margin-bottom: 16px; min-height: 37px; flex-wrap: wrap; }
.metric-value strong { font-size: clamp(24px, 2.2vw, 32px); font-weight: 650; letter-spacing: -.025em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.metric-value span { color: var(--muted); font-size: 12px; }
progress { display: block; appearance: none; width: 100%; height: 5px; border: 0; border-radius: 3px; overflow: hidden; color: var(--mint); background: #263243; }
progress::-webkit-progress-bar { background: #263243; border-radius: 3px; }
progress::-webkit-progress-value { background: var(--mint); border-radius: 3px; }
progress::-moz-progress-bar { background: var(--mint); border-radius: 3px; }
progress.blue { color: var(--blue); }
progress.blue::-webkit-progress-value { background: var(--blue); }
progress.blue::-moz-progress-bar { background: var(--blue); }
progress.violet { color: var(--violet); }
progress.violet::-webkit-progress-value { background: var(--violet); }
progress.violet::-moz-progress-bar { background: var(--violet); }
progress.warning { color: var(--amber); }
progress.warning::-webkit-progress-value { background: var(--amber); }
progress.warning::-moz-progress-bar { background: var(--amber); }
progress.danger { color: var(--red); }
progress.danger::-webkit-progress-value { background: var(--red); }
progress.danger::-moz-progress-bar { background: var(--red); }
.metric-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 11px; color: var(--muted); flex-wrap: wrap; }
.metric-detail { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--border-soft); color: var(--mint); font-size: 11px; overflow-wrap: anywhere; }
.completion-hint { color: var(--muted); font-size: 10px; line-height: 1.6; margin-top: 5px; }
.disk-status { display: flex; gap: 8px; justify-content: space-between; align-items: center; min-height: 5px; }
.disk-status .status-chip { font-size: 10px; padding: 1px 7px; }
.panel { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); min-width: 0; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; }
.panel-heading h2 { display: flex; align-items: center; gap: 9px; }
.panel-heading > .subtle { text-align: right; }
.count-badge { display: inline-flex; align-items: center; min-width: 24px; padding: 2px 8px; background: #243142; color: #b3c3d7; border-radius: 6px; font-size: 11px; font-weight: 550; font-variant-numeric: tabular-nums; }
.status-chip { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 6px; padding: 3px 8px; font-size: 11px; font-weight: 500; white-space: nowrap; line-height: 1.5; }
.status-chip.neutral { color: #b4c2d3; background: #253143; }
.status-chip.mint { color: #94efd0; background: #19372f; }
.status-chip.blue { color: #a0ccff; background: #1e354f; }
.status-chip.amber { color: #f7cd87; background: #3c3223; }
.status-chip.red { color: #ffaeb4; background: #3e2833; }
.status-chip.violet { color: #ccb9ff; background: #332b4a; }
.status-dot, .state-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.state-dot.neutral { color: #9aaac0; }
.state-dot.blue { color: var(--blue); }
.state-dot.amber { color: var(--amber); }
.state-dot.red { color: var(--red); }
.scheduler-panel { margin-bottom: 20px; }
.scheduler-hint { padding: 0 22px 16px; font-size: 11px; }
.scheduler-notice { margin: 0 22px 16px; }
.scheduler-top { display: flex; gap: 22px; justify-content: space-between; align-items: center; padding: 22px; }
.scheduler-description h2 { display: flex; gap: 10px; align-items: center; margin-bottom: 6px; }
.scheduler-description p { font-size: 12px; color: var(--muted); }
.action-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.state-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; padding: 14px 22px; border-top: 1px solid var(--border-soft); background: #111b28; border-radius: 0 0 var(--radius) var(--radius); }
.state-strip > span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.state-strip strong { margin-left: 2px; color: var(--text); font-variant-numeric: tabular-nums; font-size: 13px; font-weight: 600; }
.upload-policy-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; margin-bottom: 24px; align-items: stretch; }
.schedule-panel .panel-heading { align-items: flex-start; }
.schedule-panel .panel-heading p, .quota-panel .panel-heading p { margin-top: 6px; }
.schedule-form { padding: 0 22px 18px; display: grid; gap: 14px; }
.schedule-toggle { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; cursor: pointer; font-size: 13px; }
.schedule-toggle > .subtle { margin-left: auto; font-size: 11px; }
.schedule-fields { display: grid; grid-template-columns: minmax(95px, 1fr) minmax(95px, 1fr) minmax(0, 1.6fr); gap: 10px; }
.schedule-fields label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; min-width: 0; }
.schedule-fields input { width: 100%; min-width: 0; color: var(--text); font-size: 12px; }
.schedule-fields input[type="time"] { padding: 9px 7px; }
.schedule-save-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.schedule-save-row .subtle { font-size: 11px; overflow-wrap: anywhere; }
.schedule-save-row .dirty { color: var(--amber); }
.schedule-runtime { border-top: 1px solid var(--border-soft); padding: 15px 22px; background: #111b28; font-size: 12px; }
.schedule-runtime p { overflow-wrap: anywhere; white-space: pre-wrap; }
.schedule-runtime p + p { margin-top: 7px; }
.policy-note { padding: 14px 22px 18px; color: var(--muted); font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; }
.quota-details { margin: 0; padding: 0 22px; font-size: 12px; }
.quota-details > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-soft); }
.quota-details dt { color: var(--muted); }
.quota-details dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; font-variant-numeric: tabular-nums; }
.quota-details .quota-resume-row dd { color: var(--mint); }
.quota-selection-note { margin: 12px 22px 0; padding: 11px 13px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); background: #15212f; font-size: 11px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.quota-selection-note.searching { color: #adcfff; border-color: #344c70; background: #192b40; }
.quota-selection-note.waiting { color: #f2d49d; border-color: #5c4c33; background: #30291f; }
.quota-reason { padding: 13px 22px 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.activity-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(270px, 1fr); gap: 20px; margin-bottom: 24px; align-items: stretch; }
.active-jobs { padding: 0 22px 20px; }
.active-job + .active-job { border-top: 1px solid var(--border-soft); padding-top: 18px; margin-top: 18px; }
.active-job-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.active-job-title { font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; }
.job-path { color: var(--muted); font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 100%; }
.active-job .job-path { margin-bottom: 13px; }
.transfer-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--muted); margin-top: 9px; font-variant-numeric: tabular-nums; }
.active-phase { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 18px; font-size: 11px; color: var(--dim); }
.active-phase .passed { color: var(--mint); }
.active-phase .current { color: var(--blue); }
.background-item { margin: 0 22px; padding: 0 0 17px; }
.background-item + .background-item { padding: 17px 0 20px; border-top: 1px solid var(--border-soft); }
.background-item > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.background-item h3 { font-size: 12px; color: #c8d5e6; }
.background-item p { font-size: 12px; color: var(--muted); line-height: 1.8; margin-top: 8px; overflow-wrap: anywhere; white-space: pre-wrap; }
.jobs-panel { margin-bottom: 24px; overflow: hidden; }
.jobs-heading { padding-bottom: 15px; }
.jobs-heading p, .logs-panel .panel-heading p { margin-top: 5px; }
.filter-bar { display: flex; align-items: center; gap: 10px; padding: 0 22px 18px; }
.search-field { display: flex; gap: 9px; align-items: center; flex: 1; max-width: 480px; min-width: 180px; position: relative; }
.search-field .icon { position: absolute; left: 12px; color: var(--dim); pointer-events: none; }
.search-field input { width: 100%; padding-left: 38px !important; }
.filter-bar select { max-width: 190px; }
.selection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 22px; border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); background: #15202e; }
.table-scroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #42536b #131c28; }
table { border-collapse: collapse; width: 100%; min-width: 1030px; table-layout: fixed; }
th { color: var(--muted); font-size: 11px; font-weight: 500; text-align: left; background: #101925; padding: 12px 14px; white-space: nowrap; }
th:nth-child(2) { width: 29%; }
th:nth-child(3) { width: 12%; }
th:nth-child(4) { width: 12%; }
th:nth-child(5) { width: 16%; }
th:nth-child(6) { width: 15%; }
th:nth-child(7) { width: 12%; }
th.select-cell, td.select-cell { width: 44px; padding-left: 22px; padding-right: 8px; }
td { border-top: 1px solid var(--border-soft); padding: 15px 14px; vertical-align: middle; font-size: 12px; }
tr.selected { background: #182d32; }
tbody tr:not(.selected):hover { background: #172230; }
.job-cell { min-width: 0; }
.job-title { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; color: #e2edf8; }
.job-title-text { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.job-id { color: var(--dim); font-size: 10px; flex-shrink: 0; }
.job-error { color: var(--red); font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-top: 4px; }
.job-retry { color: var(--amber); font-size: 10px; margin-top: 5px; }
.priority-score { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
.priority-tag { display: inline-block; background: #342c49; color: #c8b4fa; border-radius: 4px; padding: 1px 5px; font-size: 9px; }
.priority-reason { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 10px; color: var(--muted); }
.table-progress { height: 4px; margin-top: 5px; }
.progress-line { display: flex; gap: 8px; align-items: center; justify-content: space-between; font-size: 11px; font-variant-numeric: tabular-nums; }
.progress-line span:last-child { color: var(--muted); }
.updated-at { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }
.row-actions { display: flex; flex-wrap: wrap; gap: 1px; justify-content: flex-end; }
.row-actions .button { padding: 5px 6px; min-height: 28px; font-size: 11px; }
.actions-cell { text-align: right; padding-right: 22px; }
.empty-state { padding: 42px 16px; color: var(--muted); text-align: center; }
.empty-state.compact { padding: 17px 10px 22px; }
.empty-state h3 { margin: 8px 0; color: #c4d2e4; font-weight: 500; }
.empty-state p { font-size: 12px; }
.empty-icon { display: inline-block; color: #5b748d; font-size: 26px; line-height: 1.4; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-top: 1px solid var(--border-soft); }
.pagination-controls { display: flex; gap: 8px; align-items: center; }
.pagination-controls select { min-height: 33px; padding: 5px 10px; font-size: 12px; }
.page-number { color: var(--muted); font-size: 12px; padding: 0 5px; min-width: 47px; text-align: center; font-variant-numeric: tabular-nums; }
.log-tools { display: flex; gap: 8px; align-items: center; }
.log-tools select { min-height: 33px; padding: 5px 9px; font-size: 12px; }
.log-list { max-height: 350px; overflow-y: auto; padding: 0 22px; scrollbar-width: thin; scrollbar-color: #42536b #131c28; }
.log-row { display: grid; grid-template-columns: 128px 42px 50px minmax(0, 1fr); gap: 12px; align-items: start; padding: 11px 0; border-top: 1px solid var(--border-soft); font-size: 12px; }
.log-time { color: var(--muted); font-size: 10px; padding-top: 3px; font-variant-numeric: tabular-nums; }
.log-job { color: var(--dim); font-size: 10px; padding-top: 3px; }
.log-level { font-size: 10px; text-align: center; padding: 2px 3px; border-radius: 4px; color: var(--blue); background: #1c3148; }
.log-level.warning { color: var(--amber); background: #3b3022; }
.log-level.error { color: var(--red); background: #3d2732; }
.log-level.debug { color: var(--muted); background: #263140; }
.log-message { white-space: pre-wrap; overflow-wrap: anywhere; color: #c4d2e4; }
.log-limit { padding: 14px 22px; font-size: 11px; }
.workspace-footer { padding: 27px 0 14px; text-align: center; color: var(--dim); font-size: 11px; line-height: 1.9; }
.workspace-footer p:first-child span { color: var(--mint); padding-right: 5px; }
.workspace-footer > span { display: inline-block; color: #62768e; margin-top: 12px; }
.notice { background: #1c2b3e; color: #bacde7; border: 1px solid #30445e; border-radius: 8px; padding: 12px 14px; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.notice.warning { color: #f5cf9b; border-color: #594b35; background: #30291f; }
#connection-alert { margin-bottom: 18px; }
.dialog { max-width: min(460px, calc(100vw - 32px)); width: 100%; padding: 27px; color: var(--text); background: #151f2d; border: 1px solid #3b4c63; border-radius: 18px; box-shadow: 0 30px 100px #0008; max-height: calc(100dvh - 50px); overflow-y: auto; }
.dialog::backdrop { background: #020711bd; }
.dialog h2 { font-size: 18px; }
.dialog-description { color: var(--muted); margin: 12px 0 16px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.dialog-symbol { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: #3d3222; color: var(--amber); margin-bottom: 18px; font-size: 22px; }
.dialog-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; }
.priority-modes { display: grid; gap: 8px; margin: 18px 0; }
.radio-option { display: flex; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: 8px; padding: 11px 13px; cursor: pointer; color: #c9d8eb; font-size: 13px; }
.input-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 7px; }
#priority-value { width: 100%; }
#priority-error { margin-top: 10px; }
.detail-dialog { max-width: min(680px, calc(100vw - 32px)); }
.detail-heading { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.detail-fields { margin: 0 0 15px; }
.detail-field { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; border-bottom: 1px solid var(--border-soft); padding: 10px 0; font-size: 12px; }
.detail-field dt { color: var(--muted); }
.detail-field dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.detail-field .mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 11px; }
.toast-region { position: fixed; right: 24px; bottom: 24px; z-index: 50; width: min(400px, calc(100vw - 40px)); display: grid; gap: 9px; pointer-events: none; }
.toast { display: flex; gap: 12px; align-items: start; padding: 13px 15px; border: 1px solid #365d51; background: #19342c; color: #d1f7e9; border-radius: 11px; box-shadow: 0 10px 32px #0005; font-size: 13px; pointer-events: auto; }
.toast.error { border-color: #724150; background: #3c2730; color: #ffced6; }
.toast-message { flex: 1; overflow-wrap: anywhere; }
.toast-close { color: inherit; background: none; border: 0; padding: 0 3px; font-size: 18px; line-height: 1.4; }
@media (min-width: 1600px) { .workspace { padding-top: 42px; } }
@media (max-width: 1160px) {
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-value strong { font-size: 30px; }
  .scheduler-top { align-items: flex-start; flex-direction: column; gap: 17px; }
  .activity-grid { grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); }
  .connection-group { flex-direction: column; gap: 2px; align-items: flex-end; }
}
@media (max-width: 760px) {
  .topbar { padding: 14px 16px; gap: 12px; }
  .topbar-tools { gap: 0; }
  .topbar-tools .button { padding: 8px 10px; }
  .topbar-tools .icon { display: none; }
  .connection-group { margin-right: 4px; }
  #last-sync { display: none; }
  .brand-title { font-size: 15px; }
  .brand .eyebrow { font-size: 8px; letter-spacing: .07em; }
  .brand-mark { width: 32px; height: 32px; border-radius: 10px; }
  .brand { gap: 8px; }
  .workspace { padding: 24px 16px 12px; }
  .page-heading { margin-bottom: 23px; gap: 14px; align-items: flex-start; flex-direction: column; }
  .metrics-grid { gap: 12px; }
  .metric-card { padding: 16px; }
  .metric-value { gap: 6px; }
  .metric-value strong { font-size: 26px; }
  .metric-heading { margin-bottom: 14px; }
  .metric-foot { align-items: flex-start; font-size: 10px; gap: 4px; }
  .metric-value span { font-size: 11px; }
  .disk-status { flex-wrap: wrap; gap: 5px; }
  .upload-policy-grid { grid-template-columns: 1fr; gap: 16px; }
  .schedule-form { padding: 0 18px 16px; }
  .schedule-runtime { padding: 14px 18px; }
  .schedule-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .schedule-fields .schedule-zone { grid-column: 1 / -1; }
  .schedule-toggle > .subtle { width: 100%; margin-left: 25px; }
  .schedule-save-row { align-items: flex-start; }
  .policy-note { padding: 13px 18px 16px; }
  .quota-details { padding: 0 18px; }
  .quota-details > div { grid-template-columns: 90px minmax(0, 1fr); }
  .quota-selection-note { margin: 12px 18px 0; }
  .quota-reason { padding: 12px 18px 0; }
  .activity-grid { grid-template-columns: 1fr; gap: 16px; }
  .panel-heading { padding: 18px; }
  .scheduler-top { padding: 18px; }
  .scheduler-hint { padding: 0 18px 14px; }
  .scheduler-notice { margin: 0 18px 14px; }
  .state-strip { gap: 12px 22px; padding: 14px 18px; }
  .active-jobs { padding: 0 18px 18px; }
  .background-item { margin: 0 18px; }
  .filter-bar { padding: 0 18px 16px; gap: 8px; flex-wrap: wrap; }
  .search-field { flex-basis: 100%; max-width: none; }
  .filter-bar select { flex: 1; max-width: none; }
  .selection-toolbar { padding: 12px 18px; flex-wrap: wrap; }
  .pagination { padding: 14px 18px; flex-wrap: wrap; gap: 10px; }
  .pagination-controls { width: 100%; justify-content: flex-end; gap: 6px; }
  .pagination-controls label { margin-right: auto; }
  .logs-panel .panel-heading { flex-wrap: wrap; }
  .log-tools { margin-left: auto; }
  .log-list { padding: 0 18px; }
  .log-row { grid-template-columns: 1fr 45px 55px; gap: 7px 10px; }
  .log-message { grid-column: 1 / -1; }
  .log-time { font-size: 11px; }
  .log-limit { padding: 14px 18px; }
  .workspace-footer { text-align: left; padding-top: 24px; }
}
@media (max-width: 420px) {
  .login-card { padding: 27px 23px; border-radius: 18px; }
  .login-card h1 { font-size: 23px; }
  .metric-card { padding: 13px; }
  .metric-heading h2 { max-width: 110px; font-size: 11px; }
  .metric-symbol { width: 24px; height: 24px; }
  .metric-value strong { font-size: 23px; }
  .metric-value { min-height: 48px; margin-bottom: 12px; }
  .metric-foot { flex-direction: column; }
  .connection-group .status-chip { padding: 3px 5px; font-size: 10px; }
  .topbar-tools .button { padding: 8px 6px; font-size: 11px; }
  .scheduler-top .action-group { width: 100%; }
  .scheduler-top .button { padding: 8px 10px; font-size: 12px; }
  .selection-toolbar .button { padding: 7px 8px; }
  .panel-heading > .subtle { display: none; }
  .detail-field { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
  .dialog { padding: 22px; }
  .toast-region { right: 16px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
