/*
THESIS: Smartia is a Dispatch Ledger: work states and records lead, not decorative dashboards.
OWN-WORLD: cool paper or night-console neutrals, one cobalt signal, thin dividers, compact operational controls.
STORY: an operator sees the current context, verifies the state, then takes one clear action without losing their place.
FIRST VIEWPORT: icon rail left, one command bar above a fluid ledger/work surface; primary action stays in the command area.
FORM: operating control plane, seed 0cafe8ca; ledger, incident detail and deep configuration compose one shared system.
*/
@import url("https://fonts.googleapis.com/css2?family=Recursive:CASL,MONO,CRSV,slnt,wght@0.5..1,0..1,0..1,-15..0,300..1000&display=swap");

:root {
    color-scheme: light;
    --saas-font: "Recursive", ui-sans-serif, system-ui, sans-serif;
    --saas-mono: "Recursive", ui-monospace, SFMono-Regular, Menlo, monospace;
    --saas-bg: #f4f6f8;
    --saas-surface: #ffffff;
    --saas-surface-alt: #eef2f6;
    --saas-surface-hover: #f7faff;
    --saas-text: #17212b;
    --saas-muted: #617181;
    --saas-subtle: #8b9aaa;
    --saas-line: #d8dee6;
    --saas-line-strong: #b9c5d1;
    --saas-primary: #205ce6;
    --saas-primary-hover: #174cc1;
    --saas-primary-soft: #e8efff;
    --saas-focus: #76a7ff;
    --saas-success: #087f5b;
    --saas-success-soft: #e5f6ef;
    --saas-warning: #a65d00;
    --saas-warning-soft: #fff1db;
    --saas-danger: #bc3030;
    --saas-danger-soft: #feecec;
    --saas-info: #205ce6;
    --saas-info-soft: #e8efff;
    --saas-nav: #15202b;
    --saas-nav-text: #dbe5ef;
    --saas-nav-muted: #9db0c2;
    --saas-radius-control: 8px;
    --saas-radius-card: 12px;
    --saas-radius-grid: 10px;
    --saas-shadow-float: 0 12px 28px rgba(23, 33, 43, .15);
    --saas-shadow-menu: 0 6px 18px rgba(23, 33, 43, .12);
    --saas-ease: cubic-bezier(.2, .8, .2, 1);
    --saas-sidebar: 248px;
}

html[data-saas-theme="dark"] {
    color-scheme: dark;
    --saas-bg: #0f1720;
    --saas-surface: #151f2a;
    --saas-surface-alt: #1b2835;
    --saas-surface-hover: #202f3e;
    --saas-text: #f3f7fb;
    --saas-muted: #aab8c6;
    --saas-subtle: #7f91a2;
    --saas-line: #2c3c4d;
    --saas-line-strong: #46596d;
    --saas-primary: #3565c5;
    --saas-primary-hover: #2a55aa;
    --saas-primary-soft: #1d345d;
    --saas-focus: #b5ccff;
    --saas-success: #54d4a5;
    --saas-success-soft: #163c34;
    --saas-warning: #ffc06e;
    --saas-warning-soft: #493313;
    --saas-danger: #c54545;
    --saas-danger-soft: #4b2328;
    --saas-info: #9bbcff;
    --saas-info-soft: #1d345d;
    --saas-nav: #101820;
    --saas-nav-text: #edf4fb;
    --saas-nav-muted: #a8bbcd;
    --saas-shadow-float: 0 14px 32px rgba(0, 0, 0, .34);
    --saas-shadow-menu: 0 8px 22px rgba(0, 0, 0, .28);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { background: var(--saas-bg); }
body.saas-console {
    margin: 0 !important;
    background: var(--saas-bg) !important;
    color: var(--saas-text) !important;
    font: 400 14px/1.48 var(--saas-font) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    --bg: var(--saas-bg) !important;
    --surface: var(--saas-surface) !important;
    --surface-2: var(--saas-surface-alt) !important;
    --surface-muted: var(--saas-surface-alt) !important;
    --border: var(--saas-line) !important;
    --text: var(--saas-text) !important;
    --muted: var(--saas-muted) !important;
    --primary: var(--saas-primary) !important;
    --primary-soft: var(--saas-primary-soft) !important;
    --primary-strong: var(--saas-primary-hover) !important;
    --success: var(--saas-success) !important;
    --warning: var(--saas-warning) !important;
    --danger: var(--saas-danger) !important;
    --danger-soft: var(--saas-danger-soft) !important;
    --saas-surface-canvas: var(--saas-bg) !important;
    --saas-surface-raised: var(--saas-surface) !important;
    --saas-surface-inset: var(--saas-surface-alt) !important;
    --saas-text-primary: var(--saas-text) !important;
    --saas-text-secondary: var(--saas-muted) !important;
    --saas-text-tertiary: var(--saas-subtle) !important;
    --saas-border-default: var(--saas-line) !important;
    --saas-border-subtle: var(--saas-line) !important;
    --saas-border-strong: var(--saas-line-strong) !important;
    --saas-accent: var(--saas-primary) !important;
    --saas-accent-hover: var(--saas-primary-hover) !important;
    --saas-accent-soft: var(--saas-primary-soft) !important;
}

body.saas-console :is(h1,h2,h3,h4,h5,h6,strong,b,.value,.kpi-value,.vps-kpi-value) {
    color: var(--saas-text) !important;
    font-family: var(--saas-font) !important;
    letter-spacing: -.018em;
}
body.saas-console :is(p,span,td,li,small,label) { color: inherit; }

/* Smartia Control Plane — Technical Cartography.  This surface deliberately
   does not inherit the old Dispatch Ledger layout. */
body.saas-cartography {
    margin: 0;
    min-width: 320px;
    background: #081119;
    color: #e7eef0;
    font: 400 15px/1.5 var(--saas-font);
    --cp-paper: #0d1921;
    --cp-panel: rgba(16, 31, 40, .84);
    --cp-panel-strong: #142936;
    --cp-line: rgba(169, 208, 211, .16);
    --cp-line-strong: rgba(169, 208, 211, .30);
    --cp-ink: #e7eef0;
    --cp-muted: #98abb3;
    --cp-cyan: #8ee6dc;
    --cp-amber: #f5bd69;
    --cp-red: #fb837b;
    --cp-blue: #90bfff;
}
body.saas-cartography * { box-sizing: border-box; }
.saas-cartography button, .saas-cartography input, .saas-cartography textarea { font: inherit; }
.saas-cartography a { color: inherit; }
.cp-skip { position: fixed; left: 16px; top: -60px; z-index: 50; padding: 9px 12px; background: var(--cp-cyan); color: #062127; border-radius: 5px; }
.cp-skip:focus { top: 16px; outline: 3px solid #fff; }
.cp-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; background: radial-gradient(circle at 80% 0%, rgba(51, 132, 153, .20), transparent 36rem), #081119; }
.cp-rail { position: sticky; top: 0; align-self: start; height: 100vh; padding: 24px 15px; border-right: 1px solid var(--cp-line); background: rgba(7, 16, 23, .88); backdrop-filter: blur(18px); }
.cp-brand { display: flex; align-items: center; gap: 10px; padding: 4px 10px 27px; color: #fff; text-decoration: none; font-weight: 760; letter-spacing: -.02em; }
.cp-brand-mark { display: grid; place-items: center; width: 29px; height: 29px; color: #062127; background: var(--cp-cyan); clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%); }
.cp-brand small { display:block; color: var(--cp-muted); font-weight: 500; font-size: .71rem; letter-spacing: .09em; text-transform: uppercase; }
.cp-nav { display: grid; gap: 4px; }
.cp-nav a { display: flex; gap: 11px; align-items: center; min-height: 40px; padding: 9px 10px; color: var(--cp-muted); text-decoration: none; border: 1px solid transparent; border-radius: 5px; }
.cp-nav a:hover, .cp-nav a:focus-visible, .cp-nav a[aria-current="page"] { color: var(--cp-ink); background: rgba(142, 230, 220, .09); border-color: rgba(142, 230, 220, .22); outline: none; }
.cp-nav svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.cp-nav-label { margin-top: 26px; padding: 0 10px 7px; color: #627780; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cp-rail-foot { position: absolute; right: 15px; bottom: 22px; left: 15px; padding: 12px 10px; border-top: 1px solid var(--cp-line); color: var(--cp-muted); font-size: .78rem; }
.cp-main { min-width: 0; padding: 24px clamp(18px, 4vw, 62px) 72px; }
.cp-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1500px; margin: 0 auto 32px; }
.cp-crumb { color: var(--cp-muted); font-size: .78rem; letter-spacing: .09em; text-transform: uppercase; }
.cp-user { display: flex; gap: 10px; align-items: center; color: var(--cp-muted); font-size: .84rem; }
.cp-avatar { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid var(--cp-line-strong); border-radius: 50%; color: var(--cp-cyan); }
.cp-workspace { max-width: 1500px; margin: auto; }
.cp-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; margin-bottom: 27px; }
.cp-eyebrow { margin: 0 0 8px; color: var(--cp-cyan); font-size: .73rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.cp-hero h1 { max-width: 16ch; margin: 0; color: #f4f7f7; font-size: clamp(2rem, 4.8vw, 4.5rem); line-height: .97; letter-spacing: -.065em; }
.cp-hero p:last-child { max-width: 610px; margin: 16px 0 0; color: var(--cp-muted); }
.cp-actions { display:flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.cp-button { min-height: 39px; padding: 9px 13px; border: 1px solid var(--cp-line-strong); border-radius: 5px; background: transparent; color: var(--cp-ink); cursor:pointer; }
.cp-button:hover { border-color: var(--cp-cyan); color: var(--cp-cyan); }
.cp-button:focus-visible, .cp-nav a:focus-visible { outline: 3px solid var(--cp-amber); outline-offset: 2px; }
.cp-button-primary { background: var(--cp-cyan); border-color: var(--cp-cyan); color: #062127; font-weight: 730; }
.cp-button-primary:hover { background: #b5f5ed; color: #062127; }
.cp-command { display:grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-bottom: 29px; padding: 11px 14px; border: 1px solid var(--cp-line); border-radius: 7px; background: rgba(9, 22, 29, .75); color: var(--cp-muted); }
.cp-command-wrap { position:relative; margin-bottom:29px; }.cp-command-wrap .cp-command { margin-bottom:0; }.cp-command-results { position:absolute; z-index:20; right:0; top:calc(100% + 7px); left:0; display:grid; max-height:340px; overflow:auto; padding:6px; border:1px solid var(--cp-line-strong); border-radius:7px; background:#10212b; box-shadow:0 18px 38px rgba(0,0,0,.35); }.cp-command-result { display:grid; gap:2px; padding:10px 11px; border:0; border-radius:4px; background:transparent; color:var(--cp-ink); font:inherit; text-align:left; text-decoration:none; cursor:pointer; }.cp-command-result:hover,.cp-command-result:focus-visible { background:rgba(142,230,220,.1); outline:none; }.cp-command-result small,.cp-command-empty { color:var(--cp-muted); font-size:.75rem; }.cp-command-empty { margin:10px; }
.cp-command kbd { padding: 2px 5px; border: 1px solid var(--cp-line-strong); border-radius: 3px; color: var(--cp-muted); font-family: var(--saas-mono); font-size: .72rem; }
.cp-command input { width:100%; border:0; outline:0; background: transparent; color: var(--cp-ink); }
.cp-command input::placeholder { color: #71868e; }
body.saas-cartography :is(.cp-inline-button, .cp-command-result, .cp-command input, .cp-dialog input, .cp-dialog select, .cp-dialog textarea):focus-visible { outline:3px solid var(--cp-amber); outline-offset:2px; }
.cp-map { position:relative; overflow:hidden; min-height: 152px; margin-bottom: 21px; padding: 23px; border: 1px solid var(--cp-line); border-radius: 8px; background: linear-gradient(135deg, rgba(19, 52, 61, .45), rgba(12, 24, 31, .78)); }
.cp-map::before { content:""; position:absolute; inset:0; opacity:.35; background-image: linear-gradient(var(--cp-line) 1px, transparent 1px), linear-gradient(90deg, var(--cp-line) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, #000, transparent); }
.cp-map > * { position:relative; }
.cp-map-header { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.cp-map h2, .cp-panel h2 { margin:0; color:#f2f5f4; font-size:1rem; letter-spacing:-.02em; }
.cp-map p { max-width:62ch; margin:7px 0 0; color:var(--cp-muted); font-size:.87rem; }
.cp-map-nodes { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.cp-map-plot { min-height:222px; margin-top:13px; border-top:1px solid rgba(128, 167, 170, .18); border-bottom:1px solid rgba(128, 167, 170, .12); }
.cp-map-plot svg { display:block; width:100%; height:222px; overflow:visible; }
.cp-graph-links path { fill:none; stroke:rgba(142, 230, 220, .32); stroke-width:1.25; stroke-dasharray:3 5; }
.cp-graph-hubs circle { fill:#163c45; stroke:rgba(142, 230, 220, .85); stroke-width:1.25; }
.cp-graph-hubs text { fill:#dff7f3; font:700 12px var(--saas-font); }
.cp-graph-hubs .cp-graph-label { fill:#91aeb1; font:600 10px var(--saas-font); }
.cp-graph-hubs .cp-graph-root { fill:#0b2831; stroke:var(--cp-cyan); stroke-width:1.5; }
.cp-graph-hubs .cp-graph-root-label { fill:#effcf9; font:780 14px var(--saas-font); letter-spacing:.08em; }
.cp-graph-hubs .cp-graph-root-detail { fill:#9ac6c3; font:600 10px var(--saas-font); }
.cp-node { padding:7px 9px; border:1px solid var(--cp-line-strong); border-radius:99px; background:rgba(5,15,21,.65); color:#dbe7e8; font-size:.78rem; }
.cp-node::before { content:""; display:inline-block; width:6px; height:6px; margin:0 7px 1px 0; border-radius:50%; background:var(--cp-cyan); }
.cp-metrics { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border:1px solid var(--cp-line); border-radius:8px; overflow:hidden; margin-bottom:21px; }
.cp-metric { min-height:109px; padding:17px; border-right:1px solid var(--cp-line); background:var(--cp-panel); }
.cp-metric:last-child { border-right:0; }
.cp-metric span { display:block; color:var(--cp-muted); font-size:.73rem; letter-spacing:.08em; text-transform:uppercase; }
.cp-metric strong { display:block; margin-top:11px; color:#f5f7f6; font-size:2rem; line-height:1; letter-spacing:-.05em; }
.cp-metric[data-tone="danger"] strong { color:var(--cp-red); }.cp-metric[data-tone="warning"] strong { color:var(--cp-amber); }.cp-metric[data-tone="signal"] strong { color:var(--cp-cyan); }
.cp-grid { display:grid; grid-template-columns: minmax(0, 1.42fr) minmax(290px, .8fr); gap:21px; align-items:start; }
.cp-stack { display:grid; gap:21px; }
.cp-panel { overflow:hidden; border:1px solid var(--cp-line); border-radius:8px; background:var(--cp-panel); }
.cp-panel-head { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:16px 17px; border-bottom:1px solid var(--cp-line); }
.cp-panel-actions { display:flex; gap:6px; align-items:center; }
.cp-panel-head p { margin:4px 0 0; color:var(--cp-muted); font-size:.78rem; }
.cp-panel-body { padding:0; }
.cp-table-wrap { overflow:auto; }
.cp-table { width:100%; min-width:760px; border-collapse:collapse; }
.cp-table th { padding:10px 17px; color:#789099; font-size:.68rem; letter-spacing:.09em; text-align:left; text-transform:uppercase; }
.cp-table td { padding:12px 17px; border-top:1px solid var(--cp-line); color:#dbe5e7; vertical-align:top; }
.cp-table tbody tr:hover { background:rgba(142,230,220,.045); }
.cp-status { display:inline-flex; align-items:center; gap:6px; padding:3px 7px; border:1px solid var(--cp-line); border-radius:99px; color:var(--cp-muted); font-size:.72rem; white-space:nowrap; }
.cp-status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }.cp-status--critical { color:var(--cp-red); }.cp-status--warning { color:var(--cp-amber); }.cp-status--ready { color:var(--cp-cyan); }
.cp-list { margin:0; padding:0; list-style:none; }.cp-list li { padding:14px 17px; border-bottom:1px solid var(--cp-line); }.cp-list li:last-child { border-bottom:0; }
#cp-incidents,#cp-inbox { max-height:560px; overflow:auto; }
.cp-push-state { margin:0; padding:10px 17px; border-bottom:1px solid var(--cp-line); color:var(--cp-muted); font-size:.76rem; }
.cp-list-title { display:flex; gap:9px; align-items:start; justify-content:space-between; color:#ebf0ef; font-weight:650; }.cp-list p { margin:5px 0 0; color:var(--cp-muted); font-size:.82rem; }.cp-list time { display:block; margin-top:5px; color:#6f858c; font-size:.73rem; }
.cp-inline-button { padding:4px 7px; border:1px solid var(--cp-line-strong); border-radius:4px; background:transparent; color:var(--cp-cyan); cursor:pointer; font-size:.72rem; }.cp-inline-button:hover { border-color:var(--cp-cyan); }
.cp-category { display:inline-block; max-width:180px; color:#cfe0e1; font-size:.76rem; line-height:1.35; }
.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; }
.cp-empty { padding:29px 17px; color:var(--cp-muted); text-align:center; }.cp-empty strong { display:block; margin-bottom:5px; color:#dce7e7; }
.cp-recovery { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:17px; }.cp-recovery-item { padding:12px; border:1px solid var(--cp-line); border-radius:5px; background:rgba(3,12,17,.2); }.cp-recovery-item strong { display:block; color:#e7efef; }.cp-recovery-item span { display:block; margin-top:4px; color:var(--cp-muted); font-size:.76rem; }
.cp-recovery-empty { grid-column: 1 / -1; }
.cp-hostinger { padding:17px; }.cp-hostinger-status { display:flex; align-items:center; gap:9px; color:var(--cp-muted); }.cp-hostinger-status strong { color:var(--cp-ink); }.cp-rule { height:1px; margin:15px 0; background:var(--cp-line); }
.cp-dialog { width:min(530px, calc(100vw - 32px)); border:1px solid var(--cp-line-strong); border-radius:8px; background:#10212b; color:var(--cp-ink); box-shadow:0 28px 70px rgba(0,0,0,.5); }.cp-dialog::backdrop { background:rgba(1,7,10,.7); }.cp-dialog form { padding:20px; }.cp-dialog h2 { margin:0; }.cp-dialog p { color:var(--cp-muted); }.cp-dialog label { display:grid; gap:6px; margin:14px 0; color:#cfe0e1; font-size:.84rem; }.cp-dialog input, .cp-dialog textarea, .cp-dialog select { width:100%; padding:9px; border:1px solid var(--cp-line-strong); border-radius:4px; background:#09161d; color:var(--cp-ink); }.cp-dialog menu { display:flex; justify-content:flex-end; gap:8px; padding:0; margin:18px 0 0; }.cp-classification-fields { margin:18px 0; padding:0 14px 2px; border:1px solid var(--cp-line); border-radius:6px; }.cp-classification-fields legend { padding:0 6px; color:#dce7e7; font-size:.8rem; font-weight:700; }.cp-field-help { margin:8px 0 2px; font-size:.78rem; line-height:1.45; }
.cp-adapter-list { display:grid; gap:8px; }.cp-adapter { padding:10px; border:1px solid var(--cp-line); border-radius:5px; background:rgba(8,20,27,.48); }.cp-adapter > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }.cp-adapter p { margin:6px 0; color:var(--cp-muted); font-size:.78rem; line-height:1.4; }.cp-adapter small { color:#8ba9ad; font-family:var(--cp-mono); font-size:.67rem; }
.cp-subhead { margin:0 17px 10px; color:#dce7e7; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.cp-runbook-list { display:grid; gap:8px; }.cp-runbook { padding:10px; border:1px solid var(--cp-line); background:rgba(8,20,27,.35); }.cp-runbook > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }.cp-runbook p { margin:6px 0 9px; color:var(--cp-muted); font-size:.78rem; line-height:1.4; }.cp-node--root { border-color:var(--cp-cyan); color:#d7f8f5; }
.cp-toast { position:fixed; right:22px; bottom:20px; z-index:60; max-width:min(440px, calc(100vw - 44px)); padding:11px 14px; border:1px solid var(--cp-line-strong); border-radius:6px; background:#17313b; color:#eff8f6; box-shadow:0 12px 32px rgba(0,0,0,.3); }
@media (max-width: 1050px) { .cp-shell { grid-template-columns: 1fr; }.cp-rail { position:relative; height:auto; padding:14px 18px; border-right:0; border-bottom:1px solid var(--cp-line); }.cp-brand { padding:2px 0 13px; }.cp-nav { display:flex; overflow:auto; padding-bottom:2px; }.cp-nav-label,.cp-rail-foot { display:none; }.cp-nav a { white-space:nowrap; }.cp-main { padding-top:20px; }.cp-metrics { grid-template-columns:repeat(3,1fr); }.cp-metric:nth-child(3) { border-right:0; }.cp-metric:nth-child(-n+3) { border-bottom:1px solid var(--cp-line); } }
@media (max-width: 700px) { .cp-main { padding:16px 14px 44px; }.cp-topbar { margin-bottom:23px; }.cp-hero { grid-template-columns:1fr; gap:17px; }.cp-actions { justify-content:flex-start; }.cp-command { grid-template-columns:auto minmax(0,1fr); }.cp-command kbd { display:none; }.cp-map-header { display:block; }.cp-metrics { grid-template-columns:1fr 1fr; }.cp-metric { min-height:88px; border-bottom:1px solid var(--cp-line); }.cp-metric:nth-child(2n) { border-right:0; }.cp-metric:last-child { grid-column:span 2; border-bottom:0; }.cp-grid { grid-template-columns:1fr; }.cp-recovery { grid-template-columns:1fr; }.cp-user span { display:none; } }
@media (prefers-reduced-motion: reduce) { .saas-cartography *, .saas-cartography *::before, .saas-cartography *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
body.saas-console :is(.muted,.subtext,.module-copy,.saas-muted,.sidebar-muted,.field-help,.section-caption,.list-meta) { color: var(--saas-muted) !important; }
body.saas-console a { color: inherit; }
body.saas-console :focus-visible { outline: 3px solid var(--saas-focus) !important; outline-offset: 2px !important; }

/* App shell — one rail for every entrypoint; no module-specific visual header. */
body.saas-console.saas-has-sidebar :is(.saas-shell,#restoConsole,.wrap) {
    width: min(1440px, calc(100% - var(--saas-sidebar) - 64px)) !important;
    max-width: none !important;
    margin: 0 32px 0 calc(var(--saas-sidebar) + 32px) !important;
    padding: 28px 0 56px !important;
}
.saas-desktop-sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 1000;
    display: flex; width: var(--saas-sidebar); flex-direction: column;
    background: var(--saas-nav); color: var(--saas-nav-text);
    border-right: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent);
}
.saas-sidebar-brand {
    display: flex; align-items: center; gap: 10px; min-height: 70px;
    padding: 18px 18px 16px; border-bottom: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent);
}
.saas-sidebar-mark {
    display: grid; width: 30px; height: 30px; place-items: center; flex: 0 0 30px;
    border-radius: 8px; background: var(--saas-primary); color: #fff;
    font: 760 .82rem/1 var(--saas-font); letter-spacing: -.03em;
}
body.saas-console .saas-desktop-sidebar strong { color: var(--saas-nav-text) !important; font: 720 1rem/1 var(--saas-font) !important; }
.saas-desktop-sidebar nav { display: grid; gap: 2px; padding: 14px 10px; overflow-y: auto; }
.saas-desktop-sidebar a {
    display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 10px;
    border: 1px solid transparent; border-radius: 8px; color: var(--saas-nav-muted);
    font: 580 .81rem/1.25 var(--saas-font); text-decoration: none;
    transition: background .16s var(--saas-ease), color .16s var(--saas-ease);
}
.saas-desktop-sidebar a:hover { background: color-mix(in srgb, var(--saas-primary) 14%, transparent); color: var(--saas-nav-text); }
.saas-desktop-sidebar a[aria-current="page"] { background: color-mix(in srgb, var(--saas-primary) 22%, transparent); color: #fff; }
.saas-desktop-sidebar a[aria-current="page"]::after { content: ""; width: 5px; height: 5px; margin-left: auto; border-radius: 50%; background: var(--saas-primary); }
.saas-nav-icon { width: 18px; height: 18px; flex: 0 0 18px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.saas-nav-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saas-sidebar-utilities { margin-top: auto; padding: 12px 10px 16px; border-top: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent); }
.saas-theme-toggle { display: flex; width: 100%; min-height: 40px; align-items: center; gap: 10px; padding: 0 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--saas-nav-muted); font: 580 .79rem/1 var(--saas-font); cursor: pointer; }
.saas-theme-toggle:hover { background: color-mix(in srgb, var(--saas-primary) 14%, transparent); color: #fff; }
.saas-mobile-nav { display: none !important; }

/* Taxi's native shell receives the same rail and moves its local navigation into the page. */
body.saas-console.taxi-revamp-enabled .layout { display: grid !important; grid-template-columns: var(--saas-sidebar) minmax(0,1fr) !important; min-height: 100vh; background: var(--saas-bg) !important; }
body.saas-console.taxi-revamp-enabled .sidebar {
    position: sticky !important; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 0 !important;
    background: var(--saas-nav) !important; border: 0 !important; border-right: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent) !important; box-shadow: none !important;
}
body.saas-console.taxi-revamp-enabled .brand { display: flex !important; min-height: 70px; align-items: center; gap: 10px; padding: 18px !important; border-bottom: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent) !important; }
body.saas-console.taxi-revamp-enabled .brand::before { content: "S"; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--saas-primary); color: #fff; font: 760 .82rem/1 var(--saas-font); }
body.saas-console.taxi-revamp-enabled .brand p { display: none !important; }
body.saas-console.taxi-revamp-enabled .brand h1 { margin: 0 !important; color: var(--saas-nav-text) !important; font-size: 1rem !important; }
body.saas-console.taxi-revamp-enabled .saas-taxi-app-links { display: grid; gap: 2px; padding: 14px 10px 8px; }
body.saas-console.taxi-revamp-enabled .saas-taxi-app-links a { display: flex; min-height: 39px; align-items: center; gap: 10px; padding: 0 10px; border-radius: 8px; color: var(--saas-nav-muted); text-decoration: none; font: 580 .78rem/1 var(--saas-font); }
body.saas-console.taxi-revamp-enabled .saas-taxi-app-links a:hover, body.saas-console.taxi-revamp-enabled .saas-taxi-app-links a[aria-current="page"] { background: color-mix(in srgb, var(--saas-primary) 20%, transparent); color: #fff; }
body.saas-console.taxi-revamp-enabled .saas-taxi-internal-nav { display: none !important; }
body.saas-console.taxi-revamp-enabled .content { max-width: none !important; padding: 28px 32px 56px !important; background: var(--saas-bg) !important; }
body.saas-console.taxi-revamp-enabled .sidebar-footer { margin-top: auto; padding: 16px 18px; border-top: 1px solid color-mix(in srgb, var(--saas-nav-text) 13%, transparent); color: var(--saas-nav-muted) !important; }

/* Command bar, navigation-in-context and work regions. */
.saas-page-header,.saas-page-hero,body.saas-console :is(.hero,.topbar,.compact-page-title) {
    display: flex !important; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px;
    margin: 0 0 20px !important; padding: 0 0 15px !important; border: 0 !important; border-bottom: 1px solid var(--saas-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
body.saas-console :is(.hero,.topbar)::before, body.saas-console :is(.hero,.topbar)::after { display: none !important; }
body.saas-console :is(.saas-page-header,.saas-page-hero,.hero,.topbar,.compact-page-title) :is(h1,h2) { margin: 0 !important; font-size: clamp(1.25rem, 1.2vw + 1rem, 1.75rem) !important; line-height: 1.12 !important; font-weight: 720 !important; }
body.saas-console :is(.saas-page-header,.saas-page-hero,.hero,.topbar) p { margin: 3px 0 0 !important; color: var(--saas-muted) !important; }
body.saas-console .saas-shell, body.saas-console .overview-shell, body.saas-console .businesses-shell, body.saas-console .settings-shell { display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
/* Portal is a dispatch registry: routes are readable records, not a card gallery. */
body.saas-console .saas-portal-header { margin-bottom: 4px !important; }
body.saas-console .saas-context-strip { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0 16px; border-bottom:1px solid var(--saas-line); color:var(--saas-text); }
body.saas-console .saas-context-strip strong { display:block; margin-bottom:2px; font-size:.82rem; }
body.saas-console .saas-ledger-section { margin-top:8px; }
body.saas-console .saas-ledger-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 10px; }
body.saas-console .saas-ledger-heading :is(h2,.saas-section-kicker) { margin:0; }
body.saas-console .saas-ledger-heading h2 { font-size:1rem !important; }
body.saas-console .saas-ledger-heading .saas-section-kicker { color:var(--saas-muted); font:650 .69rem/1.2 var(--saas-font); }
body.saas-console .saas-module-ledger { overflow:hidden; border:1px solid var(--saas-line); border-radius:var(--saas-radius-card); background:var(--saas-surface); }
body.saas-console .saas-module-ledger-head,body.saas-console .saas-module-ledger-row { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(220px,1.6fr) minmax(100px,.45fr) 68px; column-gap:16px; align-items:center; width:100%; }
body.saas-console .saas-module-ledger-head { min-height:38px; padding:0 16px; background:var(--saas-surface-alt); color:var(--saas-muted); font:650 .68rem/1 var(--saas-font); }
body.saas-console .saas-module-ledger-row { min-height:70px !important; padding:10px 16px !important; border:0 !important; border-bottom:1px solid var(--saas-line) !important; border-radius:0 !important; background:transparent !important; color:var(--saas-text) !important; box-shadow:none !important; text-align:left !important; }
body.saas-console .saas-module-ledger-row:last-child { border-bottom:0 !important; }
body.saas-console .saas-module-ledger-row:hover:not(:disabled) { background:var(--saas-surface-hover) !important; border-color:var(--saas-line) !important; color:var(--saas-text) !important; }
body.saas-console .saas-module-ledger-row .module-key { position:static !important; grid-column:1; grid-row:1; color:var(--saas-primary) !important; font:650 .64rem/1 var(--saas-mono) !important; letter-spacing:.035em; }
body.saas-console .saas-module-ledger-row .module-title { grid-column:1; grid-row:1; padding-top:17px; color:var(--saas-text) !important; font:700 .92rem/1.2 var(--saas-font) !important; }
body.saas-console .saas-module-ledger-row .module-copy { grid-column:2; grid-row:1; min-height:0 !important; margin:0 !important; color:var(--saas-muted) !important; font-size:.79rem !important; }
body.saas-console .saas-module-ledger-row .module-badge { grid-column:3; grid-row:1; justify-self:start; margin:0 !important; }
body.saas-console .saas-module-ledger-action { grid-column:4; grid-row:1; justify-self:end; color:var(--saas-primary); font:650 .73rem/1 var(--saas-font); }
body.saas-console .saas-module-ledger-action span { font-size:1rem; }
body.saas-console :is(.workspace-switch,.tabs,.periods,.vps-mobile-tabs,.saas-wide-tabs) { display: flex !important; align-items: center; gap: 2px !important; min-height: 42px; padding: 3px !important; overflow-x: auto !important; border: 1px solid var(--saas-line) !important; border-radius: 10px !important; background: var(--saas-surface) !important; box-shadow: none !important; }
body.saas-console :is(.workspace-switch-btn,.tab,.period,.saas-wide-tabs button) { min-height: 34px !important; padding: 0 12px !important; border: 1px solid transparent !important; border-radius: 8px !important; background: transparent !important; color: var(--saas-muted) !important; font: 650 .76rem/1 var(--saas-font) !important; white-space: nowrap; }
body.saas-console :is(.workspace-switch-btn,.tab,.period,.saas-wide-tabs button).active,body.saas-console .saas-wide-tabs button[aria-selected="true"] { background: var(--saas-primary-soft) !important; border-color: transparent !important; color: var(--saas-primary) !important; }

/* Surfaces: a ledger uses dividers and fields, not a forest of floating cards. */
body.saas-console :is(.saas-card,.saas-panel,.card,.module-card,.businesses-overview-tile,.mini,.vps-insight,.preview-card,.subtle-panel,.list-item,.business-item,.network-alert,.timeline-row,.runtime-stat-card,.runtime-service-row,.runtime-access-item,.link-card,.toggle-card,.business-toggle-card,.scope-option,.provision-preview) {
    border: 1px solid var(--saas-line) !important; border-radius: var(--saas-radius-card) !important; background: var(--saas-surface) !important; color: var(--saas-text) !important; box-shadow: none !important; backdrop-filter: none !important;
}
body.saas-console :is(.saas-card,.saas-panel,.card,.preview-card,.subtle-panel) { padding: 18px !important; }
body.saas-console :is(.card,.module-card,.list-item,.business-item,.timeline-row,.network-alert):hover { border-color: var(--saas-line-strong) !important; background: var(--saas-surface-hover) !important; box-shadow: none !important; transform: none !important; }
body.saas-console :is(.kpi,.overview-kpi,.businesses-overview-tile,.metric,.stat,.vps-kpi) { min-height: 0 !important; padding: 15px 16px !important; }
body.saas-console :is(.kpi,.overview-kpi,.businesses-overview-tile,.metric,.stat,.vps-kpi) :is(strong,span) { display: block; }
body.saas-console :is(.kpi,.overview-kpi,.businesses-overview-tile,.metric,.stat,.vps-kpi) :is(strong,.muted) { color: var(--saas-muted) !important; font: 650 .69rem/1.2 var(--saas-font) !important; letter-spacing: .03em !important; text-transform: none !important; }
body.saas-console :is(.kpi-value,.overview-kpi span,.businesses-overview-tile span,.metric b,.stat b,.vps-kpi-value,.value) { margin-top: 8px; font-size: 1.5rem !important; font-weight: 730 !important; line-height: 1 !important; }
body.saas-console :is(.saas-grid,.grid,.metrics,.kpi-strip,.overview-kpi-grid,.vps-insight-grid,.mini-grid) { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(168px,1fr)) !important; gap: 10px !important; }
body.saas-console :is(.metrics,.kpi-strip,.overview-kpi-grid,.vps-insight-grid,.mini-grid) { gap: 0 !important; overflow: hidden; border: 1px solid var(--saas-line) !important; border-radius: var(--saas-radius-card) !important; background: var(--saas-surface) !important; }
body.saas-console :is(.metrics,.kpi-strip,.overview-kpi-grid,.vps-insight-grid,.mini-grid) > :is(.kpi,.overview-kpi,.metric,.stat,.vps-kpi,.mini) { min-height: 86px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console :is(.metrics,.kpi-strip,.overview-kpi-grid,.vps-insight-grid,.mini-grid) > :is(.kpi,.overview-kpi,.metric,.stat,.vps-kpi,.mini):not(:last-child) { border-right: 1px solid var(--saas-line) !important; }
body.saas-console.taxi-revamp-enabled :is(.kpi-strip,.overview-kpi-grid) { gap: 0 !important; overflow: hidden; border: 1px solid var(--saas-line) !important; border-radius: 12px !important; background: var(--saas-surface) !important; }
body.saas-console.taxi-revamp-enabled :is(.kpi-strip .glass-card,.overview-kpi-grid .overview-kpi) { min-height: 86px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled :is(.kpi-strip .glass-card,.overview-kpi-grid .overview-kpi):not(:last-child) { border-right: 1px solid var(--saas-line) !important; }
body.saas-console .modules-shell { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)) !important; gap: 12px !important; margin-top: 16px !important; }
body.saas-console .module-card { display: flex !important; min-height: 132px !important; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; padding: 18px !important; text-align: left !important; white-space: normal !important; }
body.saas-console .module-key { position: static !important; color: var(--saas-primary) !important; font-size: .7rem !important; order: -1; }
body.saas-console .module-copy { min-height: 0 !important; margin: 6px 0 12px !important; }

/* Actions and fields use one reachable, accessible contract. */
body.saas-console :is(.saas-toolbar,.toolbar,.row-actions,.actions,.checks) { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
body.saas-console :is(.saas-btn,.btn,.button) { display: inline-flex !important; min-height: 38px !important; align-items: center !important; justify-content: center !important; padding: 0 13px !important; border: 1px solid var(--saas-line-strong) !important; border-radius: var(--saas-radius-control) !important; background: var(--saas-surface) !important; color: var(--saas-text) !important; box-shadow: none !important; font: 650 .79rem/1 var(--saas-font) !important; text-decoration: none !important; cursor: pointer; transition: background .16s var(--saas-ease),border-color .16s var(--saas-ease),color .16s var(--saas-ease); }
body.saas-console :is(.saas-btn,.btn,.button):hover { border-color: var(--saas-primary) !important; background: var(--saas-primary-soft) !important; color: var(--saas-primary) !important; }
body.saas-console :is(.saas-btn-primary,.btn-primary,.btn-success) { background: var(--saas-primary) !important; border-color: var(--saas-primary) !important; color: #fff !important; }
body.saas-console :is(.saas-btn-primary,.btn-primary,.btn-success):hover { background: var(--saas-primary-hover) !important; border-color: var(--saas-primary-hover) !important; color: #fff !important; }
body.saas-console :is(.btn-danger,.saas-btn-danger) { background: var(--saas-danger) !important; border-color: var(--saas-danger) !important; color: #fff !important; }
body.saas-console :is(.btn-soft,.btn-secondary,.secondary) { background: var(--saas-surface-alt) !important; border-color: var(--saas-line) !important; color: var(--saas-text) !important; }
body.saas-console :is(button,input,select,textarea):disabled,.is-disabled { opacity: .48 !important; cursor: not-allowed !important; }
body.saas-console :is(.field,.saas-field) { display: grid !important; gap: 6px !important; }
body.saas-console :is(label,.field > label,.saas-field > label) { color: var(--saas-text) !important; font: 650 .75rem/1.25 var(--saas-font) !important; }
body.saas-console :is(.input,.select,.textarea,.search-input,.saas-input,.saas-select,input:not([type="checkbox"]):not([type="radio"]),select,textarea) { width: 100% !important; min-height: 40px !important; padding: 0 11px !important; border: 1px solid var(--saas-line-strong) !important; border-radius: 8px !important; background: var(--saas-surface) !important; color: var(--saas-text) !important; box-shadow: none !important; font: 500 .84rem/1.35 var(--saas-font) !important; }
body.saas-console textarea { min-height: 104px !important; padding: 10px 11px !important; resize: vertical; }
body.saas-console :is(input,select,textarea)::placeholder { color: var(--saas-subtle) !important; opacity: 1; }
body.saas-console :is(.input,.select,.textarea,.search-input,.saas-input,.saas-select,input,select,textarea):focus { border-color: var(--saas-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb,var(--saas-focus) 42%,transparent) !important; outline: none !important; }

/* Tables are the canonical work surface. */
body.saas-console :is(.saas-table-wrap,.table-wrap,.registry-table-wrap,.audit-table-wrap) { overflow-x: auto !important; border: 1px solid var(--saas-line) !important; border-radius: var(--saas-radius-grid) !important; background: var(--saas-surface) !important; }
body.saas-console :is(table,.saas-table,.list-table,.audit-table,.esim-table) { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; background: var(--saas-surface) !important; }
body.saas-console :is(table,.saas-table,.list-table,.audit-table,.esim-table) :is(th,td) { padding: 11px 12px !important; border: 0 !important; border-bottom: 1px solid var(--saas-line) !important; color: var(--saas-text) !important; text-align: left; vertical-align: middle; }
body.saas-console :is(table,.saas-table,.list-table,.audit-table,.esim-table) th { position: sticky; top: 0; z-index: 1; background: var(--saas-surface-alt) !important; color: var(--saas-muted) !important; font: 680 .68rem/1.2 var(--saas-font) !important; letter-spacing: .035em !important; text-transform: none !important; }
body.saas-console :is(table,.saas-table,.list-table,.audit-table,.esim-table) tr:last-child td { border-bottom: 0 !important; }
body.saas-console :is(table,.saas-table,.list-table,.audit-table,.esim-table) tr:hover td { background: var(--saas-surface-hover) !important; }
body.saas-console :is(.badge,.saas-badge,.module-badge,.chip,.runtime-badge,.pill,.link-pill,.rule-state) { display: inline-flex !important; min-height: 23px !important; align-items: center !important; padding: 0 8px !important; border: 1px solid var(--saas-line) !important; border-radius: 999px !important; background: var(--saas-surface-alt) !important; color: var(--saas-muted) !important; font: 650 .68rem/1 var(--saas-font) !important; }
body.saas-console :is(.badge-enabled,.badge-success,.saas-badge-success,.status-active,.runtime-badge.ok,.ok) { border-color: color-mix(in srgb,var(--saas-success) 30%,var(--saas-line)) !important; background: var(--saas-success-soft) !important; color: var(--saas-success) !important; }
body.saas-console :is(.badge-disabled,.badge-danger,.saas-badge-danger,.status-suspended,.runtime-badge.danger,.bad) { border-color: color-mix(in srgb,var(--saas-danger) 30%,var(--saas-line)) !important; background: var(--saas-danger-soft) !important; color: var(--saas-danger) !important; }
body.saas-console :is(.runtime-badge.warn,.warn) { border-color: color-mix(in srgb,var(--saas-warning) 30%,var(--saas-line)) !important; background: var(--saas-warning-soft) !important; color: var(--saas-warning) !important; }

/* Dialogs and notices earn the only default elevation. */
.saas-modal,.modal-backdrop,.modal-backdrop-saas { background: rgba(10,16,23,.56) !important; backdrop-filter: blur(3px); }
.saas-modal-card,.modal-card-saas,.tenant-modal,dialog.vps-confirm { border: 1px solid var(--saas-line) !important; border-radius: 12px !important; background: var(--saas-surface) !important; color: var(--saas-text) !important; box-shadow: var(--saas-shadow-float) !important; }
.saas-notice-region { position: fixed; z-index: 1300; right: 20px; bottom: 20px; display: grid; gap: 8px; width: min(390px,calc(100vw - 32px)); }
.saas-notice { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--saas-line); border-radius: 10px; background: var(--saas-surface); color: var(--saas-text); box-shadow: var(--saas-shadow-float); }
.saas-notice-warning { border-color: color-mix(in srgb,var(--saas-warning) 45%,var(--saas-line)); }
.saas-notice-danger { border-color: color-mix(in srgb,var(--saas-danger) 45%,var(--saas-line)); }

/* Partner workspace: summary plus a single clear detail surface, never nested tab bars. */
body.saas-console.taxi-revamp-enabled .content > .card:first-child { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled .kpi-strip,body.saas-console.taxi-revamp-enabled .overview-kpi-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 0 !important; overflow: hidden; border: 1px solid var(--saas-line) !important; border-radius: 12px !important; background: var(--saas-surface) !important; }
body.saas-console.taxi-revamp-enabled .kpi-strip .glass-card,body.saas-console.taxi-revamp-enabled .overview-kpi { min-height: 86px !important; padding: 15px 16px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled .kpi-strip .glass-card:not(:last-child),body.saas-console.taxi-revamp-enabled .overview-kpi:not(:last-child) { border-right: 1px solid var(--saas-line) !important; }
body.saas-console.taxi-revamp-enabled .business-detail-tabs-hidden { display: none !important; }
body.saas-console.taxi-revamp-enabled .business-detail-select-row { display: grid; max-width: 360px; gap: 6px; margin: 0 0 14px; }
body.saas-console.taxi-revamp-enabled .businesses-main-grid { display: grid !important; grid-template-columns: minmax(310px,.82fr) minmax(0,1.55fr) !important; gap: 16px !important; align-items: start !important; }
body.saas-console.taxi-revamp-enabled .businesses-list-panel,body.saas-console.taxi-revamp-enabled .businesses-main-stack { min-width: 0; max-height: none !important; overflow: visible !important; }
body.saas-console.taxi-revamp-enabled .business-list { max-height: none !important; overflow: visible !important; }

/* Taxi partner registry: one primary tab bar, then a ledger of partners and one work pane. */
body.saas-console.taxi-revamp-enabled .businesses-grid { grid-template-columns: minmax(330px,.72fr) minmax(0,1.78fr) !important; gap: 14px !important; align-items: start !important; }
body.saas-console.taxi-revamp-enabled .businesses-grid > section:first-child { position: static !important; max-height: none !important; padding: 16px !important; }
body.saas-console.taxi-revamp-enabled .business-sidebar-list { display: block !important; max-height: none !important; overflow: visible !important; padding: 0 !important; border: 1px solid var(--saas-line) !important; border-radius: 10px !important; background: var(--saas-surface) !important; }
body.saas-console.taxi-revamp-enabled .business-sidebar-list::-webkit-scrollbar { display: none; }
body.saas-console.taxi-revamp-enabled .business-item { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 5px 12px !important; min-height: 0 !important; margin: 0 !important; padding: 12px !important; border: 0 !important; border-bottom: 1px solid var(--saas-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled .business-item:last-child { border-bottom: 0 !important; }
body.saas-console.taxi-revamp-enabled .business-item:hover { background: var(--saas-surface-hover) !important; border-color: var(--saas-line) !important; box-shadow: none !important; transform: none !important; }
body.saas-console.taxi-revamp-enabled .business-item.active { background: var(--saas-primary-soft) !important; box-shadow: inset 2px 0 0 var(--saas-primary) !important; }
body.saas-console.taxi-revamp-enabled .business-item.partial { background: var(--saas-warning-soft) !important; }
body.saas-console.taxi-revamp-enabled .business-item-head { display: block !important; min-width: 0; margin: 0 !important; }
body.saas-console.taxi-revamp-enabled .business-item-head-main { gap: 9px !important; }
body.saas-console.taxi-revamp-enabled .business-logo-avatar { width: 34px !important; height: 34px !important; flex: 0 0 34px !important; padding: 4px !important; border-radius: 8px !important; background: var(--saas-surface-alt) !important; }
body.saas-console.taxi-revamp-enabled .business-item-title { margin: 0 0 2px !important; font-size: .84rem !important; font-weight: 720 !important; }
body.saas-console.taxi-revamp-enabled .business-item-subtitle { font-size: .72rem !important; color: var(--saas-muted) !important; }
body.saas-console.taxi-revamp-enabled .business-item > :is(.badge,.runtime-badge) { align-self: start; justify-self: end; }
body.saas-console.taxi-revamp-enabled .business-item .list-meta { grid-column: 1 / -1; margin: 1px 0 0 43px !important; color: var(--saas-muted) !important; font-size: .7rem !important; }
body.saas-console.taxi-revamp-enabled .business-item-kpis { grid-column: 1 / -1; display: block !important; margin: 0 0 0 43px !important; }
body.saas-console.taxi-revamp-enabled .business-item-kpi { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--saas-muted) !important; font: 600 .68rem/1.35 var(--saas-font) !important; }
body.saas-console.taxi-revamp-enabled .business-item-actions { grid-column: 1 / -1; display: flex !important; margin: 3px 0 0 43px !important; }
body.saas-console.taxi-revamp-enabled .business-item-actions .btn { min-height: 30px !important; padding: 0 9px !important; flex: 0 0 auto !important; font-size: .7rem !important; }
body.saas-console.taxi-revamp-enabled .business-workspace-tabs-hidden { display: none !important; }
body.saas-console.taxi-revamp-enabled .business-workspace-select-row,body.saas-console.taxi-revamp-enabled .business-detail-select-row { display: grid; max-width: 300px; gap: 5px; margin: 0 0 12px; }
body.saas-console.taxi-revamp-enabled .businesses-main-stack > .card:first-child { min-height: 360px; padding: 18px !important; }
body.saas-console.taxi-revamp-enabled .businesses-main-stack .empty { min-height: 200px; display: grid !important; place-items: center start !important; margin: 16px 0 0 !important; padding: 22px 0 !important; border: 0 !important; border-top: 1px solid var(--saas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--saas-muted) !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled .overview-top-grid { grid-template-columns: minmax(0,1.35fr) minmax(300px,.85fr) !important; gap: 14px !important; align-items: start !important; }
body.saas-console.taxi-revamp-enabled .overview-top-grid > .card { padding: 16px !important; }
body.saas-console.taxi-revamp-enabled :is(.timeline-list,.network-alert-list) { display: block !important; margin-top: 12px; overflow: hidden; border: 1px solid var(--saas-line) !important; border-radius: 10px !important; background: var(--saas-surface) !important; }
body.saas-console.taxi-revamp-enabled :is(.timeline-list,.network-alert-list) > :is(.timeline-row,.network-alert) { min-height: 0 !important; margin: 0 !important; padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--saas-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.saas-console.taxi-revamp-enabled :is(.timeline-list,.network-alert-list) > :is(.timeline-row,.network-alert):last-child { border-bottom: 0 !important; }
body.saas-console.taxi-revamp-enabled :is(.timeline-list,.network-alert-list) > :is(.timeline-row,.network-alert):hover { background: var(--saas-surface-hover) !important; box-shadow: none !important; transform: none !important; }
body.saas-console.taxi-revamp-enabled .timeline-row strong { font-size: .78rem !important; font-weight: 720 !important; }
body.saas-console.taxi-revamp-enabled .timeline-row small,body.saas-console.taxi-revamp-enabled .timeline-row .muted { font-size: .7rem !important; color: var(--saas-muted) !important; }

@media (max-width: 900px) {
    :root { --saas-sidebar: 220px; }
    body.saas-console.saas-has-sidebar :is(.saas-shell,#restoConsole,.wrap) { width: min(100% - var(--saas-sidebar) - 40px, 1180px) !important; margin-left: calc(var(--saas-sidebar) + 20px) !important; margin-right: 20px !important; }
    body.saas-console.taxi-revamp-enabled .content { padding: 22px 20px 68px !important; }
    body.saas-console.taxi-revamp-enabled :is(.businesses-main-grid,.businesses-grid) { grid-template-columns: 1fr !important; }
    body.saas-console.taxi-revamp-enabled .overview-top-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
    body.saas-console { padding-bottom: 72px; }
    .saas-desktop-sidebar,body.saas-console.taxi-revamp-enabled .sidebar { display: none !important; }
    body.saas-console.saas-has-sidebar :is(.saas-shell,#restoConsole,.wrap) { width: min(100% - 28px, 720px) !important; margin: 0 auto !important; padding: 18px 0 30px !important; }
    body.saas-console.taxi-revamp-enabled .layout { display: block !important; }
    body.saas-console.taxi-revamp-enabled .content { padding: 18px 14px 30px !important; }
    .saas-mobile-nav { position: fixed; z-index: 1200; right: 8px; bottom: max(8px,env(safe-area-inset-bottom)); left: 8px; display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)); min-height: 58px; padding: 4px; border: 1px solid var(--saas-line); border-radius: 12px; background: var(--saas-surface); box-shadow: none; }
    .saas-mobile-nav :is(a,button) { display: grid; min-width: 0; place-items: center; gap: 2px; padding: 4px 2px; border: 0; border-radius: 8px; background: transparent; color: var(--saas-muted); font: 600 .62rem/1.1 var(--saas-font); text-decoration: none; }
    .saas-mobile-nav :is(a,button)[aria-current="page"],.saas-mobile-nav .saas-mobile-more-toggle.is-current { background: var(--saas-primary-soft); color: var(--saas-primary); }
    .saas-mobile-nav .saas-nav-icon { width: 17px; height: 17px; }
    .saas-mobile-nav span:last-child { overflow: hidden; max-width: 74px; text-overflow: ellipsis; white-space: nowrap; }
    .saas-mobile-more-sheet { position: absolute; right: 0; bottom: 66px; left: 0; display: grid; gap: 2px; padding: 8px; border: 1px solid var(--saas-line); border-radius: 12px; background: var(--saas-surface); box-shadow: var(--saas-shadow-menu); }
    .saas-mobile-more-sheet[hidden] { display: none; }
    .saas-mobile-more-sheet a { display: flex; min-height: 42px; align-items: center; justify-content: flex-start; gap: 10px; padding: 0 10px; color: var(--saas-text); font-size: .79rem; }
    .saas-page-header,.saas-page-hero,body.saas-console :is(.hero,.topbar,.compact-page-title) { align-items: flex-start !important; flex-direction: column; min-height: 0; gap: 10px; }
    body.saas-console :is(.saas-toolbar,.toolbar,.row-actions,.actions,.checks) { width: 100%; }
    body.saas-console :is(.saas-btn,.btn,.button) { min-height: 44px !important; }
    body.saas-console :is(.saas-grid,.grid,.metrics,.kpi-strip,.overview-kpi-grid,.vps-insight-grid,.mini-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    body.saas-console .modules-shell { grid-template-columns: 1fr !important; }
    body.saas-console .saas-context-strip { align-items:flex-start; flex-direction:column; }
    body.saas-console .saas-ledger-heading { align-items:flex-start; flex-direction:column; gap:4px; }
    body.saas-console .saas-module-ledger-head { display:none; }
    body.saas-console .saas-module-ledger-row { grid-template-columns:minmax(0,1fr) auto !important; min-height:84px !important; padding:12px !important; }
    body.saas-console .saas-module-ledger-row .module-key,body.saas-console .saas-module-ledger-row .module-title { grid-column:1; }
    body.saas-console .saas-module-ledger-row .module-copy { grid-column:1; grid-row:2; padding-top:4px; }
    body.saas-console .saas-module-ledger-row .module-badge { display:none !important; }
    body.saas-console .saas-module-ledger-action { grid-column:2; grid-row:1 / span 2; }
    body.saas-console :is(.workspace-switch,.tabs,.periods,.vps-mobile-tabs,.saas-wide-tabs) { width: 100%; }
    body.saas-console.taxi-revamp-enabled .kpi-strip,body.saas-console.taxi-revamp-enabled .overview-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .saas-notice-region { right: 12px; bottom: 76px; left: 12px; width: auto; }
}
