/* Shared ERP surfaces. Public pages retain their own design system. */
:root {
  --primary: #0066cc;
  --primary-dark: #005bb5;
  --primary-focus: #0066cc;
  --primary-soft: #eef5ff;
  --action-primary: #0066cc;
  --background-page: #f5f5f7;
  --background-surface: #ffffff;
  --background-subtle: #f5f5f7;
  --text-primary: #1d1d1f;
  --text-secondary: #606064;
  --text-muted: #6e6e73;
  --neutral-400: #6e6e73;
  --neutral-500: #606064;
  --border-default: #e0e0e0;
  --border-color: #e0e0e0;
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sidebar-width: 246px;
  --header-height: 64px;
  --radius-sm: 8px;
  --radius-md: 18px;
  --radius-lg: 18px;
  --radius-xl: 18px;
  --shadow-sm: 0 2px 4px rgba(22,32,51,.025), 0 12px 28px -18px rgba(22,32,51,.23);
  --shadow-md: 0 8px 24px -12px rgba(22,32,51,.25), 0 24px 48px -32px rgba(22,32,51,.3);
  --shadow-lg: 0 18px 48px -16px rgba(22,32,51,.3);
  --text-base: 17px;
  --text-sm: 14px;
  --primary-on-dark: #2997ff;
  --primary-focus: #0071e3;
  --surface-2: #f5f5f7;
  --surface-3: #efeff1;
  --neutral-950: #1d1d1f;
  --neutral-900: #1d1d1f;
  --neutral-800: #333336;
  --neutral-700: #48484b;
  --neutral-600: #606064;
  --neutral-100: #f5f5f7;
}
[data-theme="dark"] body:not(.shellless-route) {
  color-scheme: dark;
  --text-1: var(--text-primary);
  --primary-500: var(--action-primary);
  --primary-600: var(--primary-dark);
  --primary: #2997ff;
  --primary-dark: #64b3ff;
  --primary-focus: #0071e3;
  --primary-soft: #172b40;
  --action-primary: #2997ff;
  --background-page: #161617;
  --background-surface: #242426;
  --background-subtle: #2d2d30;
  --surface-white: #242426;
  --surface-parchment: #242426;
  --surface-pearl: #2d2d30;
  --surface-1: #242426;
  --surface-2: #2d2d30;
  --surface-3: #343437;
  --surface-strong: #343437;
  --text-primary: #f5f5f7;
  --text-secondary: #bcbcc2;
  --text-muted: #aaaab0;
  --neutral-950: #fafafc;
  --neutral-900: #f5f5f7;
  --neutral-850: #ededf0;
  --neutral-800: #dedee2;
  --neutral-750: #d2d2d7;
  --neutral-700: #c8c8ce;
  --neutral-600: #bcbcc2;
  --neutral-500: #aaaab0;
  --neutral-400: #aaaab0;
  --neutral-300: #76767d;
  --neutral-200: #4b4b50;
  --neutral-150: #3d3d42;
  --neutral-100: #2d2d30;
  --border-default: #3d3d42;
  --border-color: #3d3d42;
  --border-strong: #626268;
  --status-healthy: #63d5aa;
  --status-warning: #efbb66;
  --status-critical: #ff9a9a;
  --status-unknown: #aaaab0;
  --status-stale: #c3b1ed;
  --success: #63d5aa;
  --warning: #efbb66;
  --danger: #ff9a9a;
}
[hidden] { display: none !important; }
html { scroll-padding-top: 90px; }
body:not(.shellless-route) { line-height: 1.55; }
body:not(.shellless-route) .main-content { animation: none; }
body:not(.shellless-route) .content { padding: 32px 24px 48px; }
body:not(.shellless-route) .content > * { min-width: 0; }
body:not(.shellless-route) :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--primary-focus); outline-offset: 3px; }
body:not(.shellless-route) :is(h1,h2,h3,.page-hero-title) { letter-spacing: -.025em; line-height: 1.2; }
.sidebar { background: #161617; border-right: 0; box-shadow: none; }
.sidebar-logo { min-height: 118px; padding: 12px 20px; background: transparent; }
.sidebar-logo-art { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; height: auto; animation: none; }
.sidebar-logo-full { width: 100%; height: 73px; flex: none; object-fit: contain; object-position: center; background: transparent; border-radius: 0; filter: none; }
.sidebar-logo-compact { width: 32px; height: 40px; background: transparent; object-fit: contain; border-radius: 0; filter: none; }
.sidebar-logo-wordmark { color: #bcbcc2; font-size: 11px; font-weight: 400; letter-spacing: .025em; align-self: center; }
.sidebar-nav { padding: 6px 12px 14px; overflow-x: hidden; }
.sidebar-nav-group { padding: 17px 12px 5px; color: #aaaab0; font-size: 11px; letter-spacing: .015em; text-transform: none; }
.sidebar-nav a { min-height: 40px; padding: 9px 12px; border-radius: 7px; color: #d2d2d7; font-size: 13px; font-weight: 400; }
.sidebar-nav a.active { background: #333336; box-shadow: none; color: #fff; }
.sidebar-nav a.active svg { color: #2997ff; }
.sidebar-nav a:hover { background: #29292c; color: #fff; }
.sidebar-footer { background: transparent; padding: 14px 20px; }
.sidebar-footer #plan-badge { color: #bcbcc2 !important; font-size: 11px !important; }
.sidebar.collapsed .sidebar-logo-full { display: none; }
.sidebar.collapsed .sidebar-logo-compact { display: block; }
.sidebar.collapsed .sidebar-logo-art { align-items: center; }
.header { height: var(--header-height); min-height: var(--header-height); flex-shrink: 0; padding: 0 28px; }
.header-breadcrumbs { font-size: 13px; }
.header-breadcrumbs h1 { font-size: 14px; }
.header-search { width: clamp(200px,25vw,390px); background: var(--background-page); border-radius: 8px; font-size: 12px; }
.header-search:hover { background: var(--background-subtle); }
.header-user { background: #1d1d1f; }
.card { min-width: 0; padding: var(--density-card-padding); box-shadow: var(--shadow-sm); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text-primary); font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: -.01em; }
body:not(.shellless-route) .btn { min-height: 44px; border-radius: 8px; box-shadow: none; font-size: 14px; font-weight: 400; transition: background .15s,border-color .15s; }
body:not(.shellless-route) .btn-primary { background: #0066cc; border-color: #0066cc; color: #fff; }
body:not(.shellless-route) .btn-primary:hover { background: #005bb5; border-color: #005bb5; }
body:not(.shellless-route) .btn:disabled { opacity: .55; cursor: not-allowed; }
body:not(.shellless-route) :is(.form-input,.filter-select,.search-input) { min-height: 44px; border-radius: 8px; border: 1px solid var(--border-default); background: var(--background-surface); color: var(--text-primary); font-size: 14px; }
body:not(.shellless-route) .form-label { color: var(--text-secondary); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; }
body:not(.shellless-route) :is(.page-hero,.ops-panel,.install-panel,.install-summary,.settings-card,.device-timeline-panel) { border-color: var(--border-default); background: var(--background-surface); color: var(--text-primary); box-shadow: var(--shadow-sm); }
body:not(.shellless-route) :is(.page-hero-title,.install-header h2,.enrollment-header h1) { font-size: clamp(24px,2.5vw,34px); }
.table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; border-radius: 8px; }
.data-table { width: 100%; }
.data-table th { font-size: 11px; font-weight: 600; color: var(--text-secondary); background: var(--background-subtle); text-transform: none; letter-spacing: .015em; }
.data-table :is(th,td) { padding: 13px 15px; border-color: var(--border-default); vertical-align: middle; }
.data-table td { font-size: 14px; color: var(--text-primary); }
.data-table tr:hover td { background: var(--background-page); }
.data-table a { color: var(--primary); }
.page-workspace { display: grid; gap: 24px; max-width: 1440px; margin: 0 auto; }
.page-workspace > * { min-width: 0; }
.workspace-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.workspace-heading h2 { font-size: 34px; margin: 0 0 8px; }
.workspace-heading p { color: var(--text-secondary); max-width: 72ch; font-size: 14px; }
.workspace-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.workspace-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
.workspace-toolbar .search-input { width: min(420px,100%); flex: 1; }
.workspace-count { color: var(--text-secondary); font-size: 12px; }
.workspace-note { color: var(--text-secondary); font-size: 12px; margin-top: 12px; }
.workspace-error { display: grid; gap: 12px; padding: 24px; border: 1px solid var(--status-critical); border-radius: 12px; background: var(--background-surface); }
.workspace-error strong { font-size: 17px; }
.workspace-error p { color: var(--text-secondary); }
.workspace-error .btn { justify-self: start; }
.product-empty { min-height: 180px; padding: 28px; align-items: center; }
.product-empty strong { font-size: 16px; }
.product-empty p { max-width: 60ch; color: var(--text-secondary); font-size: 13px; line-height: 1.65; }
.product-empty .btn { margin-top: 14px; }
.command-dashboard { max-width: 1440px; gap: 20px; }
.command-dashboard .dashboard-command { padding: 0 0 24px; background: transparent; border: 0; border-bottom: 1px solid var(--border-default); border-radius: 0; color: var(--text-primary); align-items: center; }
.command-dashboard .dashboard-command h2 { font-size: clamp(28px,2.5vw,40px); font-weight: 600; color: var(--text-primary); }
.command-dashboard .dashboard-command p { color: var(--text-secondary); font-size: 13px; }
.command-dashboard .dashboard-command > div > span { color: var(--text-secondary); font-size: 12px; text-transform: none; letter-spacing: .02em; }
.dashboard-controls { align-items: center; gap: 12px; }
.dashboard-controls > div { display: flex; align-items: center; gap: 12px; }
.dashboard-controls #dashboard-refresh-time { color: var(--text-secondary); font-size: 12px; }
.command-kpi-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.command-kpi-grid .security-posture-card { grid-column: 1/-1; min-height: 0; padding: 16px 20px; display: flex; gap: 16px; border-left: 3px solid var(--status-warning); }
.security-posture-card .posture-evidence-icon { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 10px; background: var(--background-subtle); color: var(--primary); }
.security-posture-card h3 { font-size: 16px; margin: 0 0 4px; }
.security-posture-card p { font-size: 13px; line-height: 1.6; }
.security-posture-card > .btn { margin-left: auto; white-space: nowrap; }
.command-kpi-grid .product-metric { min-height: 154px; padding: 20px; border-top-width: 2px; }
.command-kpi-grid .product-metric-label { font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--text-secondary); }
.command-kpi-grid .product-metric-value { font-size: clamp(26px,2.2vw,34px); letter-spacing: -.035em; }
.command-kpi-grid .product-metric p { font-size: 12px; line-height: 1.6; }
.dashboard-command-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 20px; }
.dashboard-command-grid .dashboard-panel { min-height: 0; padding: 24px; }
.dashboard-panel { padding: 24px; }
.dashboard-panel-head > div > span { font-size: 12px; color: var(--primary); text-transform: none; letter-spacing: .01em; }
.dashboard-command-grid .dashboard-panel-head h2 { font-size: 20px; }
.dashboard-command-grid .dashboard-panel-head p { font-size: 13px; }
.dashboard-command-grid .dashboard-coverage { grid-column: 1/-1; }
.protection-stack-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; }
.protection-stack-list > button { min-height: 85px; padding: 15px 0; }
.protection-stack-name strong { font-size: 14px; }
.protection-stack-name small { font-size: 11px; white-space: normal; max-width: none; }
.protection-stack-count { font-size: 12px; }
.dashboard-command-grid .attention-list article { padding: 14px; gap: 11px; }
.dashboard-command-grid .attention-list article > .btn { min-height: 44px; padding: 10px 16px; }
.dashboard-command-grid .attention-list h3 { font-size: 14px; }
.dashboard-command-grid .attention-list :is(p,small) { font-size: 12px; line-height: 1.6; }
.activity-chart-legend { font-size: 11px; }
.security-activity-chart { height: 225px; }
.activity-chart-column span { font-size: 10px; }
.audit-event-list article { grid-template-columns: 95px minmax(0,1fr) auto; }
.audit-event-list :is(p,time) { font-size: 12px; }
.dashboard-command,.dashboard-summary .product-metric,.dashboard-panel { animation: none !important; }
.attention-list article:hover,.extension-market-card:hover { transform: none; }
.install-builder-page,.command-device-page,.settings-page { max-width: 1440px; margin: 0 auto; }
.install-builder-hero,.install-header,.device-command-header { margin-top: 0; padding-top: 4px; }
.appearance-choice { background: var(--background-surface); color: var(--text-primary); }
.appearance-choice.is-selected { border-color: var(--primary); background: var(--primary-soft); }
[data-theme="dark"] :is(.dashboard-command-grid .attention-list article,.install-product-choice,.device-workspace-tabs,.tabs,.appearance-choice,.bulk-extension-devices>label,.device-section-heading,.extension-market-card,.extension-market-card-body) { background: var(--background-surface); color: var(--text-primary); border-color: var(--border-default); }
[data-theme="dark"] :is(.status-badge,.product-status) { background: var(--background-subtle); }
[data-theme="dark"] .data-table tr:hover { background: var(--background-page); }
[data-theme="dark"] :is(.tab.active,.device-workspace-tabs .is-active) { color: var(--primary); background: var(--primary-soft); }
[data-theme="dark"] :is(.alert-warning,.alert-danger) { background: var(--background-subtle); color: var(--text-primary); }
[data-theme="dark"] .appearance-choice.is-selected { background: var(--primary-soft); }
@media (min-width: 769px) {
  .sidebar.auto-collapse .sidebar-logo-full { display: none; }
  .sidebar.auto-collapse .sidebar-logo-compact { display: block; }
  .sidebar.auto-collapse:hover .sidebar-logo-full,body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-full { display: block; width: 202px; height: 73px; }
  .sidebar.auto-collapse:hover .sidebar-logo-compact,body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-compact { display: none; }
  .sidebar.auto-collapse:hover .sidebar-logo,body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo { min-height: 118px; }
  .sidebar.auto-collapse:hover .sidebar-logo-art,body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-art { height: auto; }
}
@media (max-width: 1200px) {
  .header-search { width: 230px; }
  .header-workspace { max-width: 170px; }
  .command-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .protection-stack-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .header-search { width: 40px; min-width: 40px; justify-content: center; padding: 8px; }
  .header-search :is(span,kbd) { display: none; }
  .dashboard-command-grid { grid-template-columns: 1fr; }
  .workspace-heading { align-items: flex-start; flex-wrap: wrap; }
}
@media (max-width: 768px) {
  :root { --header-height: 60px; }
  body:not(.shellless-route) .content { padding: 24px 20px 100px; }
  .header { padding: 0 14px; }
  .header-workspace { display: none; }
  .header-search { display: flex; }
  .command-dashboard .dashboard-command { padding: 0 0 24px; align-items: flex-start; gap: 16px; }
  .command-kpi-grid .product-metric { padding: 16px; }
  .command-kpi-grid .security-posture-card { flex-wrap: wrap; }
  .security-posture-card > div:nth-child(2) { flex: 1; min-width: 180px; }
  .security-posture-card > .btn { margin-left: 60px; }
  .protection-stack-list { grid-template-columns: 1fr; }
  .dashboard-panel,.dashboard-command-grid .dashboard-panel { padding: 18px; }
  .workspace-heading h2 { font-size: 28px; }
  .workspace-actions { width: 100%; }
  .workspace-toolbar { gap: 8px; }
  .table-scroll .data-table { min-width: 660px; }
  .audit-event-list article { grid-template-columns: 72px minmax(0,1fr); }
  .audit-event-list .product-status { grid-column: 2; justify-self: start; }
  .mobile-bottom-nav a.active { background: var(--primary-soft); }
}

/* Responsive cursor rail: the desktop rail follows a fine pointer and remains stable on touch. */
.brand-motion-frame { position: relative; isolation: isolate; overflow: hidden; background: #020303; border: 1px solid rgba(71,255,176,.22); }
.brand-motion-frame .brand-motion-orbit { position: absolute; inset: 6%; z-index: 2; border: 1px solid rgba(71,255,176,.52); border-radius: 50%; pointer-events: none; opacity: 0; transform: rotate(-12deg) scale(.9); transition: opacity .24s ease, transform .24s ease; }
.brand-motion-frame .brand-motion-orbit::after { content: ''; position: absolute; top: -3px; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: #a5ff54; box-shadow: 0 0 12px #3dff9d; transform: translateX(-50%); }
.brand-motion-frame:hover .brand-motion-orbit, .brand-motion-frame:focus-within .brand-motion-orbit { opacity: 1; transform: rotate(12deg) scale(1); }
@media (hover:hover) and (pointer:fine) {
  .sidebar.auto-collapse { transition: width .24s cubic-bezier(.2,.8,.2,1), min-width .24s cubic-bezier(.2,.8,.2,1), margin-right .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease; }
  .sidebar.auto-collapse:hover { z-index: calc(var(--z-sidebar) + 1); }
  .sidebar.auto-collapse:hover .brand-motion-orbit { animation: brand-orbit 3.8s linear infinite; }
}
@keyframes brand-orbit { to { transform: rotate(372deg) scale(1); } }
@media(prefers-reduced-motion:reduce){.brand-motion-frame .brand-motion-orbit{opacity:0!important;animation:none!important;transition:none!important}.sidebar.auto-collapse{transition:none!important}}
@media (max-width: 420px) {
  .command-kpi-grid { grid-template-columns: 1fr; }
  .dashboard-controls > div { flex-wrap: wrap; }
  .header-breadcrumbs h1 { max-width: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.dashboard-command .dashboard-controls label > span { color: var(--text-secondary); }
.ops-page { max-width: 1440px; margin: 0 auto; }
.ops-kicker,.install-form-head > span,.settings-card-heading > div > span { text-transform: none; letter-spacing: .01em; font-size: 12px; }
.enrollment-device-picker p,.enrollment-device-types button small,.install-context-section p,.install-context-section li { font-size: 12px; line-height: 1.65; }
[data-theme="dark"] body:not(.shellless-route) :is(.install-form,.install-context,.enrollment-device-picker,.enrollment-stepper,.enrollment-device-types button,.device-card,.ops-stat-strip) { background: var(--background-surface); color: var(--text-primary); border-color: var(--border-default); }
[data-theme="dark"] body:not(.shellless-route) .enrollment-device-types button.is-active { background: var(--primary-soft); }

@media (max-width: 768px) {
  .enrollment-stepper > div > strong { display: block; font-size: 12px; }
  .enrollment-stepper { gap: 5px; padding: 12px; }
}

/* Shared surfaces with restrained depth and one action accent. */
body:not(.shellless-route) { font-size: 17px; line-height: 1.47; }
body:not(.shellless-route) :is(h1,h2,h3,h4) { font-weight: 600; }
body:not(.shellless-route) :is(.card,.product-metric,.dashboard-panel,.install-form,.install-context,.settings-card,.ops-panel,.extension-market-card,.recovery-section,.autonomous-panel) { border-radius: 18px; box-shadow: var(--shadow-sm); }
body:not(.shellless-route) :is(.metric-tile,.erp-panel-head,.recovery-hero,.autonomous-hero,.ai-query-panel) { background: var(--background-surface); box-shadow: none; }
body:not(.shellless-route) .extension-artwork { background: var(--background-subtle); color: var(--primary); box-shadow: none; }
body:not(.shellless-route) :is(.btn,.appearance-choice,.device-card,.command-palette,.product-metric):is(:hover,:focus,:active,:disabled),
body:not(.shellless-route) :is(.command-palette,.enrollment-stepper>div>span) { box-shadow: none; }
body:not(.shellless-route) .btn-primary { border-radius: 999px; padding: 11px 22px; }
body:not(.shellless-route) .btn-primary:disabled { background: #0066cc; color: #fff; border-color: #0066cc; }
body:not(.shellless-route) .btn:active:not(:disabled) { transform: scale(.97); }
body:not(.shellless-route) :is(input,select,textarea) { max-width: 100%; }
body:not(.shellless-route) :is(.form-input,.search-input):focus { box-shadow: none; outline: 2px solid var(--primary-focus); outline-offset: 2px; }
body:not(.shellless-route) .search-input { border-radius: 999px; min-width: 0; }
body:not(.shellless-route) .soft-divider { background: var(--border-default); }
body:not(.shellless-route) :is(.page-hero,.recovery-hero,.autonomous-hero) { background: transparent; border-radius: 0; border: 0; border-bottom: 1px solid var(--border-default); padding: 0 0 24px; }
body:not(.shellless-route) :is(.workspace-heading p,.dashboard-command p,.settings-card-heading p,.install-header p) { font-size: 17px; line-height: 1.47; }
body:not(.shellless-route) :is(.workspace-note,.workspace-count,.product-empty p,.command-kpi-grid .product-metric p,.dashboard-command-grid .dashboard-panel-head p) { font-size: 14px; line-height: 1.5; }
body:not(.shellless-route) .product-empty { padding: 32px 24px; gap: 8px; }
body:not(.shellless-route) .product-empty strong { font-size: 20px; }
.header { background: color-mix(in srgb,var(--background-surface) 85%,transparent); backdrop-filter: saturate(180%) blur(20px); }
.header-right { gap: 8px; }
.header :is(.header-icon-button,.header-user,.mobile-toggle) { width: 44px; height: 44px; min-width: 44px; padding: 10px; flex-shrink: 0; }
.header-search,.header-workspace { min-height: 44px; }
.header-search { border-radius: 999px; }
.header-user { font-weight: 600; font-size: 14px; }
.sidebar-nav a { min-height: 44px; font-size: 14px; }
.sidebar-footer { border-color: #333336; }
.sidebar-footer .btn { background: #29292c; border-color: #424245; color: #f5f5f7; }
.sidebar-footer .btn:hover { background: #333336; }
.sidebar.auto-collapse:hover,body.keyboard-navigation .sidebar.auto-collapse:focus-within { box-shadow: none; }
.appearance-system { display: flex; align-items: flex-start; gap: 12px; padding: 20px; border-radius: 8px; background: var(--background-subtle); }
.appearance-system > span { flex-shrink: 0; }
.appearance-system strong { font-size: 14px; font-weight: 600; }
.appearance-system p { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--text-secondary); }
.appearance-preference-grid legend { font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; margin-bottom: 12px; }
.appearance-choice { border-radius: 8px; padding: 12px 16px; min-height: 72px; }
.appearance-choice strong { font-size: 14px; font-weight: 600; }
.appearance-choice span { font-size: 12px; line-height: 1.5; }
.appearance-choice.is-selected { box-shadow: none; border: 2px solid var(--primary); padding: 11px 15px; }
[data-theme="dark"] body:not(.shellless-route) :is(.main-content,.content) { background: var(--background-page); }
[data-theme="dark"] .header { background: color-mix(in srgb,var(--background-surface) 85%,transparent); }
[data-theme="dark"] .mobile-bottom-nav { background: #242426; }
@media (max-width: 1200px) {
  .header-workspace { display: none; }
}
@media (max-width: 900px) {
  .header-search { width: 44px; min-width: 44px; }
  .install-builder-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 768px) {
  .header { padding: 0 12px; }
  .sidebar:not(.mobile-open) { visibility: hidden; }
  .header-left,.header-right { gap: 4px; }
  .header-icon-button:is([aria-label="Open AI Analyst"],[aria-label="Open help"]) { display: none; }
  .header-breadcrumbs { min-width: 0; }
  .header-breadcrumbs h1 { font-size: 14px; max-width: 140px; }
  body:not(.shellless-route) :is(.btn,.tab,.device-workspace-tabs button,.filter-select,summary) { min-height: 44px; }
  body:not(.shellless-route) :is(.form-input,.filter-select,.search-input) { font-size: 16px; }
  .workspace-actions > .btn { flex: 1; }
  .workspace-toolbar .search-input { flex-basis: 100%; }
  .workspace-toolbar .filter-select { flex: 1; }
  .dashboard-panel-head { flex-wrap: wrap; gap: 12px; }
  .dashboard-controls,.dashboard-controls > div { width: 100%; }
  .dashboard-controls > div { justify-content: space-between; }
  .enrollment-device-types strong { font-size: 14px; }
  .enrollment-device-types span { font-size: 12px; }
  .enrollment-device-types { gap: 8px; }
  .install-form-grid { grid-template-columns: minmax(0,1fr); }
  .mobile-bottom-nav { padding-bottom: env(safe-area-inset-bottom,0px); }
  .mobile-bottom-nav :is(a,button) { min-height: 56px; }
  .header-icon-button[aria-label="Open AI Analyst"] { display: flex; }
}
@media (max-width: 420px) {
  .header .header-icon-button[aria-label="Open alerts"] { display: none; }
  .header-breadcrumbs h1 { max-width: calc(100vw - 236px); }
  .security-posture-card > div:nth-child(2) { min-width: 0; }
  .security-posture-card > .btn { margin-left: 0; width: 100%; }
  .enrollment-device-types { grid-template-columns: 1fr; }
  .enrollment-device-types button { min-height: 76px; grid-template-columns: 32px 1fr; text-align: left; justify-items: start; padding: 16px; }
  .enrollment-device-types button svg { grid-row: 1/3; }
  .enrollment-stepper { grid-template-columns: 1fr 1fr; gap: 12px; }
  .enrollment-stepper > i { display: none; }
  .enrollment-stepper strong { font-size: 12px; }
}

/* Hover navigation keeps the content column fixed while the rail opens. */
.sidebar { height: 100dvh; }
@media (min-width: 769px) {
  /* Automatic mode always keeps a real, visible navigation rail. Hover/focus
     only changes its width; it never hides the navigation affordance. */
  .sidebar.auto-collapse {
    visibility: visible; opacity: 1; display: flex;
    width: var(--sidebar-collapsed); min-width: var(--sidebar-collapsed);
    background: linear-gradient(165deg,#252529,#161617 65%);
  }
  .sidebar.auto-collapse .sidebar-nav { display: block; visibility: visible; opacity: 1; }
  .sidebar.auto-collapse .sidebar-nav a svg { display: block; visibility: visible; opacity: 1; flex: 0 0 auto; }
  .sidebar.auto-collapse:not(:hover) .sidebar-nav a { justify-content: center; }
  .sidebar.auto-collapse .sidebar-logo,
  .sidebar.auto-collapse:hover .sidebar-logo,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo {
    height: 92px; min-height: 92px; padding: 12px 18px; flex-shrink: 0;
  }
  .sidebar.auto-collapse .sidebar-logo-art,
  .sidebar.auto-collapse:hover .sidebar-logo-art,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-art { height: 68px; justify-content: center; }
  .sidebar.auto-collapse:hover .sidebar-logo-full,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-full { width: 202px; height: 68px; }
  .sidebar.auto-collapse .sidebar-logo-wordmark,
  .sidebar.auto-collapse:hover .sidebar-logo-wordmark,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-logo-wordmark { display: none; }
  .sidebar.auto-collapse .sidebar-nav-group {
    height: 28px; min-height: 28px; margin: 8px 0 0; padding: 7px 14px 0;
    border: 0; font-size: 11px; line-height: 18px; opacity: 0;
  }
  .sidebar.auto-collapse:hover .sidebar-nav-group,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within .sidebar-nav-group { opacity: 1; }
  .sidebar.auto-collapse .sidebar-nav a { min-height: 44px; padding: 10px 14px; }
  .sidebar.auto-collapse .sidebar-footer { min-height: 92px; flex-shrink: 0; }
  .sidebar.auto-collapse:hover,
  body.keyboard-navigation .sidebar.auto-collapse:focus-within { box-shadow: 16px 0 40px -12px rgba(0,0,0,.3); }
}

/* Physical depth is decorative; text and controls remain on a stable plane. */
body:not(.shellless-route) .content { background: var(--background-page); }
body:not(.shellless-route) .btn { transition: background .16s, border-color .16s, transform .16s, box-shadow .16s; }
body:not(.shellless-route) .btn-primary {
  background: linear-gradient(180deg,#087be7,#0066cc);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 5px -2px rgba(0,76,160,.3);
}
body:not(.shellless-route) .btn-primary:hover:not(:disabled) { box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 6px 14px -6px rgba(0,76,160,.42); }
body:not(.shellless-route) .btn:active:not(:disabled) { transform: translateY(1px); }
body:not(.shellless-route) .command-palette { box-shadow: var(--shadow-lg); }

/* Conversation-first AI Analyst workspace. */
.workspace-chat-shell { display: grid; gap: 18px; max-width: 1480px; min-height: calc(100dvh - var(--header-height) - 80px); margin: 0 auto; }
.workspace-chat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px; border: 1px solid var(--border-default); border-radius: 20px; background: linear-gradient(135deg,var(--background-surface),color-mix(in srgb,var(--primary-soft) 42%,var(--background-surface))); }
.workspace-chat-brand { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.workspace-chat-brand > img { width: 52px; height: 52px; flex: 0 0 auto; object-fit: contain; }
.workspace-chat-brand h1 { margin: 4px 0 6px; font-size: clamp(28px,3.5vw,44px); letter-spacing: -.045em; }
.workspace-chat-brand p { max-width: 760px; margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.workspace-chat-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.ai-auto-status,.ai-scope-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 6px 10px; border: 1px solid var(--border-default); border-radius: 999px; background: var(--background-surface); color: var(--text-secondary); font-size: 11px; font-weight: 700; white-space: nowrap; }
.ai-auto-status i { width: 7px; height: 7px; border-radius: 50%; background: #159455; box-shadow: 0 0 0 3px rgba(21,148,85,.12); }
.workspace-chat-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,340px); gap: 18px; align-items: start; }
.workspace-chat-column { display: grid; gap: 12px; min-width: 0; }
.workspace-chat-messages { display: grid; gap: 14px; min-height: 420px; padding: 22px; border: 1px solid var(--border-default); border-radius: 20px; background: linear-gradient(180deg,var(--background-surface),color-mix(in srgb,var(--background-subtle) 72%,var(--background-surface))); }
.workspace-chat-message { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 11px; align-items: start; max-width: 930px; }
.workspace-chat-avatar { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid color-mix(in srgb,var(--primary) 26%,var(--border-default)); border-radius: 12px; background: var(--background-surface); }
.workspace-chat-avatar img { width: 25px; height: 25px; object-fit: contain; }
.workspace-chat-message-body { min-width: 0; padding: 2px 0; }
.workspace-chat-message-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
.workspace-chat-message-meta strong { font-size: 13px; }
.workspace-chat-message-meta span { color: var(--text-secondary); font-size: 11px; }
.workspace-chat-message-body > p { margin: 0 0 13px; color: var(--text-primary); font-size: 15px; line-height: 1.65; }
.workspace-chat-briefing { max-width: 900px; }
.workspace-chat-briefing .ai-briefing > section { background: color-mix(in srgb,var(--background-surface) 85%,var(--background-subtle)); }
.workspace-chat-suggestions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.workspace-chat-suggestions button { min-height: 38px; padding: 8px 12px; border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--border-default)); border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.workspace-chat-suggestions button:hover { border-color: var(--primary); }
.workspace-chat-composer { display: grid; gap: 10px; padding: 16px; border: 1px solid color-mix(in srgb,var(--primary) 36%,var(--border-default)); border-radius: 18px; background: var(--background-surface); box-shadow: 0 12px 30px -22px rgba(0,76,160,.55); }
.workspace-chat-composer textarea { width: 100%; min-height: 84px; resize: vertical; border: 0; background: transparent; box-shadow: none; font-size: 15px; line-height: 1.55; }
.workspace-chat-composer textarea:focus { outline: 0; }
.workspace-chat-composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workspace-chat-composer-hint,.workspace-chat-safety { color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
.workspace-chat-result:empty { display: none; }
.workspace-chat-result { margin-top: 2px; }
.workspace-chat-safety { margin: 0 4px; }
.ai-context-drawer { position: sticky; top: 16px; min-width: 0; border: 1px solid var(--border-default); border-radius: 18px; background: var(--background-surface); overflow: hidden; }
.ai-context-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; padding: 14px 16px; border: 0; background: transparent; color: var(--text-primary); font: inherit; font-size: 13px; font-weight: 700; text-align: left; cursor: pointer; }
.ai-context-toggle svg { width: 16px; transition: transform .18s ease; }
.ai-context-drawer.is-open .ai-context-toggle svg { transform: rotate(180deg); }
.ai-context-body { display: grid; gap: 16px; padding: 0 16px 18px; }
.ai-context-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-top: 4px; }
.ai-context-heading h2 { margin: 3px 0 0; font-size: 18px; }
.ai-context-copy { margin: 0; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.ai-context-section { display: grid; gap: 8px; padding-top: 13px; border-top: 1px solid var(--border-default); }
.ai-context-label { color: var(--text-secondary); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ai-context-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.ai-context-chips span { padding: 5px 8px; border-radius: 999px; background: var(--background-subtle); color: var(--text-secondary); font-size: 10px; }
.ai-context-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ai-context-metrics div { display: grid; gap: 2px; padding: 9px; border: 1px solid var(--border-default); border-radius: 10px; }
.ai-context-metrics strong { font-size: 15px; }
.ai-context-metrics span { color: var(--text-secondary); font-size: 10px; }
.ai-context-section ul { display: grid; gap: 7px; margin: 0; padding-left: 16px; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
.ai-context-empty { margin: 0; color: var(--text-secondary); font-size: 11px; }
.ai-context-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.route-loading-workspace { display: grid; min-height: calc(100dvh - 150px); place-items: center; padding: 28px; background: radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--primary-soft) 70%,transparent),transparent 42%); }
.route-loading-workspace-card { display: grid; justify-items: center; gap: 14px; width: min(520px,100%); padding: 42px 32px; border: 1px solid var(--border-default); border-radius: 24px; background: color-mix(in srgb,var(--background-surface) 92%,transparent); box-shadow: 0 20px 55px -38px rgba(0,76,160,.55); text-align: center; }
.route-loading-workspace-mark { position: relative; display: grid; place-items: center; width: 62px; height: 62px; }
.route-loading-workspace-mark img { width: 52px; height: 52px; object-fit: contain; animation: workspace-mark-breathe 2.2s ease-in-out infinite; }
.route-loading-workspace-mark span { position: absolute; inset: 0; border: 1px solid color-mix(in srgb,var(--primary) 44%,transparent); border-radius: 20px; animation: workspace-mark-ring 2.2s ease-in-out infinite; }
.route-loading-workspace-mark.is-failed { border: 2px solid var(--danger); border-radius: 20px; color: var(--danger); font-size: 22px; font-weight: 800; }
.route-loading-workspace-mark.is-failed span { display: none; }
.route-loading-workspace-copy { display: grid; gap: 4px; }
.route-loading-workspace-copy strong,.route-loading-workspace-card > strong { font-size: 18px; }
.route-loading-workspace-copy p,.route-loading-workspace-card > p { max-width: 390px; margin: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.6; }
.route-loading-workspace-progress { display: flex; align-items: flex-end; gap: 5px; height: 24px; }
.route-loading-workspace-progress i { display: block; width: 7px; height: 10px; border-radius: 999px; background: var(--primary); animation: workspace-loading-bar 1.1s ease-in-out infinite; }
.route-loading-workspace-progress i:nth-child(2) { height: 18px; animation-delay: .14s; }
.route-loading-workspace-progress i:nth-child(3) { height: 13px; animation-delay: .28s; }
@keyframes workspace-mark-breathe { 0%,100% { transform: scale(.94); opacity: .75; } 50% { transform: scale(1); opacity: 1; } }
@keyframes workspace-mark-ring { 0%,100% { transform: scale(.88); opacity: .3; } 50% { transform: scale(1.1); opacity: .85; } }
@keyframes workspace-loading-bar { 0%,100% { transform: scaleY(.6); opacity: .4; } 50% { transform: scaleY(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .route-loading-workspace-mark img,.route-loading-workspace-mark span,.route-loading-workspace-progress i { animation: none; } }
@media (max-width: 900px) { .workspace-chat-layout { grid-template-columns: 1fr; } .ai-context-drawer { position: static; } .ai-context-body { display: none; } .ai-context-drawer.is-open .ai-context-body { display: grid; } }
@media (max-width: 640px) { .workspace-chat-header { padding: 20px; flex-direction: column; } .workspace-chat-header-actions { justify-content: flex-start; } .workspace-chat-messages { min-height: 360px; padding: 16px; } .workspace-chat-composer-footer { align-items: flex-start; flex-direction: column; } .workspace-chat-composer-footer .btn { width: 100%; } .route-loading-workspace-card { padding: 32px 22px; } }

/* The catalog owns its row, grid and action layout in one place. */
.command-extensions { max-width: 1440px; gap: 24px; }
.command-extensions .extensions-command { display: none; }
.command-extensions .extension-catalog { min-width: 0; gap: 18px; }
.command-extensions .extension-catalog-heading { align-items: flex-start; gap: 24px; }
.command-extensions .extension-catalog-heading > div:first-child { min-width: 0; }
.command-extensions .extension-catalog-heading h2 { margin: 6px 0 12px; font-size: clamp(28px,2.5vw,36px); line-height: 1.15; }
.command-extensions .extension-catalog-heading p { max-width: 74ch; font-size: 14px; line-height: 1.65; color: var(--text-secondary); }
.command-extensions .extension-catalog-heading > div > span { font-size: 12px; letter-spacing: .06em; }
.command-extensions .extension-view-toggle { display: flex; flex: 0 0 auto; gap: 4px; padding: 4px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--background-subtle); }
.command-extensions .extension-view-toggle button { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 8px; background: transparent; color: var(--text-secondary); font-size: 14px; }
.command-extensions .extension-view-toggle button.is-active { color: var(--primary); background: var(--background-surface); box-shadow: var(--shadow-sm); }
.command-extensions .extension-view-toggle svg { width: 18px; height: 18px; }
.command-extensions .extension-toolbar { align-items: center; flex-wrap: wrap; gap: 16px; }
.command-extensions .extension-search { flex: 1 1 280px; max-width: 520px; min-height: 48px; min-width: 0; background: var(--background-surface); border-color: var(--border-default); }
.command-extensions .extension-search input { min-width: 0; font-size: 16px; }
.command-extensions .extension-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.command-extensions .extension-filter { min-height: 44px; padding: 10px 16px; font-size: 13px; font-weight: 500; }
.extension-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.extension-results-heading > span { color: var(--text-secondary); font-size: 13px; }
.command-extensions .extension-market-grid { min-width: 0; gap: 16px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.command-extensions .extension-view-compact { display: grid; grid-template-columns: minmax(0,1fr); }
.command-extensions .extension-view-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; }
body:not(.shellless-route) .command-extensions .extension-market-card {
  position: relative; min-width: 0; padding: 22px; gap: 20px; overflow: visible;
  border: 1px solid var(--border-default); border-radius: 18px;
  background: var(--background-surface); box-shadow: var(--shadow-sm);
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
.command-extensions .extension-view-compact .extension-market-card { display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: start; }
.command-extensions .extension-market-card:has(.extension-actions-menu[open]) { z-index: 40; }
body:not(.shellless-route) .command-extensions .extension-artwork {
  display: grid; place-items: center; width: 56px; height: 56px; min-height: 56px; margin: 0;
  border: 1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default)); border-radius: 15px;
  background: linear-gradient(145deg,var(--background-surface),var(--primary-soft));
  color: var(--primary); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 5px 9px -5px rgba(0,76,160,.2);
}
.command-extensions .extension-artwork svg { width: 28px; height: 28px; }
.command-extensions .extension-artwork span { display: none; }
.command-extensions .extension-market-body { min-width: 0; padding: 0; gap: 9px; }
.command-extensions .extension-view-compact .extension-market-body { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: center; gap: 8px 24px; }
.command-extensions .extension-market-title { min-width: 0; align-items: start; margin: 0; }
.command-extensions .extension-market-title > div { min-width: 0; }
.command-extensions .extension-market-title h3 { font-size: 17px; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.command-extensions .extension-market-title > div > span { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 12px; }
.command-extensions .extension-market-body > p { margin: 0; padding: 0; min-height: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
.command-extensions .extension-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; }
.command-extensions .extension-tags span { padding: 5px 9px; border-radius: 6px; background: var(--background-subtle); color: var(--text-secondary); font-size: 11px; line-height: 1.35; font-weight: 500; text-transform: none; }
.command-extensions .extension-required-action { display: none; }
.command-extensions .extension-view-compact :is(.extension-market-title,.extension-market-body > p,.extension-tags) { grid-column: 1; }
.command-extensions .extension-market-card .extensions-actions { position: static; display: flex; align-items: center; flex-wrap: nowrap; min-width: 0; gap: 10px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.command-extensions .extension-view-compact .extensions-actions { grid-column: 2; grid-row: 1 / 4; justify-content: flex-end; }
.command-extensions .extension-market-card .extensions-actions > .btn { width: auto; max-width: 100%; min-height: 44px; padding: 11px 18px; font-size: 14px; line-height: 1.4; white-space: normal; text-align: center; }
.command-extensions .extension-view-grid .extension-market-card { display: flex; height: 100%; flex-direction: column; }
.command-extensions .extension-view-grid .extension-market-body { display: flex; flex: 1; flex-direction: column; }
.command-extensions .extension-view-grid .extension-market-title { min-height: 52px; }
.command-extensions .extension-view-grid .extensions-actions { margin-top: auto; padding-top: 12px; }
.command-extensions .extension-view-grid .extensions-actions > .btn { flex: 1; }
.extension-actions-menu { position: relative; flex: 0 0 auto; }
.extension-actions-menu > summary { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--border-default); border-radius: 10px; background: var(--background-surface); color: var(--text-secondary); cursor: pointer; list-style: none; }
.extension-actions-menu > summary::-webkit-details-marker { display: none; }
.extension-actions-menu > summary svg { width: 20px; height: 20px; }
.extension-actions-menu > div { position: absolute; top: 52px; right: 0; z-index: 45; display: grid; width: 230px; max-width: calc(100vw - 80px); gap: 6px; padding: 8px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--background-surface); box-shadow: var(--shadow-lg); }
.command-extensions .extension-actions-menu > div .btn { width: 100%; min-height: 44px; padding: 10px; justify-content: flex-start; font-size: 14px; white-space: normal; text-align: left; }
.extension-inventory-notice { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border: 1px solid var(--border-default); border-radius: 14px; background: var(--background-surface); }
.extension-inventory-notice > div { display: grid; gap: 4px; }
.extension-inventory-notice strong { font-size: 14px; }
.extension-inventory-notice span { color: var(--text-secondary); font-size: 13px; line-height: 1.6; }
.extension-inventory-notice > .btn { flex-shrink: 0; }
.command-extensions .extension-device-selector { background: var(--background-surface); border-color: var(--border-default); padding: 18px; }
.command-extensions .extensions-empty { padding: 40px 24px; background: var(--background-surface); border: 1px solid var(--border-default); border-radius: 18px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body:not(.shellless-route) .command-extensions .extension-market-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb,var(--primary) 30%,var(--border-default)); }
  body:not(.shellless-route) .command-extensions .extension-market-card:has(.extension-actions-menu[open]) { transform: none; }
}
@media (max-width: 1150px) {
  .command-extensions .extension-view-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .command-extensions .extension-view-compact .extension-market-body { grid-template-columns: minmax(0,1fr) 240px; }
}
@media (max-width: 1000px) {
  .command-extensions .extension-view-compact .extension-market-body { grid-template-columns: minmax(0,1fr); }
  .command-extensions .extension-view-compact .extensions-actions { grid-column: 1; grid-row: auto; justify-content: flex-start; margin-top: 8px; }
}
@media (max-width: 768px) {
  .command-extensions .extension-catalog-heading { flex-direction: column; gap: 16px; }
  .command-extensions .extension-view-toggle { width: 100%; }
  .command-extensions .extension-view-toggle button { flex: 1; }
  .command-extensions .extension-toolbar { flex-direction: column; align-items: stretch; }
  .command-extensions .extension-search { flex: auto; max-width: none; width: 100%; }
  .command-extensions .extension-filter { flex: 1 1 auto; }
  .command-extensions .extension-view-grid { grid-template-columns: minmax(0,1fr); }
  body:not(.shellless-route) .command-extensions .extension-market-card { display: block; padding: 18px; }
  body:not(.shellless-route) .command-extensions .extension-artwork { position: absolute; top: 18px; left: 18px; width: 44px; height: 44px; min-height: 44px; border-radius: 12px; }
  .command-extensions .extension-artwork svg { width: 24px; height: 24px; }
  .command-extensions .extension-market-title { min-height: 48px; padding-left: 58px; }
  .command-extensions .extension-market-card .extensions-actions { margin-top: 8px; }
  .command-extensions .extension-market-card .extensions-actions > .btn { flex: 1; }
  .extension-inventory-notice { align-items: stretch; flex-direction: column; padding: 18px; gap: 12px; }
  .extension-results-heading > .btn { font-size: 13px; padding: 10px 12px; }
}

/* Enrollment and catalog alignment repair. */
body:not(.shellless-route) .enrollment-device-types { align-items: stretch; }
body:not(.shellless-route) .enrollment-device-types button { height: 100%; min-height: 100px; }
body:not(.shellless-route) .install-builder-layout { align-items: start; }
body:not(.shellless-route) .install-context { align-self: start; }

/* Permanent automatic desktop navigation rail. */
@media (min-width: 769px) {
  body:not(.shellless-route) .sidebar.auto-collapse {
    width: var(--sidebar-collapsed); min-width: var(--sidebar-collapsed); flex: 0 0 var(--sidebar-collapsed);
    margin-right: 0; overflow: hidden; visibility: visible; opacity: 1;
    transition: width .22s cubic-bezier(.2,.8,.2,1), min-width .22s cubic-bezier(.2,.8,.2,1), margin-right .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
  }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-logo { min-height: 72px; padding: 10px 14px; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-logo-art { width: 44px; height: 48px; justify-content: center; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-logo-full { display: none !important; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-logo-compact { display: block !important; width: 40px; height: 44px; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-logo-wordmark { display: none !important; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-nav { padding: 8px 9px 12px; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-nav a { justify-content: center; gap: 0; padding: 10px; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-nav a svg { width: 22px; height: 22px; flex: 0 0 22px; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-nav a span { width: 0; opacity: 0; overflow: hidden; visibility: hidden; pointer-events: none; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-nav-group { height: 9px; min-height: 9px; margin: 7px 0 0; padding: 9px 0 0; overflow: hidden; border-top: 1px solid rgba(155,180,219,.14); font-size: 0; opacity: 1; }
  body:not(.shellless-route) .sidebar.auto-collapse .sidebar-footer { min-height: 72px; padding: 10px 8px; opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  body:not(.shellless-route) .sidebar.auto-collapse:hover {
    width: var(--sidebar-width); min-width: var(--sidebar-width); flex-basis: var(--sidebar-width);
    margin-right: calc(var(--sidebar-collapsed) - var(--sidebar-width));
    z-index: calc(var(--z-sidebar) + 1); box-shadow: 16px 0 40px -18px rgba(0,0,0,.42);
  }
}
@media (min-width: 769px) {
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within {
    width: var(--sidebar-width); min-width: var(--sidebar-width); flex-basis: var(--sidebar-width);
    margin-right: calc(var(--sidebar-collapsed) - var(--sidebar-width));
    z-index: calc(var(--z-sidebar) + 1); box-shadow: 16px 0 40px -18px rgba(0,0,0,.42);
  }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-logo,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-logo { padding: 9px 16px; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-logo-art,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-logo-art { width: 100%; justify-content: flex-start; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-logo-full,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-logo-full { display: block !important; width: 100%; height: 54px; object-fit: contain; object-position: left center; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-logo-compact,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-logo-compact { display: none !important; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-nav a,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-nav a { justify-content: flex-start; gap: 11px; padding: 10px 11px; }
}
@media (min-width: 769px) {
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-nav a span,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-nav a span { width: auto; opacity: 1; visibility: visible; pointer-events: auto; overflow: visible; transition: opacity .14s ease .05s; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-nav-group,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-nav-group { height: 28px; min-height: 28px; margin-top: 8px; padding: 7px 12px 0; overflow: visible; border-top: 0; font-size: 11px; opacity: 1; }
  body:not(.shellless-route) .sidebar.auto-collapse:hover .sidebar-footer,
  body.keyboard-navigation:not(.shellless-route) .sidebar.auto-collapse:focus-within .sidebar-footer { min-height: 92px; padding: 14px 20px; opacity: 1; visibility: visible; pointer-events: auto; }
}

/* Authenticator setup keeps the QR scannable and the raw seed masked. */
.twofa-setup-panel { display: grid; grid-template-columns: minmax(190px,230px) minmax(0,1fr); gap: 24px; margin-top: 16px; padding: 20px; border: 1px solid var(--border-default); border-radius: 14px; background: var(--background-subtle); }
.twofa-qr-column { display: grid; align-content: start; justify-items: center; gap: 10px; text-align: center; }
.twofa-qr-column span,.twofa-manual-column p { color: var(--text-secondary); font-size: 12px; line-height: 1.55; }
.twofa-qr-image { display: block; width: min(210px,100%); aspect-ratio: 1; padding: 10px; border: 1px solid var(--border-default); border-radius: 12px; background: #fff; object-fit: contain; image-rendering: pixelated; }
.twofa-manual-column { display: grid; align-content: start; gap: 10px; min-width: 0; }
.twofa-secret-row,.twofa-verify-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.twofa-secret-row .form-input,.twofa-verify-row .form-input { min-width: 0; flex: 1; }
.twofa-manual-column p { margin: 0 0 4px; }
@media (max-width: 768px) { .twofa-setup-panel { grid-template-columns: 1fr; } .twofa-secret-row,.twofa-verify-row { align-items: stretch; flex-direction: column; } .twofa-secret-row .btn,.twofa-verify-row .btn { width: 100%; } }
