/* Shared workspace presentation. Opt-in only; VPS Registry keeps its own theme. */
body[data-workspace-page] {
  --bg: #f5f6f3;
  --sidebar: #202621;
  --panel: #fff;
  --panel-2: #f7f9f7;
  --panel-3: #eef2ee;
  --line: #e1e5e1;
  --line-soft: #edf0ed;
  --text: #18201c;
  --muted: #66706a;
  --muted-2: #737d76;
  --green: #176b58;
  --teal: #176b58;
  --blue: #356b98;
  --cyan: #356b98;
  --purple: #68648b;
  --red: #b54742;
  --amber: #a36212;
  --orange: #a36212;
  --radius: 14px;
  --shadow: 0 12px 32px #18201c0d;
  --sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  color-scheme: light;
  color: var(--text);
  background: var(--bg);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
body[data-workspace-page] :is(button, input, select, textarea) { font-family: var(--sans); }
body[data-workspace-page] :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #176b5866; outline-offset: 3px; }
body[data-workspace-page] :is(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .55; }
body[data-workspace-page] [hidden], body[data-workspace-page] .hidden { display: none !important; }
body[data-workspace-page] .app-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100dvh; }
body[data-workspace-page] .main { width: 100%; max-width: 1700px; min-width: 0; margin: 0 auto; padding: 34px clamp(22px, 3vw, 48px) 56px; background: var(--bg); }
body[data-workspace-page] .app-shell .sidebar {
  position: sticky; top: 0; z-index: 40; display: flex; flex-direction: column; gap: 0;
  width: auto; height: 100dvh; max-height: none; padding: 22px 16px; overflow-y: auto;
  color: #edf1ec; background: var(--sidebar); border: 0; border-right: 1px solid #39413a; box-shadow: none;
}
body[data-workspace-page] .app-shell .brand { display: flex; gap: 11px; margin: 0 0 24px; padding: 0; align-items: center; }
body[data-workspace-page] .app-shell .brand-logo { width: 46px; height: 50px; padding: 3px; background: #29302a; border: 1px solid #454d46; border-radius: 12px; box-shadow: none; }
body[data-workspace-page] .app-shell .brand h1 { color: #f5f7f3; font-size: 16px; font-weight: 650; letter-spacing: -.025em; }
body[data-workspace-page] .app-shell .brand p { color: #a9b3aa; font-size: 11px; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-stack, .sidebar-primary-nav) { position: static; display: grid; grid-template-columns: 1fr; gap: 5px; margin: 0; padding: 0; width: 100%; height: auto; border: 0; background: transparent; box-shadow: none; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link) { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 9px; align-items: center; width: 100%; min-height: 46px; margin: 0; padding: 10px; color: #c8d0c8; font-size: 13px; font-weight: 500; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 9px; box-shadow: none; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link):hover { color: #fff; background: #2b332c; border-color: #3b473d; transform: none; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link).active { color: #fff; background: #34453a; border-color: #496151; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link)::after { display: none; }
body[data-workspace-page] .app-shell .sidebar :is(.tool-icon, .nav-icon) { display: grid; place-items: center; width: 26px; height: 26px; color: #c7d6cb; background: #303d33; border: 0; border-radius: 7px; box-shadow: none; }
body[data-workspace-page] .app-shell .sidebar :is(.tool-icon, .nav-icon)::before { color: inherit; }
body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link) > strong { min-width: 0; padding: 2px 6px; color: #c5d0c6; font-size: 10px; font-weight: 500; background: #29342c; border: 0; border-radius: 5px; }
body[data-workspace-page] .app-shell .sidebar .sidebar-secondary-links { margin: 20px 0 0; padding: 0; border: 0; }
body[data-workspace-page] .app-shell .sidebar :is(.sidebar-secondary-links a, .account-shortcut) { display: flex; gap: 10px; align-items: center; padding: 10px; color: #c8d0c8; font-size: 13px; background: transparent; border: 0; }
body[data-workspace-page] .app-shell .account-shortcut::before { display: none; }
body[data-workspace-page] .app-shell .sidebar .sidebar-label { color: #a9b3aa; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
body[data-workspace-page] .app-shell .sidebar .side-card { margin: 20px 0 0; padding: 18px 10px 0; color: #c8d0c8; background: transparent; border: 0; border-top: 1px solid #39413a; border-radius: 0; box-shadow: none; }
body[data-workspace-page] .app-shell .sidebar .side-card :is(small, .mini-stat, .server-row) { color: #b7c2b8; font-size: 11px; }
body[data-workspace-page] .app-shell .sidebar .mini-stat strong { color: inherit; font-weight: 500; }
body[data-workspace-page] .app-shell .sidebar .side-button { color: #d1ded3; background: #303d33; border-color: #465448; font-size: 11px; }
body[data-workspace-page] .app-shell .logout-button { position: static; width: 100%; min-height: 44px; margin: auto 0 0; padding: 16px 10px 0; color: #b7c2b8; font-size: 12px; background: transparent; border: 0; text-align: left; }
body[data-workspace-page] .dashboard-views { margin-top: 20px; background: #29322b; border: 1px solid #3b483e; border-radius: 10px; }
body[data-workspace-page] .dashboard-views-toggle { color: #e3ece4; padding: 12px; background: transparent; }
body[data-workspace-page] .dashboard-views-toggle :is(small, strong) { color: inherit; }
body[data-workspace-page] .dashboard-views-chevron { color: #c5d6c8; background: #3b483e; border-color: #4d5b50; }
body[data-workspace-page] .dashboard-view-options { padding: 5px !important; }
body[data-workspace-page] .topbar { display: flex; gap: 24px; align-items: flex-end; justify-content: space-between; margin: 0 0 28px; }
body[data-workspace-page] .topbar h2 { margin: 0; color: var(--text); font-size: clamp(30px, 2.8vw, 40px); line-height: 1.12; font-weight: 650; letter-spacing: -.04em; }
body[data-workspace-page] .topbar p { max-width: 680px; margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
body[data-workspace-page] .topbar :is(.page-kicker, .dashboard-page-kicker, .workspace-kicker, .account-kicker) { margin: 0 0 8px; color: var(--green); font-size: 11px; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
body[data-workspace-page] .top-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
body[data-workspace-page] .last-refresh { min-width: 0; padding: 0 12px 0 0; color: var(--muted); font-size: 10px; background: transparent; border: 0; border-radius: 0; }
body[data-workspace-page] .last-refresh strong { color: var(--text); font-size: 12px; font-weight: 600; }
body[data-workspace-page] .last-refresh small { color: var(--muted); font-size: 10px; }
body[data-workspace-page] .privacy-chip { min-height: 44px; padding: 10px 12px; color: var(--muted); font-size: 12px; background: transparent; border: 1px solid #cfd5d0; border-radius: 9px; }
body[data-workspace-page] input[type="checkbox"] { accent-color: var(--green); }
body[data-workspace-page] .primary-button, body[data-workspace-page] .primary-button.success-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 17px; color: #fff !important; font-size: 13px; font-weight: 600; background: var(--green) !important; border: 1px solid var(--green) !important; border-radius: 10px; box-shadow: 0 4px 10px #176b5812; }
body[data-workspace-page] .primary-button:hover { background: #105443 !important; transform: none; }
body[data-workspace-page] :is(.overview-panel, .control-panel, .table-panel, .bottom-panel, .cashflow-card, .vps-dashboard-panel) { color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 3px 12px #18201c04; }
body[data-workspace-page] :is(.overview-panel, .bottom-panel) { min-width: 0; padding: 20px; }
body[data-workspace-page] .panel-label { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .07em; }
body[data-workspace-page="dashboard"] .overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
body[data-workspace-page="dashboard"] .money-panel { grid-column: 1 / -1; padding: 20px 0 0; }
body[data-workspace-page="dashboard"] .money-panel > .panel-label { padding: 0 22px; margin-bottom: 16px; }
body[data-workspace-page] .money-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; height: auto; }
body[data-workspace-page] .metric-card { min-height: 112px; padding: 0 22px 20px; background: transparent; border: 0; border-right: 1px solid var(--line-soft); border-radius: 0; }
body[data-workspace-page] .metric-card:last-child { border-right: 0; }
body[data-workspace-page] .metric-card::after { display: none; }
body[data-workspace-page] .metric-card span { margin: 0 0 10px; color: var(--muted); font-size: 12px; font-weight: 500; }
body[data-workspace-page] .metric-card strong { margin: 0 0 5px; color: var(--text); font-size: clamp(20px, 1.7vw, 28px); font-family: var(--sans); font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.035em; overflow-wrap: anywhere; }
body[data-workspace-page] .metric-card small { color: var(--muted-2); font-size: 11px; }
body[data-workspace-page] .compact-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body[data-workspace-page] .compact-item { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 66px; padding: 5px; background: transparent; border: 0; border-radius: 0; }
body[data-workspace-page] .compact-item:has(.dashboard-metric-link) { padding: 0; }
body[data-workspace-page] .compact-item span { min-height: 32px; margin-bottom: 8px; color: var(--muted); font-size: 11px; font-weight: 500; }
body[data-workspace-page] .compact-item strong { color: var(--text); font-size: 22px; font-weight: 600; }
body[data-workspace-page] .dashboard-metric-link { display: flex; flex-direction: column; align-items: flex-start; width: 100%; height: 100%; padding: 5px; text-align: left; color: inherit; background: transparent; border: 0; border-radius: 7px; }
body[data-workspace-page] .dashboard-metric-link:hover { background: #e9f3ef; }
body[data-workspace-page] .dashboard-queue-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
body[data-workspace-page] .dashboard-queue-button { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 9px 14px; color: var(--muted); background: transparent; border: 1px solid #d8ded8; border-radius: 9px; font-size: 12px; font-weight: 600; }
body[data-workspace-page] .dashboard-queue-button.active { color: #105443; background: #e9f3ef; border-color: #accdbe; }
body[data-workspace-page] .dashboard-queue-button strong { padding: 1px 6px; font-size: 11px; font-weight: 600; background: #e5eae5; border-radius: 4px; }
body[data-workspace-page] .control-panel { display: grid; grid-template-columns: minmax(210px, 1.7fr) repeat(3, minmax(120px, 1fr)); gap: 14px; padding: 16px; margin-bottom: 0; }
body[data-workspace-page] .control-panel > .checkbox-line { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
body[data-workspace-page] .field { min-width: 0; }
body[data-workspace-page] .field > span { color: var(--muted); font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: 0; }
body[data-workspace-page] .field :is(input, select, textarea), body[data-workspace-page] .guided-form textarea, body[data-workspace-page] .treasury-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; color: var(--text); background: #f8faf8; border: 1px solid #dce2dc; border-radius: 8px; font-size: 13px; box-shadow: none; }
body[data-workspace-page] .field :is(input, select, textarea):focus { border-color: var(--green); background: #fff; }
body[data-workspace-page] input::placeholder { color: #79837b; }
body[data-workspace-page] :is(.dashboard-results-bar, .workspace-filter-summary) { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 10px 0 20px; color: var(--muted); font-size: 12px; }
body[data-workspace-page] :is(.dashboard-filter-summary, .workspace-summary-note) { color: var(--muted); font-size: 12px; }
body[data-workspace-page] :is(.dashboard-clear-filters, .workspace-filter-reset, .dashboard-empty-action) { min-height: 36px; padding: 6px 10px; color: var(--green); background: #fff; border: 1px solid #c4d6cc; border-radius: 7px; font-size: 12px; }
body[data-workspace-page] .table-title-row { padding: 20px; border-color: var(--line); }
body[data-workspace-page] .table-title-row h3 { color: var(--text); font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
body[data-workspace-page] .table-title-row em { color: var(--muted); font-size: 12px; font-style: normal; }
body[data-workspace-page] .dashboard-view-heading :is(p, .panel-label) { color: var(--muted); }
body[data-workspace-page] .dashboard-view-heading > p:last-child { margin: 6px 0 0; font-size: 12px; }
body[data-workspace-page] .ops-table :is(th, td) { border-color: var(--line); }
body[data-workspace-page] .ops-table th, body[data-workspace-page] .ops-table .group-head th { color: #626f65; background: #f4f7f3; font-size: 10px; font-weight: 600; }
body[data-workspace-page] .ops-table td { color: var(--text); font-size: 12px; background: transparent; }
body[data-workspace-page] .ops-table tbody tr:hover { background: #f3f7f3; }
body[data-workspace-page] .pair-row.tone-risk { background: #fff8f6; box-shadow: inset 3px 0 var(--red); }
body[data-workspace-page] .pair-row.tone-risk:hover { background: #fcefeb; }
body[data-workspace-page] :is(.status-pill, .health-pill) { font-weight: 600; box-shadow: none; }
body[data-workspace-page] :is(.status-ready, .status-complete, .health-fresh) { color: #176b58; background: #e9f3ef; border-color: #bfd9cf; }
body[data-workspace-page] .status-running { color: #356b98; background: #edf4fa; border-color: #c2d6e6; }
body[data-workspace-page] :is(.status-waiting, .health-warning) { color: #93560d; background: #fff4df; border-color: #e9c989; }
body[data-workspace-page] :is(.status-risk, .health-critical), body[data-workspace-page] .tone-risk .status-risk { color: #a33e39; background: #fcecea; border-color: #e8b7b3; box-shadow: none; }
body[data-workspace-page] :is(.row-actions button, .side-button.flat, .cashflow-action, .drawer-close) { min-height: 38px; color: #3f594a; font-weight: 500; background: #f7f9f7; border: 1px solid #d4ddd5; box-shadow: none; }
body[data-workspace-page] :is(.row-actions button, .side-button.flat, .cashflow-action, .drawer-close):hover { color: var(--green); background: #e9f3ef; border-color: #a7c5b5; }
body[data-workspace-page] :is(.more-menu-list, .drawer) { color: var(--text); background: #fff; border-color: var(--line); box-shadow: 0 16px 40px #18201c20; }
body[data-workspace-page] .more-menu-list button { color: var(--text); background: transparent; }
body[data-workspace-page] .drawer { z-index: 70; width: min(920px, calc(100vw - 36px)); padding: 24px; }
body[data-workspace-page] .drawer :is(.detail-card, .timeline-card, .advanced-details) { color: var(--text); background: #f7f9f7; border-color: var(--line); box-shadow: none; }
body[data-workspace-page] .drawer-actions { color: var(--text); background: #f7f9f7; border-color: var(--line); box-shadow: none; }
body[data-workspace-page] .drawer :is(.drawer-title, .detail-card h3, .timeline-card h3, .timeline-item strong, .advanced-details summary) { color: var(--text); }
body[data-workspace-page] .drawer :is(.drawer-subtitle, .detail-row span, .timeline-item p, .timeline-item small) { color: var(--muted); }
body[data-workspace-page] .detail-row strong { color: var(--text); }
body[data-workspace-page] .drawer-backdrop { z-index: 60; background: #18201c55; backdrop-filter: blur(3px); }
body[data-workspace-page] .bottom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
body[data-workspace-page] .bottom-panel h3 { color: var(--text); font-size: 15px; font-weight: 650; text-transform: none; }
body[data-workspace-page] .donut-wrap { grid-template-columns: 1fr; gap: 20px; justify-items: center; }
body[data-workspace-page] .legend-list { width: 100%; gap: 9px; }
body[data-workspace-page] .legend-list > div { justify-content: flex-start; color: var(--muted); font-size: 12px; }
body[data-workspace-page] .legend-list strong { margin-left: auto; color: var(--text); font-size: 12px; white-space: nowrap; }
body[data-workspace-page] .legend { flex-shrink: 0; width: 9px; height: 9px; border-radius: 3px; }
body[data-workspace-page] .donut::before { background: #fff; }
body[data-workspace-page] .donut :is(strong, span), body[data-workspace-page] .legend-list { color: var(--text); }
body[data-workspace-page] .action-needed { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 9px 10px; text-align: left; font-size: 12px; color: var(--text); background: #f8faf8; border-color: var(--line); }
body[data-workspace-page] .action-needed :is(span, strong) { color: inherit; }
body[data-workspace-page] .activity-row { grid-template-columns: 12px minmax(0, 1fr); color: var(--text); border-color: var(--line); }
body[data-workspace-page] .activity-row p { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
body[data-workspace-page] .activity-row p small { margin-top: 4px; line-height: 1.5; }
body[data-workspace-page] .activity-row time { grid-column: 2; font-size: 10px; text-align: left; white-space: normal; overflow-wrap: anywhere; }
body[data-workspace-page] .activity-row .activity-dot { width: 10px; height: 10px; margin-top: 4px; box-shadow: none; }
body[data-workspace-page] .main .side-button { color: var(--green); background: #f7f9f7; border: 1px solid #c4d6cc; border-radius: 8px; font-size: 12px; }
body[data-workspace-page] .dashboard-results-bar { padding: 0 20px; }
body[data-workspace-page="dashboard"] .control-panel { margin-bottom: 20px; }
body[data-workspace-page] .ops-table td:first-child { min-width: 140px; }
body[data-workspace-page] .activity-row :is(small, span), body[data-workspace-page] .activity-empty { color: var(--muted); }
body[data-workspace-page] .notice { padding: 16px 18px; margin: 12px 0; color: var(--muted); background: #f7f9f7; border-color: var(--line); box-shadow: none; }
body[data-workspace-page] .notice.error { color: #a33e39; background: #fcecea; border-color: #e8b7b3; }
body[data-workspace-page] .notice.empty { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 32px 24px; background: #fff; border: 0; }
body[data-workspace-page] .notice.empty strong { color: var(--text); font-size: 16px; }
body[data-workspace-page] .queue-empty { padding: 28px 22px; }
body[data-workspace-page] .toast { color: #fff; background: #202e25; border-color: #3d5947; }
body[data-workspace-page] .vps-dashboard-panel { margin-top: 24px; padding: 22px; }
body[data-workspace-page] .vps-dashboard-panel::before, body[data-workspace-page] .vps-dashboard-metric::before, body[data-workspace-page] .vps-dashboard-metric::after { display: none; }
body[data-workspace-page] .vps-dashboard-renewals { margin-top: 16px; color: var(--text); background: #f7f9f7; border: 1px solid var(--line); border-radius: 10px; }
body[data-workspace-page] .vps-dashboard-renewals-head > span { color: var(--muted); }
body[data-workspace-page] .vps-dashboard-message strong { color: var(--text); }
body[data-workspace-page] .vps-dashboard-message a { color: var(--green); background: #e9f3ef; border-color: #bfd9cf; }
body[data-workspace-page] .vps-dashboard-sync-status { margin: 12px 0 18px; color: var(--muted); font-size: 12px; }
body[data-workspace-page] .vps-dashboard-sync-status.is-stale { padding: 10px 12px; color: #93560d; background: #fff4df; border: 1px solid #e9c989; border-radius: 8px; }
body[data-workspace-page] .dashboard-hidden-toggle[aria-pressed="true"] { background: #e9f3ef; border-color: #8fbaa5; }
body[data-workspace-page] .vps-dashboard-head :is(h3, p), body[data-workspace-page] .vps-dashboard-renewals-head h4 { color: var(--text); }
body[data-workspace-page] .vps-dashboard-head > div > p:last-child { color: var(--muted); }
body[data-workspace-page] .vps-dashboard-link { color: var(--green); background: #e9f3ef; border-color: #bfd9cf; }
body[data-workspace-page] .vps-dashboard-metric { background: #f8faf8; border-color: var(--line); box-shadow: none; }
body[data-workspace-page] .vps-dashboard-metric :is(span, p, small) { color: var(--muted); }
body[data-workspace-page] .vps-dashboard-metric strong { color: var(--text); }
body[data-workspace-page] .vps-dashboard-metric.warning strong { color: var(--amber); }
body[data-workspace-page] .vps-dashboard-metric.danger strong { color: var(--red); }
body[data-workspace-page] :is(.vps-dashboard-message, .vps-dashboard-alert) { color: var(--muted); background: #f8faf8; border-color: var(--line); }
body[data-workspace-page] .vps-dashboard-alert :is(strong, .vps-dashboard-alert-due) { color: var(--text); }
body[data-workspace-page] :is(.cashflow-overview, .treasury-overview) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 12px; }
body[data-workspace-page] .cashflow-overview { grid-template-columns: repeat(12, minmax(0, 1fr)); }
body[data-workspace-page] .cashflow-overview > .overview-panel { grid-column: span 3; }
body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) { grid-column: span 4; }
body[data-workspace-page] .treasury-total, body[data-workspace-page] .treasury-total strong { color: var(--text); font-family: var(--sans); font-size: clamp(19px, 1.7vw, 26px); font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body[data-workspace-page] .cashflow-tabs { display: flex; flex-wrap: nowrap; gap: 28px; padding: 0; margin: 26px 0 20px; overflow-x: auto; background: transparent; border: 0; border-bottom: 1px solid #cfd5d0; border-radius: 0; }
body[data-workspace-page] .cashflow-tab { display: inline-flex; gap: 7px; align-items: center; flex-shrink: 0; min-height: 48px; padding: 0 1px; color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap; background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; }
body[data-workspace-page] .cashflow-tab.active { color: var(--green); background: transparent; border-bottom-color: var(--green); }
body[data-workspace-page] .cashflow-tab-count { padding: 1px 6px; font-size: 10px; font-weight: 600; background: #e8eee8; border-radius: 4px; }
body[data-workspace-page] .cashflow-filters { grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); }
body[data-workspace-page] .cashflow-filters:has([data-filter-tabs="transactions"]:not(.hidden)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body[data-workspace-page] .cashflow-filters:has([data-filter-tabs="transactions"]:not(.hidden)) .search-field { grid-column: span 2; }
body[data-workspace-page] .cashflow-filters .workspace-filter-summary { grid-column: 1 / -1; margin: 0; }
body[data-workspace-page] .cashflow-tab-panel { margin-top: 20px; }
body[data-workspace-page] .ghost-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; color: var(--green); background: #f7f9f7; border: 1px solid #c4d6cc; border-radius: 8px; box-shadow: none; }
body[data-workspace-page] .field > small { color: var(--muted); font-size: 12px; }
body[data-workspace-page] :is(.cashflow-card, .main-account-card, .reconcile-card) { background: #fff; border-color: var(--line); box-shadow: none; }
body[data-workspace-page] .cashflow-card { padding: 20px; }
body[data-workspace-page] .cashbox-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-workspace-page] .cashflow-card.has-warning { border-color: #e1c39d; box-shadow: inset 3px 0 #a36212; }
body[data-workspace-page] .cashflow-card-head h3 { color: var(--text); font-size: 18px; font-weight: 650; }
body[data-workspace-page] :is(.cashbox-balance, .cashflow-mini, .cashbox-strip span) { color: var(--text); background: #f7f9f7; border-color: var(--line); }
body[data-workspace-page] :is(.cashbox-balance, .cashflow-mini) > span { font-size: 10px; font-weight: 600; }
body[data-workspace-page] :is(.cashbox-balance, .cashflow-mini) > strong { color: var(--text); font-family: var(--sans); font-size: 21px; font-weight: 600; overflow-wrap: anywhere; }
body[data-workspace-page] .cashflow-action.danger { color: #a33e39; background: #fff5f3; border-color: #e8b7b3; }
body[data-workspace-page] .cashflow-action.settle { color: #93560d; background: #fff4df; border-color: #e9c989; }
body[data-workspace-page] .cashflow-warnings span { color: #93560d; background: #fff4df; border-color: #e9c989; }
body[data-workspace-page] .cashflow-tx-line { grid-template-columns: minmax(90px, .6fr) minmax(0, 1fr) auto; font-size: 12px; }
body[data-workspace-page] .cashflow-recent h4 { font-size: 12px; color: var(--muted); font-weight: 600; }
body[data-workspace-page].login-page { --login-canvas: #f5f6f3; --login-surface: #fff; --login-copy: #18201c; --login-muted: #66706a; --login-line: #dce2dc; --login-brand: #202621; --login-brand-soft: #29302a; --login-action: #176b58; --login-action-hover: #105443; background: var(--login-canvas); }
body[data-workspace-page].login-page .login-card { box-shadow: 0 20px 70px #18201c15; }
body[data-workspace-page].login-page .login-intro { background: #202621; }
body[data-workspace-page].login-page .login-form .field > span { font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
body[data-workspace-page].login-page .login-form input { font-size: 15px; }

/* Keep the public sign-in limited to identity and the form. */
body[data-workspace-page="login"] .login-shell { width: min(420px, 100%); }
body[data-workspace-page="login"] .login-card { grid-template-columns: minmax(0, 1fr); min-height: 0; border: 1px solid var(--login-line); border-radius: 20px; }
body[data-workspace-page="login"] .login-intro { padding: 24px clamp(24px, 5vw, 32px); }
body[data-workspace-page="login"] .login-intro::after { content: none; }
body[data-workspace-page="login"] .login-brand { gap: 14px; }
body[data-workspace-page="login"] .login-brand h1 { font-size: 24px; }
body[data-workspace-page="login"] .login-logo-frame { width: 48px; height: 48px; border-radius: 14px; }
body[data-workspace-page="login"] .login-logo { width: 40px; height: 40px; }
body[data-workspace-page="login"] .login-form-panel { padding: 28px clamp(24px, 5vw, 32px) 32px; }
body[data-workspace-page="login"] .login-form-panel > h2 { margin-bottom: 24px; font-size: 28px; }

@media (max-width: 1400px) {
  body[data-workspace-page] .topbar { align-items: flex-start; flex-direction: column; gap: 16px; }
  body[data-workspace-page] .top-actions { justify-content: flex-start; }
}
@media (max-width: 1200px) {
  body[data-workspace-page] .app-shell { grid-template-columns: 204px minmax(0, 1fr); }
  body[data-workspace-page] .topbar { align-items: flex-start; flex-direction: column; gap: 16px; }
  body[data-workspace-page] .top-actions { justify-content: flex-start; }
  body[data-workspace-page] .money-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
  body[data-workspace-page] .metric-card { min-height: 95px; }
  body[data-workspace-page] .metric-card:nth-child(3) { border-right: 0; }
  body[data-workspace-page] .compact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .control-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .cashflow-pair-grid { grid-template-columns: 1fr; }
  body[data-workspace-page] .bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .bottom-grid > :last-child { grid-column: 1 / -1; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  body[data-workspace-page] .app-shell { grid-template-columns: 88px minmax(0, 1fr); }
  body[data-workspace-page] .app-shell .sidebar { padding: 18px 8px; }
  body[data-workspace-page] .app-shell .brand { justify-content: center; }
  body[data-workspace-page] .app-shell .brand-copy, body[data-workspace-page] .app-shell .sidebar .side-card, body[data-workspace-page] .dashboard-views, body[data-workspace-page] .app-shell .sidebar-label { display: none; }
  body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link) { display: flex; flex-direction: column; gap: 6px; min-height: 68px; padding: 8px 2px; font-size: 9px; text-align: center; }
  body[data-workspace-page] .app-shell .sidebar :is(.nav-pill, .sidebar-primary-link) > strong { display: none; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-secondary-links { margin-top: auto; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-secondary-links { position: static; width: 100%; }
  body[data-workspace-page] .app-shell .sidebar :is(.sidebar-secondary-links a, .account-shortcut) { flex-direction: column; width: 100%; height: auto; overflow: visible; padding: 10px 2px; font-size: 9px; text-align: center; }
  body[data-workspace-page] .app-shell .logout-button { margin-top: 10px; padding: 12px 2px; font-size: 10px; text-align: center; }
  body[data-workspace-page] .main { padding: 26px 22px 40px; }
  body[data-workspace-page] :is(.cashflow-overview, .treasury-overview) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .cashflow-overview { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) { grid-column: span 2; padding: 16px 12px; }
  body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) .treasury-total { font-size: 19px; }
}
@media (max-width: 640px) {
  body[data-workspace-page] .app-shell { display: block; }
  body[data-workspace-page] .app-shell .sidebar { position: relative; z-index: 40; display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; height: auto; padding: 14px 16px; overflow: visible; border: 0; }
  body[data-workspace-page] .app-shell .brand { margin: 0; padding: 0; min-height: 38px; }
  body[data-workspace-page] .app-shell .brand-logo { width: 36px; height: 38px; }
  body[data-workspace-page] .app-shell .brand h1 { font-size: 14px; }
  body[data-workspace-page] .app-shell .brand p { display: block; font-size: 10px; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-primary-nav { position: fixed; inset: auto 0 0; z-index: 45; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; width: 100%; height: auto; padding: 6px 10px max(6px, env(safe-area-inset-bottom)); background: #202621; border-top: 1px solid #39413a; box-shadow: 0 -3px 18px #18201c15; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-primary-link { display: flex; flex-direction: column; gap: 3px; align-items: center; justify-content: center; min-height: 52px; padding: 6px 3px; font-size: 10px; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-primary-link > strong { display: none; }
  body[data-workspace-page] .app-shell .sidebar :is(.side-card, .dashboard-views, .sidebar-label, .logout-button) { display: none; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-secondary-links { position: static; width: auto; margin: 0; }
  body[data-workspace-page] .app-shell .sidebar :is(.sidebar-secondary-links a, .account-shortcut) { position: static; display: flex; width: auto; height: auto; min-height: 38px; overflow: visible; padding: 8px 10px; margin: 0; color: #d3ddd4; font-size: 11px; background: #303d33; border: 1px solid #465448; border-radius: 8px; }
  body[data-workspace-page] .app-shell .sidebar .sidebar-secondary-links .tool-icon { display: none; }
  body[data-workspace-page] .main { width: 100%; padding: 24px 16px calc(100px + env(safe-area-inset-bottom)); }
  body[data-workspace-page] .topbar { gap: 18px; margin-bottom: 24px; }
  body[data-workspace-page] .topbar h2 { font-size: 30px; }
  body[data-workspace-page] .topbar p { font-size: 13px; }
  body[data-workspace-page] .top-actions { display: flex; width: 100%; gap: 8px; }
  body[data-workspace-page] .last-refresh { flex: 1 1 100%; }
  body[data-workspace-page] .top-actions :is(.primary-button, .privacy-chip) { flex: 1; }
  body[data-workspace-page] .overview-panel, body[data-workspace-page] .bottom-panel { padding: 16px; }
  body[data-workspace-page="dashboard"] .overview-grid { gap: 12px; }
  body[data-workspace-page] .money-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  body[data-workspace-page] .metric-card { padding: 16px; min-height: 112px; border-bottom: 1px solid var(--line-soft); }
  body[data-workspace-page] .metric-card:nth-child(3) { border-right: 1px solid var(--line-soft); }
  body[data-workspace-page] .metric-card:nth-child(even) { border-right: 0; }
  body[data-workspace-page] .metric-card:last-child { grid-column: 1 / -1; border-bottom: 0; }
  body[data-workspace-page] .metric-card strong { font-size: 23px; }
  body[data-workspace-page] .compact-list { grid-template-columns: 1fr; gap: 7px; }
  body[data-workspace-page] .compact-item { min-height: 50px; }
  body[data-workspace-page] .compact-item { flex-direction: row; justify-content: space-between; align-items: center; }
  body[data-workspace-page] .dashboard-metric-link { flex-direction: row; justify-content: space-between; align-items: center; gap: 5px; }
  body[data-workspace-page] .compact-item span { min-height: 0; margin: 0; font-size: 10px; }
  body[data-workspace-page] .compact-item strong { font-size: 20px; }
  body[data-workspace-page] .dashboard-queue-nav { flex-wrap: nowrap; overflow-x: auto; gap: 7px; padding-bottom: 4px; }
  body[data-workspace-page] .dashboard-queue-button { flex-shrink: 0; padding: 9px 11px; font-size: 11px; }
  body[data-workspace-page] .control-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
  body[data-workspace-page] .cashflow-filters:has([data-filter-tabs="transactions"]:not(.hidden)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .control-panel .search-field { grid-column: 1 / -1; }
  body[data-workspace-page] .field :is(input, select, textarea) { font-size: 16px; }
  body[data-workspace-page] .table-title-row { padding: 18px 16px; }
  body[data-workspace-page] .table-wrap { overflow-x: auto; overscroll-behavior-x: contain; }
  body[data-workspace-page] .bottom-grid { grid-template-columns: 1fr; gap: 12px; }
  body[data-workspace-page] :is(.cashflow-overview, .treasury-overview) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body[data-workspace-page] .cashflow-overview > .overview-panel { grid-column: span 1; }
  body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; grid-column: 1 / -1; padding: 14px 16px; min-height: 65px; }
  body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) .panel-label { margin: 0; font-size: 10px; }
  body[data-workspace-page] .cashflow-overview > .overview-panel:nth-child(n+5) .treasury-total { margin: 0; font-size: 18px; text-align: right; }
  body[data-workspace-page] .treasury-total, body[data-workspace-page] .treasury-total strong { font-size: 20px; }
  body[data-workspace-page] .cashflow-tabs { gap: 22px; margin-top: 22px; }
  body[data-workspace-page] .cashflow-tab { font-size: 12px; }
  body[data-workspace-page] .cashflow-pair-grid { grid-template-columns: 1fr; }
  body[data-workspace-page] .cashflow-card { padding: 16px; }
  body[data-workspace-page] :is(.cashbox-main-grid, .cashflow-card-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-workspace-page] .cashflow-tx-line { grid-template-columns: 1fr; gap: 4px; }
  body[data-workspace-page] .cashflow-tx-line small { text-align: left; }
  body[data-workspace-page] :is(.main-account-card, .reconcile-card) { grid-template-columns: 1fr; }
  body[data-workspace-page] .drawer { inset: 0; width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; padding: 20px 16px calc(30px + env(safe-area-inset-bottom)); }
  body[data-workspace-page] .guided-form { grid-template-columns: 1fr; }
  body[data-workspace-page] .toast { right: 16px; bottom: calc(80px + env(safe-area-inset-bottom)); left: 16px; max-width: none; }
  body[data-workspace-page] .vps-dashboard-panel { padding: 16px; }
  body[data-workspace-page].login-page { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-workspace-page] *, body[data-workspace-page] *::before, body[data-workspace-page] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
