/* =========================================================
   Appearance layer (from ET) — loaded LAST (templates/base.html).

   <html data-scheme="teal|blue|orange|graphite|classic|emerald|indigo|crimson|plum|gold"   (admin, APPLICATION.UISCHEME)
         data-font="plex|source|poppins"                   (admin, APPLICATION.UI_FONT)
         data-density="compact|comfortable"                (per user, USERS.UIDENSITY)
         data-theme="light|dark">                          (per user, USERS.UITHEME)

   Schemes redefine the --o-* tokens (odoo.css) and --qc-* tokens
   (app-workbench-orange.css). "classic" defines nothing, so it keeps
   the original orange look exactly.
   Selector weight: html[data-scheme=x] beats :root, and
   html[data-scheme=x][data-theme="dark"] beats html[data-theme="dark"].
   ========================================================= */

/* ---------- Typeface ---------- */
html[data-font="plex"] { --o-font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; }
html[data-font="source"] { --o-font: "Source Sans 3", "Segoe UI", system-ui, sans-serif; }
html[data-font="poppins"] { --o-font: "Poppins", "Segoe UI", system-ui, sans-serif; }

/* Density: PTS keeps its own comfortable rules in ui-standard.css (no root font scaling here). */

/* ---------- Shared component hooks (all schemes except classic) ---------- */
html:not([data-scheme="classic"]) {
  --et-on-accent: #ffffff;
}
html:not([data-scheme="classic"]) .o_topbar {
  background: linear-gradient(90deg, var(--et-top) 0%, var(--et-top-2) 100%);
  color: var(--et-on-top);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), 0 2px 10px rgba(0, 0, 0, 0.10);
}
/* PTS (2026-10-29): light mode top bar in the scheme's deeper accent, like the Home greeting card
   (white text >= 5:1 on every --o-accent-dark). Dark mode keeps the dark bar above. */
html:not([data-scheme="classic"]):not([data-theme="dark"]) .o_topbar {
  background: linear-gradient(90deg, var(--o-accent-dark) 0%, color-mix(in srgb, var(--o-accent-dark) 70%, var(--et-top)) 100%);
}
html:not([data-scheme="classic"]) .btn-odoo-primary,
html:not([data-scheme="classic"]) .o_form_view .btn-odoo-primary,
html:not([data-scheme="classic"]) .o_action .btn-odoo-primary {
  background: var(--o-accent);
  border-color: var(--o-accent);
  color: var(--et-on-accent);
}
html:not([data-scheme="classic"]) .btn-odoo-primary:hover,
html:not([data-scheme="classic"]) .o_form_view .btn-odoo-primary:hover,
html:not([data-scheme="classic"]) .o_action .btn-odoo-primary:hover {
  background: var(--o-accent-dark);
  border-color: var(--o-accent-dark);
  color: var(--et-on-accent);
}

/* =========================================================
   Ledger Teal (default)
   ========================================================= */
html[data-scheme="teal"] {
  --o-tint-4: #f7faf9; --o-tint-5: #e6f1ef; --o-tint-6: #f7faf9; --o-th-text: #3f5f5a;
  --et-top: #0e3a38; --et-top-2: #0b302e; --et-on-top: #e6f2f0;
  --o-brand: #0e3a38; --o-brand-dark: #0a2e2c;
  --o-text: #14302d; --o-muted: #55706b;
  --o-accent: #0d7066; --o-accent-dark: #095a52; --o-accent-deep: #095a52; --o-accent-rgb: 13, 112, 102;
  --o-peach: #7fb3ac; --o-peach-rgb: 120, 160, 154;
  --o-beige: #e6f1ef; --o-beige-rgb: 225, 240, 237;
  --o-paper: #f7fbfa; --o-paper-rgb: 247, 251, 250;
  --o-tint: #eef5f3; --o-tint-2: #f3f7f6; --o-tint-3: #f2f5f4;
  --o-bg: #f2f5f4; --o-panel: #ffffff; --o-sidebar: #ffffff;
  --o-border: #d8e1df; --o-input-border: #c5d2cf; --o-hover: #eef5f3;
  --qc-accent: #0d7066; --qc-accent-dark: #095a52; --qc-accent-soft: rgba(13, 112, 102, 0.12);
  --qc-border: #d8e1df; --qc-border-strong: #c0cdca;
  --qc-page: #f2f5f4; --qc-toolbar: #fafcfb; --qc-panel: #ffffff;
  --qc-muted: #55706b; --qc-text: #14302d;
  --qc-head: #f0f5f4; --qc-zebra: #fafcfb; --qc-hover: #eef5f3;
  --qc-readonly-bg: #ecf1f0; --qc-readonly-text: #14302d;
}
html[data-scheme="teal"][data-theme="dark"] {
  --o-tint-4: #142523; --o-tint-5: #16302d; --o-tint-6: #142523; --o-th-text: #6fd3c7;
  --et-top: #082422; --et-top-2: #061c1a; --et-on-top: #d9ebe8; --et-on-accent: #03201c;
  --o-brand: #d9ebe8; --o-brand-dark: #a9c4bf;
  --o-text: #deedeb; --o-muted: #8ea9a5;
  --o-accent: #2fb5a7; --o-accent-dark: #4cc7ba; --o-accent-deep: #27998d; --o-accent-rgb: 47, 181, 167;
  --o-peach: #5fa59c; --o-peach-rgb: 70, 110, 105;
  --o-beige: #16302d; --o-beige-rgb: 22, 48, 45;
  --o-paper: #142523; --o-paper-rgb: 20, 37, 35;
  --o-tint: #172a28; --o-tint-2: #142523; --o-tint-3: #0f1c1b;
  --o-bg: #0b1615; --o-panel: #12201e; --o-sidebar: #0f1c1b;
  --o-border: #213432; --o-input-border: #304845; --o-hover: rgba(47, 181, 167, 0.10);
  --qc-accent: #2fb5a7; --qc-accent-dark: #4cc7ba; --qc-accent-soft: rgba(47, 181, 167, 0.16);
  --qc-border: #213432; --qc-border-strong: #304845;
  --qc-page: #0b1615; --qc-toolbar: #12201e; --qc-panel: #12201e;
  --qc-muted: #8ea9a5; --qc-text: #deedeb;
  --qc-head: #162624; --qc-zebra: #101d1c; --qc-hover: rgba(47, 181, 167, 0.10);
  --qc-input-bg: #0e1a19; --qc-surface-soft: #172725; --qc-line-soft: #213432; --qc-row-line: #1d2e2c;
  --qc-th-text: #6fd3c7; --qc-readonly-bg: #182927; --qc-readonly-text: #cfe2df;
  --qc-btn-secondary-bg: #12201e; --qc-btn-secondary-hover: #182927; --qc-btn-secondary-border: #304845;
  --qc-print-frame: #0b1615;
}

/* =========================================================
   Brand Blue (matches the XPL logo)
   ========================================================= */
html[data-scheme="blue"] {
  --o-tint-4: #f7f9fc; --o-tint-5: #e8f0fe; --o-tint-6: #f7f9fc; --o-th-text: #3d5274;
  --et-top: #0f1d3a; --et-top-2: #0c1830; --et-on-top: #e7edf8;
  --o-brand: #0f1d3a; --o-brand-dark: #0c1830;
  --o-text: #152039; --o-muted: #5a6781;
  --o-accent: #1f63d6; --o-accent-dark: #1851b3; --o-accent-deep: #1851b3; --o-accent-rgb: 31, 99, 214;
  --o-peach: #8fb0e8; --o-peach-rgb: 130, 150, 190;
  --o-beige: #e8f0fe; --o-beige-rgb: 232, 240, 254;
  --o-paper: #f7f9fd; --o-paper-rgb: 247, 249, 253;
  --o-tint: #f0f4fb; --o-tint-2: #f5f8fc; --o-tint-3: #f3f5f9;
  --o-bg: #f3f5f9; --o-panel: #ffffff; --o-sidebar: #ffffff;
  --o-border: #dde3ec; --o-input-border: #c9d2df; --o-hover: #f0f4fb;
  --qc-accent: #1f63d6; --qc-accent-dark: #1851b3; --qc-accent-soft: rgba(31, 99, 214, 0.12);
  --qc-border: #dde3ec; --qc-border-strong: #c5cedc;
  --qc-page: #f3f5f9; --qc-toolbar: #fafbfd; --qc-panel: #ffffff;
  --qc-muted: #5a6781; --qc-text: #152039;
  --qc-head: #f3f6fa; --qc-zebra: #fafbfd; --qc-hover: #f0f4fb;
  --qc-readonly-bg: #edf0f5; --qc-readonly-text: #152039;
}
html[data-scheme="blue"][data-theme="dark"] {
  --o-tint-4: #172236; --o-tint-5: #172a4d; --o-tint-6: #172236; --o-th-text: #8db4ff;
  --et-top: #0a1426; --et-top-2: #081020; --et-on-top: #dfe7f5; --et-on-accent: #071226;
  --o-brand: #dfe7f5; --o-brand-dark: #a9b8d3;
  --o-text: #e2e8f4; --o-muted: #94a1ba;
  --o-accent: #4d8dff; --o-accent-dark: #6ea2ff; --o-accent-deep: #3a78e8; --o-accent-rgb: 77, 141, 255;
  --o-peach: #6f93d6; --o-peach-rgb: 70, 90, 130;
  --o-beige: #172a4d; --o-beige-rgb: 23, 42, 77;
  --o-paper: #172236; --o-paper-rgb: 23, 34, 54;
  --o-tint: #1b2840; --o-tint-2: #172236; --o-tint-3: #0f1828;
  --o-bg: #0d1524; --o-panel: #141e31; --o-sidebar: #111a2b;
  --o-border: #233049; --o-input-border: #33415e; --o-hover: rgba(77, 141, 255, 0.10);
  --qc-accent: #4d8dff; --qc-accent-dark: #6ea2ff; --qc-accent-soft: rgba(77, 141, 255, 0.16);
  --qc-border: #233049; --qc-border-strong: #33415e;
  --qc-page: #0d1524; --qc-toolbar: #141e31; --qc-panel: #141e31;
  --qc-muted: #94a1ba; --qc-text: #e2e8f4;
  --qc-head: #172236; --qc-zebra: #111a2b; --qc-hover: rgba(77, 141, 255, 0.10);
  --qc-input-bg: #0f1828; --qc-surface-soft: #1a2539; --qc-line-soft: #233049; --qc-row-line: #1d2940;
  --qc-th-text: #8db4ff; --qc-readonly-bg: #1a2539; --qc-readonly-text: #d3dcec;
  --qc-btn-secondary-bg: #141e31; --qc-btn-secondary-hover: #1a2539; --qc-btn-secondary-border: #33415e;
  --qc-print-frame: #0d1524;
}

/* =========================================================
   Refined Orange (today's teal bar + orange, without beige)
   ========================================================= */
html[data-scheme="orange"] {
  --o-tint-4: #fafafa; --o-tint-5: #fff0e4; --o-tint-6: #fafafa; --o-th-text: #6b5446;
  --et-top: #25424c; --et-top-2: #1e353d; --et-on-top: #eef4f6;
  --o-brand: #25424c; --o-brand-dark: #1e353d;
  --o-text: #1f3239; --o-muted: #5a6c73;
  --o-accent: #c95a08; --o-accent-dark: #a94b06; --o-accent-deep: #a94b06; --o-accent-rgb: 201, 90, 8;
  --o-peach: #d9a27a; --o-peach-rgb: 160, 170, 175;
  --o-beige: #fff0e4; --o-beige-rgb: 246, 243, 239;
  --o-tint: #f6f3ef; --o-tint-2: #f8f7f5; --o-tint-3: #f4f5f6;
  --o-bg: #f4f5f6; --o-panel: #ffffff; --o-sidebar: #ffffff;
  --o-border: #dfe3e6; --o-input-border: #cbd2d6; --o-hover: #f6f3ef;
  --qc-accent: #c95a08; --qc-accent-dark: #a94b06; --qc-accent-soft: rgba(201, 90, 8, 0.12);
  --qc-border: #dfe3e6; --qc-border-strong: #c8cfd3;
  --qc-page: #f4f5f6; --qc-toolbar: #fafbfb; --qc-panel: #ffffff;
  --qc-muted: #5a6c73; --qc-text: #1f3239;
  --qc-head: #f4f6f7; --qc-zebra: #fafbfb; --qc-hover: #f6f3ef;
  --qc-readonly-bg: #eff1f2; --qc-readonly-text: #1f3239;
}
html[data-scheme="orange"][data-theme="dark"] {
  --o-tint-4: #1b262d; --o-tint-5: #3a2414; --o-tint-6: #1b262d; --o-th-text: #ffad73;
  --et-top: #15252b; --et-top-2: #101d22; --et-on-top: #e3edf0; --et-on-accent: #2a1203;
  --o-brand: #e3edf0; --o-brand-dark: #a8bcc3;
  --o-text: #e5edf0; --o-muted: #97a9b0;
  --o-accent: #ff8a3d; --o-accent-dark: #ffa060; --o-accent-deep: #e8772c; --o-accent-rgb: 255, 138, 61;
  --o-peach: #c98552; --o-peach-rgb: 80, 95, 105;
  --o-beige: #3a2414; --o-beige-rgb: 40, 50, 56;
  --o-paper: #1b262d; --o-paper-rgb: 27, 38, 45;
  --o-tint: #212d34; --o-tint-2: #1b262d; --o-tint-3: #121b21;
  --o-bg: #10171b; --o-panel: #18222a; --o-sidebar: #141d23;
  --o-border: #26343c; --o-input-border: #364650; --o-hover: rgba(255, 138, 61, 0.10);
  --qc-accent: #ff8a3d; --qc-accent-dark: #ffa060; --qc-accent-soft: rgba(255, 138, 61, 0.16);
  --qc-border: #26343c; --qc-border-strong: #364650;
  --qc-page: #10171b; --qc-toolbar: #18222a; --qc-panel: #18222a;
  --qc-muted: #97a9b0; --qc-text: #e5edf0;
  --qc-head: #1b262d; --qc-zebra: #141d23; --qc-hover: rgba(255, 138, 61, 0.10);
  --qc-input-bg: #121b21; --qc-surface-soft: #1e2a31; --qc-line-soft: #26343c; --qc-row-line: #212e35;
  --qc-th-text: #ffad73; --qc-readonly-bg: #1e2a31; --qc-readonly-text: #d5e1e5;
  --qc-btn-secondary-bg: #18222a; --qc-btn-secondary-hover: #1e2a31; --qc-btn-secondary-border: #364650;
  --qc-print-frame: #10171b;
}

/* =========================================================
   Graphite (almost no colour)
   ========================================================= */
html[data-scheme="graphite"] {
  --o-tint-4: #fafaf9; --o-tint-5: #f1f1ef; --o-tint-6: #fafaf9; --o-th-text: #55575c;
  --et-top: #1b1d21; --et-top-2: #141518; --et-on-top: #ececea;
  --o-brand: #1b1d21; --o-brand-dark: #000000;
  --o-text: #1b1d21; --o-muted: #686a70;
  --o-accent: #1b1d21; --o-accent-dark: #000000; --o-accent-deep: #000000; --o-accent-rgb: 27, 29, 33;
  --o-peach: #9a9ca1; --o-peach-rgb: 150, 150, 145;
  --o-beige: #f1f1ef; --o-beige-rgb: 241, 241, 239;
  --o-paper: #f9f9f8; --o-paper-rgb: 249, 249, 248;
  --o-tint: #f3f3f1; --o-tint-2: #f7f7f5; --o-tint-3: #f6f6f4;
  --o-bg: #f6f6f4; --o-panel: #ffffff; --o-sidebar: #ffffff;
  --o-border: #e3e3e0; --o-input-border: #d2d2ce; --o-hover: #f3f3f1;
  --qc-accent: #1b1d21; --qc-accent-dark: #000000; --qc-accent-soft: rgba(27, 29, 33, 0.08);
  --qc-border: #e3e3e0; --qc-border-strong: #cfcfcb;
  --qc-page: #f6f6f4; --qc-toolbar: #fafaf9; --qc-panel: #ffffff;
  --qc-muted: #686a70; --qc-text: #1b1d21;
  --qc-head: #f5f5f3; --qc-zebra: #fafaf9; --qc-hover: #f3f3f1;
  --qc-readonly-bg: #f1f1ef; --qc-readonly-text: #1b1d21;
}
html[data-scheme="graphite"][data-theme="dark"] {
  --o-tint-4: #1c1d20; --o-tint-5: #222327; --o-tint-6: #1c1d20; --o-th-text: #c9cbcf;
  --et-top: #141518; --et-top-2: #0f1012; --et-on-top: #ececea; --et-on-accent: #111214;
  --o-brand: #ececea; --o-brand-dark: #bdbfc3;
  --o-text: #ececea; --o-muted: #9b9da2;
  --o-accent: #f1f1ee; --o-accent-dark: #ffffff; --o-accent-deep: #d9d9d6; --o-accent-rgb: 241, 241, 238;
  --o-peach: #8a8c90; --o-peach-rgb: 90, 92, 96;
  --o-beige: #222327; --o-beige-rgb: 34, 35, 39;
  --o-paper: #1c1d20; --o-paper-rgb: 28, 29, 32;
  --o-tint: #222327; --o-tint-2: #1c1d20; --o-tint-3: #131416;
  --o-bg: #101113; --o-panel: #18191c; --o-sidebar: #141518;
  --o-border: #2a2c30; --o-input-border: #3a3c41; --o-hover: rgba(255, 255, 255, 0.06);
  --qc-accent: #f1f1ee; --qc-accent-dark: #ffffff; --qc-accent-soft: rgba(255, 255, 255, 0.10);
  --qc-border: #2a2c30; --qc-border-strong: #3a3c41;
  --qc-page: #101113; --qc-toolbar: #18191c; --qc-panel: #18191c;
  --qc-muted: #9b9da2; --qc-text: #ececea;
  --qc-head: #1c1d20; --qc-zebra: #141518; --qc-hover: rgba(255, 255, 255, 0.06);
  --qc-input-bg: #131416; --qc-surface-soft: #1f2023; --qc-line-soft: #2a2c30; --qc-row-line: #232427;
  --qc-th-text: #c9cbcf; --qc-readonly-bg: #1f2023; --qc-readonly-text: #d7d8db;
  --qc-btn-secondary-bg: #18191c; --qc-btn-secondary-hover: #1f2023; --qc-btn-secondary-border: #3a3c41;
  --qc-print-frame: #101113;
}

/* =========================================================
   Classic — intentionally empty: original odoo.css / workbench values.
   ========================================================= */

/* ---------- Config screen: Appearance section (admin only) ---------- */
.et-appear {
  margin: 1rem 0 0.5rem;
  padding: 1rem 1.1rem 0.9rem;
  border: 1px solid var(--qc-border, var(--o-border));
  border-radius: 10px;
  background: var(--qc-panel, var(--o-panel));
  display: grid;
  gap: 0.9rem;
}
.et-appear-head { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: flex-start; justify-content: space-between; }
.et-appear-head h2 { margin: 0; font-size: 1rem; font-weight: 600; color: var(--o-text); }
.et-appear-head p { margin: 0.2rem 0 0; font-size: 0.82rem; color: var(--o-muted); max-width: 62ch; }
.et-appear-group { border: 0; margin: 0; padding: 0; min-width: 0; }
.et-appear-group legend { padding: 0; margin-bottom: 0.45rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--o-muted); }
.et-appear-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: 0.6rem; }
.et-appear-card {
  position: relative; display: grid; gap: 0.45rem; padding: 0.6rem 0.7rem;
  border: 1px solid var(--qc-border, var(--o-border)); border-radius: 8px;
  background: var(--qc-panel, var(--o-panel)); cursor: pointer;
}
.et-appear-card:hover { border-color: var(--qc-border-strong, var(--o-input-border)); }
.et-appear-card input { position: absolute; opacity: 0; pointer-events: none; }
.et-appear-card:has(input:checked) { border-color: var(--o-accent); box-shadow: inset 0 0 0 1px var(--o-accent); }
.et-appear-card:has(input:focus-visible) { outline: 2px solid var(--o-accent); outline-offset: 2px; }
.et-appear-swatches { display: flex; height: 1.4rem; border-radius: 5px; overflow: hidden; border: 1px solid var(--qc-border, var(--o-border)); }
.et-appear-swatches i { flex: 1; }
.et-appear-swatches i:first-child { flex: 1.6; }
.et-appear-name { font-size: 0.84rem; font-weight: 600; color: var(--o-text); }
.et-appear-name em { font-style: normal; font-weight: 500; font-size: 0.7rem; color: var(--o-muted); margin-left: 0.25rem; }
.et-appear-sample { font-size: 0.95rem; color: var(--o-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.et-appear-status { margin: 0; min-height: 1.2em; font-size: 0.82rem; color: var(--o-muted); }
.et-appear-status.is-ok { color: #157347; }
.et-appear-status.is-error { color: #c42b2b; }
html[data-theme="dark"] .et-appear-status.is-ok { color: #4ccf8a; }
html[data-theme="dark"] .et-appear-status.is-error { color: #ff7b7b; }

/* ---------- User menu: admin colour scheme / typeface picker ---------- */
.et-menu-appear { display: grid; gap: 0.35rem; padding: 0.45rem 0.75rem 0.55rem; }
.et-menu-appear-label { font-size: 0.7rem; font-weight: 600; color: var(--o-muted); }
.et-menu-appear-label em { font-style: normal; font-weight: 500; opacity: 0.8; margin-left: 0.2rem; }
.et-menu-swatches { display: flex; gap: 0.4rem; flex-wrap: wrap; max-width: 13rem; margin-bottom: 0.2rem; }
.et-menu-swatch {
  flex: none; width: 1.4rem; height: 1.4rem; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: linear-gradient(135deg, var(--sw-top) 0 52%, var(--sw-accent) 52% 100%);
}
.et-menu-swatch:hover { transform: scale(1.08); }
.et-menu-swatch[aria-checked="true"] { outline: 2px solid var(--o-accent); outline-offset: 2px; }
.et-menu-swatch:focus-visible { outline: 2px solid var(--o-accent); outline-offset: 2px; }
.et-menu-fonts { display: flex; gap: 0.25rem; flex-wrap: nowrap; }
.et-menu-font {
  flex: none; padding: 0.15rem 0.4rem; border-radius: 6px; cursor: pointer; font-size: 0.74rem;
  border: 1px solid var(--o-border); background: transparent; color: var(--o-text);
}
.et-menu-font:hover { border-color: var(--o-accent); }
.et-menu-font[aria-checked="true"] { border-color: var(--o-accent); background: rgba(var(--o-accent-rgb), 0.1); font-weight: 600; }
.et-menu-appear-status { min-height: 1em; font-size: 0.7rem; color: var(--o-muted); }
.et-menu-appear-status.is-ok { color: #157347; }
.et-menu-appear-status.is-error { color: #c42b2b; }
html[data-theme="dark"] .et-menu-appear-status.is-ok { color: #4ccf8a; }
html[data-theme="dark"] .et-menu-appear-status.is-error { color: #ff7b7b; }
@media (prefers-reduced-motion: reduce) { .et-menu-swatch:hover { transform: none; } }

/* =========================================================
   Extra schemes (PTS, 2026-10-29): generated from Ledger Teal by
   swapping the hue and setting the accent (scratchpad gen_schemes.py).
   ========================================================= */
/* Emerald (light) */
html[data-scheme="emerald"] {
  --o-tint-4: #f7faf9;
  --o-tint-5: #e6f1ec;
  --o-tint-6: #f7faf9;
  --o-th-text: #3c6157;
  --et-top: #0e3a25;
  --et-top-2: #0b301f;
  --et-on-top: #e6f2ec;
  --o-brand: #0e3a25;
  --o-brand-dark: #0a2e1d;
  --o-text: #143023;
  --o-muted: #557063;
  --o-accent: #047857;
  --o-accent-dark: #026045;
  --o-accent-deep: #026045;
  --o-accent-rgb: 4, 120, 87;
  --o-peach: #7fb39b;
  --o-peach-rgb: 120, 160, 141;
  --o-beige: #e6f1ec;
  --o-beige-rgb: 225, 240, 233;
  --o-paper: #f7fbf9;
  --o-paper-rgb: 247, 251, 249;
  --o-tint: #eef5f2;
  --o-tint-2: #f3f7f5;
  --o-tint-3: #f2f5f4;
  --o-bg: #f2f5f4;
  --o-panel: #ffffff;
  --o-sidebar: #ffffff;
  --o-border: #d8e1dd;
  --o-input-border: #c5d2cc;
  --o-hover: #eef5f2;
  --qc-accent: #047857;
  --qc-accent-dark: #026045;
  --qc-accent-soft: rgba(4, 120, 87, 0.12);
  --qc-border: #d8e1dd;
  --qc-border-strong: #c0cdc7;
  --qc-page: #f2f5f4;
  --qc-toolbar: #fafcfb;
  --qc-panel: #ffffff;
  --qc-muted: #557063;
  --qc-text: #143023;
  --qc-head: #f0f5f3;
  --qc-zebra: #fafcfb;
  --qc-hover: #eef5f2;
  --qc-readonly-bg: #ecf1ef;
  --qc-readonly-text: #143023;
}
/* Emerald (dark) */
html[data-scheme="emerald"][data-theme="dark"] {
  --o-tint-4: #14251d;
  --o-tint-5: #163024;
  --o-tint-6: #14251d;
  --o-th-text: #86dfbf;
  --et-top: #082417;
  --et-top-2: #061c12;
  --et-on-top: #d9ebe3;
  --et-on-accent: #032012;
  --o-brand: #d9ebe3;
  --o-brand-dark: #a9c4b7;
  --o-text: #deede6;
  --o-muted: #8ea99c;
  --o-accent: #34d399;
  --o-accent-dark: #62d4ab;
  --o-accent-deep: #28bb85;
  --o-accent-rgb: 52, 211, 153;
  --o-peach: #5fa584;
  --o-peach-rgb: 70, 110, 91;
  --o-beige: #163024;
  --o-beige-rgb: 22, 48, 36;
  --o-paper: #14251d;
  --o-paper-rgb: 20, 37, 29;
  --o-tint: #172a21;
  --o-tint-2: #14251d;
  --o-tint-3: #0f1c16;
  --o-bg: #0b1611;
  --o-panel: #122019;
  --o-sidebar: #0f1c16;
  --o-border: #21342b;
  --o-input-border: #30483d;
  --o-hover: rgba(52, 211, 153, 0.10);
  --qc-accent: #34d399;
  --qc-accent-dark: #62d4ab;
  --qc-accent-soft: rgba(52, 211, 153, 0.16);
  --qc-border: #21342b;
  --qc-border-strong: #30483d;
  --qc-page: #0b1611;
  --qc-toolbar: #122019;
  --qc-panel: #122019;
  --qc-muted: #8ea99c;
  --qc-text: #deede6;
  --qc-head: #16261f;
  --qc-zebra: #101d17;
  --qc-hover: rgba(52, 211, 153, 0.10);
  --qc-input-bg: #0e1a14;
  --qc-surface-soft: #172720;
  --qc-line-soft: #21342b;
  --qc-row-line: #1d2e26;
  --qc-th-text: #86dfbf;
  --qc-readonly-bg: #182921;
  --qc-readonly-text: #cfe2d9;
  --qc-btn-secondary-bg: #122019;
  --qc-btn-secondary-hover: #182921;
  --qc-btn-secondary-border: #30483d;
  --qc-print-frame: #0b1611;
}
/* Indigo (light) */
html[data-scheme="indigo"] {
  --o-tint-4: #f7f8fa;
  --o-tint-5: #e7e8f0;
  --o-tint-6: #f7f8fa;
  --o-th-text: #9795b7;
  --et-top: #101538;
  --et-top-2: #0d112e;
  --et-on-top: #e7e8f1;
  --o-brand: #101538;
  --o-brand-dark: #0c102c;
  --o-text: #15192f;
  --o-muted: #565a6f;
  --o-accent: #4f46e5;
  --o-accent-dark: #372ce5;
  --o-accent-deep: #372ce5;
  --o-accent-rgb: 79, 70, 229;
  --o-peach: #8288b0;
  --o-peach-rgb: 122, 127, 158;
  --o-beige: #e7e8f0;
  --o-beige-rgb: 226, 228, 239;
  --o-paper: #f7f8fb;
  --o-paper-rgb: 247, 248, 251;
  --o-tint: #eeeff5;
  --o-tint-2: #f3f4f7;
  --o-tint-3: #f2f3f5;
  --o-bg: #f2f3f5;
  --o-panel: #ffffff;
  --o-sidebar: #ffffff;
  --o-border: #d8dae1;
  --o-input-border: #c6c7d1;
  --o-hover: #eeeff5;
  --qc-accent: #4f46e5;
  --qc-accent-dark: #372ce5;
  --qc-accent-soft: rgba(79, 70, 229, 0.12);
  --qc-border: #d8dae1;
  --qc-border-strong: #c1c2cc;
  --qc-page: #f2f3f5;
  --qc-toolbar: #fafafc;
  --qc-panel: #ffffff;
  --qc-muted: #565a6f;
  --qc-text: #15192f;
  --qc-head: #f0f1f5;
  --qc-zebra: #fafafc;
  --qc-hover: #eeeff5;
  --qc-readonly-bg: #ecedf1;
  --qc-readonly-text: #15192f;
}
/* Indigo (dark) */
html[data-scheme="indigo"][data-theme="dark"] {
  --o-tint-4: #151724;
  --o-tint-5: #171a2f;
  --o-tint-6: #151724;
  --o-th-text: #daddfb;
  --et-top: #090d23;
  --et-top-2: #070a1b;
  --et-on-top: #dadcea;
  --et-on-accent: #04081f;
  --o-brand: #dadcea;
  --o-brand-dark: #aaaec3;
  --o-text: #dfe1ec;
  --o-muted: #8f93a8;
  --o-accent: #818cf8;
  --o-accent-dark: #b2b8f6;
  --o-accent-deep: #5e6cf7;
  --o-accent-rgb: 129, 140, 248;
  --o-peach: #626ba2;
  --o-peach-rgb: 72, 77, 108;
  --o-beige: #171a2f;
  --o-beige-rgb: 23, 26, 47;
  --o-paper: #151724;
  --o-paper-rgb: 21, 23, 36;
  --o-tint: #181a29;
  --o-tint-2: #151724;
  --o-tint-3: #10111b;
  --o-bg: #0c0d15;
  --o-panel: #13141f;
  --o-sidebar: #10111b;
  --o-border: #222433;
  --o-input-border: #313447;
  --o-hover: rgba(129, 140, 248, 0.10);
  --qc-accent: #818cf8;
  --qc-accent-dark: #b2b8f6;
  --qc-accent-soft: rgba(129, 140, 248, 0.16);
  --qc-border: #222433;
  --qc-border-strong: #313447;
  --qc-page: #0c0d15;
  --qc-toolbar: #13141f;
  --qc-panel: #13141f;
  --qc-muted: #8f93a8;
  --qc-text: #dfe1ec;
  --qc-head: #171925;
  --qc-zebra: #11121c;
  --qc-hover: rgba(129, 140, 248, 0.10);
  --qc-input-bg: #0f1019;
  --qc-surface-soft: #181a26;
  --qc-line-soft: #222433;
  --qc-row-line: #1e202d;
  --qc-th-text: #daddfb;
  --qc-readonly-bg: #191b28;
  --qc-readonly-text: #d0d2e1;
  --qc-btn-secondary-bg: #13141f;
  --qc-btn-secondary-hover: #191b28;
  --qc-btn-secondary-border: #313447;
  --qc-print-frame: #0c0d15;
}
/* Crimson (light) */
html[data-scheme="crimson"] {
  --o-tint-4: #faf7f8;
  --o-tint-5: #f0e7e9;
  --o-tint-6: #faf7f8;
  --o-th-text: #925f6b;
  --et-top: #36121b;
  --et-top-2: #2c0f16;
  --et-on-top: #f1e7ea;
  --o-brand: #36121b;
  --o-brand-dark: #2a0e15;
  --o-text: #2d171c;
  --o-muted: #6d585d;
  --o-accent: #be123c;
  --o-accent-dark: #a90d33;
  --o-accent-deep: #a90d33;
  --o-accent-rgb: 190, 18, 60;
  --o-peach: #ae848f;
  --o-peach-rgb: 156, 124, 132;
  --o-beige: #f0e7e9;
  --o-beige-rgb: 238, 226, 229;
  --o-paper: #fbf7f8;
  --o-paper-rgb: 251, 247, 248;
  --o-tint: #f4eff0;
  --o-tint-2: #f7f3f4;
  --o-tint-3: #f5f2f3;
  --o-bg: #f5f2f3;
  --o-panel: #ffffff;
  --o-sidebar: #ffffff;
  --o-border: #e0d9db;
  --o-input-border: #d1c6c9;
  --o-hover: #f4eff0;
  --qc-accent: #be123c;
  --qc-accent-dark: #a90d33;
  --qc-accent-soft: rgba(190, 18, 60, 0.12);
  --qc-border: #e0d9db;
  --qc-border-strong: #ccc1c4;
  --qc-page: #f5f2f3;
  --qc-toolbar: #fcfafb;
  --qc-panel: #ffffff;
  --qc-muted: #6d585d;
  --qc-text: #2d171c;
  --qc-head: #f4f0f1;
  --qc-zebra: #fcfafb;
  --qc-hover: #f4eff0;
  --qc-readonly-bg: #f1eced;
  --qc-readonly-text: #2d171c;
}
/* Crimson (dark) */
html[data-scheme="crimson"][data-theme="dark"] {
  --o-tint-4: #231619;
  --o-tint-5: #2d191e;
  --o-tint-6: #231619;
  --o-th-text: #fbcfd5;
  --et-top: #210b10;
  --et-top-2: #1a080d;
  --et-on-top: #e9dbde;
  --et-on-accent: #1d060c;
  --o-brand: #e9dbde;
  --o-brand-dark: #c1acb1;
  --o-text: #ece0e2;
  --o-muted: #a69196;
  --o-accent: #fb7185;
  --o-accent-dark: #f7a4b0;
  --o-accent-deep: #fb4d66;
  --o-accent-rgb: 251, 113, 133;
  --o-peach: #9e6674;
  --o-peach-rgb: 106, 74, 82;
  --o-beige: #2d191e;
  --o-beige-rgb: 45, 25, 30;
  --o-paper: #231619;
  --o-paper-rgb: 35, 22, 25;
  --o-tint: #28191d;
  --o-tint-2: #231619;
  --o-tint-3: #1b1013;
  --o-bg: #150c0e;
  --o-panel: #1f1316;
  --o-sidebar: #1b1013;
  --o-border: #322327;
  --o-input-border: #463237;
  --o-hover: rgba(251, 113, 133, 0.10);
  --qc-accent: #fb7185;
  --qc-accent-dark: #f7a4b0;
  --qc-accent-soft: rgba(251, 113, 133, 0.16);
  --qc-border: #322327;
  --qc-border-strong: #463237;
  --qc-page: #150c0e;
  --qc-toolbar: #1f1316;
  --qc-panel: #1f1316;
  --qc-muted: #a69196;
  --qc-text: #ece0e2;
  --qc-head: #24181b;
  --qc-zebra: #1c1114;
  --qc-hover: rgba(251, 113, 133, 0.10);
  --qc-input-bg: #190f12;
  --qc-surface-soft: #25191c;
  --qc-line-soft: #322327;
  --qc-row-line: #2c1f22;
  --qc-th-text: #fbcfd5;
  --qc-readonly-bg: #271a1d;
  --qc-readonly-text: #e0d1d5;
  --qc-btn-secondary-bg: #1f1316;
  --qc-btn-secondary-hover: #271a1d;
  --qc-btn-secondary-border: #463237;
  --qc-print-frame: #150c0e;
}
/* Plum (light) */
html[data-scheme="plum"] {
  --o-tint-4: #f9f7fa;
  --o-tint-5: #ede7f0;
  --o-tint-6: #f9f7fa;
  --o-th-text: #8a739e;
  --et-top: #2a1236;
  --et-top-2: #220f2c;
  --et-on-top: #eee7f1;
  --o-brand: #2a1236;
  --o-brand-dark: #210e2a;
  --o-text: #26172d;
  --o-muted: #66586d;
  --o-accent: #7e22ce;
  --o-accent-dark: #711cba;
  --o-accent-deep: #711cba;
  --o-accent-rgb: 126, 34, 206;
  --o-peach: #a084ae;
  --o-peach-rgb: 145, 124, 156;
  --o-beige: #ede7f0;
  --o-beige-rgb: 234, 226, 238;
  --o-paper: #faf7fb;
  --o-paper-rgb: 250, 247, 251;
  --o-tint: #f2eff4;
  --o-tint-2: #f6f3f7;
  --o-tint-3: #f4f2f5;
  --o-bg: #f4f2f5;
  --o-panel: #ffffff;
  --o-sidebar: #ffffff;
  --o-border: #ded9e0;
  --o-input-border: #cdc6d1;
  --o-hover: #f2eff4;
  --qc-accent: #7e22ce;
  --qc-accent-dark: #711cba;
  --qc-accent-soft: rgba(126, 34, 206, 0.12);
  --qc-border: #ded9e0;
  --qc-border-strong: #c8c1cc;
  --qc-page: #f4f2f5;
  --qc-toolbar: #fbfafc;
  --qc-panel: #ffffff;
  --qc-muted: #66586d;
  --qc-text: #26172d;
  --qc-head: #f3f0f4;
  --qc-zebra: #fbfafc;
  --qc-hover: #f2eff4;
  --qc-readonly-bg: #efecf1;
  --qc-readonly-text: #26172d;
}
/* Plum (dark) */
html[data-scheme="plum"][data-theme="dark"] {
  --o-tint-4: #1f1623;
  --o-tint-5: #26192d;
  --o-tint-6: #1f1623;
  --o-th-text: #ebd9fc;
  --et-top: #1a0b21;
  --et-top-2: #14081a;
  --et-on-top: #e4dbe9;
  --et-on-accent: #15061d;
  --o-brand: #e4dbe9;
  --o-brand-dark: #baacc1;
  --o-text: #e8e0ec;
  --o-muted: #9f91a6;
  --o-accent: #c084fc;
  --o-accent-dark: #d7b6f9;
  --o-accent-deep: #ae60fc;
  --o-accent-rgb: 192, 132, 252;
  --o-peach: #8b669e;
  --o-peach-rgb: 95, 74, 106;
  --o-beige: #26192d;
  --o-beige-rgb: 38, 25, 45;
  --o-paper: #1f1623;
  --o-paper-rgb: 31, 22, 35;
  --o-tint: #231928;
  --o-tint-2: #1f1623;
  --o-tint-3: #17101b;
  --o-bg: #120c15;
  --o-panel: #1b131f;
  --o-sidebar: #17101b;
  --o-border: #2d2332;
  --o-input-border: #3f3246;
  --o-hover: rgba(192, 132, 252, 0.10);
  --qc-accent: #c084fc;
  --qc-accent-dark: #d7b6f9;
  --qc-accent-soft: rgba(192, 132, 252, 0.16);
  --qc-border: #2d2332;
  --qc-border-strong: #3f3246;
  --qc-page: #120c15;
  --qc-toolbar: #1b131f;
  --qc-panel: #1b131f;
  --qc-muted: #9f91a6;
  --qc-text: #e8e0ec;
  --qc-head: #201824;
  --qc-zebra: #18111c;
  --qc-hover: rgba(192, 132, 252, 0.10);
  --qc-input-bg: #160f19;
  --qc-surface-soft: #211925;
  --qc-line-soft: #2d2332;
  --qc-row-line: #281f2c;
  --qc-th-text: #ebd9fc;
  --qc-readonly-bg: #231a27;
  --qc-readonly-text: #dbd1e0;
  --qc-btn-secondary-bg: #1b131f;
  --qc-btn-secondary-hover: #231a27;
  --qc-btn-secondary-border: #3f3246;
  --qc-print-frame: #120c15;
}
/* Graphite & Gold (light) */
html[data-scheme="gold"] {
  --o-tint-4: #f9f9f8;
  --o-tint-5: #edecea;
  --o-tint-6: #f9f9f8;
  --o-th-text: #7b6853;
  --et-top: #29251f;
  --et-top-2: #221f19;
  --et-on-top: #edeceb;
  --o-brand: #29251f;
  --o-brand-dark: #211d17;
  --o-text: #26231e;
  --o-muted: #66635f;
  --o-accent: #975a16;
  --o-accent-dark: #824d11;
  --o-accent-deep: #824d11;
  --o-accent-rgb: 151, 90, 22;
  --o-peach: #a09b92;
  --o-peach-rgb: 145, 141, 135;
  --o-beige: #edecea;
  --o-beige-rgb: 234, 233, 231;
  --o-paper: #faf9f8;
  --o-paper-rgb: 250, 249, 248;
  --o-tint: #f2f2f1;
  --o-tint-2: #f6f5f4;
  --o-tint-3: #f4f4f3;
  --o-bg: #f4f4f3;
  --o-panel: #ffffff;
  --o-sidebar: #ffffff;
  --o-border: #dedddb;
  --o-input-border: #cdccca;
  --o-hover: #f2f2f1;
  --qc-accent: #975a16;
  --qc-accent-dark: #824d11;
  --qc-accent-soft: rgba(151, 90, 22, 0.12);
  --qc-border: #dedddb;
  --qc-border-strong: #c8c7c5;
  --qc-page: #f4f4f3;
  --qc-toolbar: #fbfbfb;
  --qc-panel: #ffffff;
  --qc-muted: #66635f;
  --qc-text: #26231e;
  --qc-head: #f3f3f2;
  --qc-zebra: #fbfbfb;
  --qc-hover: #f2f2f1;
  --qc-readonly-bg: #efefee;
  --qc-readonly-text: #26231e;
}
/* Graphite & Gold (dark) */
html[data-scheme="gold"][data-theme="dark"] {
  --o-tint-4: #1f1d1a;
  --o-tint-5: #262420;
  --o-tint-6: #1f1d1a;
  --o-th-text: #f7e1b0;
  --et-top: #1a1712;
  --et-top-2: #14120e;
  --et-on-top: #e4e3e0;
  --et-on-accent: #15120e;
  --o-brand: #e4e3e0;
  --o-brand-dark: #bab7b3;
  --o-text: #e7e6e4;
  --o-muted: #9f9c98;
  --o-accent: #f6c453;
  --o-accent-dark: #f2d186;
  --o-accent-deep: #f5b930;
  --o-accent-rgb: 246, 196, 83;
  --o-peach: #8b8479;
  --o-peach-rgb: 95, 91, 85;
  --o-beige: #262420;
  --o-beige-rgb: 38, 36, 32;
  --o-paper: #1f1d1a;
  --o-paper-rgb: 31, 29, 26;
  --o-tint: #23211e;
  --o-tint-2: #1f1d1a;
  --o-tint-3: #171614;
  --o-bg: #12110f;
  --o-panel: #1b1917;
  --o-sidebar: #171614;
  --o-border: #2d2b28;
  --o-input-border: #3f3d39;
  --o-hover: rgba(246, 196, 83, 0.10);
  --qc-accent: #f6c453;
  --qc-accent-dark: #f2d186;
  --qc-accent-soft: rgba(246, 196, 83, 0.16);
  --qc-border: #2d2b28;
  --qc-border-strong: #3f3d39;
  --qc-page: #12110f;
  --qc-toolbar: #1b1917;
  --qc-panel: #1b1917;
  --qc-muted: #9f9c98;
  --qc-text: #e7e6e4;
  --qc-head: #201f1c;
  --qc-zebra: #181715;
  --qc-hover: rgba(246, 196, 83, 0.10);
  --qc-input-bg: #151412;
  --qc-surface-soft: #21201d;
  --qc-line-soft: #2d2b28;
  --qc-row-line: #282623;
  --qc-th-text: #f7e1b0;
  --qc-readonly-bg: #23211e;
  --qc-readonly-text: #dbd9d6;
  --qc-btn-secondary-bg: #1b1917;
  --qc-btn-secondary-hover: #23211e;
  --qc-btn-secondary-border: #3f3d39;
  --qc-print-frame: #12110f;
}
