/* =========================================================================
   VARSAYILAN TEMA — Academic ortak tasarım dili (2026-09-03)

   Hasta Memnuniyet Uygulaması ile AYNI dil. Kullanıcı onayı: *"onaylıyorum
   geçelim ve örnek projemizle birebir aynı tarzda olsun, renklerine kadar"* ve
   ardından *"onay"* (varsayılan yapılsın). Önceki mavi tema `tema-klasik.css`
   olarak duruyor; `?tema=klasik` ile açılır.

   Kullanıcı kararı: *"örnek projemizle birebir aynı tarzda olsun, renklerine
   kadar"* ve *"ilerideki amacım tek giriş ekranından bu modülleri
   birleştirebilmek, dolayısıyla tek dil istiyorum."*

   KAYNAK: `Hasta Memnuniyet Uygulamasi/academic_hospital_design/DESIGN.md`
   (Google Stitch biçimi) ve `screens/` altındaki 25 gerçek ekran. Renkler
   DESIGN.md'den BİREBİR; ölçüler ekranların Tailwind sınıflarından ölçülerek
   alındı (menü 244px, menü öğesi 44px/radius 8, kart radius 12, KPI sayısı
   30px, satır düğmesi 32px…).

   ÜÇ BİLİNÇLİ SAPMA — hepsi kullanıcının kendi önceki kararlarından doğuyor:
   1. Gövde ve tablo puntosu küçültülmedi. Referans tabloda 12px kullanıyor,
      bizde 13px kalıyor: kullanıcı 2026-08-16'da puntoyu "çok küçük" bulup
      yükseltmişti. Ferahlık puntoyu küçülterek değil, KUTUYU BÜYÜTEREK
      yakalanıyor (--ctl-h 36→44px) — bu da kullanıcının kendi kuralı.
   2. Üst çubuk 82px değil 56px: referansta başlık+açıklama+eylem TEK şeritte,
      bizde üst çubuk ile sayfa başlığı ayrı iki şerit. 82px iki şeridi
      üst üste koyup ekranın üçte birini yerdi.
   3. Referansın 10px mikro etiketleri 11px tabanımıza çekildi (menü bölüm
      başlığı, tablo başlığı, eyebrow) — aynı gerekçe ve Impeccable dedektörünün
      "11px altı okunabilirlik hatası" kuralı.
   4. Referansta bulunmayan türev tokenlar (--faint, --surface-2, --zebra…)
      WCAG AA'yı geçen EN AÇIK tonla türetildi (test_tema_kontrast.py).

   Belgeler (A4 proforma, doktor listesi, doğum) bu dosyadan ETKİLENMEZ —
   style.css'te "BELGE (tema dışı)" işaretleri arasında, kendi tokenlarıyla.
   ========================================================================= */

/* ---- Inter, YEREL barındırılıyor ----------------------------------------
   Sistem kapalı devre ve CSP `font-src 'self'` diyor: Google Fonts'tan canlı
   çekmek tarayıcıda sessizce reddedilirdi. Dosyalar `static/fonts/` altında.
   latin-ext ŞART: ğ, Ğ, ş, Ş, İ orada (ı ve ç/ö/ü latin'de). ------------- */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-400-latin-ext.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: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-400-latin.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/inter-500-latin-ext.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: "Inter"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/inter-500-latin.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/inter-600-latin-ext.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: "Inter"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/inter-600-latin.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/inter-700-latin-ext.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: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/inter-700-latin.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;

  /* ---- DESIGN.md'den BİREBİR ---- */
  --pri: #E22726;          /* primary — Academic kırmızısı */
  --pri-mid: #EF4444;      /* açık ton: odak kenarlığı, açık anahtar */
  --pri-ink: #B91C1C;      /* primaryDark — koyu kırmızı metin ve hover */
  --pri-soft: #FFF1F1;     /* accent — açık kırmızı yüzey */
  --ink: #111827;          /* secondary — ana metin ve koyu eylem */
  --bg: #F7F8FA;           /* background */
  --panel: #FFFFFF;        /* surface */
  --line: #E5E7EB;         /* border */
  --ok: #15803D;           /* success */
  --warn: #C2410C;         /* warning */
  --info: #1D4ED8;         /* info */
  --neg: #B91C1C;          /* error */

  /* ---- referanstan türetilen yüzeyler ---- */
  --surface: #F9FAFB; --surface-2: #F5F6F8; --head-bg: #F9FAFB; --zebra: #FCFCFD;
  --line-strong: #D1D5DB;  /* ikon düğme çerçevesi */
  --line-hover: #9CA3AF;
  --disabled-bg: #F3F4F6;
  --panel-tint: #FFFBFB;
  --panel-glass: rgba(255, 255, 255, .96);

  /* ---- metin ---- */
  --mut: #6a717f;          /* neutral #6B7280, açık yüzeylerde AA'yı geçen ton */
  --faint: #878f9e;        /* yalnız devre dışı öğe ve büyük metin (3:1) */
  --head-ink: #6a717f;     /* tablo başlığı */
  --on-pri: #FFFFFF;       /* dolu yüzeyde yazı */

  /* ---- durum yüzeyleri (referansın rozet zeminleri) ---- */
  --ok-soft: #DCFCE7; --ok-line: #BBF7D0; --ok-soft-hover: #D0F5DE;
  --warn-soft: #FFEDD5; --warn-line: #FED7AA;
  --neg-soft: #FEE2E2; --neg-line: #FECACA;
  --info-soft: #EFF6FF;
  --pri-line: #FECACA;
  --focus: #F87171;
  --sel: #FFF1F1; --sel-hover: #FFE4E4;

  /* fiyat yönü: artıran yeşil, azaltan kırmızı */
  --up-soft: #F0FDF4; --up-line: #BBF7D0;
  --down-soft: #FEF2F2; --down-line: #FECACA; --down-faint: #FFFAFA;

  /* ek anlam tonları (referans paletinin komşuları) */
  --amber: #9f6107; --amber-soft: #FEF3C7; --amber-faint: #FFFBEB;
  --teal: #0E7490; --teal-soft: #ECFEFF;
  --step-bg: #F3F4F6; --step-ink: #4B5563;
  --switch-off: #B6BCC6;   /* kapalı anahtar — açıkken kırmızıdan net ayrılır */

  /* kart içi bildirim kutusu */
  --notice-line: #FECACA; --notice-ink: #B91C1C;
  --notice-warn-line: #FED7AA; --notice-warn-ink: #C2410C;
  --notice-neg-line: #FECACA; --notice-neg-ink: #B91C1C;

  /* ---- sol menü: koyu #111827, seçili öğe KIRMIZI DOLU YASTIK ---- */
  --nav-bg: #111827;
  --nav-ink: #FFFFFF;
  --nav-mut: rgba(255, 255, 255, .45);
  --nav-on: #E22726;
  --nav-mark: transparent;      /* sol çubuk yok; seçim yastıkla gösterilir */
  --nav-line: rgba(255, 255, 255, .10);
  --nav-hover: rgba(255, 255, 255, .06);
  --nav-brand: #FFFFFF;
  --nav-line-strong: rgba(255, 255, 255, .24);
  --nav-line-solid: #1F2937;
  --overlay: rgba(17, 24, 39, .45);

  /* ---- boşluk: DESIGN.md 4·8·16·24·40 ---- */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 40px;

  /* ---- punto: gövde ölçeği KORUNDU (bkz. başlıktaki 1. sapma);
         yalnız sayfa başlığı referansın 24px'ine çekildi ---- */
  --fs-3xs: 11px; --fs-2xs: 12px; --fs-xs: 13px; --fs-sm: 14px; --fs-md: 15px;
  --fs-lg: 17px; --fs-xl: 20px; --fs-2xl: 30px;  /* KPI sayısı — referans text-3xl */
  --fs-3xl: 24px;                                 /* sayfa başlığı — referans 24px/700 */

  /* ---- ölçüler: ekrandan birebir ---- */
  --ctl-h: 44px;        /* h-11: düğme, alan, menü öğesi, ikon düğme */
  --ctl-h-sm: 36px;     /* h-9: filtre ve satır içi düğme */
  --topbar-h: 56px;
  --nav-w: 244px;
  --kol: 1;

  --radius-xs: 6px; --radius-sm: 8px; --radius: 9px; --radius-lg: 12px; --radius-xl: 16px;

  /* gölge yerine çerçeve: referans kartları gölgesiz */
  --shadow-1: 0 1px 2px rgba(16, 24, 40, .04);
  --shadow-2: 0 20px 48px rgba(16, 24, 40, .18);
  --shadow-pri: 0 8px 18px rgba(226, 39, 38, .20);   /* referans giriş düğmesi gölgesi */
  --nav-ink-soft: rgba(255, 255, 255, .70);          /* koyu panelde ikincil metin */
  --ctl-h-lg: 54px;                                  /* h-[54px]: giriş alanı ve düğmesi */
  --fs-4xl: 48px;                                    /* display — giriş manşeti */
  --shadow-knob: 0 1px 2px rgba(16, 24, 40, .2);
  --shadow-up: 0 -8px 24px rgba(16, 24, 40, .08);
  --shadow-nav: 4px 0 18px rgba(16, 24, 40, .12);
  --focus-ring: 0 0 0 3px rgba(226, 39, 38, .18);
  --focus-ring-soft: 0 0 0 2px rgba(226, 39, 38, .1);
  --neg-ring: 0 0 0 3px rgba(185, 28, 28, .14);
  --t-fast: 140ms ease;

  /* ---- roller ---- */
  --rol-super_yonetici: #6D28D9; --rol-super_yonetici-zemin: #F5F3FF;
  --rol-yonetici: #C2410C;       --rol-yonetici-zemin: #FFEDD5;
  --rol-fiyatlandirma: #B91C1C;  --rol-fiyatlandirma-zemin: #FFF1F1;
  --rol-goruntuleyen: #4B5563;   --rol-goruntuleyen-zemin: #F3F4F6;
  --rol-yatan_hasta: #1D4ED8;   --rol-yatan_hasta-zemin: #DBEAFE; --rol-yatan_hasta-cizgi: #BFDBFE;
  --rol-super_yonetici-cizgi: #DDD6FE; --rol-yonetici-cizgi: #FED7AA;
  --rol-fiyatlandirma-cizgi: #FECACA;
  /* Giriş ekranı (referans tasarım 2026-09-04). Marka paneli her temada aynıdır:
     kurumsal giriş kapısı tema denemesiyle değişmemeli. */
  --giris-panel: radial-gradient(circle at 75% 45%, rgba(230, 30, 40, .06), transparent 32%),
                 linear-gradient(145deg, #111B2C 0%, #101A2B 45%, #0D1727 100%);
  --giris-panel-ink: #FFFFFF;
  --giris-panel-mut: rgba(255, 255, 255, .60);
  --giris-panel-isim: rgba(255, 255, 255, .74);
  --giris-yay: rgba(239, 38, 48, .35);
  --giris-yay-golge: 0 0 35px rgba(235, 30, 40, .05);
  --giris-alan: linear-gradient(90deg, #EDF4FF, #E8F0FD);
  --giris-alan-cizgi: #D2D9E5;
  --giris-goster: rgba(255, 255, 255, .75);
  --giris-btn: linear-gradient(90deg, #ED2525, #EF2B2B);
}

/* Büyük ekranda punto ve kutu birlikte büyür (kullanıcı kararı 2026-08-16). */
@media (min-width: 1600px) {
  :root {
    --fs-3xs: 12px; --fs-2xs: 13px; --fs-xs: 14px; --fs-sm: 15px; --fs-md: 16px;
    --fs-lg: 18px;  --fs-xl: 22px;  --fs-2xl: 32px; --fs-3xl: 26px;
    --ctl-h: 46px; --ctl-h-sm: 38px; --nav-w: 260px; --kol: 1.08;
  }
}
@media (min-width: 2000px) {
  :root {
    --fs-3xs: 13px; --fs-2xs: 14px; --fs-xs: 15px; --fs-sm: 16px; --fs-md: 17px;
    --fs-lg: 20px;  --fs-xl: 24px;  --fs-2xl: 34px; --fs-3xl: 28px;
    --ctl-h: 48px; --ctl-h-sm: 40px; --nav-w: 276px; --kol: 1.16;
  }
}

/* =========================================================================
   BİLEŞEN GÖRÜNÜMÜ — referans ekranlardan birebir
   ========================================================================= */

/* ---- Sol menü: yastık öğeler, seçili kırmızı dolu ---- */
.sidebar { border-right: 0; }
.brand-row { border-bottom: 1px solid var(--nav-line); padding: 0 var(--s5); }
.nav-group { margin-top: var(--s1); }
.nav-head { padding: var(--s4) var(--s3) var(--s2); font-size: var(--fs-3xs); font-weight: 700;
  letter-spacing: .12em; color: var(--nav-mut); }
.nav-item { min-height: var(--ctl-h); margin: 2px var(--s2); padding: 0 var(--s3);
  border-left: 0; border-radius: var(--radius-sm); gap: var(--s3);
  font-size: var(--fs-sm); color: rgba(255, 255, 255, .72); }
.nav-item:hover { background: var(--nav-hover); color: var(--nav-ink); }
.nav-item.on { background: var(--nav-on); color: var(--on-pri); font-weight: 600; }
/* Menü sayacı: referansta beyaz yuvarlak, içinde kırmızı sayı */
.nav-item.on .nav-sayi, .nav-item.on .badge { background: var(--panel); color: var(--pri); }

/* ---- Üst çubuk ve sayfa başlığı ---- */
.topbar { background: var(--panel); border-bottom: 1px solid var(--line); padding: 0 var(--s5); }
.topbar-title { font-weight: 600; }
h1 { font-weight: 700; letter-spacing: -.02em; }
h2 { font-weight: 700; letter-spacing: -.01em; }
.page-head { margin-bottom: var(--s5); }
.eyebrow { font-size: var(--fs-3xs); letter-spacing: .12em; }

/* ---- Kart: çerçeveli, gölgesiz, yumuşak köşe ---- */
.card { padding: var(--s4); border-radius: var(--radius-lg); box-shadow: none; }
.card-header { padding: var(--s4) var(--s4) var(--s2); border-bottom: 0; }
.card-header h2 { margin: 0; font-size: var(--fs-lg); }
.card-body { padding: var(--s2) var(--s4) var(--s4); }

/* ---- KPI kartı: ETİKET ÜSTTE, sayı altta (referans düzeni) ---- */
.stats { gap: var(--s4); }
.stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: var(--s2);
  padding: var(--s4); border-radius: var(--radius-lg); box-shadow: none; }
.stat .v { font-size: var(--fs-2xl); font-weight: 700; letter-spacing: -.02em; }
.stat .l { font-size: var(--fs-2xs); font-weight: 600; color: var(--mut); }

/* ---- Düğmeler: ana eylem KIRMIZI dolu — referansın gerçek uygulaması ("+ Yeni
   kullanıcı", "Kaydet", "Giriş yap") böyle; kullanıcı kararı 2026-09-03 "alınsın".
   Koyu (#111827) yalnız gezinme ve sekme seçiminde kalır. ---- */
.btn { border-radius: var(--radius); font-weight: 600; font-size: var(--fs-sm);
  background: var(--pri); border-color: var(--pri); color: var(--on-pri); }
.btn:hover { background: var(--pri-ink); border-color: var(--pri-ink); }
.btn.sec { background: var(--panel); color: var(--ink); border-color: var(--line-strong); }
.btn.sec:hover { background: var(--surface); border-color: var(--line-hover); }
.btn.quiet { background: transparent; border-color: transparent; color: var(--mut); }
.btn.quiet:hover { background: var(--surface); color: var(--ink); }
.btn.danger { background: var(--panel); color: var(--pri-ink); border-color: var(--line-strong); }
.btn.danger:hover { background: var(--neg-soft); border-color: var(--pri-line); }
.btn.sm { border-radius: var(--radius-xs); font-size: var(--fs-2xs); }
/* `.birincil` artık varsayılanla aynı; şablonlarda durabilir (taahhüt eylemini işaretler). */
.btn.birincil { background: var(--pri); border-color: var(--pri); }
.btn.birincil:hover { background: var(--pri-ink); border-color: var(--pri-ink); }

/* ---- Üst çubuk: yeni dile uygun ----
   Kullanıcı: *"kullanıcı ismi, bildirimleri aç gibi en üst çubukta yeni temaya
   uygun olsun."* Bağlantı sessiz koyu, bildirim düğmesi çerçeveli ikon,
   kullanıcı adı ve rol rozeti hizalı. */
.topbar-actions { gap: var(--s2); font-size: var(--fs-2xs); }
.topbar-actions a { color: var(--ink); font-weight: 600; text-decoration: none;
  padding: 0 var(--s2); border-radius: var(--radius-sm); }
.topbar-actions a:hover { background: var(--surface); }
.topbar-user { color: var(--mut); font-weight: 600; }
.topbar-user .badge { background: var(--surface-2); color: var(--mut); }
.nav-toggle { width: var(--ctl-h-sm); height: var(--ctl-h-sm); border-radius: var(--radius-sm);
  border-color: var(--line-strong); }

/* ---- İmza sayacı: kırmızı menü öğesinin ÜSTÜNDE ayrışsın ----
   Kullanıcı: *"imza bildirimi olduğunda butonla birlikte ikisi de kırmızı oluyor
   ve anlaşılmıyor, orada bir kontrasta ihtiyaç var."* Seçili (kırmızı) öğede
   sayaç beyaz dolu + kırmızı rakam; seçili değilken kırmızı dolu + beyaz rakam. */
.nav-item .nav-sayi { background: var(--pri); color: var(--on-pri);
  border-radius: 999px; min-width: 20px; padding: 0 6px; font-size: var(--fs-3xs);
  font-weight: 700; text-align: center; }
.nav-item.on .nav-sayi { background: var(--panel); color: var(--pri); }

/* ---- Anahtar: AÇIK kırmızı dolu, KAPALI belirgin gri ----
   Kullanıcı bildirimi 2026-09-03: *"anahtar renkleri kırmızı olmalıyken beyaz ve
   açık kapalı olduğu belli değil."* Kökü `--pri-mid` tokenının bu temada tanımsız
   kalmasıydı; ray rengi çözümlenemiyordu. Artık token var, ayrıca ray kalınlaştı. */
/* Çerçeve yok: 1px kenar yuvarlağı 1px kaydırıyordu (kullanıcı 2026-09-03 "yuvarlaklarda kayıklık") */
.switch .track { background: var(--switch-off); border: 0; }
.switch input:checked + .track { background: var(--pri); border-color: var(--pri); }
.switch .track::after { box-shadow: var(--shadow-knob); }

/* ---- Koşul çipi: küçük ve kibar ----
   Kullanıcı: *"küçük açıklama notları … daha küçük ve kibar olabilir."*
   Turuncu uyarı yüzeyi yerine sessiz gri; satırın ana bilgisiyle yarışmaz. */
.req-note { padding: 0 6px; font-size: var(--fs-3xs); font-weight: 500;
  color: var(--mut); background: var(--surface-2); border: 1px solid var(--line); }

/* ---- Alanlar ---- */
input, select, textarea { border-radius: var(--radius); border-color: var(--line-strong); }
label { font-weight: 600; color: var(--ink); font-size: var(--fs-2xs); }

/* ---- Tablo: sakin başlık, ferah satır ---- */
th { font-size: var(--fs-3xs); letter-spacing: .06em; font-weight: 700; color: var(--head-ink);
  background: var(--panel); border-bottom: 1px solid var(--line); }
/* Yatay dolgu 16px, 9 sütunlu imza tablosunda tek başına 288px yiyordu: hekim
   adı sarıyor, işlem sütunu kırpılıyordu. 12px hem ferah hem sığdırıyor. */
th, td { padding: 12px; }
.table-wrap { border-radius: var(--radius-lg); }
tbody tr:nth-child(even) { background: var(--panel); }
tbody tr:hover { background: var(--surface); }

/* ---- Rozet: yastık, ikonla birlikte okunur ---- */
.badge { min-height: 22px; padding: 2px var(--s2); border-radius: 999px;
  font-size: var(--fs-2xs); font-weight: 700; }
/* DESIGN.md kuralı: *"Academic kırmızısını dekoratif olarak geniş yüzeylere
   yayma."* Tip/sınıf rozetleri (hizmet tipi, staff etiketi, güncelleme kaydı)
   bilgi taşır ama uyarı değildir — nötr gri kalırlar; kırmızı yalnız durum
   (aktif/pasif), kritik uyarı ve seçili öğe için. */
.badge.type, .badge.staff, .badge.act-guncelleme { background: var(--surface-2); color: var(--mut); }
.badge.doc { background: var(--info-soft); color: var(--info); }

/* Seçili tablo satırı: zemin ipucu yeter, metin rengi değişmez */
tr.sel-row td { background: var(--pri-soft) !important; color: var(--ink); }
tr.sel-row:hover td { background: var(--sel-hover) !important; }
tr.sel-row a { color: var(--pri-ink); }
tr.sel-row td:first-child { box-shadow: inset 3px 0 0 var(--pri); }

/* ---- Sekme: yastık; seçili koyu dolu (referans filtre şeridi) ---- */
.tabs { border-bottom: 0; gap: var(--s2); }
.tab { height: var(--ctl-h-sm); padding: 0 var(--s3); border-radius: var(--radius-sm);
  border-bottom: 0; font-size: var(--fs-2xs); font-weight: 600; color: var(--mut); }
.tab:hover { background: var(--surface); color: var(--ink); }
.tab.on, .tab[aria-selected="true"] { background: var(--ink); color: var(--on-pri); border-bottom-color: transparent; }

/* ---- Sayfalama: yastık ---- */
.pager .pg { border-radius: var(--radius-sm); }
.pager .pg.on { background: var(--ink); border-color: var(--ink); }

/* ---- Bildirim ---- */
.flash { border-radius: var(--radius-lg); font-size: var(--fs-sm); }
.notice { border-radius: var(--radius-lg); }
