/* Accent inputs only. Appearance, sidebar and status colors are independent. */

:root[data-palette="plum"]:not([data-theme="dark"]) {  --palette-brand: #7a2e5c;
  --palette-brand-ink: #5e2146;
  --palette-brand-soft: #f7ebf2;
  --palette-rose: #c07a80;  --palette-on-brand: #ffffff;
}

:root[data-palette="plum"][data-theme="dark"] {  --palette-brand: #efa3ca;
  --palette-brand-ink: #ffd2e9;
  --palette-brand-soft: #462b3d;
  --palette-rose: #c07a80;  --palette-on-brand: #321124;
}

:root[data-palette="rose"]:not([data-theme="dark"]) {  --palette-brand: #9d3459;
  --palette-brand-ink: #7c2545;
  --palette-brand-soft: #f9e9ef;
  --palette-rose: #b45b78;  --palette-on-brand: #ffffff;
}

:root[data-palette="rose"][data-theme="dark"] {  --palette-brand: #f0a6bf;
  --palette-brand-ink: #ffd4e2;
  --palette-brand-soft: #4b2c39;
  --palette-rose: #e1a2b7;  --palette-on-brand: #33131f;
}

:root[data-palette="ocean"]:not([data-theme="dark"]) {  --palette-brand: #116b78;
  --palette-brand-ink: #0c525d;
  --palette-brand-soft: #e4f2f4;
  --palette-rose: #297e8c;  --palette-on-brand: #ffffff;
}

:root[data-palette="ocean"][data-theme="dark"] {  --palette-brand: #85d4df;
  --palette-brand-ink: #bdeef4;
  --palette-brand-soft: #21474f;
  --palette-rose: #81becb;  --palette-on-brand: #09282e;
}

:root[data-palette="forest"]:not([data-theme="dark"]) {  --palette-brand: #286442;
  --palette-brand-ink: #1e4e32;
  --palette-brand-soft: #e7f2ea;
  --palette-rose: #4f7a5a;  --palette-on-brand: #ffffff;
}

:root[data-palette="forest"][data-theme="dark"] {  --palette-brand: #9bd8ad;
  --palette-brand-ink: #c7efd2;
  --palette-brand-soft: #294936;
  --palette-rose: #9ec6a8;  --palette-on-brand: #132b1c;
}

:root[data-palette="lavender"]:not([data-theme="dark"]) {  --palette-brand: #6d4897;
  --palette-brand-ink: #533574;
  --palette-brand-soft: #efe9f7;
  --palette-rose: #8b67af;  --palette-on-brand: #ffffff;
}

:root[data-palette="lavender"][data-theme="dark"] {  --palette-brand: #c9b0f0;
  --palette-brand-ink: #e8d8ff;
  --palette-brand-soft: #44325b;
  --palette-rose: #baa1dc;  --palette-on-brand: #241137;
}


/* Shared semantic aliases adapt surfaces once, not page by page. */
:root[data-palette] {
  --surface:var(--panel); --surface-2:var(--line-2); --border:var(--control-border);
  --hover-surface:var(--sd-muted-background); --focus-ring:var(--brand);
  --focus-halo:color-mix(in srgb,var(--brand) 18%,transparent);
  --nav-active:var(--sd-sidebar-primary);
  --overlay:color-mix(in srgb,var(--side) 65%,transparent);
}
:root[data-palette]:not([data-theme="dark"]) { --control-border:color-mix(in srgb,var(--muted) 80%,var(--panel)); }
:root[data-palette][data-theme="dark"] { --control-border:color-mix(in srgb,var(--muted) 60%,var(--panel)); }
:root[data-palette] .nav .sec { color:var(--nav-muted); }
:root[data-palette] :where(.btn,.chip,input,select,textarea,.appointment-service,.dashboard-presets button) { border-color:var(--control-border); }
:root[data-palette] .btn.ghost { border-color:transparent; }
:root[data-palette] :is(.btn.primary,.chip.on) { border-color:var(--brand); }
:root[data-palette] .btn.danger { border-color:var(--bad); }
:root[data-palette] :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
:root[data-palette] :is(input,select,textarea):focus { border-color:var(--focus-ring); }
:root[data-palette] :is(input,select,textarea)[aria-invalid="true"],
:root[data-palette] input.branch-phone-invalid { border-color:var(--bad); }
:root[data-palette] :is(input,textarea)::placeholder { color:var(--muted); opacity:1; }
:root[data-palette] :is(button,.btn,.chip,.seg button,.tabs button,input,select,textarea):disabled {
  opacity:1; color:var(--muted); background:var(--surface-2); border-color:var(--control-border); border-style:dashed; cursor:not-allowed;
}
:root[data-palette] :is(input,textarea):disabled { -webkit-text-fill-color:var(--muted); }
:root[data-palette] .login-page {
  --login-bg:var(--bg); --login-card:var(--panel); --login-ink:var(--ink); --login-muted:var(--muted);
  --login-line:var(--control-border); --login-soft:var(--surface-2); --login-accent:var(--sd-primary-text); --login-accent-2:var(--brand-ink);
  background:var(--login-bg);
}
:root[data-palette] .login-logo { background:var(--brand); color:var(--on-brand); box-shadow:var(--shadow); }
:root[data-palette] .login-card { border-color:var(--line); box-shadow:var(--shadow); }
:root[data-palette] .login-submit { background:var(--brand); color:var(--on-brand); box-shadow:var(--interaction-shadow); }
:root[data-palette] .login-submit:hover { background:var(--brand-ink); filter:none; }
:root[data-palette] .login-botanical { background:var(--rose); mask:no-repeat center/contain url('./botanical-corner.svg'); filter:none; }
.appearance-settings { display:grid; gap:12px; }
.appearance-settings h3 { font-size:16px; }
.appearance-settings .account-appearance { border:0; padding:0; margin:0; min-width:0; }
.appearance-settings legend { font-size:13px; font-weight:500; padding:0; margin-bottom:7px; }
.appearance-settings .account-appearance .row { gap:18px; }
.appearance-settings .account-appearance label { display:flex; align-items:center; gap:7px; font-weight:400; cursor:pointer; }
.palette-options { display:flex; flex-wrap:wrap; gap:8px; }
.palette-option { border:1px solid var(--control-border); padding:8px 10px; border-radius:8px; min-height:40px; font-size:13px; }
.palette-option:has(:checked) { border-color:var(--brand); background:var(--brand-soft); }
.palette-option:has(:focus-visible) { outline:2px solid var(--focus-ring); outline-offset:2px; }
.palette-swatch { width:20px; height:20px; border-radius:50%; background:var(--swatch); flex:none; }
.appearance-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.appearance-footer p { margin:0; }
/* Canonical paper is isolated from every personal palette, including light. */
:root[data-palette] .invoice { color-scheme:light; --bg:#fff; --panel:#fff; --surface:#fff; --surface-2:#f1ecef; --ink:#111; --ink-2:#3d3642; --muted:#555; --line:#e8e1e5; --line-2:#f1ecef; --sd-primary-text:#5e2146; --brand:#7a2e5c; --brand-ink:#5e2146; --brand-soft:#f7ebf2; }
@media print {
  :root[data-palette][data-theme] { color-scheme:light; --bg:#fff; --panel:#fff; --surface:#fff; --surface-2:#f1ecef; --ink:#1f1a24; --ink-2:#3d3642; --muted:#71697a; --line:#e8e1e5; --line-2:#f1ecef; --sd-primary-text:#5e2146; --brand:#7a2e5c; --brand-ink:#5e2146; --brand-soft:#f7ebf2; }
}

/* Gold Elegance uses the same primitive-to-semantic pipeline as existing palettes. */
:root[data-palette="gold"]:not([data-theme="dark"]) {  --palette-brand: #B8862B;
  --palette-brand-ink: #966B20;
  --palette-brand-soft: #F5EAD5;  --palette-rose: #966B20;
  --palette-on-brand: #2B2118;
}
:root[data-palette="gold"][data-theme="dark"] {  --palette-brand: #D6B061;
  --palette-brand-ink: #E3C27B;
  --palette-brand-soft: #332719;  --palette-rose: #B8862B;
  --palette-on-brand: #18130E;
}
