/* ==========================================================================
   Akış — tasarım tokenları (AKIS_SPEC 2.x)
   Renk değişmezlerinin (hex/rgb) yaşayabileceği TEK Akış dosyası (D11).
   Üç bağımsız öznitelik <html> üzerinde:
     data-theme  = vurgu rengi (blue teal cobalt indigo violet amber)
     data-mode   = light | dark (yoksa sistem)
     data-detail = simple | detailed (bu dosyada yalnız yoğunluk)
   Her vurgu bloğu altı ham değeri bir kez tanımlar (--primary-l … --primary-soft-d);
   kip blokları bunları --primary / --primary-ink / --primary-soft'a eşler.
   ========================================================================== */

/* --- Yazı tipi: Onest (OFL-1.1, @fontsource-variable/onest@5.3.1), kendi sunucumuzda --- */
/* latin-ext: ğ ş İ ve ₺ (U+20BA) yalnız burada. unicode-range wght.css'ten aynen. */
@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/onest/onest-latin-ext-5.3.1.woff2") format("woff2-variations"), url("/fonts/onest/onest-latin-ext-5.3.1.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/onest/onest-latin-5.3.1.woff2") format("woff2-variations"), url("/fonts/onest/onest-latin-5.3.1.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* --- Ham değerler + kipten bağımsız tokenlar --------------------------------- */
:root {
  /* Nötrler: açık (-l) ve koyu (-d) ham değerler */
  --bg-l: #f6f4ef;            --bg-d: #0f1013;
  --surface-l: #ffffff;       --surface-d: #17191e;
  --surface-2-l: #f1eee7;     --surface-2-d: #1f2128;
  --surface-3-l: #e9e5db;     --surface-3-d: #272a32;
  --fg-l: #17181c;            --fg-d: #ecedef;
  --fg-2-l: #3b3c41;          --fg-2-d: #c9cbd1;
  --muted-l: #696862;         --muted-d: #9a9da6;
  --line-l: #e4e0d6;          --line-d: #2a2d35;
  --line-strong-l: #8d887c;   --line-strong-d: #737885;
  --overlay-l: rgba(23, 24, 28, .32); --overlay-d: rgba(0, 0, 0, .55);
  --inv-bg-l: #17181c;        --inv-bg-d: #ecedef;
  --inv-fg-l: #f6f4ef;        --inv-fg-d: #0f1013;
  --inv-bad-l: #ff8478;       --inv-bad-d: #b9322a;
  /* Durum (D3: dört anlam) */
  --ok-l: #1b7a4f;            --ok-d: #55cf93;
  --ok-soft-l: #e2f2e8;       --ok-soft-d: #20322e;
  --info-l: #2152d9;          --info-d: #7fa2ff;
  --info-soft-l: #e7edfc;     --info-soft-d: #262c3e;
  --warn-l: #8f5600;          --warn-d: #f0b55a;
  --warn-soft-l: #fbeed5;     --warn-soft-d: #352f26;
  --bad-l: #b9322a;           --bad-d: #ff8478;
  --bad-soft-l: #fbe6e3;      --bad-soft-d: #37282b;
  --on-status-l: #ffffff;     --on-status-d: #0f1013;
  --on-primary-l: #ffffff;    --on-primary-d: #0f1013;
  /* Grafik */
  --chart-1-l: #2257e6;       --chart-1-d: #7097ff;
  --chart-2-l: #1b7a4f;       --chart-2-d: #55cf93;
  --chart-3-l: #8f5600;       --chart-3-d: #f0b55a;
  --chart-4-l: #8e5bd9;       --chart-4-d: #b08cff;
  --chart-5-l: #7c8794;       --chart-5-d: #8d94a3;
  --chart-6-l: #b9322a;       --chart-6-d: #ff8478;
  --shadow-1-l: 0 1px 2px rgba(23, 24, 28, .04), 0 6px 20px -12px rgba(23, 24, 28, .12);
  --shadow-2-l: 0 2px 6px rgba(23, 24, 28, .06), 0 16px 40px -16px rgba(23, 24, 28, .22);
  --shadow-3-l: -20px 0 50px -30px rgba(0, 0, 0, .35);

  /* Yazı */
  --f: "Onest", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --f-mono: ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", monospace;
  --fs-hero: clamp(2.25rem, 1.8rem + 2.2vw, 3.25rem);
  --fs-h1: clamp(1.4rem, 1.2rem + 1vw, 1.875rem);
  --fs-h2: 1.0625rem;
  --fs-lg: 1rem;
  --fs-md: .9375rem;
  --fs-sm: .84375rem;
  --fs-xs: .75rem;
  --fs-num-lg: 1.45rem;
  --fs-table: var(--fs-md);

  /* Boşluk (4 px taban) */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
  --gutter: clamp(16px, 3.2vw, 40px);
  --card-pad: 20px;
  --gap-page: 22px;

  /* Boyut */
  --h-sm: 32px; --h-md: 40px; --h-lg: 48px;
  --row-h: 56px;
  --ic: 20px; --ic-sm: 17px;
  --topbar-h: 64px;

  /* Köşe */
  --r-xs: 6px; --r-sm: 9px; --r-md: 11px; --r-lg: 14px; --r-xl: 18px; --r-sheet: 22px; --r-pill: 999px;

  /* Hareket (2.5 + hareket katmanı, motion.css): sakin, kısa, amaçlı. 400 ms üstü hareket yok
     (tek istisna tek rakam sayacı, app.js countUp ~600 ms). --ease eski adı = --ease-out. */
  --dur-1: 120ms; --dur-2: 180ms; --dur-3: 260ms; --dur-4: 380ms;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1); /* idareli: yalnız alt sekme simgesi */
  --stagger: 40ms;   /* ekran girişinde kart başına gecikme (en çok 6 basamak) */
  --rise: 6px;       /* giren ekran/kartın yükselişi */
  --press: .97;      /* basılı düğme ölçeği */

  /* Katman */
  --z-sticky: 10; --z-side: 20; --z-tabbar: 30; --z-dock: 35; --z-menu: 40;
  --z-scrim: 50; --z-overlay: 60; --z-overlay-top: 65; --z-toast: 90;
}

/* Telefon: dokunma hedefi 44 px */
@media (max-width: 819px) {
  :root { --h-md: 44px; --card-pad: 16px; --gap-page: 16px; }
}

/* Hareket azaltma (tek blok): bütün süreler, gecikmeler, kaymalar ve basma ölçeği sıfır.
   Hareket katmanı (motion.css) yalnız bu tokenları kullanır; base.css'teki genel .01ms
   kuralı tokensız eski geçişleri de keser. JS (akisMotionOK) aynı sorguya bakar. */
@media (prefers-reduced-motion: reduce) {
  :root { --dur-1: 0ms; --dur-2: 0ms; --dur-3: 0ms; --dur-4: 0ms; --stagger: 0ms; --rise: 0px; --press: 1; }
}

/* Ayrıntılı: daha sık satır (5.5) */
:root[data-detail="detailed"] { --row-h: 44px; --fs-table: var(--fs-sm); --card-pad: 16px; }

/* --- Vurgu renkleri: her tema altı ham değer -------------------------------- */
/* `[data-theme=…]` kökte ve önizleme kapsayıcılarında (.ax-theme-scope) çalışır. */
[data-theme="blue"], :root:not([data-theme]) {
  --primary-l: #2257e6; --primary-ink-l: #1a45ba; --primary-soft-l: #e7edfc;
  --primary-d: #7097ff; --primary-ink-d: #9bb6ff; --primary-soft-d: #252d42;
}
[data-theme="teal"] {
  --primary-l: #0f766e; --primary-ink-l: #0b5f58; --primary-soft-l: #ddf1ee;
  --primary-d: #3cc9b7; --primary-ink-d: #7fe0d3; --primary-soft-d: #1d3536;
}
[data-theme="cobalt"] {
  --primary-l: #1f4fc4; --primary-ink-l: #173e9e; --primary-soft-l: #e2e9fa;
  --primary-d: #6e9bff; --primary-ink-d: #9dbbff; --primary-soft-d: #252e42;
}
[data-theme="indigo"] {
  --primary-l: #4f46e5; --primary-ink-l: #3f37c4; --primary-soft-l: #e8e7fc;
  --primary-d: #8b87ff; --primary-ink-d: #b0adff; --primary-soft-d: #2a2b42;
}
[data-theme="violet"] {
  --primary-l: #7c3aed; --primary-ink-l: #6427c9; --primary-soft-l: #efe7fd;
  --primary-d: #b08cff; --primary-ink-d: #cdb6ff; --primary-soft-d: #2f2b42;
}
[data-theme="amber"] {
  --primary-l: #b45309; --primary-ink-l: #8f4206; --primary-soft-l: #fbeedb;
  --primary-d: #f2a54a; --primary-ink-d: #f8c384; --primary-soft-d: #3a2f25;
}

/* --- Açık kip (varsayılan) ---------------------------------------------------- */
:root {
  --bg: var(--bg-l); --surface: var(--surface-l); --surface-2: var(--surface-2-l); --surface-3: var(--surface-3-l);
  --fg: var(--fg-l); --fg-2: var(--fg-2-l); --muted: var(--muted-l);
  --line: var(--line-l); --line-strong: var(--line-strong-l); --overlay: var(--overlay-l);
  --inv-bg: var(--inv-bg-l); --inv-fg: var(--inv-fg-l); --inv-bad: var(--inv-bad-l);
  --ok: var(--ok-l); --ok-soft: var(--ok-soft-l); --info: var(--info-l); --info-soft: var(--info-soft-l);
  --warn: var(--warn-l); --warn-soft: var(--warn-soft-l); --bad: var(--bad-l); --bad-soft: var(--bad-soft-l);
  --on-status: var(--on-status-l);
  --chart-1: var(--chart-1-l); --chart-2: var(--chart-2-l); --chart-3: var(--chart-3-l);
  --chart-4: var(--chart-4-l); --chart-5: var(--chart-5-l); --chart-6: var(--chart-6-l);
  --chart-in: var(--ok); --chart-out: var(--fg-2);
  --shadow-1: var(--shadow-1-l); --shadow-2: var(--shadow-2-l); --shadow-3: var(--shadow-3-l);
  --primary: var(--primary-l); --primary-ink: var(--primary-ink-l); --primary-soft: var(--primary-soft-l);
  --on-primary: var(--on-primary-l); --inv-link: var(--primary-ink-d);
  color-scheme: light;
}
/* Önizleme kapsayıcısı (Ayarlar › Görünüm, kitchen sink): kendi data-theme'ini çözer. */
.ax-theme-scope {
  --primary: var(--primary-l); --primary-ink: var(--primary-ink-l); --primary-soft: var(--primary-soft-l);
  --on-primary: var(--on-primary-l); --inv-link: var(--primary-ink-d);
}

/* --- Koyu kip: sistem (data-mode yok) ------------------------------------------ */
@media (prefers-color-scheme: dark) {
  :root:not([data-mode="light"]) {
    --bg: var(--bg-d); --surface: var(--surface-d); --surface-2: var(--surface-2-d); --surface-3: var(--surface-3-d);
    --fg: var(--fg-d); --fg-2: var(--fg-2-d); --muted: var(--muted-d);
    --line: var(--line-d); --line-strong: var(--line-strong-d); --overlay: var(--overlay-d);
    --inv-bg: var(--inv-bg-d); --inv-fg: var(--inv-fg-d); --inv-bad: var(--inv-bad-d);
    --ok: var(--ok-d); --ok-soft: var(--ok-soft-d); --info: var(--info-d); --info-soft: var(--info-soft-d);
    --warn: var(--warn-d); --warn-soft: var(--warn-soft-d); --bad: var(--bad-d); --bad-soft: var(--bad-soft-d);
    --on-status: var(--on-status-d);
    --chart-1: var(--chart-1-d); --chart-2: var(--chart-2-d); --chart-3: var(--chart-3-d);
    --chart-4: var(--chart-4-d); --chart-5: var(--chart-5-d); --chart-6: var(--chart-6-d);
    --shadow-1: none; --shadow-2: none; --shadow-3: none;
    --primary: var(--primary-d); --primary-ink: var(--primary-ink-d); --primary-soft: var(--primary-soft-d);
    --on-primary: var(--on-primary-d); --inv-link: var(--primary-ink-l);
    color-scheme: dark;
  }
  :root:not([data-mode="light"]) .ax-theme-scope {
    --primary: var(--primary-d); --primary-ink: var(--primary-ink-d); --primary-soft: var(--primary-soft-d);
    --on-primary: var(--on-primary-d); --inv-link: var(--primary-ink-l);
  }
}

/* --- Koyu kip: zorla (data-mode="dark") ------------------------------------------ */
:root[data-mode="dark"] {
  --bg: var(--bg-d); --surface: var(--surface-d); --surface-2: var(--surface-2-d); --surface-3: var(--surface-3-d);
  --fg: var(--fg-d); --fg-2: var(--fg-2-d); --muted: var(--muted-d);
  --line: var(--line-d); --line-strong: var(--line-strong-d); --overlay: var(--overlay-d);
  --inv-bg: var(--inv-bg-d); --inv-fg: var(--inv-fg-d); --inv-bad: var(--inv-bad-d);
  --ok: var(--ok-d); --ok-soft: var(--ok-soft-d); --info: var(--info-d); --info-soft: var(--info-soft-d);
  --warn: var(--warn-d); --warn-soft: var(--warn-soft-d); --bad: var(--bad-d); --bad-soft: var(--bad-soft-d);
  --on-status: var(--on-status-d);
  --chart-1: var(--chart-1-d); --chart-2: var(--chart-2-d); --chart-3: var(--chart-3-d);
  --chart-4: var(--chart-4-d); --chart-5: var(--chart-5-d); --chart-6: var(--chart-6-d);
  --shadow-1: none; --shadow-2: none; --shadow-3: none;
  --primary: var(--primary-d); --primary-ink: var(--primary-ink-d); --primary-soft: var(--primary-soft-d);
  --on-primary: var(--on-primary-d); --inv-link: var(--primary-ink-l);
  color-scheme: dark;
}
:root[data-mode="dark"] .ax-theme-scope {
  --primary: var(--primary-d); --primary-ink: var(--primary-ink-d); --primary-soft: var(--primary-soft-d);
  --on-primary: var(--on-primary-d); --inv-link: var(--primary-ink-l);
}

/* Açık ada: koyu kipte de beyaz "kâğıt" (fatura önizlemesi, ekstre/rapor baskısı).
   Özel özellikler kalıtılır; adanın kendi bildirimi her zaman kazanır. */
.ax-light {
  --bg: var(--bg-l); --surface: var(--surface-l); --surface-2: var(--surface-2-l); --surface-3: var(--surface-3-l);
  --fg: var(--fg-l); --fg-2: var(--fg-2-l); --muted: var(--muted-l);
  --line: var(--line-l); --line-strong: var(--line-strong-l); --overlay: var(--overlay-l);
  --inv-bg: var(--inv-bg-l); --inv-fg: var(--inv-fg-l); --inv-bad: var(--inv-bad-l);
  --ok: var(--ok-l); --ok-soft: var(--ok-soft-l); --info: var(--info-l); --info-soft: var(--info-soft-l);
  --warn: var(--warn-l); --warn-soft: var(--warn-soft-l); --bad: var(--bad-l); --bad-soft: var(--bad-soft-l);
  --on-status: var(--on-status-l);
  --chart-1: var(--chart-1-l); --chart-2: var(--chart-2-l); --chart-3: var(--chart-3-l);
  --chart-4: var(--chart-4-l); --chart-5: var(--chart-5-l); --chart-6: var(--chart-6-l);
  --shadow-1: var(--shadow-1-l); --shadow-2: var(--shadow-2-l); --shadow-3: var(--shadow-3-l);
  --primary: var(--primary-l); --primary-ink: var(--primary-ink-l); --primary-soft: var(--primary-soft-l);
  --on-primary: var(--on-primary-l); --inv-link: var(--primary-ink-d);
  color-scheme: light;
  color: var(--fg);
}

/* Baskı: her zaman açık. Seçiciler koyu blokların HER birini (aynı özgüllük, daha
   sonra gelir) kapsar; aksi hâlde :root[data-mode="dark"] (0,2,0) baskıyı ezer ve
   kâğıda neredeyse beyaz metin basılır. Tam açık takım yeniden bildirilir; gölge yok.
   akis-tokens testi her koyu seçicinin burada da bulunduğunu doğrular. */
@media print {
  :root, :root[data-mode], :root[data-mode="dark"], :root:not([data-mode="light"]) {
    --bg: var(--bg-l); --surface: var(--surface-l); --surface-2: var(--surface-2-l); --surface-3: var(--surface-3-l);
    --fg: var(--fg-l); --fg-2: var(--fg-2-l); --muted: var(--muted-l);
    --line: var(--line-l); --line-strong: var(--line-strong-l); --overlay: var(--overlay-l);
    --inv-bg: var(--inv-bg-l); --inv-fg: var(--inv-fg-l); --inv-bad: var(--inv-bad-l);
    --ok: var(--ok-l); --ok-soft: var(--ok-soft-l); --info: var(--info-l); --info-soft: var(--info-soft-l);
    --warn: var(--warn-l); --warn-soft: var(--warn-soft-l); --bad: var(--bad-l); --bad-soft: var(--bad-soft-l);
    --on-status: var(--on-status-l);
    --chart-1: var(--chart-1-l); --chart-2: var(--chart-2-l); --chart-3: var(--chart-3-l);
    --chart-4: var(--chart-4-l); --chart-5: var(--chart-5-l); --chart-6: var(--chart-6-l);
    --shadow-1: none; --shadow-2: none; --shadow-3: none;
    --primary: var(--primary-l); --primary-ink: var(--primary-ink-l); --primary-soft: var(--primary-soft-l);
    --on-primary: var(--on-primary-l); --inv-link: var(--primary-ink-d);
    color-scheme: light;
  }
  .ax-theme-scope, :root[data-mode="dark"] .ax-theme-scope, :root:not([data-mode="light"]) .ax-theme-scope {
    --primary: var(--primary-l); --primary-ink: var(--primary-ink-l); --primary-soft: var(--primary-soft-l);
    --on-primary: var(--on-primary-l); --inv-link: var(--primary-ink-d);
  }
}
