/* ==========================================================================
   VT CRM - temos, akcentai, mastelis, tankis
   Krauna po styles.css ir perrasinėja tik dizaino zetonus (tokens).
   ========================================================================== */

/* ------------------------------------------------------------------ MASTELIS */
:root { --ui-scale: 1; }
body { zoom: var(--ui-scale); }

/* --------------------------------------------------------------------- TANKIS */
:root[data-density="compact"] {
  --topbar-h: 52px;
}
:root[data-density="compact"] body { font-size: 12.8px; }
:root[data-density="compact"] table.tbl td { padding: 5px 10px; }
:root[data-density="compact"] table.tbl th { padding: 6px 10px; }
:root[data-density="compact"] .card-body { padding: 12px; }
:root[data-density="compact"] .card-head { padding: 10px 12px; min-height: 42px; }
:root[data-density="compact"] .content { padding: 14px 16px 44px; }
:root[data-density="compact"] .kpi { padding: 11px 12px; }
:root[data-density="compact"] .kpi-value { font-size: 22px; }
:root[data-density="compact"] .list-item { padding: 7px 12px; }
:root[data-density="compact"] .nav-item { padding: 5px 9px; }
:root[data-density="compact"] .grid { gap: 10px; }

/* =========================================================== SVIESIOS TEMOS */
/* Kiekvienos temos --text-3 ir --text-4 parinkti taip, kad ant tos temos pacios
   surface / surface-2 / surface-3 / ivory-100 kontrastas butu >=4,5:1. Atspalvis
   (vesus melynas, siltas smelio, zalsvas) paliktas, keistas tik sviesumas. */

/* --- Šiaurietiška (vėsi pilkai mėlyna) --- */
:root[data-theme="nordic"] {
  --ivory-50:#FBFCFD; --ivory-100:#F4F6F9; --ivory-200:#EDF1F5; --ivory-300:#E3E8EF;
  --surface:#FFFFFF; --surface-2:#F8FAFC; --surface-3:#F1F5F9;
  --line:#DDE3EA; --line-soft:#EAEFF4; --line-strong:#C6CFDA;
  --text:#182230; --text-2:#4A5768; --text-3:#5D697C; --text-4:#617086;
}

/* --- Smėlio (šilta, vario akcentas) --- */
:root[data-theme="sand"] {
  --ivory-50:#FFFDFA; --ivory-100:#F8F3EA; --ivory-200:#F2ECE1; --ivory-300:#E9E0D0;
  --surface:#FFFDF9; --surface-2:#FBF7F0; --surface-3:#F5EFE4;
  --line:#E4D9C7; --line-soft:#EFE8DA; --line-strong:#D2C3A9;
  --text:#2A2318; --text-2:#5D5343; --text-3:#6D6558; --text-4:#756A57;
}

/* --- Mėtų (švelniai žalsva) --- */
:root[data-theme="mint"] {
  --ivory-50:#FBFDFC; --ivory-100:#F1F6F3; --ivory-200:#EAF1EC; --ivory-300:#DFE9E2;
  --surface:#FFFFFF; --surface-2:#F7FBF8; --surface-3:#EFF5F1;
  --line:#D9E4DC; --line-soft:#E7EFEA; --line-strong:#BFCFC5;
  --text:#152420; --text-2:#45574F; --text-3:#5D6B63; --text-4:#617269;
}

/* --- Padidintas kontrastas (prieinamumui) --- */
:root[data-theme="contrast"] {
  --ivory-50:#FFFFFF; --ivory-100:#FFFFFF; --ivory-200:#F2F2F2; --ivory-300:#E4E4E4;
  --surface:#FFFFFF; --surface-2:#FAFAFA; --surface-3:#F0F0F0;
  --line:#8A8A8A; --line-soft:#B5B5B5; --line-strong:#2B2B2B;
  --text:#000000; --text-2:#1E1E1E; --text-3:#3D3D3D; --text-4:#5A5A5A;
  --shadow-xs:0 0 0 1px rgba(0,0,0,.10);
  --shadow-sm:0 0 0 1px rgba(0,0,0,.14);
  --radius:6px; --radius-lg:8px; --radius-sm:4px;
}
:root[data-theme="contrast"] .card { border-width: 1.5px; }
:root[data-theme="contrast"] table.tbl th { color: var(--text); }
:root[data-theme="contrast"] .badge { outline: 1px solid rgba(0,0,0,.30); outline-offset: -1px; }
:root[data-theme="contrast"] .btn { border-width: 1.5px; font-weight: 700; }
:root[data-theme="contrast"] .nav-item.active { outline: 2px solid var(--violet); outline-offset: -2px; }
:root[data-theme="contrast"] a:focus-visible, :root[data-theme="contrast"] button:focus-visible,
:root[data-theme="contrast"] input:focus-visible, :root[data-theme="contrast"] select:focus-visible {
  outline: 3px solid var(--violet); outline-offset: 1px;
}

/* ============================================================ TAMSIOS TEMOS */
/* Tamsiose temose --text-3/--text-4 buvo per tamsus (2,6-4,4:1). Pakelti tiek,
   kad laikytusi >=4,5:1 net ant sviesiausio tos temos pavirsiaus (surface-3). */
:root[data-theme="dark"], :root[data-theme="midnight"], :root[data-theme="graphite"] {
  --shadow-xs:0 1px 2px rgba(0,0,0,.36);
  --shadow-sm:0 1px 3px rgba(0,0,0,.42), 0 1px 2px rgba(0,0,0,.30);
  --shadow-md:0 6px 20px rgba(0,0,0,.46), 0 2px 6px rgba(0,0,0,.30);
  --shadow-lg:0 20px 54px rgba(0,0,0,.62), 0 4px 12px rgba(0,0,0,.40);

  /* tonai tamsiam fonui: prisodrintas tekstas, prislopintas fonas */
  --t-slate-bg:#232A38;  --t-slate-fg:#A9BAD4;  --t-slate-dot:#7C90B4;
  --t-grey-bg:#292731;   --t-grey-fg:#B0AABC;   --t-grey-dot:#8B8497;
  --t-blue-bg:#182A4A;   --t-blue-fg:#8CB4FF;   --t-blue-dot:#5A8CF0;
  --t-indigo-bg:#221F45; --t-indigo-fg:#A9A2FF; --t-indigo-dot:#7B72F0;
  --t-violet-bg:#2A2044; --t-violet-fg:#BFA3FF; --t-violet-dot:#9B72F5;
  --t-teal-bg:#123330;   --t-teal-fg:#6FD8C6;   --t-teal-dot:#2CBFA8;
  --t-green-bg:#14321F;  --t-green-fg:#7BD99A;  --t-green-dot:#3FBF6A;
  --t-amber-bg:#3A2A11;  --t-amber-fg:#F2BE63;  --t-amber-dot:#DE9B2C;
  --t-red-bg:#3A1D1C;    --t-red-fg:#FF9A94;    --t-red-dot:#EE6A63;
  --t-pink-bg:#3A1B2A;   --t-pink-fg:#FF9CC6;   --t-pink-dot:#EE6BA5;
  --t-dark-bg:#2E2C36;   --t-dark-fg:#D6D2DE;   --t-dark-dot:#9C97A8;
}

:root[data-theme="dark"] {
  --ivory-50:#1A191F; --ivory-100:#1B1A20; --ivory-200:#131217; --ivory-300:#2A2833;
  --surface:#1E1D23; --surface-2:#24222B; --surface-3:#2B2933;
  --line:#322F3B; --line-soft:#282631; --line-strong:#453F52;
  --text:#EDEBF1; --text-2:#B5B0C0; --text-3:#9E99A9; --text-4:#9690A2;
}

:root[data-theme="midnight"] {
  --ivory-50:#141B29; --ivory-100:#131A28; --ivory-200:#0D1420; --ivory-300:#1F2A3D;
  --surface:#161D2C; --surface-2:#1C2435; --surface-3:#222B3E;
  --line:#28334A; --line-soft:#1F2839; --line-strong:#3A4762;
  --text:#E7EDF8; --text-2:#A9B6CC; --text-3:#919DB2; --text-4:#8894AB;
}

:root[data-theme="graphite"] {
  --ivory-50:#1A1A1A; --ivory-100:#181818; --ivory-200:#121212; --ivory-300:#282828;
  --surface:#1F1F1F; --surface-2:#252525; --surface-3:#2C2C2C;
  --line:#333333; --line-soft:#292929; --line-strong:#464646;
  --text:#EDEDED; --text-2:#B3B3B3; --text-3:#9D9D9D; --text-4:#959595;
}

/* tamsiose temose sviesus elementai reikalauja korekciju */
:root[data-theme="dark"] .topbar,
:root[data-theme="midnight"] .topbar,
:root[data-theme="graphite"] .topbar { background: rgba(27,26,32,.86); }
:root[data-theme="midnight"] .topbar { background: rgba(19,26,40,.86); }
:root[data-theme="graphite"] .topbar { background: rgba(24,24,24,.86); }

:root[data-theme="dark"] .toast,
:root[data-theme="midnight"] .toast,
:root[data-theme="graphite"] .toast { background: #34313D; border: 1px solid var(--line-strong); }

:root[data-theme="dark"] .avatar-stack .avatar,
:root[data-theme="midnight"] .avatar-stack .avatar,
:root[data-theme="graphite"] .avatar-stack .avatar { border-color: var(--surface); }

:root[data-theme="dark"] .obj-cover .id-chip,
:root[data-theme="midnight"] .obj-cover .id-chip,
:root[data-theme="graphite"] .obj-cover .id-chip { background: rgba(20,19,24,.86); color: var(--text); }

:root[data-theme="dark"] .select,
:root[data-theme="midnight"] .select,
:root[data-theme="graphite"] .select {
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B8598' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
:root[data-theme="dark"] .overlay,
:root[data-theme="midnight"] .overlay,
:root[data-theme="graphite"] .overlay { background: rgba(6,5,9,.58); }

/* nuotrauku vietos zenklai tamsoje neturi svytėti */
:root[data-theme="dark"] .obj-cover, :root[data-theme="dark"] .record-cover,
:root[data-theme="midnight"] .obj-cover, :root[data-theme="midnight"] .record-cover,
:root[data-theme="graphite"] .obj-cover, :root[data-theme="graphite"] .record-cover { filter: saturate(.72) brightness(.72); }

/* ================================================================= AKCENTAI
   SVARBU del --violet: si zyme naudojama DVIEM vaidmenim - kaip uzpildas
   (baltas tekstas ANT jos) ir kaip TEKSTO spalva ant sviesaus --violet-soft
   fono (.nav-item.active, .tab.on, .chip-filter ir dar ~16 vietu).
   Antrasis vaidmuo yra griezciausias: sviesiose temose teal/green/amber/rose
   ties standartinemis reiksmemis duodavo tik 2,98-4,07:1. Todel cia jos
   patamsintos iki >= 4,8:1 ant --violet-soft, o baltam tekstui ant uzpildo
   naudojama atskira --violet-fill. Keiciant atspalvi butina tikrinti ABU
   vaidmenis: python scripts/diag-contrast.py */
:root[data-accent="blue"] {
  /* Kodel ne #2563EB: ant siltos "sand" temos pavirsiaus jis duoda 4,40:1,
     t.y. trupuciu maziau nei reikia. #2159D8 praeina ant visu temu (min 5,12). */
  --violet:#2159D8; --violet-600:#1D4ED8; --violet-700:#1E40AF;
  --violet-soft:#EAF1FE; --violet-soft-2:#D6E4FD; --violet-line:#BBD2FB;
}
:root[data-accent="teal"] {
  --violet:#0A7469; --violet-600:#0B7F75; --violet-700:#0A6960;
  --violet-soft:#E6F6F3; --violet-soft-2:#CCEDE7; --violet-line:#A9DFD6;
  /* Kodel gilesnis uzpildas: balta ant #0D9488 duoda tik 3,74:1. */
  --violet-fill:#0B8378; --violet-fill-2:#0A776E;
}
:root[data-accent="green"] {
  --violet:#147B3B; --violet-600:#15803D; --violet-700:#136B34;
  --violet-soft:#E8F7EE; --violet-soft-2:#D2EFDD; --violet-line:#B2E3C5;
  /* Kodel gilesnis uzpildas: balta ant #16A34A duoda tik 3,30:1. */
  --violet-fill:#12863D; --violet-fill-2:#147A3A;
}
:root[data-accent="amber"] {
  --violet:#9B5B08; --violet-600:#A66209; --violet-700:#8A5107;
  --violet-soft:#FCF3E2; --violet-soft-2:#F8E6C2; --violet-line:#F0D399;
  /* Kodel gilesnis uzpildas: balta ant #C2740B duoda tik 3,88:1. */
  --violet-fill:#A8650A; --violet-fill-2:#9B5B08;
}
:root[data-accent="rose"] {
  --violet:#C21E63; --violet-600:#BE185D; --violet-700:#9D174D;
  --violet-soft:#FDEDF4; --violet-soft-2:#FBDAE8; --violet-line:#F7BFD6;
  /* Kodel gilesnis uzpildas: balta ant #DB2777 duoda tik 4,48:1. */
  --violet-fill:#DB2475; --violet-fill-2:#BE185D;
}
:root[data-accent="slate"] {
  --violet:#475569; --violet-600:#374151; --violet-700:#2A3441;
  --violet-soft:#EEF1F5; --violet-soft-2:#DDE3EB; --violet-line:#C7D0DC;
}

/* Akcentai tamsiose temose — sviesesni, kad islaikytu kontrasta kaip TEKSTAS
   (nav-item.active, tab.on, chip-filter ant --violet-soft). Uzpildui mygtukuose
   naudojamas atskiras, tamsesnis --violet-fill, ant kurio balta duoda >=4,5:1. */
:root[data-theme="dark"][data-accent="violet"], :root[data-theme="midnight"][data-accent="violet"], :root[data-theme="graphite"][data-accent="violet"] {
  --violet:#A884F6; --violet-600:#8B5CF6; --violet-700:#7C4DEE;
  --violet-soft:#2A2044; --violet-soft-2:#382A58; --violet-line:#4B3A76;
  --violet-fill:#7C4DEE; --violet-fill-2:#6F3BEC;
}
:root[data-theme="dark"][data-accent="blue"], :root[data-theme="midnight"][data-accent="blue"], :root[data-theme="graphite"][data-accent="blue"] {
  --violet:#6997F1; --violet-600:#4A7CE4; --violet-700:#3C6CD2;
  --violet-soft:#182A4A; --violet-soft-2:#1F3862; --violet-line:#2C4C80;
  --violet-fill:#3C6CD2; --violet-fill-2:#2E60C8;
}
:root[data-theme="dark"][data-accent="teal"], :root[data-theme="midnight"][data-accent="teal"], :root[data-theme="graphite"][data-accent="teal"] {
  --violet:#2CBFA8; --violet-600:#22A891; --violet-700:#1B8F7B;
  --violet-soft:#123330; --violet-soft-2:#17453F; --violet-line:#1F5C53;
  --violet-fill:#198371; --violet-fill-2:#167666;
}
:root[data-theme="dark"][data-accent="green"], :root[data-theme="midnight"][data-accent="green"], :root[data-theme="graphite"][data-accent="green"] {
  --violet:#3FBF6A; --violet-600:#34A85B; --violet-700:#2B8F4C;
  --violet-soft:#14321F; --violet-soft-2:#1A442A; --violet-line:#245C39;
  --violet-fill:#288547; --violet-fill-2:#247840;
}
:root[data-theme="dark"][data-accent="amber"], :root[data-theme="midnight"][data-accent="amber"], :root[data-theme="graphite"][data-accent="amber"] {
  --violet:#DE9B2C; --violet-600:#C98A25; --violet-700:#AC751E;
  --violet-soft:#3A2A11; --violet-soft-2:#4C3717; --violet-line:#654A1F;
  --violet-fill:#9C6A1B; --violet-fill-2:#8C6018;
}
:root[data-theme="dark"][data-accent="rose"], :root[data-theme="midnight"][data-accent="rose"], :root[data-theme="graphite"][data-accent="rose"] {
  --violet:#EE6BA5; --violet-600:#DE5A95; --violet-700:#C64B80;
  --violet-soft:#3A1B2A; --violet-soft-2:#4E2438; --violet-line:#6B314C;
  --violet-fill:#C4467C; --violet-fill-2:#B63A6F;
}
:root[data-theme="dark"][data-accent="slate"], :root[data-theme="midnight"][data-accent="slate"], :root[data-theme="graphite"][data-accent="slate"] {
  --violet:#94A3B8; --violet-600:#8494AB; --violet-700:#748498;
  --violet-soft:#232A38; --violet-soft-2:#2E3849; --violet-line:#3E4A5F;
  --violet-fill:#66768A; --violet-fill-2:#5C6A7C;
}

/* Prekes zenklo zyme seka akcenta. Imamas uzpildo zetonas, o ne pats akcentas:
   raide zymeje yra balta, todel fonas turi likti tamsus ir tamsiose temose. */
.brand-mark { background: linear-gradient(140deg, var(--violet-fill) 0%, var(--violet-fill-2) 100%); }

/* ===================================================== DIAGRAMU PATAISYMAI */
/* Zenkleliai (legend) po ratu — dvieju stulpeliu tinklelis, ne suspaustas srautas */
.legend.legend-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 4px 14px; align-content: start;
}
.legend-item { min-width: 0; }
.legend-item .legend-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legend-item .legend-val { font-variant-numeric: tabular-nums; font-weight: 600; margin-left: auto; }
.legend-item .legend-pct { color: var(--text-3); font-size: 11px; width: 34px; text-align: right; }

/* Horizontalios juostos: etikete tesiasi, o ne fiksuota 132px */
.meter-row { gap: 12px; }
.meter-label { width: auto; min-width: 108px; max-width: 190px; flex: 0 1 auto; }
.meter-track { min-width: 60px; }
.meter-value { width: 74px; }

/* Piltuvo eilutes — vientisas blokas su etikete kaireje */
.funnel-row { display: flex; align-items: center; gap: 12px; padding: 5px 0; }
.funnel-name { width: 148px; flex: none; font-size: 12px; font-weight: 600; }
.funnel-bar { flex: 1 1 auto; height: 22px; border-radius: 6px; background: var(--surface-3); overflow: hidden; position: relative; }
.funnel-bar > span { display: block; height: 100%; border-radius: 6px; }
.funnel-bar .funnel-in {
  position: absolute; inset: 0; display: flex; align-items: center; padding: 0 8px;
  font-size: 11px; font-weight: 700; color: var(--text-2);
}
.funnel-meta { width: 128px; flex: none; text-align: right; font-size: 11.5px; color: var(--text-3); font-variant-numeric: tabular-nums; }

/* Korteles turinys lygiuojamas i virsu, o ne isteciamas */
.card.fill { display: flex; flex-direction: column; }
.card.fill > .card-body { flex: 1 1 auto; }
.card-body.scroll-y { max-height: 420px; overflow-y: auto; }

/* ================================================== KALENDORIAUS PATAISYMAI */
.cal-cell, .cal-time { height: 58px; }
.cal-ev {
  border-radius: 6px; padding: 3px 6px; font-size: 11px; line-height: 1.3;
  border-left-width: 3px; box-shadow: var(--shadow-xs);
  display: flex; flex-direction: column; justify-content: flex-start;
}
.cal-ev b { font-size: 11px; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-ev .ev-sub { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .78; }
.cal-ev.tiny { padding: 1px 5px; }
.cal-ev.tiny b { font-size: 10px; }
.cal-ev.tiny .ev-sub { display: none; }
.cal-more {
  position: absolute; border-radius: 5px; padding: 1px 5px; font-size: 10px; font-weight: 700;
  background: var(--surface-3); color: var(--text-2); border: 1px solid var(--line);
  cursor: pointer; z-index: 2; white-space: nowrap;
}
.cal-more:hover { background: var(--violet-soft); color: var(--violet); border-color: var(--violet-line); }
.cal-nowline { position: absolute; left: 0; right: 0; height: 1.5px; background: var(--t-red-dot); z-index: 4; pointer-events: none; }
.cal-nowline::before { content: ''; position: absolute; left: -3px; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--t-red-dot); }
/* Dalyba is --ui-scale - zr. paaiskinima styles.css ties .app. */
.cal-scroll { overflow: auto; max-height: calc(100vh / var(--ui-scale, 1) - 260px); }
.cal-side { position: sticky; top: calc(var(--topbar-h) + 14px); align-self: start; }

/* ============================================================== SPAUSDINIMAS */
@media print {
  body { zoom: 1; }
  :root[data-theme="dark"], :root[data-theme="midnight"], :root[data-theme="graphite"] {
    --surface:#fff; --surface-2:#fff; --text:#000; --text-2:#333; --line:#ccc;
    /* Prislopintas tekstas ir busenos zenkleliai kitaip liktu tamsios temos
       spalvomis - sviesus tekstas ant tamsaus zenklelio fono, kuris cia
       nebeperspausdinamas, arba vos matomas pilkas tekstas ant balto lapo. */
    --text-3:#6B6673; --text-4:#736C7C;
    --t-slate-fg:#465269; --t-grey-fg:#6B6672; --t-blue-fg:#1D4ED8; --t-indigo-fg:#4338CA;
    --t-violet-fg:#6B3BF2; --t-teal-fg:#0F766E; --t-green-fg:#147B3B; --t-amber-fg:#AD5009;
    --t-red-fg:#BE2F2A; --t-pink-fg:#BE185D; --t-dark-fg:#33303A;
  }
}

/* ------------------------------------------------- judesio mazinimo pageidavimas */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---- Avataru tonai tamsiosiose temose ----
   Sviesi pastele tamsiame fone virstu rysia deme, todel cia atvirksciai:
   tamsus tonuotas fonas ir sviesus to paties atspalvio tekstas.
   Blogiausias kontrastas 6,51:1 (tikrinta visiems 360 laipsniu). */
:root[data-theme="dark"], :root[data-theme="midnight"], :root[data-theme="graphite"] {
  --av-bg-s:55%; --av-bg-l:22%;
  --av-fg-s:60%; --av-fg-l:86%;
}
