:root {
  color-scheme: dark;
  --font-scale:1.15;
  --bg:#08101d; --sidebar:#0b1422; --surface:#101b2b; --surface-raised:#142236;
  --line:#223149; --line-soft:#1a293d; --text:#edf4ff; --muted:#94a3b8;
  --accent:#4f8cff; --accent-soft:#172c4d; --ok:#43d17d; --warn:#f6c65b; --bad:#ff7285;
  --shadow:0 18px 45px rgba(0,0,0,.18); --radius:14px;
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { min-width:320px; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--text); font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.loading main,.loading .app-footer { visibility:hidden; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.skip-link { position:fixed; left:12px; top:-48px; z-index:20; padding:9px 12px; border-radius:8px; background:#fff; color:#07101c; font-weight:700; }
.skip-link:focus { top:12px; }
.app-shell { display:grid; grid-template-columns:232px minmax(0,1fr); min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; width:232px; display:flex; flex-direction:column; padding:22px 14px; background:var(--sidebar); border-right:1px solid var(--line-soft); z-index:5; }
.brand { display:flex; align-items:center; gap:11px; padding:0 8px 28px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#fff; background:linear-gradient(145deg,#5b9cff,#346bd5); box-shadow:0 8px 22px rgba(79,140,255,.28); font-weight:800; }
.brand strong,.brand small { display:block; } .brand strong { font-size:14px; letter-spacing:-.01em; } .brand small { margin-top:1px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.primary-nav { display:grid; gap:5px; }
.primary-nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:43px; padding:9px 12px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); text-align:left; cursor:pointer; transition:.16s ease; }
.primary-nav button > span:first-child { width:20px; color:#7d91ad; font-size:17px; text-align:center; }
.primary-nav button:hover { color:var(--text); background:#111f32; }
.primary-nav button[aria-selected="true"] { color:#fff; background:var(--accent-soft); border-color:#234574; box-shadow:inset 3px 0 var(--accent); }
.primary-nav button[aria-selected="true"] > span:first-child { color:#82b1ff; }
.sidebar-footer { margin-top:auto; display:grid; gap:16px; padding:16px 8px 2px; border-top:1px solid var(--line-soft); }
.sidebar-footer a { color:var(--muted); text-decoration:none; font-size:12px; } .sidebar-footer a:hover { color:#fff; }
.sidebar-status { display:flex; align-items:center; gap:9px; } .sidebar-status small,.sidebar-status strong { display:block; } .sidebar-status small { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; } .sidebar-status strong { margin-top:2px; font-size:12px; }
.status-dot { width:9px; height:9px; border-radius:50%; background:var(--muted); box-shadow:0 0 0 4px rgba(148,163,184,.08); }
.status-dot.ok { background:var(--ok); box-shadow:0 0 0 4px rgba(67,209,125,.1); } .status-dot.warn { background:var(--warn); box-shadow:0 0 0 4px rgba(246,198,91,.1); } .status-dot.bad { background:var(--bad); box-shadow:0 0 0 4px rgba(255,114,133,.1); }
.workspace { grid-column:2; min-width:0; }
.topbar { position:sticky; top:0; z-index:4; display:flex; justify-content:space-between; align-items:center; min-height:82px; padding:15px clamp(18px,3vw,36px); background:rgba(8,16,29,.9); border-bottom:1px solid var(--line-soft); backdrop-filter:blur(14px); }
.topbar h1 { margin:1px 0 0; font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.eyebrow { margin:0; color:#7890af; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.update-meta { display:grid; min-width:128px; justify-items:end; color:var(--muted); font-size:11px; } .update-meta small { color:#8093ad; }
.icon-button { width:37px; height:37px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:#b6c5d9; cursor:pointer; font-size:18px; }
.icon-button:hover { color:#fff; border-color:#355076; } .icon-button.loading { animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.runtime-badge { min-width:58px; padding:8px 11px; border:1px solid #2a5690; border-radius:9px; color:#cfe0ff; background:#132b4d; text-align:center; font-size:11px; font-weight:800; letter-spacing:.1em; }
.runtime-badge.live { color:#ffe2e7; border-color:#7a3241; background:#351b27; }
main { max-width:1600px; min-height:calc(100vh - 122px); margin:0 auto; padding:24px clamp(18px,3vw,36px) 32px; }
section[hidden] { display:none; }
.alert-banner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin-bottom:18px; padding:11px 14px; border:1px solid #68402d; border-radius:12px; background:#2b1c19; box-shadow:var(--shadow); }
.alert-banner.bad { border-color:#663141; background:#2c1822; } .alert-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; color:#14100a; background:var(--warn); font-weight:900; } .alert-banner.bad .alert-icon { background:var(--bad); }
.alert-banner strong,.alert-banner span { display:block; } .alert-banner strong { font-size:12px; } .alert-banner div > span { color:#c8b3ad; font-size:12px; }
.alert-banner button,.text-button { padding:6px 0; border:0; background:none; color:#99beff; cursor:pointer; font-weight:700; font-size:12px; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.kpi-card,.panel { min-width:0; border:1px solid var(--line-soft); border-radius:var(--radius); background:linear-gradient(145deg,rgba(18,30,48,.98),rgba(14,25,41,.98)); box-shadow:var(--shadow); }
.kpi-card { padding:17px 18px; }
.kpi-head { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.kpi-icon { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:#172943; color:#7fb0ff; font-size:13px; }
.kpi-value { display:block; margin:12px 0 2px; font-size:26px; line-height:1.1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.kpi-value.ok { color:#b9f6d2; } .kpi-value.warn { color:#ffe3a3; } .kpi-value.bad { color:#ffc1ca; }
.kpi-card small { color:#7186a2; font-size:11px; }
.content-grid { display:grid; gap:14px; margin-bottom:14px; }.content-grid-main { grid-template-columns:minmax(0,2.1fr) minmax(280px,.9fr); }.content-grid-secondary { grid-template-columns:repeat(2,minmax(0,1fr)); }
.panel { padding:18px; }
.panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:16px; }
.panel-heading h2 { margin:2px 0 0; font-size:15px; letter-spacing:-.015em; }
.status-pill,.count-badge { display:inline-flex; align-items:center; justify-content:center; min-height:25px; padding:4px 9px; border:1px solid var(--line); border-radius:999px; color:#b7c5d8; background:#101b2b; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.status-pill.ok { color:#9af0bd; border-color:#245d42; background:#102a21; }.status-pill.warn { color:#ffe09a; border-color:#66522b; background:#292316; }.status-pill.bad { color:#ffbec8; border-color:#6a3340; background:#2d1821; }
.count-badge { min-width:27px; }
.table-wrap { overflow:auto; max-width:100%; max-height:68vh; border:1px solid var(--line-soft); border-radius:10px; outline:none; }.table-wrap:focus-visible { box-shadow:0 0 0 2px var(--accent); }.overview-table { max-height:330px; border:0; border-radius:0; }
table { width:100%; border-collapse:collapse; font-size:12px; }th,td { padding:11px 10px; border-bottom:1px solid var(--line-soft); text-align:left; white-space:nowrap; font-variant-numeric:tabular-nums; }th { position:sticky; top:0; z-index:1; color:#7489a5; background:#101b2b; font-size:9px; text-transform:uppercase; letter-spacing:.09em; }tbody tr:last-child td { border-bottom:0; }tbody tr:hover { background:rgba(79,140,255,.04); }
.asset-cell { display:flex; align-items:center; gap:9px; font-weight:750; }.asset-avatar { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; color:#b7d1ff; background:#1b3151; font-size:9px; }
.direction { font-weight:750; }.direction.long,.pnl-positive { color:#68dc99; }.direction.short,.pnl-negative { color:#ff8495; }.table-state { color:#a9b8ca; font-size:10px; }
.service-list,.alert-list,.freshness-list { list-style:none; margin:0; padding:0; }.service-list { display:grid; gap:1px; }.service-list li { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--line-soft); }.service-list li:last-child { border:0; }.service-name { display:flex; align-items:center; gap:8px; color:#c4d0df; }.service-name .status-dot { width:7px; height:7px; }.service-list strong { color:#8093ab; font-size:10px; text-transform:uppercase; }
.health-summary { display:flex; justify-content:space-between; margin-top:10px; padding:11px 12px; border-radius:9px; background:#0c1727; color:var(--muted); font-size:11px; }.health-summary strong { color:#dbe8fa; }
.alert-list { display:grid; gap:8px; }.alert-list li { display:grid; grid-template-columns:auto 1fr; gap:10px; padding:10px 11px; border:1px solid var(--line-soft); border-radius:9px; background:#0d1828; }.alert-list .alert-severity { width:7px; height:7px; margin-top:6px; border-radius:50%; background:var(--warn); }.alert-list .alert-severity.bad { background:var(--bad); }.alert-list strong,.alert-list span { display:block; }.alert-list strong { color:#d6e1ef; font-size:12px; }.alert-list span { margin-top:2px; color:#7186a2; font-size:10px; }.alert-list-detailed li { padding:12px; }
.definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }.definition-grid > div { padding:11px; border-radius:9px; background:#0c1727; }.definition-grid dt,.definition-list dt { color:#7186a2; font-size:10px; }.definition-grid dd,.definition-list dd { margin:3px 0 0; color:#d8e3f1; font-size:12px; font-weight:700; }.definition-grid.compact { margin-top:14px; }
.filters { display:flex; gap:8px; }.filters input,.filters select { min-height:36px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; outline:none; background:#0b1626; color:var(--text); }.filters input { width:230px; }.filters input:focus,.filters select:focus { border-color:var(--accent); box-shadow:0 0 0 2px rgba(79,140,255,.15); }
.inline-filter { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:calc(11px * var(--font-scale)); }.inline-filter select { min-height:32px; padding:5px 28px 5px 9px; border:1px solid var(--line); border-radius:8px; background:#0b1626; color:var(--text); }.inline-filter select:focus { border-color:var(--accent); outline:2px solid rgba(79,140,255,.15); }
.empty-state,.empty { margin:0; padding:24px 8px; color:var(--muted); text-align:center; }
.funnel { display:grid; gap:12px; }.funnel-row { display:grid; grid-template-columns:minmax(120px,1fr) 4fr 45px; align-items:center; gap:12px; }.funnel-row > span:first-child { color:#aebdd0; font-size:11px; text-transform:capitalize; }.bar { height:8px; overflow:hidden; border-radius:999px; background:#1a2a40; }.bar > span { display:block; height:100%; min-width:2px; border-radius:inherit; background:linear-gradient(90deg,#4f8cff,#63c5ff); }.funnel-row strong { font-size:11px; text-align:right; }.diagnosis { margin-top:18px; padding:12px 13px; border-left:3px solid var(--accent); border-radius:0 9px 9px 0; background:#0c1727; color:#8fa2ba; font-size:11px; }
.definition-list { display:grid; gap:0; margin:0; }.definition-list > div { display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line-soft); }.definition-list > div:last-child { border:0; }.definition-list dd { margin:0; }
.freshness-list { display:grid; gap:8px; }.freshness-list li { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:10px 0; border-bottom:1px solid var(--line-soft); }.freshness-list li:last-child { border:0; }.freshness-list strong { font-size:11px; text-transform:capitalize; }.freshness-list small { color:var(--muted); }.system-copy { margin:0; padding:13px; border-radius:9px; background:#0c1727; color:#aebdd0; }
.app-footer { display:flex; justify-content:space-between; padding:0 clamp(18px,3vw,36px) 22px; color:#8093ad; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.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; }
.font-controls { display:flex; align-items:center; height:37px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.font-controls button { min-width:34px; height:100%; padding:0 8px; border:0; background:transparent; color:#c8d6e8; cursor:pointer; font-weight:750; }
.font-controls button:hover { color:#fff; background:#1a2a40; }.font-controls button:focus-visible { position:relative; z-index:1; outline:2px solid var(--accent); outline-offset:-2px; }
.font-controls output { min-width:43px; color:#91a5bf; text-align:center; font-size:calc(10px * var(--font-scale)); font-variant-numeric:tabular-nums; }
.metric-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:15px; }
.mini-metric { min-width:0; padding:12px; border:1px solid var(--line-soft); border-radius:10px; background:#0c1727; }
.mini-metric span,.mini-metric strong,.mini-metric small { display:block; }.mini-metric span { color:#7186a2; font-size:calc(10px * var(--font-scale)); text-transform:uppercase; letter-spacing:.07em; }.mini-metric strong { margin:5px 0 2px; font-size:calc(17px * var(--font-scale)); font-variant-numeric:tabular-nums; }.mini-metric small { overflow:hidden; color:#8295ae; font-size:calc(10px * var(--font-scale)); text-overflow:ellipsis; white-space:nowrap; }
.pnl-chart { min-height:190px; padding-top:12px; border-top:1px solid var(--line-soft); }
.pnl-line-view { display:grid; gap:8px; }.pnl-legend { display:flex; justify-content:flex-end; gap:16px; color:var(--muted); font-size:calc(10px * var(--font-scale)); }.pnl-legend-item { display:inline-flex; align-items:center; gap:6px; }.pnl-legend-item i { width:18px; height:3px; border-radius:999px; background:#5d9bff; }.pnl-legend-item.telegram i { background:#d08cff; }
.pnl-line-svg { display:block; width:100%; height:220px; overflow:visible; }.pnl-zero-line { stroke:#40516a; stroke-width:1; stroke-dasharray:4 5; }.pnl-series { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.pnl-series.crypto { stroke:#5d9bff; }.pnl-series.telegram { stroke:#d08cff; }.pnl-point { stroke:#0c1727; stroke-width:2; vector-effect:non-scaling-stroke; }.pnl-point.crypto { fill:#5d9bff; }.pnl-point.telegram { fill:#d08cff; }.pnl-point:focus { outline:none; stroke:#fff; stroke-width:4; }.pnl-axis-label { fill:#7186a2; font-size:11px; }
.pnl-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }.pnl-calendar-weekday { padding:3px 5px; color:#7186a2; font-size:calc(9px * var(--font-scale)); font-weight:800; text-align:center; text-transform:uppercase; }.pnl-calendar-blank { min-height:74px; }.pnl-calendar-day { display:grid; gap:3px; min-height:82px; padding:8px; border:1px solid var(--line-soft); border-radius:9px; background:#0c1727; }.pnl-calendar-day.pnl-positive { border-color:#245d42; background:linear-gradient(145deg,#10271f,#0c1727); }.pnl-calendar-day.pnl-negative { border-color:#5d2d3a; background:linear-gradient(145deg,#28161e,#0c1727); }.pnl-calendar-day:focus { outline:2px solid var(--accent); outline-offset:1px; }.pnl-calendar-day > strong { color:#dce7f5; font-size:calc(12px * var(--font-scale)); }.pnl-calendar-day > span { color:#8fa2ba; font-size:calc(9px * var(--font-scale)); white-space:nowrap; }.pnl-calendar-day > span b { color:#c9d8ea; }.pnl-calendar-day > small { margin-top:2px; font-size:calc(9px * var(--font-scale)); font-weight:800; white-space:nowrap; }
.pnl-empty-chart { display:grid; place-items:center; }
.action-queue { display:grid; gap:8px; }.action-item { padding:10px 11px; border:1px solid var(--line-soft); border-radius:9px; background:#0c1727; }.action-item > div { display:flex; justify-content:space-between; align-items:center; gap:8px; }.action-item small { display:block; margin-top:5px; overflow:hidden; color:var(--muted); font-size:calc(11px * var(--font-scale)); text-overflow:ellipsis; white-space:nowrap; }
.exposure-strip { margin-bottom:14px; }.compact-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.detail-list { display:grid; gap:7px; max-height:285px; overflow:auto; margin:12px 0 0; padding:0; list-style:none; }.detail-list li { padding:9px 10px; border-radius:8px; background:#0c1727; }.detail-list strong,.detail-list span { display:block; }.detail-list strong { font-size:calc(12px * var(--font-scale)); }.detail-list span { margin-top:2px; color:var(--muted); font-size:calc(10px * var(--font-scale)); }
.compact-table { max-height:365px; }.row-detail-button { padding:5px 8px; border:1px solid var(--line); border-radius:7px; background:#13233a; color:#aecdff; cursor:pointer; font-size:calc(10px * var(--font-scale)); }.row-detail-button:hover { border-color:#3d6293; color:#fff; }
.detail-dialog { width:min(720px,calc(100vw - 28px)); max-height:85vh; overflow:auto; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); box-shadow:0 28px 80px rgba(0,0,0,.55); }.detail-dialog::backdrop { background:rgba(2,7,14,.72); backdrop-filter:blur(3px); }.dialog-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }.dialog-heading h2 { margin:0; }.dialog-heading button { width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:#0c1727; color:#fff; cursor:pointer; font-size:20px; }.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; }.detail-grid > div { min-width:0; padding:10px; border-radius:8px; background:#0c1727; }.detail-grid dt { color:var(--muted); font-size:calc(10px * var(--font-scale)); }.detail-grid dd { margin:3px 0 0; overflow-wrap:anywhere; font-weight:700; }
.section-gap { margin-top:14px; }.event-timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:380px; overflow:auto; margin:0; padding:0; list-style:none; }.event-timeline li { min-width:0; padding:11px 12px; border-left:3px solid #315c94; border-radius:0 9px 9px 0; background:#0c1727; }.event-timeline strong,.event-timeline span { display:block; }.event-timeline strong { margin-top:3px; font-size:calc(12px * var(--font-scale)); }.event-meta { color:var(--muted); font-size:calc(10px * var(--font-scale)); text-transform:capitalize; }
.message-table { max-height:460px; }.message-preview { min-width:280px; max-width:520px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#b7c5d8; }.pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:12px; color:var(--muted); font-size:calc(11px * var(--font-scale)); }.pagination button { padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:#13233a; color:#aecdff; cursor:pointer; }.pagination button:disabled { opacity:.45; cursor:not-allowed; }.dialog-subtitle { margin:20px 0 8px; color:#cbd7e6; font-size:calc(13px * var(--font-scale)); }
.section-switcher { display:inline-flex; gap:3px; margin-bottom:14px; padding:4px; border:1px solid var(--line-soft); border-radius:10px; background:#0c1727; }.section-switcher button { min-height:34px; padding:6px 13px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; font-weight:700; }.section-switcher button[aria-pressed="true"] { border-color:#315c94; background:var(--accent-soft); color:#dceaff; }

/* All operational text follows one user-controlled scale. Layout dimensions
   remain fixed so increasing type does not zoom the entire application. */
body { font-size:calc(14px * var(--font-scale)); }
.brand strong { font-size:calc(14px * var(--font-scale)); }.brand small { font-size:calc(11px * var(--font-scale)); }
.primary-nav button { font-size:calc(13px * var(--font-scale)); }.primary-nav button > span:first-child { font-size:calc(17px * var(--font-scale)); }
.sidebar-footer a,.sidebar-status strong { font-size:calc(12px * var(--font-scale)); }.sidebar-status small { font-size:calc(10px * var(--font-scale)); }
.topbar h1 { font-size:calc(22px * var(--font-scale)); }.eyebrow { font-size:calc(11px * var(--font-scale)); }.update-meta,.runtime-badge { font-size:calc(11px * var(--font-scale)); }
.alert-banner strong,.alert-banner div > span,.alert-banner button,.text-button { font-size:calc(12px * var(--font-scale)); }
.kpi-head,.kpi-card small { font-size:calc(12px * var(--font-scale)); }.kpi-icon { font-size:calc(13px * var(--font-scale)); }.kpi-value { font-size:calc(26px * var(--font-scale)); }
.panel-heading h2 { font-size:calc(16px * var(--font-scale)); }.status-pill,.count-badge { font-size:calc(11px * var(--font-scale)); }
table { font-size:calc(13px * var(--font-scale)); }th { font-size:calc(11px * var(--font-scale)); }.asset-avatar { font-size:calc(10px * var(--font-scale)); }.table-state { font-size:calc(11px * var(--font-scale)); }
.service-list strong { font-size:calc(11px * var(--font-scale)); }.health-summary { font-size:calc(12px * var(--font-scale)); }
.alert-list strong { font-size:calc(13px * var(--font-scale)); }.alert-list span { font-size:calc(12px * var(--font-scale)); }
.definition-grid dt,.definition-list dt { font-size:calc(12px * var(--font-scale)); }.definition-grid dd,.definition-list dd { font-size:calc(13px * var(--font-scale)); }
.funnel-row > span:first-child,.funnel-row strong,.diagnosis,.freshness-list strong { font-size:calc(12px * var(--font-scale)); }.app-footer { font-size:calc(11px * var(--font-scale)); }
@media (max-width:1120px) { .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.content-grid-main { grid-template-columns:1fr; }.health-panel { order:-1; }.service-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; } }
@media (max-width:780px) {
  .app-shell { display:block; padding-bottom:68px; }.workspace { width:100%; }.sidebar { inset:auto 0 0 0; width:auto; height:68px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); border:0; border-top:1px solid var(--line); background:rgba(9,18,31,.97); }.brand,.sidebar-footer { display:none; }.primary-nav { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; }.primary-nav button { display:grid; justify-items:center; gap:1px; min-height:52px; padding:4px 2px; border-radius:8px; font-size:9px; text-align:center; }.primary-nav button > span:first-child { width:auto; font-size:15px; }.primary-nav button[aria-selected="true"] { box-shadow:inset 0 2px var(--accent); }
  .topbar { min-height:69px; padding:11px 14px; }.topbar h1 { font-size:calc(18px * var(--font-scale)); }.topbar .eyebrow,.update-meta { display:none; }.runtime-badge { min-width:52px; }.topbar-actions { gap:7px; }
  main { min-height:auto; padding:14px 10px 22px; }.kpi-grid { gap:9px; }.kpi-card,.panel { border-radius:12px; }.kpi-card { padding:14px; }.kpi-value { font-size:22px; }.content-grid-secondary { grid-template-columns:1fr; }.panel { padding:14px; }.panel-heading-wrap { align-items:stretch; flex-direction:column; }.filters { display:grid; grid-template-columns:1fr 1fr; }.filters input { width:100%; }.alert-banner { grid-template-columns:auto 1fr; }.alert-banner button { grid-column:2; justify-self:start; }.service-list { grid-template-columns:1fr; }.app-footer { display:none; }.metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.pnl-chart { overflow-x:auto; grid-template-columns:repeat(7,minmax(62px,1fr)); }.detail-grid,.event-timeline { grid-template-columns:1fr; }
  .primary-nav button { font-size:calc(11px * var(--font-scale)); }.runtime-badge,.eyebrow,.kpi-head,.kpi-card small,.definition-grid dt,.definition-list dt,.alert-list span,.service-list strong,th,.health-summary,.status-pill,.count-badge { font-size:calc(12px * var(--font-scale)); }
  .overview-table th:nth-child(2),.overview-table td:nth-child(2),.overview-table th:nth-child(4),.overview-table td:nth-child(4) { display:none; }
  .overview-table table { min-width:0; table-layout:fixed; }.overview-table th,.overview-table td { padding-inline:8px; overflow:hidden; text-overflow:ellipsis; }.overview-table th:first-child { width:34%; }
  .pnl-calendar { gap:4px; overflow-x:auto; grid-template-columns:repeat(7,minmax(66px,1fr)); }.pnl-calendar-day { min-height:78px; padding:6px; }.pnl-line-svg { min-width:620px; }.pnl-line-view { overflow-x:auto; }
}
@media (max-width:520px) { .font-controls button { min-width:31px; padding-inline:5px; }.font-controls output { min-width:39px; } }
@media (max-width:360px) { .font-controls output { display:none; } }
@media (max-width:460px) { .kpi-grid { grid-template-columns:1fr 1fr; }.kpi-icon { display:none; }.kpi-value { font-size:calc(20px * var(--font-scale)); }.definition-grid { gap:7px; }.funnel-row { grid-template-columns:95px 1fr 32px; gap:7px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
