/* themes.css — ne-baseline motivy (token override na body.theme-X). Baseline (Klasický) = :root v main.css. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

/* ─────────────────────────────────────────────────────────────────────────
   TOKEN BLOKY (každý motiv přepíše jen kotevní tokeny; zbytek dědí Klasický)
   ───────────────────────────────────────────────────────────────────────── */

/* C — „Moderní / Klinická čistota": jemně teplé plátno, teal akcent zachován */
body.theme-c{
  --color-bg:#f4f4f1; --color-surface:#ffffff; --color-surface-alt:#f9f9f7;
  --color-border:#e7e4db;
  --color-text:#1c1f24; --color-text-secondary:#43464d; --color-text-muted:#7d7f86; --color-heading:#1c1f24;
}

/* A — „Klid a řád": chladné neutrální plátno, navy + teal (jako Klasický, ale ploché + IBM Plex) */
body.theme-a{
  --color-bg:#eef0f3; --color-surface:#ffffff; --color-surface-alt:#f4f6f8;
  --color-border:#e2e6ec;
  --color-text:#1a1d2b; --color-text-secondary:#3d4255; --color-text-muted:#6b7180; --color-heading:#2d3346;
}

/* B — „Teplý papír": krémové plátno, olivový text, teplý amber akcent (místo teal) */
body.theme-b{
  --color-bg:#f1eee6; --color-surface:#ffffff; --color-surface-alt:#f8f5ee;
  --color-border:#ddd8c9;
  --color-text:#23251d; --color-text-secondary:#4d4f46; --color-text-muted:#6c6e63; --color-heading:#23251d;
  /* amber akcent (přebíjí teal) */
  --color-accent:#b06a05; --color-accent-hover:#8a5304; --color-accent-brand:#d98a04; --color-accent-light:#fbf3e3;
}

/* ─────────────────────────────────────────────────────────────────────────
   DARK — „Tmavý" (body.theme-dark): nízká jasová zátěž, teal akcent zesílen.
   Plný override všech barevných tokenů (dark nedědí světlý :root baseline).
   Klinické stavy v zubních křížích jsou HARDCODED (mimo tokeny) → nemění se.
   Hodnoty laděny na WCAG AA: scripts/theme/verify-contrast.php.
   ───────────────────────────────────────────────────────────────────────── */
body.theme-dark{
  color-scheme:dark;

  /* ── Plochy / elevace (surface > bg = oddělení karet) ── */
  --color-bg:#14161b; --color-surface:#1c1f26; --color-surface-alt:#23262e;
  --color-surface-cool:#1a1d24; --color-surface-tint:#1c1f26;
  --color-surface-near-white:#1e2129; --color-surface-alt2:#23262e;
  --color-surface-cool2:#1e212a; --color-surface-cool3:#1a1d24; --color-surface-tint2:#1c1f26;
  --color-bg-cool:#17191f; --color-bg-cool2:#181b22; --color-bg-cool3:#17191f; --color-bg-cool4:#1a1d24;
  --color-bg-light:#16181e;
  --color-gray-50:#1a1d24; --color-slate-100:#23262e;
  --color-teal-tint-50:#0e2723; --color-teal-tint-100:#103a35;

  /* ── Okraje ── */
  --color-border:#2d323c; --color-border-cool:#343a45; --color-border-cool2:#2d323c;
  --color-slate-200:#2d323c; --color-slate-300:#3a4049; --color-slate-300b:#3a4049;
  --color-grey-ccc:#3a4049;

  /* ── Text ── */
  --color-text:#e7e9ef; --color-text-secondary:#b7bcc9; --color-text-muted:#8b90a0;
  --color-heading:#f1f2f7; --color-text-inverse:#ffffff;
  --color-text-secondary-alt:#b7bcc9; --color-text-deep:#e7e9ef;
  --color-slate-500:#9aa0b0; --color-slate-600:#b4b9c6; --color-slate-700:#c8ccd6;
  --color-slate-400:#8b90a0; --color-slate-350:#8b90a0; --color-slate-muted-400:#8b90a0;
  --color-grey-666:#9aa0b0; --color-gray-500:#9aa0b0;

  /* ── Tmavé PANELY (zůstávají tmavé — navy/slate hloubka) ── */
  --color-primary-navy:#141820; --color-slate-800:#1a1f29; --color-slate-850:#1c2230;
  --color-slate-900:#141820; --color-primary-deep:#1b2230; --color-slate-blue-700:#1f2733;
  --color-ink:#141820; --color-black:#0c0e12;

  /* ── Primary navy → světlé (texty/heading na tmavém) ── */
  --color-primary:#c8cdda; --color-primary-light:#d4d8e3; --color-primary-dark:#b4bac8;
  --color-primary-light-alt:#d4d8e3;

  /* ── Accent teal (zesílen pro AA na tmavém) ── */
  --color-accent:#2dd4bf; --color-accent-hover:#5eead4; --color-accent-brand:#2dd4bf;
  --color-accent-deep:#14b8a6; --color-accent-light:#0c2a27; --color-accent-lighter:#5eead4;
  --color-teal-500:#2dd4bf; --color-teal-100:#103a35; --color-teal-200:#155e54;
  --color-teal-grey-200:#155e54;

  /* ── Status BASE (rozjasněno) ── */
  --color-success:#34d399; --color-danger:#f87171; --color-warning:#fbbf24; --color-info:#38bdf8;

  /* ── Status / barevné LIGHT TINTY → tmavý tint rodiny (zachová odstín) ── */
  --color-success-light:#13271c; --color-success-100:#13271c; --color-success-200:#1c3a29;
  --color-success-emer200:#1c3a29; --color-emerald-100:#13271c; --color-green-50:#11241a;
  --color-danger-light:#2a1717; --color-danger-100:#2a1717; --color-danger-200:#3a2020;
  --color-red-tint-50:#241616; --color-red-tint-25:#1f1515;
  --color-warning-light:#221e10; --color-warning-bg:#2c2611; --color-warning-200:#3a3217;
  --color-yellow-100:#2c2a11; --color-orange-100:#2c2011; --color-orange-50:#241a10;
  --color-orange-200:#3a2c17;
  --color-info-light:#0e2733; --color-blue-100:#0e2733; --color-blue-200:#173a4a;
  --color-blue-50:#0e2733; --color-sky-100:#0e2733; --color-sky-200:#173a4a;
  --color-sky-200b:#173a4a; --color-sky-50:#0e2733; --color-cyan-100:#0e2733;
  --color-indigo-100:#1a1d3a; --color-indigo-50:#161830; --color-indigo-200:#2a2f5a;
  --color-violet-100:#1f1a33; --color-violet-50:#1a162c; --color-violet-200:#2e2a5a;
  --color-pink-100:#2c1622; --color-pink-50:#241420; --color-purple-50:#1e1730;

  /* ── Status DARK TEXTY → světlá varianta rodiny ── */
  --color-success-700:#6ee7b7; --color-success-800:#6ee7b7; --color-success-600:#6ee7b7;
  --color-emerald-700:#6ee7b7; --color-emerald-800:#6ee7b7; --color-emerald-300:#6ee7b7;
  --color-danger-700:#fca5a5; --color-danger-800:#fca5a5; --color-danger-900:#fca5a5;
  --color-warning-text:#fcd34d; --color-warning-700:#fcd34d; --color-warning-800:#fcd34d;
  --color-amber-text-850:#fcd34d;
  --color-orange-700:#fdba74; --color-orange-text-800:#fdba74; --color-orange-900:#fdba74;
  --color-orange-600:#fdba74;
  --color-info-strong:#93c5fd; --color-blue-700:#93c5fd; --color-blue-900:#93c5fd;
  --color-blue-sky-800:#93c5fd; --color-sky-900:#93c5fd; --color-cyan-700:#7dd3fc;
  --color-cyan-800:#7dd3fc;
  --color-indigo-700:#a5b4fc; --color-indigo-800:#a5b4fc;
  --color-violet-700:#c4b5fd; --color-violet-800:#c4b5fd;
  --color-pink-700:#f9a8d4; --color-pink-800:#f9a8d4;
  --color-slate-blue-500:#9aa0b0;

  /* ── Status VIVID midy (čitelné na tmavém — ponecháno) ── */
  --color-success-bright:#22c55e; --color-success-light2:#4ade80; --color-success-300:#86efac;
  --color-emerald-500:#10b981;
  --color-danger-500:#ef4444; --color-danger-300:#fca5a5;
  --color-warning-400:#f59e0b; --color-warning-amber:#fbbf24; --color-warning-300:#fcd34d;
  --color-orange-500:#fb923c;
  --color-blue-500:#3b82f6; --color-blue-600:#60a5fa;
  --color-sky-500:#06b6d4; --color-cyan-300:#67e8f9;
  --color-violet-500:#8b5cf6; --color-violet-300:#a78bfa; --color-violet-bright:#8b5cf6;
  --color-pink-500:#ec4899;

  /* keep translucentní „dnes" tint (alfa zachována) */
  --color-today-tint:#0e273399;
}

/* ─────────────────────────────────────────────────────────────────────────
   SDÍLENÁ STRUKTURA (platí pro všechny custom motivy: ploché karty, IBM Plex,
   tabulková čísla, klidné stíny/radiusy). Klasický (bez třídy) zůstává beze změny.
   ───────────────────────────────────────────────────────────────────────── */
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark){
  --shadow-sm:none; --shadow:none; --shadow-lg:0 8px 28px rgba(28,31,36,.08);
  --radius-lg:12px; --radius:10px; --radius-sm:8px;
  font-family:'IBM Plex Sans',-apple-system,system-ui,'Segoe UI',sans-serif;
  font-variant-numeric:tabular-nums;
  background:var(--color-bg);
}
/* ploché karty: hairline border místo stínu */
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .card{ border:1px solid var(--color-border); box-shadow:none; border-radius:12px; transition:box-shadow .15s,border-color .15s; }
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .card:hover{ box-shadow:0 4px 16px rgba(28,31,36,.05); }
/* typografie + data */
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) h1,
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) h2,
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .dash__section-title,
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .card-section-title{ letter-spacing:-.2px; }
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .num,
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) time,
:is(body.theme-a, body.theme-b, body.theme-c, body.theme-dark) .mono{ font-family:'IBM Plex Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; letter-spacing:-.2px; }

/* ─────────────────────────────────────────────────────────────────────────
   DARK-MODE CROSS-CUTTING SAFEGUARDS (pouze body.theme-dark)
   Council audit D2, 2026-06-07
   ───────────────────────────────────────────────────────────────────────── */

/* ── 1. TISK — vždy světlý (šetří toner, čitelné PDF z obrazovky) ──────── */
@media print {
  body.theme-dark {
    --color-bg: #ffffff;
    --color-surface: #ffffff;
    --color-surface-alt: #f4f5f7;
    --color-text: #1a1d2b;
    --color-text-secondary: #3d4255;
    --color-text-muted: #6e7389;
    --color-heading: #1a1d2b;
    --color-border: #e5e7ec;
    color-scheme: light;
    background: #fff;
  }
}

/* ── 2. MODAL OVERLAY — silnější clona na tmavém plátně ─────────────────── */
/* Selektor: .modal-overlay { background: rgba(26,29,43,.55) } v main.css     */
body.theme-dark .modal-overlay {
  background: rgba(0, 0, 0, .66);
}

/* ── 3a. QR KÓD — oblast renderování vždy světlá (scannery + tisk) ──────── */
/* .qr-modal__qr-area obaluje img#qrDetailImg (src = qr-image.php PNG)        */
body.theme-dark .qr-modal__qr-area {
  background: #ffffff;
}

/* ── 3b. PODPISOVÉ PLÁTNO — vždy světlé (inkoust = tmavý na bílém) ──────── */
/* .pf__sig-wrap obaluje canvas.pf__sig-canvas v _signature-area.php          */
/* patient-form.css je standalone (neincluduje main.css), proto deklarace zde  */
/* nemá efekt na patient-form pages — zahrnuty pro admin/print varianty.       */
body.theme-dark .pf__sig-wrap {
  background: #ffffff;
  border-color: #c0c5d0;
}
body.theme-dark .pf__sig-canvas {
  background: #ffffff;
}

/* ── 5. GRADIENT HEADERS — opravit tokeny přepsané na světlé v dark-mode ── */
/* V dark: --color-primary = #c8cdda (světlá), --color-primary-light = #d4d8e3.
   Níže postižené selektory: pinovat gradient na pevné navy/teal hodnoty.      */

/* .hero (landing/marketing hero sekce) */
body.theme-dark .hero {
  background: linear-gradient(135deg, #1a2035 0%, #1f2a4a 55%, #164e63 100%);
}

/* .qr-modal__header (modal hlavička pro QR kódy) */
body.theme-dark .qr-modal__header {
  background: linear-gradient(135deg, #1a2035 0%, #134e4a 100%);
}

/* .wiz-hero (průvodce/wizard hero; --color-primary-light-alt → #d4d8e3 v dark) */
body.theme-dark .wiz-hero {
  background: linear-gradient(135deg, #141820 0%, #1b2230 55%, #1a2540 100%);
}
