:root {
  color-scheme: light dark;
  --bg: light-dark(#f5f7f6,#121815); --surface: light-dark(#fff,#18201c);
  --soft: light-dark(#edf3ef,#25302a); --text: light-dark(#202b25,#e3eae5);
  --muted: light-dark(#59675e,#b3c1b8); --line: light-dark(#dce4de,#35443b);
  --accent: light-dark(#176b52,#8ad6bb); --accent-soft: light-dark(#e1f2e9,#174f3e);
  --accent-text: light-dark(#164f3c,#c4f0dc); --on-accent: light-dark(#fff,#003829);
  --danger: light-dark(#a43232,#ffb3ae); --danger-soft: light-dark(#fbeceb,#452824); --on-danger: light-dark(#fff,#601711);
  --warning: light-dark(#86500b,#ffc178); --warning-soft: light-dark(#fff3de,#3e301c);
  --sidebar-width: 232px; --control-radius: 8px; --panel-radius: 12px;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-synthesis: none;
}
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: var(--bg); font-size: 14px; line-height: 1.6; }
::selection { background: var(--accent-soft); color: var(--accent-text); }
button,input,select { font: inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color: transparent; }
button,a { touch-action: manipulation; }
a { color: var(--accent); text-underline-offset: 4px; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .48; }
input,select { color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: var(--control-radius); min-height: 44px; min-width: 0; padding: 10px 12px; caret-color: var(--accent); }
input::placeholder { color: var(--muted); opacity: 1; }
input:disabled,select:disabled { background: var(--soft); opacity: .7; }
input[aria-invalid="true"] { border-color: var(--danger); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1,h2,h3,p { margin: 0; }
h1 { font-size: 28px; font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
h2 { font-size: 17px; line-height: 1.5; font-weight: 600; }
h3 { font-size: 14px; font-weight: 600; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 12px 20px; background: var(--accent); color: var(--on-accent); transform: translateY(-160%); border-radius: 8px; }
.skip-link:focus { transform: none; }
.icon { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.button,.icon-button,.text-button,.connection-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--control-radius); padding: 10px 16px; color: var(--text); background: var(--surface); font-weight: 500; text-decoration: none; transition: background-color 160ms,color 160ms,border-color 160ms,transform 160ms; }
.button:hover:not(:disabled),.icon-button:hover:not(:disabled) { background: var(--soft); border-color: var(--muted); }
.button:active:not(:disabled),.icon-button:active:not(:disabled) { transform: translateY(1px); }
.button-primary { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.button-primary:hover:not(:disabled) { background: color-mix(in srgb,var(--accent) 88%,var(--text)); border-color: var(--accent); }
.button-danger { background: var(--danger); border-color: var(--danger); color: var(--on-danger); }
.button-danger:hover:not(:disabled) { background: color-mix(in srgb,var(--danger) 86%,var(--text)); border-color: var(--danger); }
.icon-button { width: 44px; padding: 10px; }
.text-button { background: none; border-color: transparent; color: var(--muted); padding: 8px; }
.text-button:hover:not(:disabled) { color: var(--text); background: var(--soft); }
.text-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; font-weight: 500; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link .icon { width: 16px; height: 16px; flex-basis: 16px; transition: transform 160ms; }
.text-link:hover .icon { transform: translateX(2px); }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: var(--sidebar-width); display: flex; flex-direction: column; padding: 32px 20px 16px; background: var(--surface); border-right: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; min-height: 52px; color: var(--text); text-decoration: none; font-size: 23px; line-height: 1.25; font-weight: 650; letter-spacing: -.03em; padding: 0 8px; }
.brand img { border-radius: 9px; }
.brand small { font-size: 12px; font-weight: 550; color: var(--accent); letter-spacing: 0; }
.brand-caption { display: block; margin-top: 5px; font-size: 12px; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.main-nav { display: flex; flex-direction: column; gap: 6px; margin-top: 40px; }
.main-nav a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px; color: var(--muted); border-radius: 8px; text-decoration: none; font-weight: 500; transition: background-color 160ms,color 160ms; }
.main-nav a:hover { color: var(--text); background: var(--soft); }
.main-nav a[aria-current="page"] { color: var(--accent-text); background: var(--accent-soft); }
.nav-count { margin-left: auto; font-size: 12px; font-variant-numeric: tabular-nums; }
.sidebar-note { display: flex; gap: 10px; margin-top: auto; padding: 24px 8px; color: var(--muted); font-size: 12px; }
.sidebar-note .icon { margin-top: 2px; width: 18px; height: 18px; flex-basis: 18px; }
.sidebar-note strong { color: var(--text); font-weight: 500; }
.sidebar-note p { margin-top: 6px; line-height: 1.8; }
.sidebar-footer { border-top: 1px solid var(--line); padding: 16px 8px 0; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.state-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 7px; background: var(--muted); border-radius: 50%; }
.state-dot.connected { background: var(--accent); }
.state-dot.failed { background: var(--danger); }
.workspace { margin-left: var(--sidebar-width); min-width: 0; }
.topbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 40px; background: var(--surface); border-bottom: 1px solid var(--line); }
.topbar-start,.topbar-actions { display: flex; align-items: center; gap: 16px; min-width: 0; }
.topbar-title { font-size: 13px; color: var(--muted); }
#breadcrumb { color: var(--text); }
.topbar-divider { margin: 0 12px; color: var(--line); }
.connection-trigger { border-color: transparent; padding: 8px; background: transparent; font-size: 13px; font-weight: 400; white-space: nowrap; }
.connection-trigger:hover { background: var(--soft); }
.theme-control select { font-size: 13px; min-height: 44px; padding: 8px 28px 8px 12px; background: var(--surface); }
main { width: 100%; max-width: 1512px; margin: 0 auto; padding: 36px 40px 24px; min-height: calc(100svh - 72px); scroll-margin-top: 24px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading p { color: var(--muted); margin-top: 8px; }
.page-heading .button { flex-shrink: 0; }
.connection-panel { border: 1px solid var(--line); border-radius: var(--panel-radius); background: var(--surface); }
.connection-panel summary { list-style: none; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; cursor: pointer; border-radius: var(--panel-radius); }
.connection-panel summary::-webkit-details-marker { display: none; }
.connection-panel summary:hover { background: var(--soft); }
.connection-summary { display: flex; align-items: center; gap: 16px; min-width: 0; }
.connection-summary>.icon { color: var(--accent); }
.connection-summary strong { display: block; font-size: 14px; font-weight: 600; }
.connection-summary span span { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.details-caret { width: 8px; height: 8px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(45deg); margin-right: 4px; flex-shrink: 0; }
details[open]>summary>.details-caret { transform: rotate(225deg); }
#connection { display: grid; grid-template-columns: minmax(180px,1.2fr) minmax(160px,1fr) auto; gap: 16px; align-items: start; border-top: 1px solid var(--line); padding: 20px 24px; }
.field label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.field input { width: 100%; }
.password-field { position: relative; }
.password-field input { padding-right: 48px; }
.password-field .icon-button { position: absolute; inset: 0 0 auto auto; border: 0; background: transparent; color: var(--muted); }
#connect-submit { margin-top: 29px; white-space: nowrap; }
.field-error { font-size: 13px; color: var(--danger); margin-top: 6px; }
.connection-note { grid-column: 1/-1; display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.connection-note .icon { width: 14px; height: 14px; flex-basis: 14px; }
.status-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 8px 0 20px; min-height: 44px; }
#status { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
#status.error { color: var(--danger); }
#disconnect { flex-shrink: 0; font-size: 13px; }
.metric-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line); border-radius: var(--panel-radius); padding: 24px 0; background: var(--surface); margin-bottom: 24px; }
.metric { padding: 0 24px; min-width: 0; }
.metric+.metric { border-left: 1px solid var(--line); }
.metric>span { display: block; color: var(--muted); font-size: 13px; }
.metric strong { display: block; margin: 8px 0; font-size: 32px; line-height: 1.2; font-weight: 550; font-variant-numeric: tabular-nums; letter-spacing: -.03em; overflow-wrap: anywhere; }
.metric small { display: block; font-size: 12px; color: var(--muted); }
.metric strong.warning { color: var(--warning); }
.metric-strip[aria-busy="true"] strong { color: var(--muted); }
.overview-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 24px; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--panel-radius); margin-bottom: 24px; min-width: 0; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; min-width: 0; }
.panel-heading p { font-size: 13px; color: var(--muted); margin-top: 4px; }
.panel-heading .text-link { font-size: 13px; flex-shrink: 0; }
.badge { display: inline-flex; align-items: center; border-radius: 5px; padding: 3px 8px; font-size: 12px; line-height: 1.7; font-weight: 500; color: var(--muted); background: var(--soft); white-space: nowrap; }
.badge.success { color: var(--accent-text); background: var(--accent-soft); }
.badge.warning { color: var(--warning); background: var(--warning-soft); }
.badge.danger { color: var(--danger); background: var(--danger-soft); }
.status-list { padding: 0 24px; margin: 0; }
.status-list>div { display: flex; justify-content: space-between; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.status-list>div:last-child { border-bottom: 0; }
.status-list dt { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.status-list dt .icon { width: 16px; height: 16px; flex-basis: 16px; }
.status-list dd { margin: 0; text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; }
.panel-footnote { font-size: 12px; color: var(--muted); padding: 12px 24px 20px; overflow-wrap: anywhere; }
.attention-panel .panel-heading { padding-bottom: 12px; }
.attention-row { display: flex; align-items: center; gap: 12px; min-height: 96px; padding: 16px 24px; color: var(--text); text-decoration: none; transition: background-color 160ms; }
.attention-row:hover { background: var(--soft); }
.attention-row:last-child { border-radius: 0 0 var(--panel-radius) var(--panel-radius); }
.attention-row>.icon { color: var(--muted); }
.attention-row strong { display: block; font-size: 14px; font-weight: 500; }
.attention-row small { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.attention-row .arrow { margin-left: auto; width: 16px; height: 16px; flex-basis: 16px; }
.recent-feedback { padding: 0 24px 8px; }
.recent-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 16px 0; border-top: 1px solid var(--line); }
.recent-row p { overflow-wrap: anywhere; font-size: 14px; min-width: 0; }
.recent-row time { color: var(--muted); font-size: 12px; flex-shrink: 0; font-variant-numeric: tabular-nums; padding-top: 1px; }
.empty-inline { color: var(--muted); padding: 16px 0 24px; font-size: 13px; }
.count-label { color: var(--muted); font-size: 13px; font-weight: 400; margin-left: 6px; font-variant-numeric: tabular-nums; }
.table-toolbar { display: flex; align-items: center; gap: 16px; justify-content: space-between; padding: 0 24px 20px; }
.search-field { position: relative; flex: 0 1 360px; min-width: 0; }
.search-field>.icon { position: absolute; left: 12px; top: 12px; color: var(--muted); }
.search-field input { width: 100%; padding-left: 40px; }
.filter-control { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--muted); }
.filter-control select { min-width: 120px; color: var(--text); }
.table-wrap { width: 100%; }
table { border-collapse: collapse; width: 100%; table-layout: fixed; text-align: left; }
th,td { padding: 16px 24px; font-size: 13px; overflow-wrap: anywhere; }
th { background: var(--bg); border-block: 1px solid var(--line); color: var(--muted); font-weight: 500; padding-block: 12px; }
td { border-bottom: 1px solid var(--line); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr[data-account]:hover { background: var(--bg); }
th:first-child { width: 34%; } th:nth-child(2) { width: 30%; }
.action-column { width: 144px; text-align: right; }
td:last-child:not([colspan]) { text-align: right; }
.account-name { display: flex; align-items: center; gap: 12px; }
.account-avatar { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: 0 0 36px; background: var(--soft); border-radius: 50%; font-size: 14px; color: var(--muted); }
.account-action { color: var(--danger); background: transparent; border: 1px solid transparent; border-radius: 8px; padding: 8px 10px; min-height: 44px; white-space: nowrap; }
.account-action:hover:not(:disabled) { background: var(--danger-soft); }
.account-action.restore { color: var(--accent); }
.account-action.restore:hover:not(:disabled) { background: var(--accent-soft); }
.table-empty { text-align: center; padding: 40px 24px; color: var(--muted); }
.table-empty button { margin: 12px auto 0; }
.table-meta { border-top: 1px solid var(--line); padding: 14px 24px; color: var(--muted); font-size: 12px; }
.feedback-search { max-width: 420px; margin: 0 24px 20px; }
.feedback-item { border-top: 1px solid var(--line); padding: 24px; }
.feedback-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 12px; margin-bottom: 12px; }
.feedback-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.8; max-width: 78ch; }
.feedback-contact { color: var(--muted); background: var(--bg); padding: 10px 12px; border-radius: 6px; margin-top: 16px; font-size: 12px; overflow-wrap: anywhere; }
.empty-state { padding: 48px 24px; text-align: center; color: var(--muted); }
.empty-state h3 { color: var(--text); font-size: 15px; margin-bottom: 6px; }
.empty-state p { font-size: 13px; }
.task-content { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 8px 24px 24px; }
.task-content p { color: var(--muted); font-size: 13px; margin-top: 6px; max-width: 65ch; }
.task-content .button { flex-shrink: 0; }
.inline-note { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.inline-note .icon { width: 16px; height: 16px; flex-basis: 16px; }
#job-summary { margin: 0 24px 20px; background: var(--soft); padding: 16px; border-radius: 8px; font-size: 13px; }
#job-summary.warning { background: var(--warning-soft); color: var(--warning); }
#job-details { padding: 0 24px 24px; font-size: 13px; color: var(--muted); }
#job-details summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 280px; overflow: auto; font: 12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; color: var(--text); background: var(--bg); padding: 16px; border-radius: 8px; margin: 0; }
.backup-step { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin: 0 24px; padding: 24px 0; border-top: 1px solid var(--line); }
.backup-step p { color: var(--muted); font-size: 13px; margin-top: 6px; max-width: 66ch; }
.command-line { display: flex; align-items: center; gap: 12px; background: var(--bg); padding: 4px 4px 4px 16px; border-radius: 8px; flex-shrink: 0; }
code { font: 12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap: anywhere; }
.command-line .icon-button { border-color: transparent; background: transparent; color: var(--muted); }
.backup-panel>.inline-note { border-top: 1px solid var(--line); padding: 16px 24px; }
.page-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 36px; padding-top: 20px; color: var(--muted); font-size: 12px; }
dialog { padding: 0; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--text); width: min(440px,calc(100% - 32px)); }
dialog::backdrop { background: rgb(12 23 17/.48); }
.dialog-body { padding: 28px; }
.dialog-icon { display: inline-flex; padding: 12px; border-radius: 50%; color: var(--danger); background: var(--danger-soft); margin-bottom: 20px; }
.dialog-body h2 { font-size: 20px; }
.dialog-body>p { margin-top: 12px; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.dialog-body>.field-error { color: var(--danger); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; }
.close-menu,.menu-toggle,.menu-backdrop { display: none; }
.noscript-note { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 50; background: var(--warning-soft); color: var(--warning); border: 1px solid var(--line); border-radius: 8px; padding: 16px; }
@media(max-width:1199px) {
  :root { --sidebar-width:208px; }
  .sidebar { padding-inline:16px; } .brand { font-size:20px; gap:10px; }
  .topbar { padding-inline:28px; } main { padding-inline:28px; }
  #connection { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } #connect-submit { grid-column:1/-1; margin-top:0; justify-self:start; }
  .metric { padding-inline:20px; } .overview-grid { grid-template-columns:1fr; gap:0; }
  .attention-panel { display:grid; grid-template-columns:1fr 1fr; } .attention-panel .panel-heading { grid-column:1/-1; }
  .task-content,.backup-step { align-items:flex-start; flex-direction:column; gap:16px; } th,td { padding-inline:16px; }
}
@media(max-width:899px) {
  .sidebar { transform:translateX(-100%); width:264px; padding-top:28px; transition:transform 200ms; }
  body.menu-open .sidebar { transform:none; } .workspace { margin-left:0; } .menu-toggle { display:inline-flex; }
  .close-menu { display:inline-flex; position:absolute; right:12px; top:88px; border-color:transparent; color:var(--muted); }
  .sidebar .main-nav { margin-top:64px; }
  .menu-backdrop:not([hidden]) { display:block; position:fixed; inset:0; border:0; background:rgb(12 23 17/.48); z-index:25; padding:0; }
  body.menu-open { overflow:hidden; } .topbar { padding-inline:24px; } main { padding:28px 24px 24px; } .topbar-start { gap:12px; }
}
@media(max-width:599px) {
  .topbar { padding:10px 16px; min-height:68px; gap:8px; } .topbar-start,.topbar-actions { gap:4px; }
  .topbar-title { font-size:14px; font-weight:550; color:var(--text); } .topbar-divider,#breadcrumb { display:none; }
  .connection-trigger { padding:8px; font-size:12px; }
  .theme-control select { width:44px; padding:8px 0; font-size:0; background-image:none; }
  .theme-control { position:relative; }
  .theme-control::before { content:""; position:absolute; left:14px; top:14px; width:14px; height:14px; border:1.5px solid var(--muted); border-radius:50%; pointer-events:none; background:linear-gradient(90deg,var(--muted) 50%,transparent 50%); }
  .theme-control select option { font-size:14px; }
  main { padding:24px 16px max(24px,env(safe-area-inset-bottom)); } h1 { font-size:24px; }
  .page-heading { gap:12px; margin-bottom:24px; align-items:flex-start; } .page-heading p { font-size:13px; }
  #refresh { padding:10px; min-width:44px; } #refresh .icon { width:18px; height:18px; flex-basis:18px; } #refresh span { display:none; }
  .connection-panel summary { padding:16px; gap:12px; } .connection-summary { gap:12px; } .connection-summary span span { font-size:12px; }
  #connection { grid-template-columns:minmax(0,1fr); padding:16px; } #connect-submit { width:100%; }
  input,.field input { font-size:16px; } .connection-note { align-items:flex-start; font-size:12px; } .connection-note .icon { margin-top:3px; }
  .status-bar { align-items:flex-start; gap:8px; margin-bottom:16px; } #status { padding-top:12px; font-size:12px; } #disconnect { padding-inline:4px; font-size:12px; }
  .metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; margin-bottom:16px; }
  .metric { padding:20px 16px; } .metric:nth-child(3) { border-left:0; } .metric:nth-child(n+3) { border-top:1px solid var(--line); } .metric strong { font-size:28px; }
  .panel { margin-bottom:16px; } .panel-heading { padding:20px 16px; gap:12px; } .panel-heading p,.panel-heading .text-link { font-size:12px; }
  .status-list { padding-inline:16px; } .status-list>div { gap:12px; } .status-list dd { font-size:12px; }
  .panel-footnote { padding:12px 16px 20px; } .attention-panel { display:block; } .attention-row { padding:16px; min-height:88px; }
  .recent-feedback { padding-inline:16px; } .recent-row { flex-direction:column; gap:8px; } .recent-row time { align-self:flex-end; }
  .table-toolbar { padding:0 16px 16px; flex-direction:column; align-items:stretch; gap:12px; } .search-field { flex-basis:auto; }
  .filter-control select { flex:1; } .filter-control { gap:16px; }
  table,tbody,tr,td { display:block; } thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  tbody tr[data-account] { padding:16px; border-top:1px solid var(--line); } td { border:0; padding:6px 0; min-width:0; }
  td[data-label]:not(:first-child) { display:flex; gap:16px; align-items:center; justify-content:space-between; text-align:right; }
  td[data-label]:not(:first-child)::before { content:attr(data-label); color:var(--muted); flex-shrink:0; }
  td:last-child:not([colspan]) { padding-bottom:0; } .account-name { padding-bottom:8px; } .account-action { padding-inline:12px; }
  .table-empty { padding:32px 16px; } .table-meta { padding:14px 16px; }
  .feedback-search { margin-inline:16px; } .feedback-item { padding:20px 16px; }
  .task-content { padding:0 16px 20px; gap:20px; } .task-content .button { width:100%; }
  #job-summary { margin:0 16px 16px; } #job-details { padding:0 16px 16px; }
  .backup-step { margin-inline:16px; padding-block:20px; gap:16px; } .command-line { width:100%; justify-content:space-between; gap:4px; padding-left:12px; }
  .backup-panel>.inline-note { padding:16px; align-items:flex-start; font-size:12px; } .backup-panel>.inline-note .icon { margin-top:2px; }
  .page-footer { flex-direction:column; gap:4px; margin-top:28px; } .dialog-body { padding:24px; }
  .dialog-actions { display:grid; grid-template-columns:1fr 1fr; } .dialog-actions .button { padding-inline:8px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }
  .button:active:not(:disabled),.icon-button:active:not(:disabled),.text-link:hover .icon { transform:none; }
}

/* Administrator identity and the dedicated login share the existing Operate tokens. */
.admin-identity { display:flex; align-items:center; gap:8px; min-width:0; font-size:13px; }
#administrator-name { max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.session-expiry { color:var(--muted); font-size:12px; text-align:right; }
.session-loading { min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:24px; color:var(--muted); text-align:center; }
.auth-page { min-height:100svh; display:flex; flex-direction:column; }
.auth-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left)); }
.auth-brand { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--text); text-decoration:none; font-size:20px; font-weight:650; }
.auth-brand small { font-size:12px; color:var(--accent); font-weight:500; }
.auth-main { min-height:0; flex:1; width:100%; display:flex; align-items:center; justify-content:center; padding:32px 20px 64px; }
.auth-panel { width:100%; max-width:420px; border:1px solid var(--line); background:var(--surface); border-radius:var(--panel-radius); padding:36px; }
.auth-description { color:var(--muted); margin-top:10px; }
#admin-login { display:grid; gap:20px; margin-top:28px; }
#admin-login .field input { width:100%; }
#login-submit { width:100%; margin-top:4px; }
.auth-notice { padding:12px 14px; margin-top:20px; background:var(--accent-soft); color:var(--accent-text); border-radius:8px; font-size:13px; }
.auth-error { margin-top:0; }
.auth-session-note { font-size:12px; line-height:1.7; color:var(--muted); margin-top:20px; }
.auth-footer { padding:16px 20px max(24px,env(safe-area-inset-bottom)); color:var(--muted); font-size:12px; text-align:center; }
@media(max-width:599px) {
  .auth-header { padding:16px; gap:8px; } .auth-main { padding:20px 16px 36px; }
  .auth-panel { padding:28px 24px; } .auth-brand { gap:8px; font-size:18px; }
  .admin-identity { display:none; } .session-expiry { text-align:left; }
  .status-bar { align-items:flex-start; flex-direction:column; gap:4px; margin-top:8px; }
  #logout { padding-inline:10px; font-size:12px; }
}

/* Startup advertising extends the incumbent settings vocabulary. */
.advertising-panel{max-width:880px}
.advertising-form{padding:0 24px 24px}
.ad-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line);cursor:pointer}
.ad-toggle strong,.ad-toggle small{display:block}.ad-toggle small{font-size:13px;line-height:1.7;color:var(--muted);margin-top:6px}
.ad-toggle input{accent-color:var(--accent);width:24px;height:24px;flex:none;cursor:pointer}
.advertising-form .field{max-width:680px}.ad-help{font-size:13px;color:var(--muted);line-height:1.7;margin:8px 0 0}
.ad-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.ad-save-status{font-size:13px;color:var(--muted);line-height:1.7;margin:16px 0 0}
.ad-behavior{border-top:1px solid var(--line);padding:24px;color:var(--muted);font-size:13px;line-height:1.8}.ad-behavior h3{font-size:14px;color:var(--text);margin:0 0 8px}.ad-behavior ul{margin:0;padding-left:18px}
@media(max-width:599px){.advertising-form{padding:0 16px 20px}.ad-behavior{padding:20px 16px}.ad-actions .button{flex:1 1 calc(50% - 6px);min-width:100px;white-space:nowrap}.ad-actions .text-button{flex-basis:100%;min-height:44px;text-align:left}.ad-toggle{gap:16px}}

.agreement-form .field+.field { margin-top: 20px; }
.agreement-form textarea { display:block;width:100%;min-height:220px;resize:vertical;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--text);padding:12px;font:inherit;line-height:1.65;caret-color:var(--accent); }
.agreement-form textarea:disabled { opacity:.7; }
@media(max-width:599px){.agreement-form textarea{font-size:16px}}
