/* Working screens share the brand while retaining their compact layout. */
.vision-admin { --header-height: 76px; --page-gutter: clamp(18px,3vw,48px); }
.vision-admin .admin-header { background: color-mix(in srgb,var(--bg) 96%,transparent); border-color: var(--line); }
.vision-admin .admin-brand__copy strong { font-size: 1.12rem; font-weight: 700; letter-spacing: -.05em; }
.vision-admin .admin-brand__copy small { font-size: .48rem; font-weight: 500; color: var(--muted); letter-spacing: .1em; }
.vision-admin .admin-brand__mark { width: 34px; height: 34px; flex-basis: 34px; }
.vision-admin :is(.admin-header__profile,.admin-header__site) { font-size: .7rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.vision-admin .admin-intro { background: transparent; }
.vision-admin .admin-intro h1 { font-size: clamp(2rem,3vw,3rem); line-height: 1.15; }
.vision-admin .admin-intro > p { font-size: .85rem; line-height: 1.75; }
.vision-admin :is(.admin-tool,.admin-card,.admin-existing-list,.admin-editor,.admin-quick-ticket,.admin-order-card,.admin-work-card,.admin-user-card,.admin-dsr-card) { background-color: var(--surface); border-color: var(--line); }
.vision-admin .admin-tool:hover { transform: translateY(-2px); }
.vision-admin .admin-tool::before { display: none; }
.vision-admin .admin-tool__copy h2 { font-size: clamp(1rem,1.25vw,1.3rem); font-weight: 500; line-height: 1.25; }
.vision-admin .admin-tool__index { font-size: .65rem; color: var(--accent-ink); font-weight: 500; }
.vision-admin .admin-tool__metric strong { font-weight: 500; }
.vision-admin :is(.admin-form,.admin-filter-form,.admin-toolbar,.admin-editor,.admin-modal,.admin-dialog) :is(label,legend) { text-transform: none; letter-spacing: .01em; font-weight: 500; }
.vision-admin :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="hidden"]) { background-color: var(--bg-alt); color: var(--text); border-color: var(--line-strong); }
.vision-admin :is(input,select,textarea):focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
.vision-admin :is(.admin-action,.admin-tab,.admin-button,.admin-filter-button) { text-transform: none; letter-spacing: .01em; font-weight: 500; }
.vision-admin :is(.admin-modal,.admin-dialog,.admin-quick-detail,.admin-order-detail) { background-color: var(--surface); color: var(--text); border-color: var(--line-strong); }
.vision-admin :is(th,td) { border-color: var(--line); }
.vision-admin th { color: var(--muted); font-weight: 500; }
.vision-admin .admin-footer { background: var(--bg-alt); border-color: var(--line); }
.vision-admin .admin-footer :is(a,button,span) { font-size: .65rem; font-weight: 400; text-transform: none; letter-spacing: .01em; }
.vision-admin .mobile-menu a { text-transform: none; font-weight: 500; }
.vision-admin .cookie-banner h2 { font-size: 1.8rem; }

.vision-workspace.bmd-lab-page {
    --lab-bg: var(--bg);
    --lab-panel: var(--surface);
    --lab-line: var(--line);
    --lab-accent: var(--accent);
    background: var(--bg); color: var(--text);
}
.vision-workspace .lab-nav { background: var(--surface); border-color: var(--line); }
.vision-workspace .lab-nav a { color: var(--muted); font-weight: 500; letter-spacing: -.01em; }
.vision-workspace .lab-nav a:first-child { font-weight: 700; color: var(--text-strong); letter-spacing: -.035em; }
.vision-workspace .lab-nav a[aria-current="page"] { color: var(--text-strong); background: var(--bg-alt); border-color: var(--line-strong); box-shadow: inset 0 -2px var(--accent); }
.vision-workspace .lab-nav a:hover { color: var(--text-strong); border-color: var(--line-strong); }
.vision-workspace :is(.lab-notice,.studio-prototype-note) { background: var(--bg-alt); color: var(--muted); border-color: var(--line); }
.vision-workspace :is(.studio-panel,.studio-toolbar,.studio-projectbar,.studio-transform,.builder-app-rail,.builder-inspector,.builder-toolbar,.builder-projectbar) { background-color: var(--surface); border-color: var(--line); color: var(--text); }
.vision-workspace .studio-viewport { background: var(--bg-alt); }
.vision-workspace :is(.studio-panel > header strong,.studio-loading strong,.studio-transform strong,.builder-inspector h2,.builder-inspector h3,.builder-app-rail > strong) { font-family: var(--font-sans); text-transform: none; font-weight: 500; letter-spacing: -.02em; }
.vision-workspace :is(.studio-projectbar button,.studio-camera-presets button,.studio-transform button,.builder-toolbar button,.builder-projectbar button,.lab-nav button) { font-weight: 500; letter-spacing: .01em; text-transform: none; }
.vision-workspace :is(.studio-panel,.studio-projectbar,.studio-transform,.builder-app-rail,.builder-inspector,.builder-projectbar) :is(input,select,textarea):not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { background-color: var(--bg-alt); color: var(--text); border-color: var(--line-strong); }
.vision-workspace :is(.studio-asset__copy b,.studio-model-card strong,.builder-app-rail button) { font-weight: 500; }
.vision-workspace :is(.studio-asset:hover,.studio-asset.is-armed) { background-color: var(--bg-alt); }
.vision-workspace .studio-asset.is-armed { box-shadow: inset 3px 0 var(--accent); }
.vision-workspace .builder-sheet-item.is-selected::after { border-color: var(--accent-ink); }
.vision-workspace .builder-sheet-item.is-selected::before { background-color: var(--accent); }
.vision-workspace :is(.builder-help-start,.builder-export button,.builder-library__modes button.is-active,.builder-livery-handoff__actions button:first-child,.builder-request-dialog__actions button:last-child,.builder-layers > summary b,.builder-livery-queue > summary b) { color: var(--accent-contrast); font-weight: 500; }
.vision-workspace .builder-help-start { font-size: .75rem; text-transform: none; letter-spacing: .01em; }
.vision-workspace .builder-toolbar .builder-help-trigger:hover { color: var(--accent-contrast); }
.vision-workspace :is(.studio-projectbar > div > span,.studio-panel > header span,.studio-prototype-note span,.builder-inspector legend,.builder-projectbar > span) { color: var(--accent-ink); }
/* Deliberately do not theme the printable sheet, swatches, textures or WebGL output. */
@media(max-width:640px) {
    .vision-admin { --header-height: 68px; }
    .vision-admin .admin-brand { gap: 8px; }
    .vision-admin .admin-brand__copy small { font-size: .4rem; }
    .vision-admin .admin-brand__copy strong { font-size: 1rem; }
    .vision-admin .admin-brand__mark { width: 28px; height: 28px; flex-basis: 28px; }
    .vision-admin .admin-header__actions { gap: 3px; }
    .vision-admin .admin-intro h1 { font-size: 2rem; }
}
@media(max-width:390px) {
    .vision-admin .admin-brand__copy { display: none; }
    .vision-admin .admin-header__profile { max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
}
