/* Restaurant OS / Graphite & Cyan. Shared layer after legacy page styles.
   Namespaced to gateway pages; semantic warning/error colours remain distinct. */
:root.ros-ui {
  --ros-color-bg:#f2f5f8; --ros-color-surface:#fff; --ros-color-soft:#f6f8fb;
  --ros-color-text:#182b3a; --ros-color-muted:#627487; --ros-color-border:#dfe7ee;
  --ros-color-primary:#007fad; --ros-color-sidebar:#101d27;
  --ros-color-success:#167653; --ros-color-warning:#9c600e; --ros-color-danger:#b83d3a;
  --ros-font-ui:"Segoe UI",Inter,Arial,sans-serif; --ros-sidebar-width:248px;
  --ros-radius-sm:8px; --ros-radius-md:10px; --ros-radius-lg:16px; --ros-radius-xl:20px;
  --ros-shadow-card:0 3px 14px #132a3e04; --ros-shadow-modal:0 24px 80px #10223530;
  --bg:var(--ros-color-bg); --card:#fff; --text:var(--ros-color-text);
  --muted:var(--ros-color-muted); --line:var(--ros-color-border); --dark:#101d27;
  --blue:var(--ros-color-primary); --green:var(--ros-color-success);
  --amber:var(--ros-color-warning); --red:var(--ros-color-danger);
  --radius:16px; --shadow:var(--ros-shadow-card);
  --eb-bg:var(--ros-color-bg); --eb-card:#fff; --eb-text:var(--ros-color-text);
  --eb-muted:var(--ros-color-muted); --eb-line:var(--ros-color-border);
  color-scheme:light;
}
.ros-ui body {margin:0;background:var(--ros-color-bg);color:var(--ros-color-text);font-family:var(--ros-font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.ros-ui *, .ros-ui *::before, .ros-ui *::after {box-sizing:border-box}
.ros-ui [hidden] {display:none!important}
.ros-ui ::selection {background:#c4edff;color:#102535}
.ros-ui :focus-visible {outline:3px solid #0a9acf;outline-offset:3px}
.ros-ui :is(button,input,select,textarea) {font-family:var(--ros-font-ui)}
.ros-ui :is(button,a,input,select,textarea) {touch-action:manipulation}
.ros-ui button {transition:background .15s,border-color .15s,box-shadow .15s}
.ros-ui button:disabled {cursor:not-allowed;opacity:.5}
.ros-ui :is(h1,h2,h3,h4) {color:var(--ros-color-text);text-wrap:balance}
.ros-ui h1 {letter-spacing:-.035em;font-weight:750}
.ros-ui h2,.ros-ui h3 {letter-spacing:-.02em}
.ros-ui :is(td,strong,b,.ros-kpi-card__value) {font-variant-numeric:tabular-nums}

/* One shell for every business section. */
.ros-ui :is(.layout,.admin-shell) {display:grid;grid-template-columns:var(--ros-sidebar-width) minmax(0,1fr);min-height:100vh}
.ros-ui :is(.layout,.admin-shell)>main {width:100%;min-width:0;max-width:1660px;align-self:start;margin:0 auto;padding:32px clamp(20px,2.5vw,42px) 56px}
.ros-ui :is(.sidebar,.admin-side) {display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;min-width:0;padding:25px 16px 18px;background:linear-gradient(155deg,#182a37 0,#101d27 45%,#0d1720 100%);color:#d0deea;border-right:1px solid #263845;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#324756 transparent;z-index:50}
.ros-ui .ros-sidebar-head {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px;flex-shrink:0}
.ros-ui .ros-brand {display:flex;align-items:center;gap:11px;padding:0;text-decoration:none;min-width:0;color:#fff}
.ros-ui .ros-brand__mark {display:block;width:46px;height:46px;flex:0 0 46px;border-radius:12px}
.ros-ui .ros-brand__copy {display:block;min-width:0}
.ros-ui .ros-brand__copy strong {display:block;color:#f4f9fc;font-size:17px;font-weight:750;letter-spacing:-.035em;line-height:1.25;white-space:nowrap}
.ros-ui .ros-brand__copy em {font-style:normal;color:#19b8f0}
.ros-ui .ros-brand__copy small {display:block;margin-top:4px;color:#98afc0;font-size:10px;letter-spacing:.035em;white-space:nowrap}
.ros-ui .sidebar .nav {display:block;min-width:0}
.ros-ui .nav-title {display:block;margin:10px 12px 10px;color:#7993a6;font-size:9px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.ros-ui .nav a {display:flex;align-items:center;gap:11px;min-height:43px;margin:3px 0;padding:9px 12px;border:1px solid transparent;border-radius:9px;color:#b6c9d7;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.ros-ui .nav a>span {display:inline}
.ros-ui .nav a:hover {background:#ffffff09;color:#fff}
.ros-ui .nav a.active {background:#0b9cd018;color:#65d5ff;border-color:#20b8f027;box-shadow:inset 3px 0 #19b8f0;font-weight:650}
.ros-ui .nav .nav-icon-wrap,.ros-ui .nav a:is(.active,:hover) .nav-icon-wrap {display:grid;place-items:center;width:22px;height:24px;flex:0 0 22px;margin:0;padding:0;background:none;border:0;border-radius:0;color:inherit;box-shadow:none}
.ros-ui .nav .nav-icon {display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65}
.ros-ui .nav .nav-icon-dot {fill:currentColor;stroke:none}
.ros-ui .nav .nav-logout {margin-top:18px;border-top:1px solid #2b3c48;border-radius:0;padding-top:15px;color:#8ea6b8}
.ros-ui .sidebar .version {position:static;display:block;margin-top:auto;padding:26px 12px 0;color:#738d9f;font-size:10px;line-height:1.7}
.ros-ui .ros-brand-promise {display:block;color:#a2b8c8;margin-bottom:7px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.ros-ui .ros-nav-toggle {display:none}
.ros-ui .admin-side>.ros-brand {margin:0 0 28px}
.ros-ui .admin-side>a:not(.ros-brand) {color:#b6c9d7;border-radius:9px;font-size:13px;padding:11px 12px;margin:3px 0}
.ros-ui .admin-side>a.active {background:#0b9cd018;color:#65d5ff;box-shadow:inset 3px 0 #19b8f0}

/* Hierarchy, consistent headers and breathing room. */
.ros-ui main>:is(.topbar,.finance-header,.purchase-header,.menu-header,.cashbook-header,.personnel-header,.expense-book-header,.delivery-header,.top) {align-items:flex-start;gap:20px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.ros-ui main>:is(.topbar,.finance-header,.purchase-header,.menu-header,.cashbook-header,.personnel-header,.expense-book-header,.delivery-header,.top) h1 {font-size:clamp(24px,2.1vw,30px);line-height:1.2;margin:0 0 7px}
.ros-ui :is(.topbar,.finance-header,.purchase-header,.menu-header,.cashbook-header,.personnel-header,.expense-book-header,.delivery-header) p {font-size:13px;line-height:1.6;color:var(--muted);margin:5px 0 0;max-width:640px}
.ros-ui :is(.ros-page-header__actions,.finance-header-actions,.menu-actions) {flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ros-ui :is(.eyebrow,.purchase-eyebrow) {display:block;margin-bottom:6px;color:#007da8;font-size:10px;font-weight:750;letter-spacing:.14em}
.ros-ui :is(.card,.ros-card,.purchase-panel,.purchase-kpi,.metric,.monitor-card,.client-card,.server-health) {border-color:var(--line);border-radius:16px;box-shadow:var(--ros-shadow-card)}
.ros-ui :is(.panel,.finance-panel,.purchase-panel) {padding:22px}
.ros-ui :is(.panel-head,.finance-panel-head,.purchase-panel-head) {gap:16px;flex-wrap:wrap}
.ros-ui :is(.panel-head h3,.finance-panel-head h3,.purchase-panel-head h2) {font-size:17px;font-weight:700;line-height:1.4}
.ros-ui :is(.kpis,.finance-kpis,.purchase-kpis) {gap:16px;margin-bottom:20px}
.ros-ui :is(.kpi,.finance-kpi,.purchase-kpi,.metric) {padding:21px 22px}
.ros-ui :is(.kpi b,.finance-kpi strong,.purchase-kpi strong,.metric b) {font-size:clamp(24px,2.2vw,31px);letter-spacing:-.035em;line-height:1.2;font-weight:750}
.ros-ui :is(.kpi small,.finance-kpi span,.purchase-kpi span,.metric span) {font-size:12px;line-height:1.5}
.ros-ui .purchase-kpi--accent {background:#fff8ee;border-color:#edd9b8}
.ros-ui .purchase-kpi--accent strong {color:var(--amber)}
.ros-ui .layout>main>.hero {border-color:#233f51;background:linear-gradient(110deg,#162c3c,#10212d);padding:28px;margin-bottom:20px;box-shadow:0 8px 24px #142c3d0c}
.ros-ui .layout>main>.hero h2 {color:#f5faff;font-size:28px;line-height:1.25}
.ros-ui .layout>main>.hero p {color:#b6cad9;font-size:14px}
.ros-ui .layout>main>.hero .eyebrow {color:#4dccff}
.ros-ui .layout>main>.hero :is(.hero-meta,.score small,.score-main-reason,.score .muted) {color:#adc3d3}
.ros-ui .layout>main>.hero .score {border-color:#354d60}
.ros-ui .layout>main>.hero .score b {color:#f4faff}
.ros-ui .layout>main>.hero .score .good {color:#78d8b1}
.ros-ui .layout>main>.hero .score .warn {color:#f0c57f}
.ros-ui .layout>main>.hero .score .bad {color:#ffaaa6}
.ros-ui .layout>main>.hero .score-details-button {background:#233e51;border-color:#3b5c73;color:#d9f3ff}
.ros-ui .ros-progress-card__fill {background:#089bd0}
.ros-ui .ros-progress-card__fill.warning {background:var(--ros-color-warning)}
.ros-ui .ros-progress-card__fill.good {background:var(--ros-color-success)}

/* Controls: primary blue, secondary neutral, destructive actions stay red. */
.ros-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea) {border:1px solid #d6e1e9;border-radius:9px;background:#fff;color:var(--text);font-size:13px;min-height:41px;padding:10px 12px;max-width:100%;box-shadow:0 1px 2px #172d3d03}
.ros-ui :is(input,select,textarea):focus {border-color:#0d9ed2}
.ros-ui input::placeholder,.ros-ui textarea::placeholder {color:#8394a3}
.ros-ui input:is([type=checkbox],[type=radio]) {accent-color:#008bbb}
.ros-ui :is(.ros-button,.btn,.pill,.period-controls button,.periods button,.purchase-page button:where(:not(.purchase-product,.purchase-bar)),.cashbook-periods button,.personnel-periods button) {min-height:39px;border:1px solid var(--line);border-radius:9px;padding:9px 14px;font-size:12px;line-height:1.4;font-weight:650;background:#fff;color:#40576a;cursor:pointer;box-shadow:none}
.ros-ui :is(.ros-button,.btn,.pill,.period-controls button,.periods button,.purchase-page button:where(:not(.purchase-product,.purchase-bar))):not(:disabled):hover {border-color:#9fc8dd;background:#eff8fc}
.ros-ui :is(.ros-button--primary,.purchase-page .purchase-primary,.btn.primary) {background:#007fad;border-color:#007fad;color:#fff;box-shadow:0 2px 4px #007fad16}
.ros-ui :is(.ros-button--primary,.purchase-page .purchase-primary,.btn.primary):not(:disabled):hover {background:#006b96;border-color:#006b96;color:#fff}
.ros-ui .btn.red {background:var(--red);border-color:var(--red);color:#fff}
.ros-ui .btn.red:not(:disabled):hover {background:#9e302e;border-color:#9e302e;color:#fff}
.ros-ui a.ros-button {display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.ros-ui :is(.period-controls,.periods) {display:flex;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid #dfe7ee;border-radius:11px;background:#eaf0f5}
.ros-ui :is(.period-controls button,.periods button) {background:transparent;border-color:transparent;min-height:33px;padding:7px 11px;white-space:nowrap}
.ros-ui :is(.period-controls button.is-active,.period-controls button.active,.periods button.active,.pill.active) {background:#fff;border-color:#d5e2ec;color:#007ba8;box-shadow:0 1px 4px #17374f0a}
.ros-ui .purchase-page .purchase-sections {gap:6px;margin:4px 0 22px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.ros-ui .purchase-page .purchase-sections button {border-radius:9px;border-color:transparent;background:transparent;font-size:13px;padding:10px 16px;color:#5e7487}
.ros-ui .purchase-page .purchase-sections button[aria-pressed=true] {background:#e3f3fb;color:#006f99;border-color:#c9e6f4}
.ros-ui .purchase-page .purchase-modes {background:#eaf0f5;border:1px solid var(--line);border-radius:11px}
.ros-ui .purchase-page .purchase-modes button[aria-pressed=true] {background:#fff;color:#007ba8;border-color:transparent}
.ros-ui .purchase-page .purchase-filters button[aria-pressed=true] {background:#e3f3fb;color:#006f99;border-color:#c9e6f4}
.ros-ui :is(.purchase-toolbar,.planning-controls) {border-radius:12px}
.ros-ui :is(.finance-jump-nav,.cashbook-tabs,.personnel-tabs) {gap:6px}
.ros-ui .purchase-page .purchase-product {color:#176181;text-decoration:none;border-bottom:1px dotted #9dbdcc;line-height:1.5}
.ros-ui .purchase-page .purchase-product:hover {color:#0086b6;border-color:#0086b6}
.ros-ui :is(.cashbook-periods,.expense-book-periods) {display:flex;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid #dfe7ee;border-radius:11px;background:#eaf0f5}
.ros-ui :is(.cashbook-periods,.expense-book-periods) button {border:1px solid transparent;border-radius:9px;background:transparent;min-height:33px;padding:7px 11px;color:#40576a;font-size:12px;font-weight:650;white-space:nowrap}
.ros-ui :is(.cashbook-periods,.expense-book-periods) button.is-active {background:#fff;border-color:#d5e2ec;color:#007ba8;box-shadow:0 1px 4px #17374f0a}
.ros-ui .settings-menu button.is-active {background:#e3f3fb;color:#006f99;border-color:#c9e6f4}
.ros-ui :is(.personnel-kpi,.cashbook-kpi,.delivery-kpi) {padding:20px}
.ros-ui .purchases-summary-supplier {min-width:0;overflow-wrap:anywhere}
.ros-ui .purchases-summary--analytics {grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr)}

/* Tables retain their original widths, scroll regions and business states. */
.ros-ui :is(.finance-table,.purchase-table,.cashbook-table,.personnel-table,.menu-table) th {background:#f5f8fb;color:#526a7d;font-size:11px;font-weight:650;line-height:1.5;padding-top:13px;padding-bottom:13px;border-bottom-color:#dfe7ee}
.ros-ui :is(.finance-table,.purchase-table,.cashbook-table,.personnel-table,.menu-table) td {border-bottom-color:#e7edf2;padding-top:15px;padding-bottom:15px;line-height:1.5}
.ros-ui :is(.finance-table,.purchase-table,.cashbook-table,.personnel-table,.menu-table) tbody tr:hover {background:#f7fbfd}
.ros-ui :is(.finance-table-wrap,.purchase-table-wrap) {border-radius:10px;scrollbar-width:thin;scrollbar-color:#b5c8d5 #eff4f7}
.ros-ui :is(.finance-modal,.dialog,.ros-drawer,.node-diag-panel) {border:1px solid var(--line);border-radius:18px;box-shadow:var(--ros-shadow-modal)}
.ros-ui .finance-modal-close {width:38px;height:38px;border-radius:9px;color:#607588;background:#f1f5f8;line-height:1}
.ros-ui :is(.purchase-status,.finance-source-empty) {color:#5a7185;background:#f8fbfd;border-color:#dce7ef;line-height:1.7}
.ros-ui .purchase-status.is-error {background:#fff8ee;border-color:#edd9b8;color:#87520d}

/* Auth shares the same mark, typography and controls, even on small screens. */
.ros-ui .ros-auth {background:#f2f5f8}
.ros-ui .ros-auth-layout {display:grid;grid-template-columns:minmax(360px,46%) minmax(0,1fr);min-height:100vh;min-height:100dvh}
.ros-ui .ros-auth-story {display:flex;flex-direction:column;justify-content:space-between;gap:60px;padding:clamp(32px,5vw,76px);background:radial-gradient(ellipse at 0 0,#213e51,transparent 70%),#101d27;color:#fff}
.ros-ui .ros-auth-story .ros-brand__mark {width:60px;height:60px;flex-basis:60px}
.ros-ui .ros-auth-story .ros-brand__copy strong {font-size:25px}
.ros-ui .ros-auth-story .ros-brand__copy small {font-size:12px}
.ros-ui .ros-auth-eyebrow {color:#53c9f7;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.ros-ui .ros-auth-story h1 {font-size:clamp(34px,4vw,58px);line-height:1.1;letter-spacing:-.045em;color:#f5faff;margin:24px 0}
.ros-ui .ros-auth-story h1 span {color:#32bff3}
.ros-ui .ros-auth-story p {max-width:380px;color:#a5bbcd;font-size:15px;line-height:1.8}
.ros-ui .ros-auth-values {display:flex;flex-wrap:wrap;gap:20px;padding-top:32px;margin-top:36px;border-top:1px solid #334958;color:#d4e2ec;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.ros-ui .ros-auth-story footer {color:#7993a6;font-size:11px}
.ros-ui .ros-auth-area {display:flex;align-items:center;justify-content:center;width:100%;max-width:none;margin:0;padding:40px}
.ros-ui .ros-auth-card {width:min(420px,100%);padding:36px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 48px #15354b06}
.ros-ui .ros-auth-card h2 {margin:0 0 10px;font-size:27px;line-height:1.2}
.ros-ui .ros-auth-card .sub {margin:0 0 28px;font-size:13px;color:var(--muted);line-height:1.7}
.ros-ui .ros-auth-card label {display:block;margin-bottom:7px;font-size:12px;font-weight:650}
.ros-ui .ros-auth-card .field {margin-bottom:18px}
.ros-ui .ros-auth-card input {width:100%;min-height:46px}
.ros-ui .ros-auth-card #login {width:100%;min-height:46px;margin-top:7px;background:#007fad;border:1px solid #007fad;border-radius:9px;font-size:14px;font-weight:650;color:white;cursor:pointer}
.ros-ui .ros-auth-card #login:hover {background:#006b96}
.ros-ui .ros-auth-card .err {margin-top:16px;padding:12px 14px;border:1px solid #f0d0cd;border-radius:9px;background:#fff5f4;color:#a43330;font-size:12px}
.ros-ui .ros-auth-card .secure,.ros-ui .ros-auth-card .note {margin:23px 0 0;color:#7a8d9d;font-size:11px;line-height:1.7;text-align:center}
.ros-ui .ros-auth-mobile-brand {display:none}
.ros-ui .ros-admin-auth {min-height:100vh;background:radial-gradient(ellipse at top,#234559,#101d27 70%)}
.ros-ui .ros-admin-auth .wrap {min-height:100vh;display:grid;place-items:center;padding:24px}
.ros-ui .ros-admin-auth .ros-auth-card>.ros-brand {margin-bottom:30px}
.ros-ui .ros-admin-auth .ros-auth-card>.ros-brand strong {color:#182b3a}
.ros-ui .ros-admin-auth .ros-auth-card>.ros-brand small {color:#627487}

@media (max-width:1200px) and (min-width:761px) {
  :root.ros-ui {--ros-sidebar-width:84px}
  .ros-ui .sidebar {padding:24px 12px 16px}
  .ros-ui .sidebar .ros-sidebar-head {justify-content:center}
  .ros-ui .sidebar :is(.ros-brand__copy,.nav-title,.version) {display:none}
  .ros-ui .sidebar .nav a {justify-content:center;padding:10px 8px;min-height:46px}
  .ros-ui .sidebar .nav a>span:not(.nav-icon-wrap) {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .ros-ui .admin-shell {grid-template-columns:210px minmax(0,1fr)}
  .ros-ui .admin-side .ros-brand__mark {width:37px;height:37px;flex-basis:37px}
  .ros-ui .admin-side .ros-brand__copy strong {font-size:15px}
  .ros-ui :is(.finance-header-actions,.ros-page-header__actions) {justify-content:flex-start}
}
@media (max-width:760px) {
  .ros-ui :is(.layout,.admin-shell) {display:block}
  .ros-ui :is(.layout,.admin-shell)>main {padding:22px 16px 36px}
  .ros-ui .sidebar {position:sticky;height:auto;padding:12px 16px;overflow:visible;border-right:0;border-bottom:1px solid #2b3e4d}
  .ros-ui .ros-sidebar-head {margin:0}
  .ros-ui .sidebar .ros-brand__mark {width:36px;height:36px;flex-basis:36px}
  .ros-ui .sidebar .ros-brand__copy strong {font-size:16px}
  .ros-ui .sidebar .ros-brand__copy small {font-size:9px;margin-top:1px}
  .ros-ui .ros-nav-toggle {display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 11px;border:1px solid #3c5365;background:#223b4c;color:#dcebf5;border-radius:8px;font-size:12px;cursor:pointer}
  .ros-ui .ros-nav-toggle svg {width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
  .ros-ui .sidebar .nav {padding-top:14px;max-height:calc(100dvh - 90px);overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px}
  .ros-ui .sidebar.has-nav-toggle:not(.is-nav-open) .nav {display:none}
  .ros-ui .sidebar .nav-title {grid-column:1/-1;margin:12px 12px 5px}
  .ros-ui .sidebar .nav a {justify-content:flex-start;min-width:0;white-space:normal;font-size:12px;gap:8px;padding:9px 8px}
  .ros-ui .sidebar .nav-logout {margin-top:6px}
  .ros-ui .sidebar .version {display:none}
  .ros-ui .admin-side {position:static;height:auto;display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;padding:16px}
  .ros-ui .admin-side>.ros-brand {flex-basis:100%;margin:0 0 10px}
  .ros-ui .admin-side>a:not(.ros-brand) {font-size:12px;padding:8px 10px}
  .ros-ui main>:is(.topbar,.finance-header,.purchase-header,.menu-header,.cashbook-header,.personnel-header,.expense-book-header,.delivery-header,.top) {flex-direction:column;gap:16px;margin-bottom:20px;padding-bottom:18px}
  .ros-ui :is(.ros-page-header__actions,.finance-header-actions,.menu-actions) {width:100%;justify-content:flex-start}
  .ros-ui :is(.ros-page-header__actions,.finance-header-actions,.menu-actions)>select {width:100%;max-width:none}
  .ros-ui :is(.finance-header,.purchase-header,.menu-header,.cashbook-header,.personnel-header,.expense-book-header,.delivery-header) select {max-width:100%}
  .ros-ui :is(.kpis,.finance-kpis,.purchase-page .purchase-kpis) {grid-template-columns:1fr;gap:12px}
  .ros-ui .purchases-summary--analytics {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ros-ui :is(.panel,.finance-panel,.purchase-panel,.kpi,.finance-kpi,.purchase-kpi) {padding:18px}
  .ros-ui .layout>main>.hero {padding:22px;grid-template-columns:1fr}
  .ros-ui .layout>main>.hero h2 {font-size:23px}
  .ros-ui .layout>main>.hero .score {border-left:0;border-top:1px solid #354d60;padding:18px 0 0}
  .ros-ui .purchase-page .purchase-sections {flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}
  .ros-ui .purchase-page .purchase-sections button {white-space:nowrap;flex:0 0 auto;font-size:12px;padding:9px 12px}
  .ros-ui .ros-auth-layout {grid-template-columns:1fr}
  .ros-ui .ros-auth-story {display:none}
  .ros-ui .ros-auth-area {flex-direction:column;gap:30px;min-height:100dvh;padding:28px 20px;background:linear-gradient(#101d27 0 165px,#f2f5f8 165px)}
  .ros-ui .ros-auth-mobile-brand {display:block;align-self:flex-start;width:min(420px,100%);margin:0 auto}
  .ros-ui .ros-auth-card {padding:28px 24px}
}
@media (prefers-reduced-motion:reduce) {
  .ros-ui *, .ros-ui *::before, .ros-ui *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media print {
  .ros-ui :is(.sidebar,.admin-side,.ros-nav-toggle) {display:none!important}
  .ros-ui :is(.layout,.admin-shell) {display:block}
  .ros-ui :is(.layout,.admin-shell)>main {max-width:none;padding:0}
  .ros-ui .layout>main>.hero {background:#fff;color:#182b3a;box-shadow:none}
  .ros-ui .layout>main>.hero :is(h2,p,.eyebrow,.hero-meta,.score small,.score b,.score-main-reason) {color:#182b3a}
}
