/* Installed brand layer; legacy retains the original per-layout palette. */
.diagnostic-currency{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.45;color:var(--muted);margin:8px 0}.diagnostic-currency strong{font-weight:600}
@font-face {
    font-family: Mulish;
    src: url('/branding/senea/Mulish-variable.ttf') format('truetype');
    font-style: normal;
    font-weight: 200 1000;
    font-display: swap;
}
@font-face {
    font-family: Inter;
    src: url('/branding/bwa/inter-400.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: Inter;
    src: url('/branding/bwa/inter-500.woff2') format('woff2');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: Inter;
    src: url('/branding/bwa/inter-600.woff2') format('woff2');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: Inter;
    src: url('/branding/bwa/inter-700.woff2') format('woff2');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
:root[data-ui-font="inter"],
:root[data-ui-font="inter"] body,
:root[data-ui-font="inter"] :is(button, input, select, textarea) { font-family: Inter, system-ui, sans-serif; }
.ui-brand-logo { display: block; width: 200px; max-width: 100%; height: auto; aspect-ratio: 5 / 1; object-fit: contain; flex-shrink: 1; }
.rail .brand:has(.ui-brand-logo) { flex-wrap: wrap; gap: 12px; }
.rail .brand:has(.ui-brand-logo) .private { margin-left: 0; }
.app-header .brand:has(.ui-brand-logo) { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.app-header .brand .ui-brand-name { font: inherit; color: inherit; margin-left: 0; }
.ui-logo-preview { max-width: 240px; padding: 16px; background: #f0f1f5; border-radius: 6px; margin-bottom: 16px; }
.ui-settings-nav { display: flex; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid var(--line, #dce6e3); margin: 0 0 28px; }
.ui-settings-nav a { padding: 10px 0; text-decoration: none; border-bottom: 2px solid transparent; }
.ui-settings-nav [aria-current=page] { border-bottom-color: currentColor; font-weight: 650; }
input[type=file] { max-width: 100%; font: inherit; }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) {
    color: var(--ui-text); background: var(--ui-background);
    --ink: var(--ui-text); --accent: var(--ui-primary); --petrol: var(--ui-primary);
    --muted: var(--ui-muted); --line: var(--ui-line); --soft: var(--ui-soft);
    scrollbar-color: var(--ui-line) var(--ui-background);
}
:root[data-ui-font="mulish"] { font-family: Mulish, system-ui, sans-serif; }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) body { color: var(--ui-text); background: var(--ui-background); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) ::selection { background: var(--ui-primary); color: var(--ui-on-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :focus-visible { outline-color: var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) a { color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) a:hover { color: var(--ui-primary); text-decoration-color: var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.brand, .workspace, .matrix .topic-name, .insight h3 a) { color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .brand-mark { background: var(--ui-primary); color: var(--ui-on-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.rail, .sidebar) { background: var(--ui-background); border-color: var(--ui-line); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.rail nav a, .sidebar a) { color: var(--ui-text); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.rail nav a:hover, .rail-bottom > a:hover, .sidebar a:hover) { background: var(--ui-soft); color: var(--ui-primary); }
/* The source rail uses !important for its active state: these two declarations alone must match it. */
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .rail [aria-current=page] { background: var(--ui-soft) !important; color: var(--ui-primary) !important; box-shadow: none; }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .sidebar [aria-current=page] { background: var(--ui-soft); color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.rail-bottom, .secondary-navigation, .private) { border-color: var(--ui-line); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.rail-bottom > a, .text-button, .private, .workspace span, .automation-indicator, .topline, .slash, footer, .page-link, .task p, .check-explanation, .evidence blockquote, .empty-steps) { color: var(--ui-muted); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.topline, .portal-header, footer, .surface, .subject, .sources, .card, .skip, .skip-link) { background: var(--ui-surface); border-color: var(--ui-line); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .app-header { background: var(--ui-primary); color: var(--ui-on-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .app-header :is(a, .brand > span, .environment) { color: var(--ui-on-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]):not([data-ui-preset="bwa-official"]) .app-header .ui-brand-logo { background: #f0f1f5; }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(input, textarea, select) { color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-line); caret-color: var(--ui-primary); accent-color: var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(input, textarea)::placeholder { color: var(--ui-muted); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(label, .login h1) { color: var(--ui-text); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .login p:not(.errors) { color: var(--ui-muted); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.button, button.primary, .login button, .portal-header ~ main button, .search button) { background: var(--ui-primary); color: var(--ui-on-primary); border-color: var(--ui-primary); }
/* Root specificity also wins over body-loaded ergonomics rules without blanket important. */
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.button:hover, button.primary:hover, .login button:hover, .search button:hover) { background: var(--ui-primary); color: var(--ui-on-primary); border-color: var(--ui-accent); box-shadow: inset 0 -3px var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.button.secondary, button.secondary) { background: var(--ui-surface); color: var(--ui-primary); border-color: var(--ui-line); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.button.secondary:hover, button.secondary:hover) { background: var(--ui-soft); color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .logout { background: transparent; color: var(--ui-muted); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .logout:hover { background: transparent; color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.matrix th, .evidence, blockquote, .endpoint) { background: var(--ui-soft); color: var(--ui-text); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.matrix td, .task-report, .inline-editor) { border-color: var(--ui-line); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.matrix details > summary:hover, .sources summary:hover) { background: var(--ui-soft); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.sources summary, .subject summary, .insight summary, .task details > summary) { color: var(--ui-primary); }
/* Body-loaded topic ergonomics and the historical workspace have literal brand roles too. */
:root[data-ui-preset]:not([data-ui-preset="legacy"]) button:not(.secondary):not(.danger):not(.text-button):not(.logout) { background: var(--ui-primary); color: var(--ui-on-primary); border-color: var(--ui-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) button:not(.secondary):not(.danger):not(.text-button):not(.logout):hover { box-shadow: inset 0 -3px var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .ux-topics-add > summary { background: var(--ui-primary); color: var(--ui-on-primary); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .ux-topics-add > summary:hover { background: var(--ui-primary); box-shadow: inset 0 -3px var(--ui-accent); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.next-step, .selection-bar, pre, th) { background: var(--ui-soft); color: var(--ui-text); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) tbody tr:hover { background: var(--ui-soft); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) :is(.kpi-strip dt, .empty strong, .page-url.untitled) { color: var(--ui-text); }
:root[data-ui-preset]:not([data-ui-preset="legacy"]) .tabs [aria-current=page] { color: var(--ui-primary); border-bottom-color: var(--ui-accent); }
/* The official white BWA artwork needs a navy block, not recolouring or a 5:1 frame. */
:root[data-ui-preset="bwa-official"] .ui-brand-logo--bwa,
.ui-logo-preview .ui-brand-logo--bwa {
    box-sizing: content-box;
    width: 139px;
    max-width: calc(100% - 24px);
    height: auto;
    aspect-ratio: 139 / 69;
    padding: 12px;
    background: #061524;
}
/* Semantic verdicts, agent states, errors and success feedback intentionally keep their own colors. */
@media (max-width: 850px) {
    :root[data-ui-preset]:not([data-ui-preset="legacy"]) .rail nav { background: var(--ui-surface); }
    .rail .ui-brand-logo { width: 160px; }
}
@media (max-width: 650px) {
    .portal-header .identity { align-items: center; flex-wrap: wrap; gap: 10px 16px; }
    .portal-header .ui-brand-logo { width: 160px; }
}
