/* ================================================================
   ALIANSA CRM — prototip · tokeni, teme i gustina (v3)
   Jedan izvor istine: nijedan ekran ne sme da uvodi svoju boju.
   Svetla tema = tačno iste vrednosti koje su ekrani imali upisane
   direktno u stilu; tamna tema je zasebno izvedena, ne inverzija.
   Vrednosti --aa-p1…p6 su identične tokenima iz plugina (admin.css).
   ================================================================ */

:root {
  /* ljubičasta skala (brend) */
  --aa-p1: #2A1054;   /* primarna akcija, zaglavlje navigacije */
  --aa-p1-text: #2A1054; /* naslovi i tekst u brend boji */
  --aa-p2: #3A1969;   /* hover primarnog, veze, sitan naglasak */
  --aa-p2-fill: #3A1969; /* punjena brend površina (dugme, čekiranje) */
  --aa-on-primary: #FFFFFF; /* tekst na ljubičastom punjenju — isti u obe teme */
  --aa-ind: #2A1054;        /* indikator aktivnog taba / prikaza (2 px linija) */
  --aa-p3: #8B5BB0;   /* ikone, grafikoni */
  --aa-p4: #BC99D1;   /* fokus okvir, sekundarni akcent */
  --aa-p5: #EDE5F5;   /* blaga brend oznaka */
  --aa-p6: #F8F5FD;   /* blaga brend pozadina */

  /* površine i neutralno */
  --aa-surface: #FFFFFF;       /* kartica, panel, modal */
  --aa-white: var(--aa-surface);/* zadržano ime iz v1/v2 */
  --aa-surface-2: #FAFAFC;     /* mirna sekcija u površini */
  --aa-fill: #F2F3F7;          /* punjeno polje / kontrola */
  --aa-fill-2: #F5F6FA;        /* punjeno, mirnije */
  --aa-fill-strong: #EFF0F5;   /* punjeno, izraženije (hover) */
  --aa-bg: #F8FAFC;            /* podloga aplikacije */
  --aa-hair: #E8EAF1;          /* vlas linija oko površina */
  --aa-hair-strong: #D9DEE8;
  --aa-line: #F1F5F9;          /* linija između redova */
  --aa-border: #E2E8F0;

  --aa-text: #1E293B;
  --aa-slate: var(--aa-text);   /* zadržano ime iz v1/v2 */
  --aa-muted: #64748B;
  --aa-muted-fill: #475569;     /* tekst na punjenim kontrolama */

  /* semantika — tekst */
  --aa-success: #00A32A;
  --aa-success-dark: #065F46;
  --aa-success-2: #166534;
  --aa-warning: #92400E;
  --aa-warning-2: #D97706;
  --aa-warning-3: #7C2D12;
  --aa-danger: #D63638;
  --aa-danger-fill: #DC2626;  /* punjenje sa belim tekstom (brojač, oznaka) */
  --aa-danger-2: #DC2626;
  --aa-danger-dark: #991B1B;
  --aa-danger-3: #B91C1C;
  --aa-info: #1D4ED8;
  --aa-info-2: #1E40AF;
  --aa-info-3: #075985;
  --aa-contacted: #3730A3;
  --aa-violet: #5B21B6;
  --aa-violet-2: #7C3AED;
  --aa-pink: #9D174D;
  --aa-pink-2: #DB2777;

  /* semantika — grafikoni i tačke */
  --aa-emerald: #10B981;
  --aa-emerald-dark: #059669;
  --aa-red: #EF4444;
  --aa-amber: #F59E0B;
  --aa-blue: #3B82F6;
  --aa-indigo: #6366F1;
  --aa-sky: #0284C7;

  /* semantika — tinte i linije */
  --aa-success-bg: #D1FAE5;
  --aa-success-bg-2: #DCFCE7;
  --aa-success-bg-3: #F0FDF4;
  --aa-success-line: #A7F3D0;
  --aa-success-line-2: #BBF7D0;
  --aa-warning-bg: #FEF3C7;
  --aa-warning-bg-2: #FFFBEB;
  --aa-warning-line: #FDE68A;
  --aa-danger-bg: #FEE2E2;
  --aa-danger-bg-2: #FEF1F1;
  --aa-danger-line: #FECACA;
  --aa-danger-line-2: #FCA5A5;
  --aa-info-bg: #EFF6FF;
  --aa-info-bg-2: #E0F2FE;
  --aa-info-border: #BFDBFE;
  --aa-info-line-2: #BAE6FD;
  --aa-contacted-bg: #EEF2FF;
  --aa-contacted-line: #C7D2FE;
  --aa-violet-bg: #EDE9FE;
  --aa-violet-line: #DDD6FE;
  --aa-pink-bg: #FCE7F3;
  --aa-pink-line: #FBCFE8;

  /* oblici, senke (senka samo za ono što zaista lebdi) */
  --aa-r: 8px;
  --aa-r-sm: 6px;
  --aa-r-pill: 999px;
  --aa-shadow-xs: 0 1px 2px rgba(42,16,84,.04);
  --aa-shadow: 0 1px 2px rgba(42,16,84,.05);
  --aa-shadow-md: 0 14px 34px -12px rgba(24,16,40,.34);
  --aa-ease: cubic-bezier(.22,1,.36,1);

  /* gornja traka */
  --aa-bar-bg: rgba(248,250,252,.88);
  --aa-seg-fg: #2A1054;        /* izabrana opcija u prekidaču */

  /* bočna navigacija */
  --aa-nav-bg: #2A1054;
  --aa-nav-hair: rgba(255,255,255,.07);
  --aa-nav-fg: rgba(255,255,255,.66);
  --aa-nav-hover: rgba(255,255,255,.10);
  --aa-nav-on: rgba(255,255,255,.085);
  --aa-nav-label: rgba(188,153,209,.82);
  --aa-nav-ind: #BC99D1;
  --aa-nav-badge: #FBBFBF;   /* hitan brojač i tačka u navigaciji — svetla u obe teme */

  /* gustina — podrazumevano */
  --aa-row-y: 9px;
  --aa-scroll: #cbd5e1;
  --aa-scroll-hover: #94a3b8;
}

/* ---------------- tamna tema (zasebni tokeni, ne inverzija) ----- */
[data-theme="dark"] {
  --aa-p1: #5C3180;
  --aa-p1-text: #E3D3F2;
  --aa-p2: #CBAAE4;
  --aa-p2-fill: #6E3E97;
  --aa-p3: #B489D6;
  --aa-p4: #C9A9E0;
  --aa-p5: #33264C;
  --aa-p6: #221C38;

  --aa-surface: #1C1830;
  --aa-surface-2: #201B33;
  --aa-fill: #272139;
  --aa-fill-2: #2B2540;
  --aa-fill-strong: #322B49;
  --aa-bg: #131022;
  --aa-hair: #302A46;
  --aa-hair-strong: #3E3759;
  --aa-line: #292340;
  --aa-border: #362F4E;

  --aa-text: #ECEAF4;
  --aa-muted: #A29EB8;
  --aa-muted-fill: #C6C2D8;

  --aa-success: #4ADE80;
  --aa-success-dark: #86EFAC;
  --aa-success-2: #86EFAC;
  --aa-warning: #FCD34D;
  --aa-warning-2: #FBBF24;
  --aa-warning-3: #FDBA74;
  --aa-danger: #F87171;
  --aa-danger-fill: #B42318;
  --aa-ind: #C9A9E0;
  --aa-danger-2: #F87171;
  --aa-danger-dark: #FCA5A5;
  --aa-danger-3: #FCA5A5;
  --aa-info: #93B8FF;
  --aa-info-2: #A5C0FF;
  --aa-info-3: #7DD3FC;
  --aa-contacted: #A5B4FC;
  --aa-violet: #C4B5FD;
  --aa-violet-2: #A78BFA;
  --aa-pink: #F9A8D4;
  --aa-pink-2: #F472B6;

  --aa-emerald: #34D399;
  --aa-emerald-dark: #34D399;
  --aa-red: #F87171;
  --aa-amber: #FBBF24;
  --aa-blue: #60A5FA;
  --aa-indigo: #818CF8;
  --aa-sky: #38BDF8;

  --aa-success-bg: #10301F;
  --aa-success-bg-2: #123524;
  --aa-success-bg-3: #16251C;
  --aa-success-line: #1C4732;
  --aa-success-line-2: #1C4732;
  --aa-warning-bg: #33280D;
  --aa-warning-bg-2: #2A2413;
  --aa-warning-line: #4A3813;
  --aa-danger-bg: #3A1A1C;
  --aa-danger-bg-2: #301718;
  --aa-danger-line: #56262A;
  --aa-danger-line-2: #6B3034;
  --aa-info-bg: #16243D;
  --aa-info-bg-2: #10293D;
  --aa-info-border: #27405F;
  --aa-info-line-2: #27405F;
  --aa-contacted-bg: #1E2044;
  --aa-contacted-line: #333868;
  --aa-violet-bg: #251E47;
  --aa-violet-line: #3A2F6B;
  --aa-pink-bg: #35162A;
  --aa-pink-line: #4B1F3B;

  --aa-shadow-xs: 0 1px 2px rgba(0,0,0,.30);
  --aa-shadow: 0 1px 2px rgba(0,0,0,.35);
  --aa-shadow-md: 0 16px 40px -14px rgba(0,0,0,.70);

  --aa-bar-bg: rgba(19,16,34,.88);
  --aa-seg-fg: #ECEAF4;
  --aa-nav-bg: #191430;
  --aa-nav-hair: rgba(255,255,255,.06);
  --aa-nav-fg: rgba(236,234,244,.62);
  --aa-nav-hover: rgba(255,255,255,.08);
  --aa-nav-on: rgba(255,255,255,.07);
  --aa-nav-label: rgba(180,137,214,.85);
  --aa-nav-ind: #B489D6;
  --aa-nav-badge: #FFB4AB;

  --aa-scroll: #3C3557;
  --aa-scroll-hover: #504770;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

html { background: var(--aa-bg); }

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: var(--aa-text);
  background: var(--aa-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--aa-p2); text-decoration: none; }
a:hover { color: var(--aa-p1); }
[data-theme="dark"] a { color: var(--aa-p3); }
[data-theme="dark"] a:hover { color: var(--aa-p4); }

button, input, select, textarea { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--aa-p4); outline-offset: 2px; }

::selection { background: var(--aa-p5); color: var(--aa-p1); }
[data-theme="dark"] ::selection { background: var(--aa-p5); color: var(--aa-text); }

h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }

table { border-collapse: collapse; width: 100%; }

/* brojevi u tabelama */
.tnum { font-variant-numeric: tabular-nums; }

/* ---------------- gustina ---------------------------------------
   Podrazumevano ne menja ništa (ekrani zadržavaju svoje mere);
   „Udobno“ i „Zbijeno“ menjaju samo visinu reda i ritam tabele.   */
[data-density="udobno"] th,
[data-density="udobno"] td { padding-top: 14px !important; padding-bottom: 14px !important; }
[data-density="udobno"] { --aa-row-y: 14px; }

[data-density="zbijeno"] th,
[data-density="zbijeno"] td { padding-top: 5px !important; padding-bottom: 5px !important; }
[data-density="zbijeno"] { --aa-row-y: 5px; font-size: 13px; }
[data-density="zbijeno"] body { font-size: 13px; }

/* tanke klizače u panelima */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--aa-scroll); border-radius: 99px; border: 3px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background: var(--aa-scroll-hover); background-clip: content-box; }
*::-webkit-scrollbar-track { background: transparent; }

@keyframes aa-toast-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes aa-pulse { 0%, 100% { box-shadow: 0 0 0 2px rgba(34,197,94,.25); } 50% { box-shadow: 0 0 0 5px rgba(34,197,94,.10); } }
@keyframes aa-spin { to { transform: rotate(360deg); } }
@keyframes aa-skeleton { 0% { opacity: .55; } 50% { opacity: 1; } 100% { opacity: .55; } }
@keyframes aa-fade-in { from { opacity: 0; transform: translateY(6px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
