/* Personal palettes use stable semantic colours for errors, warnings and risk. */
html[data-theme] {
  --green-950:#062e22;--green-900:#0a3f2d;--green-800:#0d523a;--green-700:#146246;
  --gold-600:#705618;--gold-500:#dbc075;--gold-300:#eee1b9;
  --ink:#142b22;--muted:#4b6257;--paper:#f1f5f3;--panel:#fff;--panel2:#f7faf8;
  --line:#c2d0c7;--field-line:#718579;--focus:#845e00;--soft:#eaf1ec;--nav-active:#154a36;
  --danger:#972f2f;--warn:#785411;--ok:#216344;
  --appearance-border:#536b5d;--appearance-active:#eaf1ec;
  color-scheme:light;
}
html[data-theme="navy"] {
  --green-950:#112b48;--green-900:#173c60;--green-800:#214f7d;--green-700:#285b88;
  --gold-600:#6c521b;--gold-500:#dac28a;--gold-300:#efe2c5;
  --ink:#172a3c;--muted:#495f73;--paper:#f0f3f7;--panel2:#f7f9fc;--line:#c1ceda;
  --field-line:#6e8296;--focus:#1c5090;--soft:#e8eef5;--nav-active:#244b71;
  --appearance-border:#495f73;--appearance-active:#e8eef5;
}
html[data-theme="teal"] {
  --green-950:#06353c;--green-900:#06454c;--green-800:#075b62;--green-700:#09666d;
  --gold-600:#79431f;--gold-500:#e1b38c;--gold-300:#f5dfce;
  --ink:#163033;--muted:#456268;--paper:#eef5f5;--panel2:#f6fafb;--line:#bdcfd1;
  --field-line:#6b8286;--focus:#005d68;--soft:#e4f0f1;--nav-active:#13535b;
  --appearance-border:#456268;--appearance-active:#e4f0f1;
}
html[data-theme="plum"] {
  --green-950:#36233f;--green-900:#4b2c52;--green-800:#653763;--green-700:#74416e;
  --gold-600:#715023;--gold-500:#e1c293;--gold-300:#f1e1ca;
  --ink:#32283a;--muted:#65586d;--paper:#f5f1f6;--panel2:#faf7fb;--line:#d0c4d4;
  --field-line:#8d7796;--focus:#743f83;--soft:#f0e9f3;--nav-active:#563962;
  --appearance-border:#65586d;--appearance-active:#f0e9f3;
}
html[data-theme="graphite"] {
  --green-950:#202a35;--green-900:#2d3947;--green-800:#3b4b5e;--green-700:#465971;
  --gold-600:#4c5e73;--gold-500:#c6d2e0;--gold-300:#e1e9f2;
  --ink:#202b38;--muted:#526174;--paper:#f1f3f6;--panel2:#f7f9fc;--line:#c4cdd9;
  --field-line:#738194;--focus:#234f91;--soft:#e8edf3;--nav-active:#3c4c60;
  --appearance-border:#526174;--appearance-active:#e8edf3;
}
html[data-theme="olive"] {
  --green-950:#2c3521;--green-900:#3a472b;--green-800:#495b34;--green-700:#53673d;
  --gold-600:#6e5621;--gold-500:#ded0a6;--gold-300:#eee5cd;
  --ink:#293222;--muted:#5a6351;--paper:#f4f4ee;--panel2:#f9faf5;--line:#ccd1be;
  --field-line:#7b866c;--focus:#596729;--soft:#ecf0e3;--nav-active:#465638;
  --appearance-border:#5a6351;--appearance-active:#ecf0e3;
}
html[data-theme="cobalt"] {
  --green-950:#102b59;--green-900:#173d73;--green-800:#215297;--green-700:#2b60a8;
  --gold-600:#2d587a;--gold-500:#aed6ef;--gold-300:#d9eefa;
  --ink:#1e2f46;--muted:#516780;--paper:#f0f5fa;--panel2:#f7faff;--line:#c2d3e5;
  --field-line:#6c84a0;--focus:#254f91;--soft:#e7f0fb;--nav-active:#234a83;
  --appearance-border:#516780;--appearance-active:#e7f0fb;
}
html[data-theme="burgundy"] {
  --green-950:#422333;--green-900:#5a2d41;--green-800:#743c51;--green-700:#82485e;
  --gold-600:#795047;--gold-500:#e9bdaf;--gold-300:#f4dfd6;
  --ink:#3e2832;--muted:#705865;--paper:#f8f1f2;--panel2:#fff8f8;--line:#ddc8cf;
  --field-line:#967681;--focus:#843d60;--soft:#f4e8ed;--nav-active:#65374c;
  --appearance-border:#705865;--appearance-active:#f4e8ed;
}
html[data-theme="sandstone"] {
  --green-950:#393128;--green-900:#4d4134;--green-800:#63513f;--green-700:#715d48;
  --gold-600:#735332;--gold-500:#e0c59e;--gold-300:#f1e3cc;
  --ink:#322e28;--muted:#696052;--paper:#f7f3ed;--panel2:#fcfaf6;--line:#d8cdbf;
  --field-line:#8d7e6c;--focus:#805b2e;--soft:#f1e9dc;--nav-active:#554838;
  --appearance-border:#696052;--appearance-active:#f1e9dc;
}
html[data-theme="high-contrast"] {
  --green-950:#101010;--green-900:#151515;--green-800:#202020;--green-700:#303030;
  --gold-600:#5e4300;--gold-500:#f4d66b;--gold-300:#fff0b3;
  --ink:#111;--muted:#333;--paper:#fff;--panel2:#f3f3f3;--line:#555;
  --field-line:#222;--focus:#0045a0;--soft:#ededed;--nav-active:#363636;
  --appearance-border:#222;--appearance-active:#ededed;
}
html[data-text-size="100"] {font-size:100%}
html[data-text-size="112"] {font-size:112%}
html[data-text-size="125"] {font-size:125%}
html[data-theme] .auth-brand,
html[data-theme] .experience-client .sidebar {background:var(--green-950)}
html[data-theme] .nav button.active {background:var(--nav-active);color:#fff}
html[data-theme] .nav button,
html[data-theme] .identity span {color:#e7edf0}
html[data-theme] .nav button:hover {background:var(--nav-active);color:#fff}
html[data-theme] .nav .icon {color:var(--gold-300)}
html[data-theme] .btn-soft,
html[data-theme] .matter-nav button.active {background:var(--soft);color:var(--green-900)}
html[data-theme] .btn-gold {background:var(--gold-500);color:#17251e}
html[data-theme] .btn-ghost {background:var(--panel);color:var(--ink)}
html[data-theme] .sidebar .btn-ghost {background:transparent;color:#fff}
html[data-theme] .quick:hover,
html[data-theme] .data-table tr:hover td,
html[data-theme] .command-item:hover {background:var(--panel2)}
html[data-theme] .data-table th {background:var(--panel2);color:var(--muted)}
html[data-theme] .data-table td,
html[data-theme] .service-line,
html[data-theme] .admin-note,
html[data-theme] .admin-ticket-list>li,
html[data-theme] .admin-notice,
html[data-theme] .admin-inbox fieldset {border-color:var(--line)}
html[data-theme] .inset-card,
html[data-theme] .domain-edit,
html[data-theme] .history-row,
html[data-theme] .admin-message {background:var(--panel2);color:var(--ink)}
html[data-theme] .premium-prompt {background:var(--panel)}
html[data-theme] .reg-context-banner {background:var(--soft);border-color:var(--field-line);border-left-color:var(--green-700)}
html[data-theme] .field input,
html[data-theme] .field select,
html[data-theme] .field textarea,
html[data-theme] .audit-table input,
html[data-theme] .audit-table select,
html[data-theme] .audit-table textarea,
html[data-theme] .input {background:var(--panel);color:var(--ink);border-color:var(--field-line)}
html[data-theme] select option {background:var(--panel);color:var(--ink)}
html[data-theme] input::placeholder,
html[data-theme] textarea::placeholder {color:var(--muted);opacity:1}
html[data-theme] input:focus,
html[data-theme] select:focus,
html[data-theme] textarea:focus {outline:3px solid var(--focus);outline-offset:2px;box-shadow:none}
html[data-theme] button:focus-visible,
html[data-theme] a:focus-visible,
html[data-theme] [tabindex]:focus-visible,
html[data-theme] .switch-row input:focus-visible+i {outline:3px solid var(--focus);outline-offset:3px}
html[data-theme] .sidebar button:focus-visible,
html[data-theme] .sidebar a:focus-visible {outline-color:#fff0b3}
html[data-theme] input[type="checkbox"],html[data-theme] input[type="radio"] {accent-color:var(--green-800)}
/* Keep semantic status colours fixed, regardless of personal palette. */
html[data-theme] .badge.warn {background:#fbf0da;color:#785411}
html[data-theme] .badge.danger,html[data-theme] .btn-danger {background:#fae5e5;color:#972f2f}
html[data-theme] .badge.gold {background:#f4ecd5;color:#705618}
html[data-theme] .save-state {background:#e9f5ee;color:#216344}
html[data-theme] .notice.ok {background:#edf7f1;border-color:#216344;color:#173f2c}
html[data-theme] .notice.danger {background:#fbeeee;border-color:#972f2f;color:#75261c}
html[data-theme] .risk-low {background:#dcece3;color:#173f2c}
html[data-theme] .risk-medium {background:#f2e3b8;color:#5a4210}
html[data-theme] .risk-high {background:#f3d1cb;color:#75261c}
html[data-theme] .stage.done {background:#dbece2;color:#235f44}
html[data-contrast="strong"] {--line:var(--appearance-border);--field-line:var(--appearance-border)}
html[data-contrast="strong"] .card,
html[data-theme="high-contrast"] .card {box-shadow:none}
html[data-theme="high-contrast"] .data-table th,
html[data-theme="high-contrast"] .data-table td {border-bottom-width:2px}
/* Relative text units preserve both these choices and normal browser zoom. */
html[data-theme] .service-line span,
html[data-theme] .domain-edit span,
html[data-theme] .history-row span,
html[data-theme] .command-item span {font-size:.8125rem}
html[data-theme] .segmented button,
html[data-theme] .inline-check {font-size:.875rem}
html[data-theme] .quick span {font-size:.875rem}
html[data-theme] .brand-kicker {font-size:.75rem}
html[data-theme] .side-word {font-size:1.375rem}
html[data-theme] .boot-card h1 {font-size:3rem}
html[data-theme] .auth-card h2 {font-size:1.75rem}
html[data-theme] .auth-brand .lead {font-size:1.375rem}
html[data-theme] .nav button,
html[data-theme] .btn {white-space:normal}
html[data-theme] .topbar {min-height:var(--topbar)}
html[data-theme] .top-actions {flex-wrap:wrap;justify-content:flex-end}
html[data-text-size="112"] {--topbar:88px}
html[data-text-size="125"] {--topbar:96px}
/* The preview cards show the real shell proportions without fictitious figures. */
.appearance-dialog {width:min(1020px,100%)}
.appearance-intro {max-width:65ch;margin-top:0}
html[data-theme] .appearance-form fieldset {border:0;min-width:0;padding:0;margin:24px 0}
html[data-theme] .appearance-form legend {padding:0;margin-bottom:12px;font-size:1rem;font-weight:750;display:flex;align-items:center;gap:12px}
.appearance-count {font-weight:500;color:var(--muted);font-size:.8125rem}
.appearance-themes,.appearance-layouts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.appearance-option {display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--panel);padding:6px;transition:border-color .15s,box-shadow .15s}
.appearance-choice {display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;padding:10px 7px 9px}
.appearance-option input {width:18px;height:18px;margin:2px 0 0}
.appearance-option:has(input:checked) {border-color:var(--green-800);outline:2px solid var(--green-800);outline-offset:-2px;background:var(--appearance-active)}
.appearance-option:hover {border-color:var(--green-800);box-shadow:0 3px 12px #152e2010}
.appearance-option:focus-within {outline:3px solid var(--focus);outline-offset:3px}
.appearance-option b {display:block;font-size:.875rem;line-height:1.4}
.appearance-option small,.appearance-contrast small {display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:3px}
.appearance-preview {--preview-nav:#062e22;--preview-accent:#dbc075;--preview-paper:#f1f5f3;display:grid;grid-template-columns:22% 1fr;min-height:105px;border:1px solid #18211c18;border-radius:6px;overflow:hidden;background:var(--preview-paper);pointer-events:none}
.preview-nav {display:flex;flex-direction:column;gap:7px;background:var(--preview-nav);padding:11px 7px}
.preview-nav i {display:block;height:3px;width:80%;border-radius:2px;background:#ffffff66}
.preview-nav i:first-child {height:12px;width:100%;margin-bottom:5px;background:#fff;border-radius:3px}
.preview-nav i:nth-child(2) {width:100%;background:var(--preview-accent)}
.preview-page {padding:12px 10px;display:flex;flex-direction:column;gap:9px}
.preview-heading {display:block;width:56%;height:5px;background:var(--preview-nav);border-radius:2px}
.preview-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.preview-metrics i {height:22px;border-radius:4px;background:#fff;border:1px solid #18211c12;border-top:3px solid var(--preview-accent)}
.preview-content {display:flex;flex-direction:column;gap:5px;padding:7px;background:#fff;border:1px solid #18211c12;border-radius:4px}
.preview-content i {width:80%;height:3px;background:#cbd4d0;border-radius:2px}
.preview-content i:nth-child(2) {width:96%}.preview-content i:last-child {width:65%}
.appearance-preview-navy {--preview-nav:#112b48;--preview-accent:#dac28a;--preview-paper:#f0f3f7}
.appearance-preview-teal {--preview-nav:#06353c;--preview-accent:#e1b38c;--preview-paper:#eef5f5}
.appearance-preview-plum {--preview-nav:#36233f;--preview-accent:#e1c293;--preview-paper:#f5f1f6}
.appearance-preview-graphite {--preview-nav:#202a35;--preview-accent:#c6d2e0;--preview-paper:#f1f3f6}
.appearance-preview-olive {--preview-nav:#2c3521;--preview-accent:#ded0a6;--preview-paper:#f4f4ee}
.appearance-preview-cobalt {--preview-nav:#102b59;--preview-accent:#aed6ef;--preview-paper:#f0f5fa}
.appearance-preview-burgundy {--preview-nav:#422333;--preview-accent:#e9bdaf;--preview-paper:#f8f1f2}
.appearance-preview-sandstone {--preview-nav:#393128;--preview-accent:#e0c59e;--preview-paper:#f7f3ed}
.appearance-preview-high-contrast {--preview-nav:#101010;--preview-accent:#f4d66b;--preview-paper:#fff}
.appearance-preview-editorial .preview-heading {height:8px;width:70%;border-bottom:2px solid var(--preview-accent);border-radius:0}
.appearance-preview-editorial .preview-content,.appearance-preview-editorial .preview-metrics i {border-radius:2px}
.appearance-preview-precision .preview-content,.appearance-preview-precision .preview-metrics i {border-radius:0;border-color:#9ca9a2}
.appearance-preview-precision .preview-nav i {border-radius:0}
.appearance-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.appearance-contrast {display:flex;gap:12px;align-items:center;border:1px solid var(--field-line);padding:14px;border-radius:9px;cursor:pointer}
.appearance-contrast input {width:20px;height:20px;flex-shrink:0}
#appearance-feedback {min-height:1.5em;color:var(--muted)}
.appearance-footer {position:sticky;bottom:-28px;background:var(--panel);border-top:1px solid var(--line);margin:12px -2px -2px;padding:14px 0 2px;align-items:center;z-index:1}
.appearance-current {font-size:.8125rem;color:var(--muted);margin-right:auto;flex:1;min-width:120px}
/* Three visual styles share the same information, controls and navigation. */
html[data-layout="signature"] {--radius:12px}
html[data-layout="signature"] .kpi {border-top:3px solid var(--gold-500)}
html[data-layout="editorial"] {--radius:5px}
html[data-layout="editorial"] .page-head {padding-bottom:20px;border-bottom:1px solid var(--line)}
html[data-layout="editorial"] .page-head h1 {font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em;font-weight:500;font-size:clamp(1.7rem,2.6vw,2.4rem)}
html[data-layout="editorial"] .card h2 {font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:500}
html[data-layout="editorial"] .card {box-shadow:none;border-top:3px solid var(--gold-500)}
html[data-layout="editorial"] .nav button {border-radius:4px}
html[data-layout="precision"] {--radius:3px}
html[data-layout="precision"] .card {box-shadow:none;border-color:var(--field-line)}
html[data-layout="precision"] .page-head h1 {letter-spacing:-.025em}
html[data-layout="precision"] .nav button,html[data-layout="precision"] .btn,html[data-layout="precision"] .input,html[data-layout="precision"] .field input,html[data-layout="precision"] .field select,html[data-layout="precision"] .field textarea {border-radius:3px}
html[data-layout="precision"] .data-table th {border-bottom:2px solid var(--field-line);font-weight:750}
html[data-layout="precision"] .kpi .value {font-weight:650}
html[data-theme] .client-brand-name {color:var(--green-900)}
html[data-theme] .side-brand:has(.client-brand-name) {flex-direction:column;align-items:flex-start;padding:14px}
html[data-theme] .side-brand:has(.client-brand-name) .small {color:var(--muted)!important}
@media(prefers-reduced-motion:reduce) {.appearance-option {transition:none}}
html[data-density="compact"] .card {padding:16px}
html[data-density="compact"] .record-row {padding:10px 0}
html[data-density="compact"] .field {margin:10px 0}
html[data-density="compact"] .data-table td {padding:7px 9px}
html[data-density="compact"] .nav {gap:3px}
html[data-density="compact"] .nav button {padding-block:8px;min-height:44px}
@media(max-width:850px) {
  html[data-text-size="112"] {--topbar:104px}
  html[data-text-size="125"] {--topbar:112px}
  html[data-theme] .topbar .crumbs {max-width:30vw}
}
@media(max-width:620px) {
  .appearance-themes,.appearance-layouts {grid-template-columns:repeat(2,minmax(0,1fr))}
  .appearance-controls {grid-template-columns:1fr}
  .appearance-footer {bottom:-22px}
  html[data-text-size="112"] .grid-3,html[data-text-size="125"] .grid-3 {grid-template-columns:1fr}
  html[data-theme] .topbar .crumbs {max-width:22vw}
}
@media(max-width:420px) {
  .appearance-themes,.appearance-layouts {grid-template-columns:1fr}
  .appearance-option {display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center}
  .appearance-preview {min-height:86px}
  .preview-page {padding:9px 6px;gap:7px}
  .preview-metrics {gap:3px}.preview-metrics i {height:16px}
  .appearance-current {flex-basis:100%}
  .appearance-footer .btn {flex:1}
}
@media(forced-colors:active) {
  .appearance-option:has(input:checked) {outline:2px solid Highlight}
  .appearance-swatch {border:1px solid CanvasText}
}
@media print {
  html[data-theme] {--ink:#111;--muted:#333;--paper:#fff;--panel:#fff}
  .appearance-form {display:none!important}
}
