/* =====================================================================
   public/assets/css/pp-dark.css  —  v1: tokeny + konzola pobytu (stay.vue) + nástenka hospitalizácie (board.vue)
   Načítať v resources/views/layouts/head.blade.php ZA pp-forms.css:
     <link href="{{ asset('assets/css/pp-dark.css') }}?v=1" rel="stylesheet"/>
   Zásady:
   - každý selektor začína `body.dark-mode` (+1 element špecificity) a zrkadlí celý pôvodný selektor,
     lebo scoped štýly Vue (vue-app.js) sa vkladajú na koniec <head> až za všetky <link>;
   - žiadne !important (stay.vue/board.vue ho nemajú, netreba);
   - plochy (--pp-ground, --pp-card) sú pripnuté na dark.css (body #1a1c33, .card #272d47), lebo komponenty
     sedia v .card, ktorý maľuje dark.css; ostatné tokeny sú z public/dev/liecebny-harok.html:43-54.
   Rollback: zmazať riadok <link> v head.blade.php.
   ===================================================================== */

/* ---------- 0. tokeny ---------- */
body.dark-mode {
    --pp-ground: #1a1c33;        /* = dark.css body */
    --pp-card: #272d47;          /* = dark.css .card / .modal-content / .form-control */
    --pp-card-2: #2f3556;        /* o stupeň svetlejšia plocha v karte (panel, pole, chip) */
    --pp-line: #3a3f62;          /* rámik na karte */
    --pp-line-soft: #31355a;     /* oddeľovač riadkov */
    --pp-ink: #ece9f8;           /* prototyp --ink */
    --pp-ink-2: #b9b3cf;         /* prototyp --ink-2 */
    --pp-muted: #8f88a8;         /* prototyp --muted */
    --pp-accent: #9a86ff;        /* prototyp --accent */
    --pp-accent-deep: #b6a6ff;   /* prototyp --accent-deep */
    --pp-accent-wash: #2a2444;   /* prototyp --accent-wash */
    --pp-ok: #5ed19a;      --pp-ok-wash: #16311f;
    --pp-warn: #f0b45e;    --pp-warn-wash: #332512;
    --pp-bad: #ff7a6b;     --pp-bad-wash: #331a18;
    --pp-now: #2b2338;
    --pp-on-accent: #171327;
    --pp-shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28);
}

/* ---------- 1. KONZOLA POBYTU — resources/js/components/hospitalization/stay.vue (.hs-*) ---------- */

/* karta pobytu, hlavička */
body.dark-mode .hs-card { border-color: var(--pp-line); }
body.dark-mode .hs-head-l h3 { color: var(--pp-ink); }
body.dark-mode .hs-day { background: var(--pp-warn-wash); color: var(--pp-warn); }
body.dark-mode .hs-day-out { background: var(--pp-ok-wash); color: var(--pp-ok); }
body.dark-mode .hs-head-m { color: var(--pp-muted); }
body.dark-mode .hs-dg { color: var(--pp-accent); }
body.dark-mode .hs-identita { color: var(--pp-ink); }
body.dark-mode .hs-identita em { color: var(--pp-muted); }

/* stav pacienta */
body.dark-mode .hs-stav { background: var(--pp-accent-wash); color: var(--pp-accent-deep); }
body.dark-mode .hs-stav-kriticky { background: var(--pp-bad-wash); color: var(--pp-bad); }
body.dark-mode .hs-stav-stabilizovany { background: var(--pp-ok-wash); color: var(--pp-ok); }
body.dark-mode .hs-stav-na_prepustenie { background: var(--pp-warn-wash); color: var(--pp-warn); }
body.dark-mode .hs-stav-nezadany { background: var(--pp-line-soft); color: var(--pp-muted); }

/* tlačidlá v lište (svetlé s rámikom) */
body.dark-mode .hs-edit, body.dark-mode .hs-take {
    background: var(--pp-card-2); border-color: var(--pp-line); color: var(--pp-ink-2); }
body.dark-mode .hs-edit:hover:not(:disabled), body.dark-mode .hs-take:hover:not(:disabled) {
    border-color: var(--pp-accent); color: var(--pp-accent-deep); }
body.dark-mode .hs-end { background: var(--pp-card-2); border-color: #5a2a2a; color: var(--pp-bad); }
body.dark-mode .hs-end:hover:not(:disabled) { background: #a33a3a; border-color: #a33a3a; color: #fff; }
body.dark-mode .hs-trias-add { background: var(--pp-card-2); border-color: #5a4320; color: var(--pp-warn); }
body.dark-mode .hs-trias-add:hover:not(:disabled) { background: #8a5a1e; border-color: #8a5a1e; color: #fff; }
body.dark-mode .hs-row-edit, body.dark-mode .hs-row-del {
    background: var(--pp-card-2); border-color: var(--pp-line); color: var(--pp-ink-2); }
body.dark-mode .hs-row-edit:hover:not(:disabled) { border-color: var(--pp-accent); color: var(--pp-accent-deep); }
body.dark-mode .hs-row-del { color: var(--pp-bad); border-color: #5a2a2a; }
body.dark-mode .hs-row-del:hover:not(:disabled) { background: #a33a3a; border-color: #a33a3a; color: #fff; }
body.dark-mode .hs-mini { color: var(--pp-accent-deep); }
body.dark-mode .hs-btn-light { background: var(--pp-line-soft); color: var(--pp-ink-2); }
/* .hs-btn, .hs-add, .hs-report, .hs-prim-btn majú plné fialové/modré pozadie s bielym textom – ostávajú. */

/* primárne vyšetrenie */
body.dark-mode .hs-prim { border-color: #4a3f78;
    background: linear-gradient(180deg, var(--pp-accent-wash) 0%, var(--pp-card) 100%); }
body.dark-mode .hs-prim-h { color: var(--pp-accent-deep); }
body.dark-mode .hs-prim-m { color: var(--pp-ink-2); }

/* trias */
body.dark-mode .hs-trias { background: var(--pp-card-2); }
body.dark-mode .hs-trias-stale, body.dark-mode .hs-trias-none { background: var(--pp-warn-wash); }
body.dark-mode .hs-trias-v { color: var(--pp-ink); }
body.dark-mode .hs-trias-v em { color: var(--pp-muted); }
body.dark-mode .hs-trias-m { color: var(--pp-muted); }
body.dark-mode .hs-trias-last { color: var(--pp-ink-2); }
body.dark-mode .hs-trias-form label { color: var(--pp-ink-2); }
body.dark-mode .hs-warn { color: var(--pp-bad); }

/* starostlivosť, terapia, info */
body.dark-mode .hs-sl { color: var(--pp-muted); }
body.dark-mode .hs-sv { color: var(--pp-ink); }
body.dark-mode .hs-sv em { color: var(--pp-muted); }
body.dark-mode .hs-tr { border-top-color: var(--pp-line-soft); }
body.dark-mode .hs-tn, body.dark-mode .hs-td { color: var(--pp-ink); }
body.dark-mode .hs-td em { color: var(--pp-accent-deep); }
body.dark-mode .hs-tp { color: var(--pp-muted); }
body.dark-mode .hs-info { background: var(--pp-warn-wash); }
body.dark-mode .hs-info-h { color: var(--pp-warn); }
body.dark-mode .hs-info-t { color: var(--pp-ink); }

/* modály konzoly (vlastné, nie Bootstrap) */
body.dark-mode .hs-modal { background: rgba(5, 4, 14, .65); }
body.dark-mode .hs-modal-box { background: var(--pp-card); box-shadow: var(--pp-shadow); }
body.dark-mode .hs-modal-box h4 { color: var(--pp-ink); }
body.dark-mode .hs-modal-box label { color: var(--pp-muted); }
body.dark-mode .hs-modal-p { color: var(--pp-ink-2); }
body.dark-mode .hs-modal-box input, body.dark-mode .hs-modal-box select, body.dark-mode .hs-modal-box textarea {
    background: var(--pp-card-2); border-color: var(--pp-line); color: var(--pp-ink); }
body.dark-mode .hs-modal-box input::placeholder, body.dark-mode .hs-modal-box textarea::placeholder { color: var(--pp-muted); }

/* priebeh pobytu (ľavý stĺpec) */
body.dark-mode .hs-block-h { color: var(--pp-muted); }
body.dark-mode .hs-pick { background: var(--pp-card-2); border-color: var(--pp-line); color: var(--pp-ink); }
body.dark-mode .hs-pick:hover { border-color: var(--pp-accent); color: var(--pp-accent-deep); background: var(--pp-accent-wash); }
body.dark-mode .hs-pick .fa { color: var(--pp-accent); }
body.dark-mode .hs-empty { color: var(--pp-muted); }
body.dark-mode .hs-day-sep { border-top-color: var(--pp-line); }
body.dark-mode .hs-day-sep span { background: var(--pp-card); color: var(--pp-accent-deep); }  /* musí sa zhodovať s pozadím .card */
body.dark-mode .hs-time { color: var(--pp-muted); }
body.dark-mode .hs-icon i { color: var(--pp-muted); }
body.dark-mode .hs-kv .hs-icon i { color: var(--pp-accent); }
body.dark-mode .hs-dose .hs-icon i { color: var(--pp-ok); }
body.dark-mode .hs-pkv .hs-icon i { color: #5fb3dd; }
body.dark-mode .hs-therapy .hs-icon i { color: var(--pp-warn); }
body.dark-mode .hs-admission .hs-icon i { color: #f0a55e; }
body.dark-mode .hs-title { color: var(--pp-ink); }
body.dark-mode .hs-author { color: var(--pp-muted); }
body.dark-mode .hs-text { color: var(--pp-ink-2); }
body.dark-mode .hs-vitals { color: var(--pp-ink); }
body.dark-mode .hs-care .ok { color: var(--pp-ok); }
body.dark-mode .hs-care .no { color: var(--pp-warn); }

/* pravý stĺpec: panely dávok, účet, trend */
body.dark-mode .hs-panel { border-color: var(--pp-line); }
body.dark-mode .hs-dose { border-top-color: var(--pp-line-soft); }
body.dark-mode .hs-dose-t { color: var(--pp-muted); }
body.dark-mode .hs-dose-n { color: var(--pp-ink); }
body.dark-mode .hs-dose-s { color: var(--pp-muted); }
body.dark-mode .hs-dose.is-late .hs-dose-s { color: var(--pp-bad); }
body.dark-mode .hs-bill-total { color: var(--pp-ink); }
body.dark-mode .hs-bill-note { color: var(--pp-muted); }
body.dark-mode .hs-bill-warn { background: var(--pp-warn-wash); color: var(--pp-warn); }
body.dark-mode .hs-trend-row { color: var(--pp-ink); }
body.dark-mode .hs-trend-d { color: var(--pp-muted); }

/* ---------- 2. NÁSTENKA HOSPITALIZÁCIE — resources/js/components/hospitalization/board.vue ---------- */
/* scoped blok: pôvodné selektory `#hosp-board .hosp-*[data-v-…]` = (1,2,0); tu (1,2,1) */
body.dark-mode #hosp-board .hosp-counter { background: var(--pp-card-2); border-color: var(--pp-line); }
body.dark-mode #hosp-board .hosp-counter-value { color: var(--pp-ink); }
body.dark-mode #hosp-board .hosp-counter-label { color: var(--pp-muted); }
body.dark-mode #hosp-board .hosp-counter.is-ok .hosp-counter-value { color: var(--pp-ok); }
body.dark-mode #hosp-board .hosp-counter.is-bad { border-color: var(--pp-bad); background: var(--pp-bad-wash); }
body.dark-mode #hosp-board .hosp-counter.is-bad .hosp-counter-value { color: var(--pp-bad); }
body.dark-mode #hosp-board .hosp-modal-overlay { background: rgba(5, 4, 14, .65); }
body.dark-mode #hosp-board .hosp-modal { background: var(--pp-card); color: var(--pp-ink); box-shadow: var(--pp-shadow); }
body.dark-mode #hosp-board .hosp-modal-head { border-bottom-color: var(--pp-line); }
body.dark-mode #hosp-board .hosp-modal-foot { border-top-color: var(--pp-line); }
body.dark-mode #hosp-board .hosp-plan-hits { background: var(--pp-card); border-color: var(--pp-line); box-shadow: var(--pp-shadow); }
body.dark-mode #hosp-board .hosp-plan-hit { border-bottom-color: var(--pp-line-soft); color: var(--pp-ink); }
body.dark-mode #hosp-board .hosp-plan-hit:hover { background: var(--pp-accent-wash); }
body.dark-mode #hosp-board .hosp-actor { background: var(--pp-card-2); color: var(--pp-ink-2); }
/* .hosp-pin a polia formulára sú .form-control → dark.css (#272d47) ich už rieši */

/* nescoped blok: `#hosp-table .hosp-*` = (1,1,0)+; tu vždy +1 element */
body.dark-mode #hosp-table .lab-chevron { color: var(--pp-muted); }
body.dark-mode #hosp-table .hosp-countdown.is-late { color: var(--pp-bad); }
body.dark-mode #hosp-table .hosp-countdown.is-soon { color: var(--pp-warn); }
body.dark-mode #hosp-table .hosp-stale { color: var(--pp-warn); }
body.dark-mode #hosp-table .hosp-panel-title { color: var(--pp-muted); }
body.dark-mode #hosp-table .hosp-doses tr.is-late td { background: var(--pp-bad-wash); }
body.dark-mode #hosp-table .hosp-dose-time { color: var(--pp-muted); }
body.dark-mode #hosp-table .hosp-day { border-left-color: var(--pp-line); background: var(--pp-card-2); }
body.dark-mode #hosp-table .hosp-vital.is-high { color: var(--pp-bad); }
body.dark-mode #hosp-table .hosp-vital.is-low { color: #6fb6ff; }
body.dark-mode #hosp-table .hosp-vital.is-ok { color: var(--pp-ok); }
body.dark-mode #hosp-table .hosp-care-chip { color: var(--pp-muted); }
body.dark-mode #hosp-table .hosp-care-chip.is-done { color: var(--pp-ok); }
body.dark-mode #hosp-table .hosp-care-chip.is-missing { color: #5c5878; }
body.dark-mode #hosp-table .hosp-therapy { border-bottom-color: var(--pp-line-soft); }
body.dark-mode #hosp-table tbody tr.hosp-row-late > td:first-child { box-shadow: inset 3px 0 0 var(--pp-bad); }
/* b-table riadky/hlavičky: dark.css .table / .table-hover; .btn-xs a .hosp-actions .btn dedia Bootstrap tmavé varianty */

/* ---------- 3. OKENNÝ REŽIM (nutné spolu s master.blade.php:24 → `body.app:not(.dark-mode)`) ---------- */
body.dark-mode #pp-wm .wm-win { background: var(--pp-card); border-color: var(--pp-line); }
body.dark-mode #pp-wm .wm-bar { background: var(--pp-card-2); border-bottom-color: var(--pp-line); color: var(--pp-ink); }
body.dark-mode #pp-wm .wm-frame { background: var(--pp-ground); }
/* presné názvy tried rámika overiť v resources/views/layouts/partials/window-manager.blade.php:29-104 pred nasadením */

/* ---------------------------------------------------------------------------
   Doplnené 6. 9. 2026 spolu s piatimi rozhodnutiami majiteľa.
   --------------------------------------------------------------------------- */

/* Upozornenie na nenaúčtovaný hospitalizačný deň */
body.dark-mode .hs-daywarn { background: #3a2f1a; border-color: #6b5324; color: #f0c775; }

/* Číselník hodnôt úkonu (stolica, vracanie…) */
body.dark-mode .hs-typ { background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62);
                         color: var(--pp-ink-2, #c3c9e0); }
body.dark-mode .hs-typ:hover { border-color: #9561e2; color: #cdb4f5; }
body.dark-mode .hs-typ-on { background: #3b2f5c; border-color: #9561e2; color: #e2d4ff; }

/* Modal ukončenia pobytu — štyri voľby */
body.dark-mode .hs-opt { background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62); }
body.dark-mode .hs-opt:hover { background: #3b2f5c; border-color: #9561e2; }
body.dark-mode .hs-opt strong { color: var(--pp-ink, #e8ebf5); }
body.dark-mode .hs-opt span { color: var(--pp-muted, #9aa3c0); }
body.dark-mode .hs-note { background: #3a2f1a; border-color: #6b5324; color: #f0c775; }

/* OKENNÝ REŽIM: master.blade.php dával telu okna natvrdo biele pozadie AŽ ZA dark.css,
   takže konzola pobytu aj vyšetrenie boli v okne vždy svetlé. Rámik, hlavička a dok
   okenného manažéra majú farby priamo v šablóne, preto sa prekrývajú tu. */
body.dark-mode #pp-wm, body.dark-mode .wm-frame { background: var(--pp-ground, #1a1c33); }
body.dark-mode .wm-head { background: var(--pp-card, #272d47); border-color: var(--pp-line, #3a3f62);
                          color: var(--pp-ink, #e8ebf5); }
body.dark-mode #pp-wm-dock { background: var(--pp-card, #272d47); border-color: var(--pp-line, #3a3f62); }
body.dark-mode #pp-wm-dock .wm-dock-item { color: var(--pp-ink-2, #c3c9e0); }

body.dark-mode #hosp-table .hosp-noday { color: #f0c775; }

/* ---------------------------------------------------------------------------
   DENNÁ UZÁVIERKA (dashboard/pages/dailyBalance) — 7. 9. 2026.
   Obrazovky majú farby v <style> priamo v blade, teda BEZ data-v atribútov;
   `body.dark-mode .db-…` (0,2,0) je nad `.db-…` (0,1,0) a stačí bez !important.
   Plochy z dark.css (telo, .card), texty a stavy z tokenov vyššie.
   --------------------------------------------------------------------------- */
body.dark-mode .db-table th, body.dark-mode .db-series th { color: var(--pp-muted, #9aa3c0); }
body.dark-mode .db-table td, body.dark-mode .db-series td { color: var(--pp-ink-2, #c3c9e0); border-color: var(--pp-line-soft, #31355a); }
body.dark-mode .db-table tr.db-open { background: #33301f; }
body.dark-mode .db-table tr.db-unpaid { background: #3a2626; }
body.dark-mode .db-row:hover { background: #2f2a4a; }
body.dark-mode .db-label, body.dark-mode .db-strong, body.dark-mode .dbd dd, body.dark-mode .db-period-range,
body.dark-mode .db-static, body.dark-mode .db-tile-value, body.dark-mode .db-modal-box h4,
body.dark-mode .dbd-head h4 { color: var(--pp-ink, #e8ebf5); }
body.dark-mode .db-muted, body.dark-mode .dbd dt, body.dark-mode .dbd-period, body.dark-mode .dbd-muted,
body.dark-mode .db-tile-label, body.dark-mode .db-tile-note, body.dark-mode .db-period-label,
body.dark-mode .db-field label, body.dark-mode .db-filter-label, body.dark-mode .dbd h5,
body.dark-mode .dbd-eyebrow { color: var(--pp-muted, #9aa3c0); }
body.dark-mode .db-diff { color: #f28b82; }
body.dark-mode .db-flag { background: #3a2f1a; color: #f0c775; }

/* dlaždice a rámiky */
body.dark-mode .db-tile { background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62); }
body.dark-mode .db-tile.primary { background: #3b2f5c; border-color: #5b3ea8; }
body.dark-mode .db-diffbox { background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62); }
body.dark-mode .db-diffbox small { color: var(--pp-muted, #9aa3c0); }
body.dark-mode .db-diff-value { color: #7ed492; }
body.dark-mode .db-diffbox.off { background: #3a2626; border-color: #6b3434; }
body.dark-mode .db-diffbox.off .db-diff-value { color: #f28b82; }
body.dark-mode .db-series-sub td { background: var(--pp-card-2, #2f3556); }
body.dark-mode .db-storno li, body.dark-mode .db-hist, body.dark-mode .db-unresolved-list li,
body.dark-mode .db-filters, body.dark-mode .db-reasons, body.dark-mode .db-meta, body.dark-mode .db-ekasa-foot,
body.dark-mode .db-terminal-log, body.dark-mode .dbd-head, body.dark-mode .dbd-full, body.dark-mode .dbd-actions,
body.dark-mode .db-check hr { border-color: var(--pp-line-soft, #31355a); }
body.dark-mode .db-hist.change { border-left-color: #9561e2; }
body.dark-mode .db-hist-changes s { color: #6a7290; }

/* štítky a stavy */
body.dark-mode .db-badge.ok { background: #1f3d2a; color: #7ed492; }
body.dark-mode .db-badge.warn { background: #3a2f1a; color: #f0c775; }
body.dark-mode .db-badge.err { background: #3a2626; color: #f28b82; }
body.dark-mode .db-badge.mut { background: var(--pp-card-2, #2f3556); color: var(--pp-muted, #9aa3c0); }
body.dark-mode .db-note-warn { color: #f0c775; }
body.dark-mode .db-error { color: #f28b82; }
body.dark-mode .db-ok-line { color: #7ed492; }
body.dark-mode .db-check-row { color: var(--pp-ink-2, #c3c9e0); }
body.dark-mode .db-check-row.off b { color: #f28b82; }
body.dark-mode .db-check-row.ok b { color: #7ed492; }
body.dark-mode .db-tender.cash { background: #1f3346; color: #8ec5f0; }
body.dark-mode .db-tender.card { background: #3b2f5c; color: #cdb4f5; }
body.dark-mode .db-tender.advance { background: #3a2f1a; color: #f0c775; }
body.dark-mode .db-tender.mixed { background: var(--pp-card-2, #2f3556); color: var(--pp-ink-2, #c3c9e0); }

/* tlačidlá, čipy, okná */
body.dark-mode .db-act, body.dark-mode .db-mini, body.dark-mode .db-chip {
    background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62); color: var(--pp-ink-2, #c3c9e0); }
body.dark-mode .db-act:hover, body.dark-mode .db-mini:hover, body.dark-mode .db-chip:hover { border-color: #9561e2; color: #cdb4f5; background: #3b2f5c; }
body.dark-mode .db-chip.active { background: #3b2f5c; border-color: #9561e2; color: #e2d4ff; }
body.dark-mode .db-modal-box { background: var(--pp-card, #272d47); color: var(--pp-ink-2, #c3c9e0); }
body.dark-mode .db-modal-x { color: var(--pp-muted, #9aa3c0); }
body.dark-mode .db-modal-x:hover { color: var(--pp-ink, #e8ebf5); }
body.dark-mode .db-terminal-result { background: var(--pp-card-2, #2f3556); border-color: var(--pp-line, #3a3f62); color: var(--pp-ink-2, #c3c9e0); }
body.dark-mode .db-terminal-result.ok { background: #1f3d2a; border-color: #2f5d3a; }
body.dark-mode .db-terminal-result.err { background: #3a2626; border-color: #6b3434; }
body.dark-mode .db-terminal-receipt { background: var(--pp-card, #272d47); border-color: var(--pp-line, #3a3f62); color: var(--pp-ink-2, #c3c9e0); }

/* knihy na nástenke: hlavičky tabuliek a filtre boli v tmavom režime nečitateľné (grand test 7. 9.) */
body.dark-mode .table thead th, body.dark-mode .b-table thead th, body.dark-mode table.table th { color:#c3c9e0 !important; }
body.dark-mode .btn-outline-primary { color:#b3a7ff; border-color:#5a5f97; }
body.dark-mode .btn-outline-primary:hover { background:#3a3f62; color:#fff; }

/* Terapia & účet – rozpis po dňoch (7. 9. 2026) */
body.dark-mode .th-seg { border-color: #2f3b4a; }
body.dark-mode .th-seg button { background: #1e2733; color: #cfd6df; }
body.dark-mode .th-seg button.on { background: #6d3fc0; color: #fff; }
body.dark-mode .th-filter input { background: #111823; color: #e8edf3; border-color: #2f3b4a; }
body.dark-mode .th-tbl tr.th-day td { border-top-color: #2f3b4a; }
body.dark-mode .th-day.today .th-day-l { color: #e8edf3; }
body.dark-mode .th-day-add { background: #1e2733; }
body.dark-mode .th-target { background: #2a1f45; }
