/* Moove admin shell, components and scoped adapters for existing web screens. */
body.admin-redesign {
  --admin-sidebar-width: var(--admin-sidebar-expanded);
  --admin-support-offset: 0px;
  margin: 0;
  padding-inline-start: var(--admin-sidebar-width);
  min-width: 320px;
  min-height: 100vh;
  background: var(--admin-page);
  color: var(--admin-text);
  color-scheme: var(--admin-color-scheme);
  font: var(--admin-type-sm)/var(--admin-line) var(--admin-font);
}
body.admin-redesign[data-admin-nav="collapsed"] { --admin-sidebar-width: var(--admin-sidebar-collapsed); }
body.admin-redesign[data-admin-support="true"] { --admin-support-offset: var(--admin-support-height); }
body.admin-redesign *, body.admin-redesign *::before, body.admin-redesign *::after { box-sizing: border-box; }
body.admin-redesign [hidden], body.admin-redesign .hidden { display: none !important; }
body.admin-redesign :focus-visible { outline: 3px solid var(--admin-focus); outline-offset: 2px; }
body.admin-redesign .admin-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body.admin-redesign .admin-shell { min-height: 100vh; min-width: 0; }
body.admin-redesign .admin-icon { width: var(--admin-icon-size); height: var(--admin-icon-size); flex: 0 0 var(--admin-icon-size); fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* Shell: matches existing sibling header / aside / main without a mandatory rewrite. */
body.admin-redesign .admin-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--admin-sidebar-width); height: 100vh; height: 100dvh; display: flex; flex-direction: column; gap: var(--admin-space-5); padding: var(--admin-space-5) var(--admin-space-3); overflow: auto; background: var(--admin-surface); color: var(--admin-muted); border-inline-end: 1px solid var(--admin-border); z-index: var(--admin-z-sidebar); }
body.admin-redesign .admin-brand { display: flex; align-items: center; gap: var(--admin-space-2); min-height: var(--admin-touch-target); padding-inline: var(--admin-space-3); color: var(--admin-text); font-size: var(--admin-type-xl); font-weight: 700; letter-spacing: -.05em; text-decoration: none; }
body.admin-redesign .admin-brand-badge { padding: var(--admin-space-1) var(--admin-space-2); border-radius: var(--admin-radius-sm); background: var(--admin-primary); color: var(--admin-on-primary); font-size: var(--admin-type-xs); letter-spacing: 0; }
body.admin-redesign .admin-brand-mark { display: none; }
body.admin-redesign .admin-nav-group { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; width: 100%; margin: 0; padding: 0; border: 0; }
body.admin-redesign .admin-nav-group-label { display: block; padding: var(--admin-space-2) var(--admin-space-3); color: var(--admin-muted); font-size: var(--admin-type-xs); line-height: var(--admin-line-tight); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
body.admin-redesign .admin-nav-link { display: flex; align-items: center; gap: var(--admin-space-3); min-height: var(--admin-touch-target); margin: var(--admin-space-1) 0; padding: var(--admin-space-2) var(--admin-space-3); border-radius: var(--admin-radius-sm); color: var(--admin-muted); background: var(--admin-transparent); text-decoration: none; font-size: var(--admin-type-sm); line-height: var(--admin-line-tight); }
body.admin-redesign .admin-nav-link:hover { background: var(--admin-surface-hover); color: var(--admin-text); }
body.admin-redesign .admin-nav-link[aria-current="page"] { background: var(--admin-active-bg); color: var(--admin-active-fg); font-weight: 700; }
body.admin-redesign .admin-nav-label { flex: 1; min-width: 0; }
body.admin-redesign .admin-nav-count { margin-inline-start: auto; font-size: var(--admin-type-xs); font-variant-numeric: tabular-nums; }
body.admin-redesign .admin-nav-bottom { margin-block-start: auto; padding-block-start: var(--admin-space-4); border-block-start: 1px solid var(--admin-border); }
body.admin-redesign .admin-topbar { position: sticky; top: var(--admin-support-offset); z-index: var(--admin-z-topbar); height: var(--admin-topbar-height); min-height: var(--admin-topbar-height); display: flex; align-items: center; gap: var(--admin-space-3); width: 100%; padding: 0 var(--admin-space-6); background: var(--admin-surface); color: var(--admin-text); border-block-end: 1px solid var(--admin-border); }
body.admin-redesign .admin-topbar-start, body.admin-redesign .admin-topbar-context, body.admin-redesign .admin-topbar-actions { display: flex; align-items: center; gap: var(--admin-space-2); min-width: 0; }
body.admin-redesign .admin-topbar-start { flex: 1; }
body.admin-redesign .admin-topbar-actions { margin-inline-start: auto; }
body.admin-redesign .admin-breadcrumbs { margin: 0; padding: 0; border: 0; flex-wrap: nowrap; display: flex; align-items: center; gap: var(--admin-space-2); min-width: 0; overflow: hidden; color: var(--admin-muted); font-size: var(--admin-type-sm); white-space: nowrap; }
body.admin-redesign .admin-breadcrumbs a { color: inherit; text-decoration: none; }
body.admin-redesign .admin-breadcrumbs [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; color: var(--admin-text); font-weight: 600; }
body.admin-redesign .admin-context-switcher { display: flex; align-items: center; gap: var(--admin-space-2); min-width: 0; max-width: 180px; }
body.admin-redesign .admin-context-switcher select { max-width: 100%; }
body.admin-redesign .admin-search-trigger { min-width: 150px; justify-content: space-between; color: var(--admin-muted); }
body.admin-redesign .admin-support-banner { position: sticky; top: 0; z-index: var(--admin-z-support); display: flex; align-items: center; justify-content: space-between; gap: var(--admin-space-3); height: var(--admin-support-height); padding: var(--admin-space-2) var(--admin-space-6); background: var(--admin-warning-bg); color: var(--admin-warning-fg); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-support-banner a { color: inherit; font-weight: 700; }
body.admin-redesign main.admin-content, body.admin-redesign .admin-content { min-width: 0; width: 100%; max-width: var(--admin-page-max); margin: 0 auto; padding: var(--admin-space-6); display: flex; flex-direction: column; gap: var(--admin-space-5); }
body.admin-redesign .admin-page-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--admin-space-4); }
body.admin-redesign .admin-page-header h1 { margin: 0; color: var(--admin-text); font-size: var(--admin-type-xl); font-weight: 700; line-height: var(--admin-line-tight); letter-spacing: -.025em; }
body.admin-redesign .admin-page-header p { margin: var(--admin-space-2) 0 0; color: var(--admin-muted); font-size: var(--admin-type-sm); line-height: var(--admin-line); }
body.admin-redesign .admin-header-actions, body.admin-redesign .admin-page-actions, body.admin-redesign .admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--admin-space-2); }
body.admin-redesign .admin-nav-backdrop { display: none; }
body.admin-redesign .admin-sidebar .admin-mobile-nav-close { display: none; }

/* Controls: explicit variants, tokenised hover/pressed/disabled and visible focus. */
body.admin-redesign .admin-button, body.admin-redesign .admin-icon-button, body.admin-redesign .admin-search-trigger { --admin-button-bg: var(--admin-surface); --admin-button-fg: var(--admin-text); --admin-button-hover: var(--admin-surface-hover); --admin-button-pressed: var(--admin-neutral-bg); display: inline-flex; align-items: center; justify-content: center; gap: var(--admin-space-2); box-sizing: border-box; min-height: var(--admin-control-height); margin: 0; padding: var(--admin-space-2) var(--admin-space-4); border: 1px solid var(--admin-control-border); border-radius: var(--admin-radius-sm); background: var(--admin-button-bg); color: var(--admin-button-fg); font: 600 var(--admin-type-sm)/var(--admin-line-tight) var(--admin-font); text-decoration: none; cursor: pointer; transition: background var(--admin-motion), border-color var(--admin-motion); }
body.admin-redesign .admin-button[data-variant="primary"] { --admin-button-bg: var(--admin-primary); --admin-button-fg: var(--admin-on-primary); --admin-button-hover: var(--admin-primary-hover); --admin-button-pressed: var(--admin-primary-pressed); border-color: var(--admin-primary); }
body.admin-redesign .admin-button[data-variant="destructive"] { --admin-button-bg: var(--admin-danger-solid); --admin-button-fg: var(--admin-on-danger); --admin-button-hover: var(--admin-danger-hover); --admin-button-pressed: var(--admin-danger-solid); border-color: var(--admin-danger-solid); }
body.admin-redesign .admin-button[data-variant="quiet"], body.admin-redesign .admin-icon-button[data-variant="quiet"] { --admin-button-bg: var(--admin-transparent); border-color: var(--admin-transparent); }
body.admin-redesign .admin-button:hover:not(:disabled), body.admin-redesign .admin-icon-button:hover:not(:disabled), body.admin-redesign .admin-search-trigger:hover:not(:disabled) { background: var(--admin-button-hover); color: var(--admin-button-fg); }
body.admin-redesign .admin-button:active:not(:disabled), body.admin-redesign .admin-icon-button:active:not(:disabled) { background: var(--admin-button-pressed); }
body.admin-redesign .admin-button:disabled, body.admin-redesign .admin-icon-button:disabled { background: var(--admin-disabled-bg); border-color: var(--admin-border); color: var(--admin-disabled-fg); cursor: not-allowed; }
body.admin-redesign .admin-icon-button { width: var(--admin-control-height); padding: var(--admin-space-2); flex: 0 0 auto; }
body.admin-redesign .admin-button kbd, body.admin-redesign .admin-search-trigger kbd { font: inherit; font-size: var(--admin-type-xs); color: var(--admin-muted); }
body.admin-redesign .admin-input, body.admin-redesign .admin-select, body.admin-redesign .admin-textarea { width: 100%; max-width: 100%; min-width: 0; min-height: var(--admin-control-height); margin: 0; padding: var(--admin-space-2) var(--admin-space-3); border: 1px solid var(--admin-control-border); border-radius: var(--admin-radius-sm); background: var(--admin-surface); color: var(--admin-text); font: var(--admin-type-sm)/var(--admin-line) var(--admin-font); }
body.admin-redesign .admin-input::placeholder, body.admin-redesign .admin-textarea::placeholder { color: var(--admin-muted); opacity: 1; }
body.admin-redesign .admin-textarea { min-height: 112px; resize: vertical; }
body.admin-redesign .admin-input[aria-invalid="true"], body.admin-redesign .admin-select[aria-invalid="true"], body.admin-redesign .admin-textarea[aria-invalid="true"] { border-color: var(--admin-danger-fg); }
body.admin-redesign .admin-field { display: flex; flex-direction: column; gap: var(--admin-space-2); min-width: 0; margin: 0; color: var(--admin-text); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-field small { color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-field-error { color: var(--admin-danger-fg); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-checkbox { accent-color: var(--admin-primary); width: 20px; height: 20px; margin: 0; flex: 0 0 20px; }
body.admin-redesign .admin-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-space-5); }
body.admin-redesign .admin-form-card { width: 100%; max-width: var(--admin-form-width); }

/* Cards, lists and page rows. */
body.admin-redesign .admin-card { margin: 0; min-width: 0; padding: var(--admin-space-5); border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); }
body.admin-redesign .admin-card h2, body.admin-redesign .admin-card h3 { margin: 0 0 var(--admin-space-4); color: var(--admin-text); font-size: var(--admin-type-lg); line-height: var(--admin-line-tight); font-weight: 600; }
body.admin-redesign .admin-card p { color: var(--admin-muted); }
body.admin-redesign .admin-stat-grid { margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--admin-transparent); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--admin-space-4); }
body.admin-redesign .admin-stat-grid[data-columns="5"] { grid-template-columns: repeat(5,minmax(0,1fr)); }
body.admin-redesign .admin-stat-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--admin-space-1); min-width: 0; min-height: 96px; padding: var(--admin-space-3) var(--admin-space-4); border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); text-align: start; }
body.admin-redesign .admin-stat-card[data-dashboard] { min-height: 120px; }
body.admin-redesign .admin-stat-label { color: var(--admin-muted); font-size: var(--admin-type-xs); line-height: var(--admin-line-tight); }
body.admin-redesign .admin-stat-value { display: block; max-width: 100%; font-size: var(--admin-type-xl); font-weight: 700; line-height: var(--admin-line-tight); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.admin-redesign .admin-stat-card[data-dashboard] .admin-stat-value { font-size: var(--admin-type-2xl); }
body.admin-redesign .admin-stat-note { color: var(--admin-muted); font-size: var(--admin-type-xs); line-height: var(--admin-line-tight); }
body.admin-redesign .admin-detail-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(240px,1fr); gap: var(--admin-space-5); }
body.admin-redesign .admin-stack { min-width: 0; display: flex; flex-direction: column; gap: var(--admin-space-5); }
body.admin-redesign .admin-filter-bar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--admin-space-2); min-width: 0; padding: var(--admin-space-2); border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); background: var(--admin-surface); }
body.admin-redesign .admin-filter-bar .admin-input { flex: 1 1 240px; width: auto; }
body.admin-redesign .admin-filter-bar .admin-select { flex: 0 1 160px; width: auto; }
body.admin-redesign .admin-filter-bar[data-sticky] { position: sticky; top: calc(var(--admin-topbar-height) + var(--admin-support-offset)); z-index: var(--admin-z-sticky); }
body.admin-redesign .admin-filter-chips { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-space-2); }
body.admin-redesign .admin-filter-chip { display: inline-flex; align-items: center; gap: var(--admin-space-2); min-height: 32px; padding: var(--admin-space-1) var(--admin-space-2); border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); background: var(--admin-surface-subtle); color: var(--admin-text); }
body.admin-redesign .admin-tabs { display: flex; gap: var(--admin-space-5); align-items: center; max-width: 100%; min-width: 0; overflow: auto; border-block-end: 1px solid var(--admin-border); scrollbar-width: thin; }
body.admin-redesign .admin-tabs > button, body.admin-redesign .admin-tabs > a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: var(--admin-touch-target); padding: var(--admin-space-2) 0; margin: 0; border: 0; border-block-end: 3px solid var(--admin-transparent); border-radius: 0; background: var(--admin-transparent); color: var(--admin-muted); font: 600 var(--admin-type-sm)/var(--admin-line-tight) var(--admin-font); text-decoration: none; }
body.admin-redesign .admin-tabs > [aria-selected="true"], body.admin-redesign .admin-tabs > [aria-current="page"] { border-block-end-color: var(--admin-primary); color: var(--admin-active-fg); }
body.admin-redesign .admin-table-wrap { max-width: 100%; min-width: 0; overflow: auto; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); }
body.admin-redesign .admin-table { display: table; overflow: visible; width: 100%; min-width: 0; margin: 0; border-collapse: collapse; color: var(--admin-text); background: var(--admin-surface); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-table th, body.admin-redesign .admin-table td { white-space: normal; height: var(--admin-row-height); padding: var(--admin-space-2) var(--admin-space-4); border-block-end: 1px solid var(--admin-border); text-align: start; vertical-align: middle; }
body.admin-redesign .admin-table caption { padding: var(--admin-space-3) var(--admin-space-4); color: var(--admin-muted); text-align: start; font-size: var(--admin-type-xs); }
body.admin-redesign .admin-table th { height: var(--admin-table-header); color: var(--admin-muted); background: var(--admin-surface-subtle); font-size: var(--admin-type-xs); font-weight: 600; white-space: nowrap; }
body.admin-redesign .admin-table tbody tr:last-child td { border-block-end: 0; }
body.admin-redesign .admin-table tbody tr:hover, body.admin-redesign .admin-table tbody tr:focus-within { background: var(--admin-surface-hover); }
body.admin-redesign .admin-table[data-density="compact"] td { height: var(--admin-row-compact); }
body.admin-redesign .admin-table .admin-cell-money, body.admin-redesign .admin-table .admin-cell-number { text-align: end; white-space: nowrap; }
body.admin-redesign .admin-table a { color: var(--admin-text); font-weight: 600; text-decoration: none; }
body.admin-redesign .admin-table a:hover { text-decoration: underline; }
body.admin-redesign .admin-table button:not(.record-action-trigger):not(.business-select) { min-height: var(--admin-control-height); margin: 0; padding: var(--admin-space-2) var(--admin-space-3); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-cell-secondary { display: block; margin-block-start: var(--admin-space-1); color: var(--admin-muted); font-size: var(--admin-type-xs); overflow-wrap: anywhere; }
body.admin-redesign .admin-cell-money, body.admin-redesign .admin-cell-number { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: end; }
body.admin-redesign .admin-cell-actions { width: var(--admin-touch-target); text-align: end; }
body.admin-redesign .admin-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--admin-space-4); color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-pagination-controls { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-space-2); }
body.admin-redesign .admin-badge { display: inline-flex; align-items: center; gap: var(--admin-space-1); max-width: 100%; padding: var(--admin-space-1) var(--admin-space-2); border-radius: var(--admin-radius-sm); background: var(--admin-neutral-bg); color: var(--admin-neutral-fg); font-size: var(--admin-type-xs); line-height: var(--admin-line-tight); font-weight: 600; white-space: nowrap; }
body.admin-redesign .admin-badge[data-status="success"] { background: var(--admin-success-bg); color: var(--admin-success-fg); }
body.admin-redesign .admin-badge[data-status="warning"] { background: var(--admin-warning-bg); color: var(--admin-warning-fg); }
body.admin-redesign .admin-badge[data-status="danger"] { background: var(--admin-danger-bg); color: var(--admin-danger-fg); }
body.admin-redesign .admin-badge[data-status="info"] { background: var(--admin-info-bg); color: var(--admin-info-fg); }
body.admin-redesign .admin-copy-id { display: inline-flex; align-items: center; gap: var(--admin-space-2); max-width: 100%; color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-copy-id code { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-family: var(--admin-font-mono); }

/* Overlays, command palette and editable-form controls. */
body.admin-redesign .admin-dialog, body.admin-redesign .admin-drawer { color: var(--admin-text); background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: var(--admin-radius-lg); padding: 0; width: min(var(--admin-modal-width),calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); box-shadow: var(--admin-shadow-overlay); overflow: auto; }
body.admin-redesign .admin-dialog[open] { display: flex; flex-direction: column; }
body.admin-redesign .admin-dialog::backdrop, body.admin-redesign .admin-drawer::backdrop { background: var(--admin-overlay); backdrop-filter: none; }
body.admin-redesign .admin-drawer { position: fixed; inset: 0 0 0 auto; width: min(var(--admin-drawer-width),100vw); max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: var(--admin-radius-lg) 0 0 var(--admin-radius-lg); }
body.admin-redesign .admin-dialog-header, body.admin-redesign .admin-dialog-heading, body.admin-redesign .admin-dialog-footer { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--admin-space-3); padding: var(--admin-space-4) var(--admin-space-5); background: var(--admin-surface); }
body.admin-redesign .admin-dialog-header, body.admin-redesign .admin-dialog-heading { position: sticky; top: 0; border-block-end: 1px solid var(--admin-border); z-index: var(--admin-z-sticky); }
body.admin-redesign .admin-dialog-header h2, body.admin-redesign .admin-dialog-heading h2 { margin: 0; font-size: var(--admin-type-lg); font-weight: 600; }
body.admin-redesign .admin-dialog-description { margin: 0; padding: var(--admin-space-4) var(--admin-space-5) 0; color: var(--admin-muted); }
body.admin-redesign .admin-dialog-body { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: var(--admin-space-5); min-width: 0; }
body.admin-redesign .admin-dialog-body > .admin-badge + .admin-directory-kv { margin-block-start: var(--admin-space-4); }
body.admin-redesign .admin-dialog-footer { position: sticky; bottom: 0; justify-content: flex-end; border-block-start: 1px solid var(--admin-border); }
body.admin-redesign .admin-menu { position: fixed; z-index: var(--admin-z-menu); width: 240px; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: var(--admin-space-2); border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); box-shadow: var(--admin-shadow); overflow: auto; }
body.admin-redesign .admin-menu > button, body.admin-redesign .admin-menu > a { display: flex; align-items: center; min-height: var(--admin-control-height); width: 100%; margin: 0; padding: var(--admin-space-2) var(--admin-space-3); border: 0; border-radius: var(--admin-radius-sm); background: var(--admin-transparent); color: var(--admin-text); text-align: start; text-decoration: none; font: var(--admin-type-sm)/var(--admin-line) var(--admin-font); }
body.admin-redesign .admin-menu > button:hover, body.admin-redesign .admin-menu > a:hover { background: var(--admin-surface-hover); }
body.admin-redesign .admin-menu > [data-variant="destructive"] { color: var(--admin-danger-fg); }
body.admin-redesign .admin-command-search { display: flex; align-items: center; gap: var(--admin-space-3); padding: var(--admin-space-4); border-block-end: 1px solid var(--admin-border); }
body.admin-redesign .admin-command-results { margin: 0; padding: var(--admin-space-2); list-style: none; }
body.admin-redesign .admin-command-results [role="option"] { display: flex; align-items: center; gap: var(--admin-space-3); min-height: var(--admin-touch-target); padding: var(--admin-space-2) var(--admin-space-3); border-radius: var(--admin-radius-sm); color: var(--admin-text); text-decoration: none; }
body.admin-redesign .admin-command-results [aria-selected="true"] { background: var(--admin-active-bg); color: var(--admin-active-fg); }
body.admin-redesign .admin-savebar { position: sticky; bottom: 0; z-index: var(--admin-z-sticky); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--admin-space-4); padding: var(--admin-space-4) var(--admin-space-5); border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); box-shadow: var(--admin-shadow); }
body.admin-redesign .admin-stepper { display: flex; flex-wrap: wrap; gap: var(--admin-space-4); margin: 0; padding: 0; list-style: none; }
body.admin-redesign .admin-stepper li { display: flex; align-items: center; gap: var(--admin-space-2); color: var(--admin-muted); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-stepper [aria-current="step"] { color: var(--admin-active-fg); font-weight: 700; }
body.admin-redesign .admin-empty { display: flex; flex-direction: column; align-items: center; gap: var(--admin-space-4); padding: var(--admin-space-6); color: var(--admin-muted); text-align: center; }
body.admin-redesign .admin-skeleton { min-height: var(--admin-row-height); border-radius: var(--admin-radius-sm); background: var(--admin-surface-subtle); }
body.admin-redesign .admin-toast { position: fixed; inset: auto var(--admin-space-5) var(--admin-space-5) auto; z-index: var(--admin-z-toast); display: flex; align-items: center; gap: var(--admin-space-3); max-width: min(480px,calc(100vw - 32px)); padding: var(--admin-space-4); border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); box-shadow: var(--admin-shadow); }
body.admin-redesign .admin-toast[data-tone="success"], body.admin-redesign .admin-toast[data-kind="status"] { background: var(--admin-success-bg); color: var(--admin-success-fg); }
body.admin-redesign .admin-toast[data-tone="danger"], body.admin-redesign .admin-toast[data-kind="error"] { background: var(--admin-danger-bg); color: var(--admin-danger-fg); }

/* Small legacy bridge. Existing modules remain functional while individual screens migrate. */
body.admin-redesign { --green: var(--admin-primary); --ink: var(--admin-text); --muted: var(--admin-muted); --border: var(--admin-border); }
body.admin-redesign .record-action-menu { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); box-shadow: var(--admin-shadow); }
body.admin-redesign .record-action-menu button { background: var(--admin-transparent); color: var(--admin-text); min-height: var(--admin-control-height); }
body.admin-redesign .record-action-menu button:hover, body.admin-redesign .record-action-menu button:focus-visible { background: var(--admin-surface-hover); outline-color: var(--admin-focus); }
body.admin-redesign .record-action-menu button[data-variant="destructive"] { color: var(--admin-danger-fg); }
body.admin-redesign .record-action-trigger { width: var(--admin-control-height); height: var(--admin-control-height); background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-control-border); }
body.admin-redesign .dialog-feedback, body.admin-redesign .editor-feedback { background: var(--admin-success-bg); color: var(--admin-success-fg); border-color: var(--admin-border); }
body.admin-redesign .dialog-feedback[data-kind="error"], body.admin-redesign .editor-feedback.error { background: var(--admin-danger-bg); color: var(--admin-danger-fg); }
html.signed-out body.admin-redesign { padding-inline-start: 0; }
html.signed-out body.admin-redesign .admin-sidebar, html.signed-out body.admin-redesign .admin-topbar, html.signed-out body.admin-redesign .admin-support-banner, html.signed-out body.admin-redesign .admin-nav-backdrop { display: none !important; }

/* Collapsed desktop navigation and all required responsive widths. */
@media (min-width: 1024px) {
  body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-label,
  body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-count,
  body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-group-label,
  body.admin-redesign[data-admin-nav="collapsed"] .admin-brand-text,
  body.admin-redesign[data-admin-nav="collapsed"] .admin-brand-badge { display: none; }
  body.admin-redesign[data-admin-nav="collapsed"] .admin-brand-mark { display: block; }
  body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-link,
  body.admin-redesign[data-admin-nav="collapsed"] .admin-brand { justify-content: center; padding-inline: var(--admin-space-2); }
}
@media (max-width: 1279px) {
  body.admin-redesign .admin-topbar { gap: var(--admin-space-2); padding-inline: var(--admin-space-4); }
  body.admin-redesign .admin-context-switcher { max-width: 144px; }
  body.admin-redesign .admin-search-trigger { min-width: var(--admin-control-height); padding-inline: var(--admin-space-2); }
  body.admin-redesign .admin-search-trigger > span, body.admin-redesign .admin-search-trigger kbd { display: none; }
  body.admin-redesign .admin-table [data-priority="low"]:not([data-user-visible="true"]) { display: none; }
}
@media (max-width: 1024px) {
  body.admin-redesign .admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.admin-redesign .admin-stat-grid[data-columns="5"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.admin-redesign .admin-detail-grid { grid-template-columns: minmax(0,1fr); }
  body.admin-redesign .admin-table [data-priority="medium"]:not([data-user-visible="true"]) { display: none; }
}
@media (max-width: 1023px) {
  body.admin-redesign { padding-inline-start: 0; }
  body.admin-redesign .admin-sidebar { width: min(var(--admin-sidebar-expanded),calc(100vw - 32px)); transform: translateX(-105%); visibility: hidden; transition: transform var(--admin-motion), visibility var(--admin-motion); }
  body.admin-redesign[data-admin-menu="open"] .admin-sidebar { transform: translateX(0); visibility: visible; }
  body.admin-redesign .admin-sidebar .admin-mobile-nav-close { display: inline-flex; position: absolute; top: var(--admin-space-4); right: var(--admin-space-3); }
  body.admin-redesign .admin-sidebar .admin-brand { padding-inline-end: var(--admin-touch-target); }
  body.admin-redesign[data-admin-menu="open"] .admin-nav-backdrop { display: block; position: fixed; inset: 0; z-index: var(--admin-z-backdrop); border: 0; border-radius: 0; margin: 0; padding: 0; background: var(--admin-overlay); }
  body.admin-redesign .admin-topbar, body.admin-redesign main.admin-content, body.admin-redesign .admin-content { padding-inline: var(--admin-space-4); }
}
@media (max-width: 767px) {
  body.admin-redesign .admin-topbar { flex-wrap: nowrap; gap: var(--admin-space-1); padding-block: var(--admin-space-2); }
  body.admin-redesign .admin-topbar-start, body.admin-redesign .admin-topbar-actions { min-height: var(--admin-touch-target); }
  body.admin-redesign .admin-topbar-start { flex: 0 0 auto; }
  body.admin-redesign .admin-topbar-actions { flex: 0 0 auto; gap: var(--admin-space-1); }
  body.admin-redesign .admin-topbar-context { width: auto; flex: 1 1 auto; gap: var(--admin-space-1); }
  body.admin-redesign .admin-context-switcher { flex: 1 1 0; max-width: 100px; }
  body.admin-redesign .admin-context-switcher select { padding-inline: var(--admin-space-1); font-size: var(--admin-type-xs); text-overflow: ellipsis; }
  body.admin-redesign #adminThemeToggle, body.admin-redesign .admin-topbar-actions > button[aria-label="Workspace notices"], body.admin-redesign .admin-topbar-actions > button[aria-label="Help & about"] { display: none; }
  body.admin-redesign main.admin-content, body.admin-redesign .admin-content { padding-block: var(--admin-space-5); }
  body.admin-redesign .admin-page-header { align-items: stretch; }
  body.admin-redesign .admin-page-header h1 { font-size: var(--admin-type-xl); }
  body.admin-redesign .admin-header-actions, body.admin-redesign .admin-page-actions { width: 100%; justify-content: flex-start; }
  body.admin-redesign .admin-support-banner { padding-inline: var(--admin-space-4); }
  body.admin-redesign .admin-support-banner .admin-support-detail { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  body.admin-redesign .admin-stat-grid[data-columns="5"] { display: flex; overflow-x: auto; scroll-snap-type: x proximity; }
  body.admin-redesign .admin-stat-grid[data-columns="5"] .admin-stat-card { flex: 0 0 180px; scroll-snap-align: start; }
  body.admin-redesign .admin-form-grid { grid-template-columns: minmax(0,1fr); }
  body.admin-redesign .admin-filter-bar .admin-input { flex-basis: 100%; }
  body.admin-redesign .admin-filter-bar [data-mobile-filter] { display: none; }
  body.admin-redesign .admin-table[data-mobile="cards"], body.admin-redesign .admin-table[data-mobile="cards"] tbody { display: block; }
  body.admin-redesign .admin-table[data-mobile="cards"] thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  body.admin-redesign .admin-table[data-mobile="cards"] caption { display: block; width: 100%; }
  body.admin-redesign .admin-table[data-mobile="cards"] tr { display: grid; grid-template-columns: minmax(0,1fr) var(--admin-touch-target); gap: var(--admin-space-2); padding: var(--admin-space-4); border-block-end: 1px solid var(--admin-border); }
  body.admin-redesign .admin-table[data-mobile="cards"] td { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: var(--admin-space-3); min-height: 0; height: auto; padding: 0; border: 0; }
  body.admin-redesign .admin-table[data-mobile="cards"] td[data-primary]::before, body.admin-redesign .admin-table[data-mobile="cards"] td.admin-cell-actions::before { display: none; }
  body.admin-redesign .admin-table[data-mobile="cards"] td[data-primary] { display: block; grid-column: 1; }
  body.admin-redesign .admin-table[data-mobile="cards"] td[data-label]::before { content: attr(data-label); color: var(--admin-muted); font-size: var(--admin-type-xs); }
  body.admin-redesign .admin-table[data-mobile="cards"] .admin-cell-actions { width: var(--admin-touch-target); grid-column: 2; grid-row: 1; align-self: start; }
  body.admin-redesign .admin-table[data-mobile="cards"] .admin-cell-secondary { margin-block-start: var(--admin-space-1); }
  body.admin-redesign .admin-dialog { max-width: calc(100vw - 24px); width: calc(100vw - 24px); }
  body.admin-redesign .admin-drawer { width: 100vw; max-width: 100vw; border-radius: 0; }
  body.admin-redesign .admin-dialog-body { padding: var(--admin-space-4); }
  body.admin-redesign .admin-dialog-header, body.admin-redesign .admin-dialog-heading, body.admin-redesign .admin-dialog-footer { padding: var(--admin-space-4); }
  body.admin-redesign .admin-pagination { align-items: flex-start; }
  body.admin-redesign .admin-toast { inset: auto var(--admin-space-4) var(--admin-space-4); max-width: none; }
}
@media (pointer: coarse), (max-width: 1023px) {
  body.admin-redesign { --admin-control-height: var(--admin-touch-target); }
  body.admin-redesign .admin-menu > button, body.admin-redesign .admin-menu > a { min-height: var(--admin-touch-target); }
  body.admin-redesign :is(.report-tabs,.editor-tabs,#businessTabs) button, body.admin-redesign .column-picker > summary { min-height: var(--admin-touch-target); }
  body.admin-redesign .cat-palette button { width: var(--admin-touch-target); min-width: var(--admin-touch-target); height: var(--admin-touch-target); min-height: var(--admin-touch-target); }
  body.admin-redesign input.cat-custom-colour { width: var(--admin-touch-target) !important; height: var(--admin-touch-target); min-height: var(--admin-touch-target) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(> body.admin-redesign) { scroll-behavior: auto; }
  body.admin-redesign .admin-sidebar, body.admin-redesign :is(button,input,select,textarea) { transition: none; }
}

/* Presenters add these beside the shared component classes; no independent palette. */
body.admin-redesign .ab-report-library { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--admin-space-5); margin: 0; padding: 0; border: 0; background: var(--admin-transparent); }
body.admin-redesign .ab-report-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--admin-space-4); }
body.admin-redesign .ab-report-card { display: flex; flex-direction: column; gap: var(--admin-space-3); min-width: 0; }
body.admin-redesign .ab-report-card h3 { margin: 0; font-size: var(--admin-type-base); }
body.admin-redesign .ab-report-card p { margin: 0; color: var(--admin-muted); }
body.admin-redesign .ab-report-card > button { align-self: flex-start; margin-block-start: auto; }
body.admin-redesign .ab-settings-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: var(--admin-space-5); align-items: start; }
body.admin-redesign .ab-settings-nav { position: sticky; top: calc(var(--admin-topbar-height) + var(--admin-support-offset) + var(--admin-space-5)); display: flex; flex-direction: column; gap: var(--admin-space-1); }
body.admin-redesign .ab-settings-nav > button, body.admin-redesign .ab-settings-nav > a { justify-content: flex-start; text-align: start; }
body.admin-redesign .ab-settings-nav > [aria-current="page"], body.admin-redesign .ab-settings-nav > [aria-selected="true"] { background: var(--admin-active-bg); color: var(--admin-active-fg); }
body.admin-redesign .ab-settings-section { min-width: 0; width: 100%; max-width: var(--admin-form-width); }
body.admin-redesign .ab-wizard { width: 100%; max-width: var(--admin-wizard-width); margin-inline: auto; }
body.admin-redesign .ab-wizard-fields, body.admin-redesign .ab-wizard-review { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-space-5); min-width: 0; }
body.admin-redesign .ab-wizard-footer { display: flex; justify-content: space-between; align-items: center; gap: var(--admin-space-4); padding-block-start: var(--admin-space-5); }
body.admin-redesign .ab-supporting-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-space-4); }
body.admin-redesign .admin-directory-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--admin-space-4); }
body.admin-redesign .admin-directory-name { color: var(--admin-text); font-weight: 600; }
body.admin-redesign .admin-directory-meta { color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-directory-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-space-2); }
body.admin-redesign .admin-directory-section { min-width: 0; }
body.admin-redesign .admin-directory-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--admin-space-2); }
body.admin-redesign .admin-directory-kv { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-space-4); }
body.admin-redesign .admin-directory-kv > div { min-width: 0; }
body.admin-redesign .admin-directory-kv dt { color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-directory-kv dd { margin: var(--admin-space-1) 0 0; color: var(--admin-text); font-weight: 600; overflow-wrap: anywhere; }
body.admin-redesign .admin-directory-technical { min-width: 0; padding: var(--admin-space-4); background: var(--admin-surface-subtle); color: var(--admin-muted); border-radius: var(--admin-radius-sm); }
body.admin-redesign .admin-directory-technical pre { overflow: auto; font-family: var(--admin-font-mono); font-size: var(--admin-type-xs); }
body.admin-redesign .admin-directory-status { display: inline-flex; padding: var(--admin-space-1) var(--admin-space-2); border-radius: var(--admin-radius-sm); background: var(--admin-neutral-bg); color: var(--admin-neutral-fg); font-size: var(--admin-type-xs); font-weight: 600; line-height: var(--admin-line-tight); }
body.admin-redesign .admin-directory-status:is([data-status="active"],[data-status="online"],[data-status="ready"],[data-status="published"]) { background: var(--admin-success-bg); color: var(--admin-success-fg); }
body.admin-redesign .admin-directory-status:is([data-status="expired"],[data-status="suspended"]) { background: var(--admin-danger-bg); color: var(--admin-danger-fg); }
body.admin-redesign .admin-directory-status:is([data-status="offline"],[data-status="stale"],[data-status="pending"]) { background: var(--admin-warning-bg); color: var(--admin-warning-fg); }
body.admin-redesign .admin-directory-status[data-status="draft"] { background: var(--admin-info-bg); color: var(--admin-info-fg); }
body.admin-redesign .admin-support-detail { flex: 1; min-width: 0; }
body.admin-redesign .admin-support-banner > a { flex: 0 0 auto; }
body.admin-redesign .admin-topbar .admin-search-trigger { justify-content: space-between; }

/* Token-aware legacy surfaces, limited to the web redesign root. */
body.admin-redesign button { --button-bg: var(--admin-surface); --button-fg: var(--admin-text); --button-hover: var(--admin-surface-hover); --button-pressed: var(--admin-neutral-bg); }
body.admin-redesign button[data-variant="primary"], body.admin-redesign button.cat-primary { --button-bg: var(--admin-primary); --button-fg: var(--admin-on-primary); --button-hover: var(--admin-primary-hover); --button-pressed: var(--admin-primary-pressed); }
body.admin-redesign button[data-variant="destructive"] { --button-bg: var(--admin-danger-solid); --button-fg: var(--admin-on-danger); --button-hover: var(--admin-danger-hover); --button-pressed: var(--admin-danger-solid); }
body.admin-redesign :is(.cat-section,.cat-row,.cat-modal,.md-card,.md-panel,.md-row,.kd-display,.kd-station,.email-card,.settings-card,.update-upload,.update-release) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign :is(.md-help,.md-scope,.md-empty,.kd-help,.kd-scope,.email-muted,.editor-context,.workspace-help,.report-scope) { color: var(--admin-muted); }
body.admin-redesign :is(.md-warning,.kd-warning) { background: var(--admin-warning-bg); color: var(--admin-warning-fg); border-color: var(--admin-border); }
body.admin-redesign :is(#workspace,#actionDialog) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { color: var(--admin-text); background: var(--admin-surface); border-color: var(--admin-control-border); }
body.admin-redesign :is(#workspace,#actionDialog) :is(input,textarea)::placeholder { color: var(--admin-muted); opacity: 1; }
body.admin-redesign #fleetExplorer .fleet-table.admin-table { min-width: 0; }
@media (max-width: 1024px) {
  body.admin-redesign .ab-report-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.admin-redesign .ab-settings-layout { grid-template-columns: minmax(0,1fr); }
  body.admin-redesign .ab-settings-nav { position: static; flex-direction: row; overflow-x: auto; }
  body.admin-redesign .ab-settings-nav > button, body.admin-redesign .ab-settings-nav > a { flex: 0 0 auto; }
}
@media (max-width: 767px) {
  body.admin-redesign .ab-report-library, body.admin-redesign .ab-report-card-grid, body.admin-redesign .ab-wizard-fields, body.admin-redesign .ab-wizard-review, body.admin-redesign .ab-supporting-grid, body.admin-redesign .admin-directory-kv { grid-template-columns: minmax(0,1fr); }
  body.admin-redesign .admin-table[data-mobile="cards"] [data-priority="low"]:not([data-user-visible="true"]), body.admin-redesign .admin-table[data-mobile="cards"] [data-priority="medium"]:not([data-user-visible="true"]) { display: none; }
  body.admin-redesign .admin-table[data-mobile="cards"] tr[data-business-id] td[data-priority="medium"]:not([data-user-visible="false"]) { display: flex; }
  body.admin-redesign #fleetExplorer .fleet-table.admin-table[data-mobile="cards"] { display: block !important; }
}

/* Business reporting presenters use the same cards, metrics and semantic palette. */
body.admin-redesign .ab-financial-kpis { min-width: 0; }
body.admin-redesign .ab-secondary-metrics { display: flex; flex-wrap: wrap; gap: var(--admin-space-4); padding-block: var(--admin-space-3); color: var(--admin-muted); font-size: var(--admin-type-xs); font-variant-numeric: tabular-nums; }
body.admin-redesign .ab-context-help { color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign .ab-context-help > summary { cursor: pointer; min-height: var(--admin-control-height); display: flex; align-items: center; }
body.admin-redesign .ab-context-help p { margin-block: var(--admin-space-2); }
body.admin-redesign .ab-report-detail-heading, body.admin-redesign .ab-platform-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: var(--admin-space-4); }
body.admin-redesign .ab-report-chart { min-width: 0; }
body.admin-redesign .ab-report-bars { display: flex; flex-direction: column; gap: var(--admin-space-3); }
body.admin-redesign .ab-report-bar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--admin-space-2) var(--admin-space-4); min-width: 0; }
body.admin-redesign .ab-report-bar > span:first-child { overflow-wrap: anywhere; }
body.admin-redesign .ab-report-bar > strong { font-variant-numeric: tabular-nums; }
body.admin-redesign .ab-report-bar-shape { grid-column: 1 / -1; width: var(--ab-bar-size,0%); max-width: 100%; min-height: var(--admin-space-3); border-radius: var(--admin-radius-sm); background: var(--admin-primary); }
body.admin-redesign .ab-report-bar-shape[data-negative="true"], body.admin-redesign .md-chart-column button[data-negative="true"] { background: var(--admin-danger-solid); }

/* Existing device setup controls keep their handlers while gaining clear steps. */
body.admin-redesign .admin-directory-setup-steps { display: flex; flex-wrap: wrap; gap: var(--admin-space-3); padding: 0 0 var(--admin-space-4); margin: 0 0 var(--admin-space-5); border-block-end: 1px solid var(--admin-border); list-style: none; counter-reset: admin-setup-step; }
body.admin-redesign .admin-directory-setup-steps li { display: inline-flex; align-items: center; gap: var(--admin-space-2); color: var(--admin-muted); font-size: var(--admin-type-xs); counter-increment: admin-setup-step; }
body.admin-redesign .admin-directory-setup-steps li::before { content: counter(admin-setup-step); display: inline-flex; align-items: center; justify-content: center; width: var(--admin-space-5); height: var(--admin-space-5); border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); font-variant-numeric: tabular-nums; }
body.admin-redesign .admin-directory-setup-steps li[aria-current="step"] { color: var(--admin-active-fg); font-weight: 700; }
body.admin-redesign .admin-directory-setup-steps li[aria-current="step"]::before { background: var(--admin-active-bg); border-color: var(--admin-primary); }
body.admin-redesign .admin-directory-generate { display: inline-flex; }
body.admin-redesign .admin-device-choices { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: var(--admin-space-4); margin-block: var(--admin-space-4); }
body.admin-redesign .admin-device-choice-wrap { display: flex; flex-direction: column; gap: var(--admin-space-2); min-width: 0; }
body.admin-redesign .admin-device-choice { display: flex; flex: 1; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: var(--admin-space-2); width: 100%; min-width: 0; min-height: 120px; padding: var(--admin-space-4); border: 1px solid var(--admin-control-border); border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); text-align: start; }
body.admin-redesign .admin-device-choice > strong { font-size: var(--admin-type-sm); line-height: var(--admin-line-tight); }
body.admin-redesign .admin-device-choice > span, body.admin-redesign .admin-device-choice > small { font-size: var(--admin-type-xs); line-height: var(--admin-line); }
body.admin-redesign .admin-device-choice[aria-pressed="true"] { --button-bg: var(--admin-active-bg); --button-fg: var(--admin-active-fg); --button-hover: var(--admin-active-bg); background: var(--admin-active-bg); color: var(--admin-active-fg); border-color: var(--admin-primary); box-shadow: inset 0 0 0 1px var(--admin-primary); }
body.admin-redesign .admin-device-choice[aria-pressed="true"] > small { color: inherit; }
body.admin-redesign .admin-device-choice:disabled, body.admin-redesign .admin-device-choice[aria-disabled="true"] { background: var(--admin-disabled-bg); color: var(--admin-disabled-fg); border-color: var(--admin-border); cursor: not-allowed; }
body.admin-redesign .admin-device-choice:disabled > small, body.admin-redesign .admin-device-choice[aria-disabled="true"] > small { color: inherit; }
body.admin-redesign .admin-directory-business-tabs { display: flex; flex-wrap: nowrap; gap: var(--admin-space-5); max-width: 100%; overflow-x: auto; padding: 0; margin: 0 0 var(--admin-space-5); border: 0; border-block-end: 1px solid var(--admin-border); }
body.admin-redesign .admin-directory-business-tabs button { flex: 0 0 auto; min-height: var(--admin-touch-target); padding: var(--admin-space-2) 0; margin: 0; border: 0; border-block-end: 3px solid var(--admin-transparent); border-radius: 0; background: var(--admin-transparent); color: var(--admin-muted); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-directory-business-tabs button[aria-selected="true"] { border-block-end-color: var(--admin-primary); color: var(--admin-active-fg); }
body.admin-redesign .admin-directory-business-panels > [data-detail-panel] { min-width: 0; }
body.admin-redesign details.admin-directory-actions { display: block; padding: 0; margin: 0; border: 0; }
body.admin-redesign details.admin-directory-actions > summary { display: flex; align-items: center; justify-content: center; min-height: var(--admin-control-height); padding: var(--admin-space-2) var(--admin-space-3); border: 1px solid var(--admin-control-border); border-radius: var(--admin-radius-sm); list-style: none; background: var(--admin-surface); color: var(--admin-text); font-size: var(--admin-type-xs); font-weight: 600; cursor: pointer; }
body.admin-redesign details.admin-directory-actions > summary::-webkit-details-marker { display: none; }
body.admin-redesign details.admin-directory-actions[open] > button { display: flex; width: 100%; margin: var(--admin-space-1) 0 0; }

/* The shell reuses legacy host IDs; reset only their new presentation hooks. */
body.admin-redesign #workspaceMenu.admin-icon-button { display: inline-flex; }
body.admin-redesign .admin-sidebar > nav { display: block; width: 100%; margin: 0; padding: 0; border: 0; }
body.admin-redesign .admin-sidebar .admin-nav-group-label { cursor: pointer; list-style: none; }
body.admin-redesign .admin-sidebar .admin-nav-group-label::-webkit-details-marker { display: none; }
body.admin-redesign .admin-sidebar.admin-rail a.admin-nav-link { display: flex !important; }
body.admin-redesign .admin-sidebar.admin-rail a.admin-brand { display: flex !important; }
body.admin-redesign .admin-context-switcher { margin: 0; flex-direction: row; }
body.admin-redesign .admin-context-switcher select { width: 100%; min-width: 0; min-height: var(--admin-control-height); margin: 0; padding: var(--admin-space-2) var(--admin-space-3); border: 1px solid var(--admin-control-border); border-radius: var(--admin-radius-sm); background: var(--admin-surface); color: var(--admin-text); font: var(--admin-type-sm)/var(--admin-line) var(--admin-font); }
body.admin-redesign .admin-command-search input { flex: 1; min-width: 0; width: 100%; margin: 0; padding: var(--admin-space-2); border: 0; border-radius: 0; background: var(--admin-surface); color: var(--admin-text); }
body.admin-redesign .admin-command-search input::placeholder { color: var(--admin-muted); opacity: 1; }
body.admin-redesign #fleetExplorer .fleet-table.admin-table th { color: var(--admin-muted); background: var(--admin-surface-subtle); box-shadow: none; font-size: var(--admin-type-xs); }
body.admin-redesign #fleetExplorer .fleet-table.admin-table td { color: var(--admin-text); border-color: var(--admin-border); font-size: var(--admin-type-sm); }
body.admin-redesign #fleetExplorer .fleet-table.admin-table tbody tr:nth-child(even), body.admin-redesign .record-actions-table.admin-table tbody tr:nth-child(even) { background: var(--admin-surface); }
body.admin-redesign #fleetExplorer .fleet-table.admin-table tbody tr:hover, body.admin-redesign .record-actions-table.admin-table tbody tr:hover { background: var(--admin-surface-hover); }
body.admin-redesign #fleetExplorer .fleet-table.admin-table td.record-actions-cell { background: inherit; }
@media (max-width: 767px) {
  body.admin-redesign .admin-topbar .admin-breadcrumbs { display: none; }
}

/* Match the existing authenticated hosts and native dialogs in the complete cascade. */
body.admin-redesign #workspace > section { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); border-radius: var(--admin-radius-lg); }
body.admin-redesign #workspace section, body.admin-redesign #workspace .email-card { background-color: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign #workspace { display: flex; flex-direction: column; gap: var(--admin-space-5); min-width: 0; }
body.admin-redesign #workspace > section { margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--admin-transparent); box-shadow: none; }
body.admin-redesign #fleetExplorer > .filter-bar { align-items: flex-end; gap: var(--admin-space-2); margin: var(--admin-space-5) 0; }
body.admin-redesign #fleetExplorer > .filter-bar > label { margin: 0; }
body.admin-redesign #fleetExplorer > .filter-bar > button { min-height: var(--admin-control-height); height: var(--admin-control-height); margin: 0; padding: var(--admin-space-2) var(--admin-space-4); font-size: var(--admin-type-sm); }
body.admin-redesign .admin-table-wrap > .record-table-scroll { margin: 0; border: 0; border-radius: inherit; }
body.admin-redesign #workspace :is(.manager-dashboard,.reservations-workspace) { margin: 0; padding: 0; border: 0; background: var(--admin-transparent); }
body.admin-redesign #workspace :is(.business-details,.detail-card,.admin-cash,.admin-cash-card,.device-card,.customer-history-card) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign #overviewCards.admin-stat-grid { margin: var(--admin-space-5) 0; }
body.admin-redesign #overviewCards .overview-card.admin-stat-card { background: var(--admin-surface); color: var(--admin-text); border: 1px solid var(--admin-border); }
body.admin-redesign #overviewCards .overview-card.admin-stat-card :is(span,small) { color: var(--admin-muted); font-size: var(--admin-type-xs); }
body.admin-redesign #overviewCards .overview-card.admin-stat-card strong { color: var(--admin-text); margin: var(--admin-space-1) 0; font-size: var(--admin-type-xl); }
body.admin-redesign .business-select { color: var(--admin-text); min-height: var(--admin-control-height); font-size: var(--admin-type-sm); }
body.admin-redesign .record-actions-table.admin-table tr > :last-child { width: auto; min-width: 0; max-width: none; background: var(--admin-surface); box-shadow: none; }
body.admin-redesign .record-actions-table.admin-table tr > th:last-child { background: var(--admin-surface-subtle); }
body.admin-redesign #emailSettings :is(.email-muted,dt) { color: var(--admin-muted); }
body.admin-redesign #emailSettings th { background: var(--admin-surface-subtle); color: var(--admin-muted); }
body.admin-redesign #emailSettings :is(td,th,.email-guide hr) { border-color: var(--admin-border); }
body.admin-redesign #emailSettings a { color: var(--admin-info-fg); }
body.admin-redesign #emailSettings .email-badge { background: var(--admin-neutral-bg); color: var(--admin-neutral-fg); }
body.admin-redesign #emailSettings .email-badge[data-state="ready"] { background: var(--admin-success-bg); color: var(--admin-success-fg); }
body.admin-redesign #emailSettings .email-badge[data-state="missing"] { background: var(--admin-warning-bg); color: var(--admin-warning-fg); }
body.admin-redesign #emailSettingsForm label { font-size: var(--admin-type-sm); font-weight: 600; }
body.admin-redesign #emailSettingsForm .email-enable { min-height: var(--admin-control-height); }
body.admin-redesign #emailSettingsForm :is(input,select) { font-size: var(--admin-type-sm); font-weight: 400; }
body.admin-redesign #emailSettingsForm input::placeholder { color: var(--admin-muted); opacity: 1; }
body.admin-redesign #emailMessages table { background: var(--admin-surface); color: var(--admin-text); font-size: var(--admin-type-sm); }
body.admin-redesign #emailMessages .record-actions-table tr > td:last-child { background: var(--admin-surface); box-shadow: -1px 0 0 var(--admin-border); }
body.admin-redesign #emailMessages .record-table-scroll { border-color: var(--admin-border); }
body.admin-redesign :is(#accountsContent,#rolesContent) > .filter-bar { align-items: flex-end; gap: var(--admin-space-2); margin-block: var(--admin-space-5); }
body.admin-redesign :is(#accountsContent,#rolesContent) > .filter-bar > label { margin: 0; font-size: var(--admin-type-sm); }
body.admin-redesign :is(#accountsContent,#rolesContent) > .filter-bar :is(input,select) { height: var(--admin-control-height); min-height: var(--admin-control-height); padding: var(--admin-space-2) var(--admin-space-3); font-size: var(--admin-type-sm); }
body.admin-redesign :is(#accountsContent,#rolesContent) > .filter-bar > button { height: var(--admin-control-height); min-height: var(--admin-control-height); margin: 0; font-size: var(--admin-type-sm); }
body.admin-redesign #rolesContent > .workspace-table-wrap { max-height: none; }
body.admin-redesign #actionDialog.admin-drawer .admin-directory-detail-grid { grid-template-columns: minmax(0,1fr); }
body.admin-redesign #fleetExplorer .fleet-toolbar { background: var(--admin-surface); border-color: var(--admin-border); }
body.admin-redesign #fleetExplorer .fleet-toolbar label { font-size: var(--admin-type-xs); }
body.admin-redesign #fleetExplorer .fleet-toolbar :is(input,select) { min-height: var(--admin-control-height); font-size: var(--admin-type-sm); }
body.admin-redesign #fleetExplorer .fleet-tools button { min-height: var(--admin-control-height); }
body.admin-redesign #fleetExplorer .fleet-view-switch { background: var(--admin-surface-subtle); }
body.admin-redesign #fleetExplorer .fleet-view-switch button[aria-pressed="true"] { background: var(--admin-active-bg); color: var(--admin-active-fg); box-shadow: none; }
body.admin-redesign .license-totals > div { background: var(--admin-surface-subtle); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign .license-totals strong { color: var(--admin-text); }
body.admin-redesign .license-totals span { color: var(--admin-muted); }
body.admin-redesign .activation-code { background: var(--admin-active-bg); color: var(--admin-active-fg); border-color: var(--admin-primary); }
body.admin-redesign .kitchen-displays-page .kd-field, body.admin-redesign .kitchen-displays-page .kd-field :is(input,select,textarea) { font-size: var(--admin-type-sm); }
body.admin-redesign #businessPanel:has(.menu-card) fieldset, body.admin-redesign #businessPanel .product-photo-editor { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign #businessPanel .menu-card > summary { background: var(--admin-surface-subtle); color: var(--admin-text); }
body.admin-redesign #businessPanel .menu-card h4 { color: var(--admin-text); }
body.admin-redesign #actionDialog.floor-plan-panel #dialogBody :is(section,fieldset) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign #actionDialog.floor-plan-panel legend { color: var(--admin-text); }
body.admin-redesign #businessPanel:has(> .ab-report-detail-heading) .admin-cash-grid > div, body.admin-redesign #businessPanel:has(> .ab-report-detail-heading) > details > summary { background: var(--admin-surface-subtle); color: var(--admin-text); }
body.admin-redesign #businessPanel:has(> .ab-report-detail-heading) .admin-cash-grid > .cash-warning { background: var(--admin-warning-bg); color: var(--admin-warning-fg); }
body.admin-redesign :is(.manager-dashboard,.reservations-workspace) { --md-ink: var(--admin-text); --md-green: var(--admin-primary); --md-line: var(--admin-border); color: var(--admin-text); }
body.admin-redesign .catalogue-editor { --cat-ink: var(--admin-text); --cat-line: var(--admin-border); color: var(--admin-text); }
body.admin-redesign .kitchen-displays-page { --kd-ink: var(--admin-text); --kd-green: var(--admin-primary); background: var(--admin-transparent); color: var(--admin-text); font-family: var(--admin-font); }
body.admin-redesign :is(.cat-form,.cat-form-footer,.reason-actions,.md-review,.kd-settings,.kd-status,.kd-displays,.kd-diagnostics,.kd-review,.kd-scope,.kd-sticky-actions,.device-setup-context,.device-setup-panel,.device-setup-footer,.device-setup-availability,.revoked-device-card,.business-receipt-preview,.editor-actions,.update-metrics > div,.licence-summary > div,.report-totals > div,.column-picker,.business-group,.fleet-device,.menu-card,.location-summary) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); }
body.admin-redesign :is(.cat-heading p,.cat-row p,.cat-section p,.md-heading p,.md-row small,.md-chart-column small,.kd-field small,.kd-reference,.device-setup-fields > label > small,.device-setup-context dt,.revoked-device-card > small,.update-metrics span,.licence-summary span,.admin-directory-notice) { color: var(--admin-muted); }
body.admin-redesign :is(.manager-dashboard,.reservations-workspace,.kitchen-displays-page) button { color: var(--button-fg); background: var(--button-bg); border-color: var(--admin-control-border); filter: none; }
body.admin-redesign :is(.manager-dashboard,.reservations-workspace,.kitchen-displays-page) button:hover:not(:disabled) { color: var(--button-fg); background: var(--button-hover); filter: none; }
body.admin-redesign :is(.manager-dashboard,.reservations-workspace,.kitchen-displays-page) button:active:not(:disabled) { background: var(--button-pressed); transform: none; }
body.admin-redesign :is(.manager-dashboard,.reservations-workspace,.kitchen-displays-page) button:disabled { color: var(--admin-disabled-fg); background: var(--admin-disabled-bg); border-color: var(--admin-border); }
body.admin-redesign :is(.catalogue-editor,.manager-dashboard,.reservations-workspace,.kitchen-displays-page) :focus-visible { outline: 3px solid var(--admin-focus); outline-offset: 2px; }
body.admin-redesign :is(.md-field,.kd-field,.cat-field) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea), body.admin-redesign #businessPanel label > :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-control-border); }
body.admin-redesign :is(#businessPanel label,.editor-fields legend) { color: var(--admin-text); }
body.admin-redesign #businessPanel :is(.settings-card > p,.editor-fields > p,p) { color: var(--admin-muted); }
body.admin-redesign #businessPanel label:has(> input[type="checkbox"]) { background: var(--admin-surface-subtle); border-color: var(--admin-border); }
body.admin-redesign :is(.cat-tabs button.selected,.cat-shapes button.chosen,.device-recovery-choices button[aria-pressed="true"]) { background: var(--admin-active-bg); color: var(--admin-active-fg); border-color: var(--admin-primary); }
body.admin-redesign :is(.md-feedback,.kd-feedback,.cat-stock-badge,.cat-feedback,.notice) { background: var(--admin-info-bg); color: var(--admin-info-fg); border-color: var(--admin-border); }
body.admin-redesign :is(.md-feedback[data-kind="error"],.kd-feedback.error,.report-error,.cat-field-error,.md-error-list) { color: var(--admin-danger-fg); }
body.admin-redesign :is(.md-feedback[data-kind="error"],.kd-feedback.error,.report-error) { background: var(--admin-danger-bg); }
body.admin-redesign :is(.md-feedback[data-kind="stale"],.kd-blockers,.md-status[data-state="warning"]) { background: var(--admin-warning-bg); color: var(--admin-warning-fg); border-color: var(--admin-border); }
body.admin-redesign .manager-dashboard .md-chart-column button { background: var(--admin-primary); border: 0; }
body.admin-redesign .manager-dashboard .md-chart-column button span { color: var(--admin-text); font-size: var(--admin-type-xs); }
body.admin-redesign .manager-dashboard .md-chart-column small { font-size: var(--admin-type-xs); }
body.admin-redesign .ab-dashboard-charts, body.admin-redesign .ab-dashboard-operations, body.admin-redesign .ab-dashboard-attention { margin: var(--admin-space-5) 0; }
body.admin-redesign .ab-dashboard-charts > :only-child { grid-column: 1 / -1; }
body.admin-redesign .ab-financial-kpis .md-card { min-height: 120px; }
body.admin-redesign .ab-financial-kpis .md-value { font-variant-numeric: tabular-nums; }
body.admin-redesign .ab-secondary-metrics .admin-stat-card { flex: 1 1 160px; }
body.admin-redesign .ab-supporting-grid .admin-card > .admin-button { margin: 0 var(--admin-space-2) var(--admin-space-2) 0; }
body.admin-redesign .ab-settings-nav { margin: 0; padding: 0; border: 0; }
body.admin-redesign .ab-settings-content, body.admin-redesign .ab-settings-form { min-width: 0; }
body.admin-redesign .ab-wizard-step { margin: 0; padding: var(--admin-space-5); min-width: 0; width: 100%; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: var(--admin-surface); }
body.admin-redesign .ab-wizard-step legend { padding-inline: var(--admin-space-2); color: var(--admin-text); font-size: var(--admin-type-base); font-weight: 600; }
body.admin-redesign .ab-wizard-step > label { display: flex; min-width: 0; margin: 0; font-size: var(--admin-type-sm); }
body.admin-redesign .ab-wizard-step :is(input,select) { width: 100%; max-width: 100%; min-width: 0; }
body.admin-redesign .ab-wizard-review { margin: 0; }
body.admin-redesign .ab-wizard-review dd { margin: var(--admin-space-1) 0 0; overflow-wrap: anywhere; }
body.admin-redesign .admin-component-feedback { position: sticky; bottom: 0; padding: var(--admin-space-4); border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); background: var(--admin-success-bg); color: var(--admin-success-fg); overflow-wrap: anywhere; }
body.admin-redesign .admin-component-feedback[data-kind="error"] { background: var(--admin-danger-bg); color: var(--admin-danger-fg); }
body.admin-redesign #message:not(:empty) { z-index: var(--admin-z-toast); background: var(--admin-success-bg); color: var(--admin-success-fg); border-color: var(--admin-border); box-shadow: var(--admin-shadow); }
body.admin-redesign #message[data-kind="error"]:not(:empty), body.admin-redesign .dialog-feedback[data-kind="error"]:not(:empty), body.admin-redesign .editor-feedback[data-state="error"] { background: var(--admin-danger-bg); color: var(--admin-danger-fg); border-color: var(--admin-border); }
body.admin-redesign dialog { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-border); box-shadow: var(--admin-shadow-overlay); }
body.admin-redesign dialog::backdrop { background: var(--admin-overlay); backdrop-filter: none; }
body.admin-redesign #actionDialog { padding: 0; max-height: calc(100dvh - 32px); }
body.admin-redesign #actionDialog.admin-drawer { width: min(var(--admin-drawer-width),100vw); max-height: 100dvh; }
body.admin-redesign #actionDialog.floor-plan-panel { width: min(1120px,100vw); }
body.admin-redesign #actionDialog > .dialog-heading { position: sticky; top: 0; margin: 0; padding: var(--admin-space-4) var(--admin-space-5); background: var(--admin-surface); color: var(--admin-text); border-block-end: 1px solid var(--admin-border); z-index: var(--admin-z-sticky); }
body.admin-redesign #actionDialog > .dialog-heading h2 { margin: 0; color: var(--admin-text); font-size: var(--admin-type-lg); }
body.admin-redesign #dialogBody { padding: var(--admin-space-5); }
body.admin-redesign :is(.business-profile-dialog footer,#businessPanel .cat-form-footer) { background: var(--admin-surface); border-color: var(--admin-border); }
body.admin-redesign #accountMenuHost { margin: 0; }
body.admin-redesign .admin-user-menu .account-profile-trigger { width: var(--admin-control-height); min-width: var(--admin-control-height); height: var(--admin-control-height); min-height: var(--admin-control-height); }
html.signed-out body.admin-redesign main.admin-content { max-width: none; margin: 0; padding: 0; gap: 0; }
html.signed-out body.admin-redesign #login { background: var(--admin-page); }
body.admin-redesign .auth-brand { background: var(--admin-auth-bg); color: var(--admin-auth-text); }
body.admin-redesign .auth-brand h1 { color: var(--admin-auth-text); }
body.admin-redesign .auth-brand h1 span, body.admin-redesign .auth-eyebrow { color: var(--admin-auth-accent); }
body.admin-redesign .auth-brand :is(.auth-intro,.auth-steps) { color: var(--admin-auth-muted); }
body.admin-redesign .auth-card { color: var(--admin-text); background: var(--admin-surface); border-color: var(--admin-border); box-shadow: var(--admin-shadow); }
body.admin-redesign .auth-card h2 { color: var(--admin-text); }
body.admin-redesign :is(.auth-caption,.auth-footer,.auth-wordmark small), body.admin-redesign #loginForm > label { color: var(--admin-muted); }
body.admin-redesign .auth-accent { color: var(--admin-primary); }
body.admin-redesign #login :is(input,select,textarea) { background: var(--admin-surface); color: var(--admin-text); border-color: var(--admin-control-border); }
body.admin-redesign #login :is(input,textarea)::placeholder { color: var(--admin-muted); opacity: 1; }
body.admin-redesign #login :focus-visible { outline: 3px solid var(--admin-focus); outline-offset: 2px; }
body.admin-redesign #loginForm > button[type="submit"] { background: var(--admin-primary); color: var(--admin-on-primary); }
body.admin-redesign #loginForm > button[type="submit"]:hover:not(:disabled) { background: var(--admin-primary-hover); }
body.admin-redesign #loginForm .auth-toggle, body.admin-redesign #resetRequest { color: var(--admin-primary); background: var(--admin-transparent); min-height: var(--admin-touch-target); }
@media (max-width: 767px) {
  body.admin-redesign .admin-table[data-mobile="cards"] tr:has(> th) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); border: 0; }
  body.admin-redesign .admin-device-choices { grid-template-columns: minmax(0,1fr); }
  body.admin-redesign .admin-directory-business-detail .admin-table[data-mobile="cards"] td[data-primary] { min-width: 0; overflow-wrap: anywhere; }
  body.admin-redesign #businessPanel .menu-card .edit-row { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--admin-space-3); }
  body.admin-redesign #businessPanel .menu-card .edit-row > label { width: 100%; min-width: 0; margin-inline: 0; }
  body.admin-redesign #businessPanel .menu-card .edit-row input { width: 100%; min-width: 0; max-width: 100%; }
  body.admin-redesign #actionDialog { max-width: calc(100vw - 24px); }
  body.admin-redesign #actionDialog.admin-drawer { width: 100vw; max-width: 100vw; }
  body.admin-redesign #dialogBody, body.admin-redesign #actionDialog > .dialog-heading { padding: var(--admin-space-4); }
  body.admin-redesign #fleetExplorer .fleet-table.admin-table[data-mobile="cards"] :is(tbody,tr) { display: block; }
  body.admin-redesign #fleetExplorer .fleet-table.admin-table[data-mobile="cards"] tr { display: grid !important; padding: var(--admin-space-4); border-block-end: 1px solid var(--admin-border); }
  body.admin-redesign #fleetExplorer .fleet-table.admin-table[data-mobile="cards"] td { height: auto; min-width: 0; padding: 0; }
  body.admin-redesign #fleetExplorer .fleet-table.admin-table[data-mobile="cards"] thead { display: block; }
  body.admin-redesign .record-actions-table.admin-table[data-mobile="cards"] tr > :last-child { position: static; background: var(--admin-transparent); }
  body.admin-redesign .ab-financial-kpis { display: flex; overflow-x: auto; scroll-snap-type: x proximity; padding-block-end: var(--admin-space-2); }
  body.admin-redesign .ab-financial-kpis .admin-stat-card { flex: 0 0 220px; scroll-snap-align: start; }
}
/* ADM-2: sidebar dropdowns (Devices, Control centre) */
body.admin-redesign .admin-sidebar .admin-nav-dropdown > summary.admin-nav-link { text-transform: none; letter-spacing: 0; font-size: inherit; font-weight: 500; color: var(--admin-muted); }
body.admin-redesign .admin-nav-dropdown > summary .admin-nav-caret { margin-left: auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .15s; opacity: .7; }
body.admin-redesign .admin-nav-dropdown[open] > summary .admin-nav-caret { transform: rotate(45deg); }
body.admin-redesign .admin-nav-dropdown:has([aria-current="page"]) > summary { color: var(--admin-text); font-weight: 700; }
body.admin-redesign .admin-nav-dropdown > a.admin-nav-link { padding-left: calc(var(--admin-space-3) + 28px); margin: 0; min-height: 38px; }
body.admin-redesign .admin-nav-dropdown > a.admin-nav-link svg { display: none; }
body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-dropdown > a.admin-nav-link { padding-left: var(--admin-space-3); }
body.admin-redesign[data-admin-nav="collapsed"] .admin-nav-dropdown > a.admin-nav-link svg { display: inline-block; }
