/* ============================================================
   AZTEK — Stage CSS (Light + Dark)
   ============================================================ */

/* ============================================================
   FONTLAR — self-host (wwwroot/fonts). Render-blocking Google
   @import kaldırıldı; dış CDN bağımlılığı yok, font-display:swap
   ile metin ilk boyamada sistem fontuyla görünür.
   latin + latin-ext altkümeleri: Türkçe İ/ı/Ğ/ğ/Ş/ş/Ç/ç/Ö/ö/Ü/ü tam.
   (Space Grotesk display fontu denendi, sayfa görünümünü bozduğu için
   geri alındı — display katmanı yine Inter; woff2'leri de kaldırıldı.)
   ============================================================ */
/* Inter — gövde (400/500/600/700) */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-latin-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-latin-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-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-latin-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-latin-ext-500.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-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-latin-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-latin-ext-600.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-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-latin-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-latin-ext-700.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* JetBrains Mono — kod değerleri (400/500; 700 bilerek yok — mono'da 500 yeterince ayrışır) */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/jetbrains-mono-latin-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/jetbrains-mono-latin-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/jetbrains-mono-latin-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/jetbrains-mono-latin-ext-500.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Cormorant Garamond (başlık) + Manrope (gövde) — self-host, latin+latin-ext (Türkçe tam). AZTEK Wake landing için. */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url('../fonts/cormorant-garamond-500-italic-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: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url('../fonts/cormorant-garamond-500-italic-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/cormorant-garamond-600-italic-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: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/cormorant-garamond-600-italic-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/cormorant-garamond-500-normal-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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/cormorant-garamond-500-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/cormorant-garamond-600-normal-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: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/cormorant-garamond-600-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/manrope-400-normal-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: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/manrope-400-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/manrope-500-normal-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: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/manrope-500-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/manrope-600-normal-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: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/manrope-600-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/manrope-700-normal-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: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/manrope-700-normal-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-tight-latin-ext-400.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 Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-tight-latin-400.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; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-tight-latin-ext-500.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 Tight'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-tight-latin-500.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; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-tight-latin-ext-600.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 Tight'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-tight-latin-600.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; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-tight-latin-ext-700.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 Tight'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-tight-latin-700.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; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/inter-tight-latin-ext-800.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 Tight'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/inter-tight-latin-800.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; }

:root,
[data-theme="light"] {
    --bg-0: #f4f3ef;
    --bg-1: #fdfdfb;
    --bg-aura-color: rgba(226, 67, 30, 0.14);

    --text-primary: #111111;
    --text-dim: #6e6e66;   /* 5.08:1 erp-bg, 5.75:1 beyaz — eski #76715f erp-bg'de 4.32 idi */

    /* Anlamsal renk paleti (light) — eskiden her sayfada elle #C5A572 /
       #D87171 / #5DBB7A yazılıyordu; artık tek kaynak, temaya göre değişir. */
    --gold: #e2431e;
    --gold-soft: rgba(226, 67, 30, 0.12);
    --gold-deep: #b33012;
    /* -text türevleri: aynı anlam, METİN rolü için kontrast garantili ton.
       Kenarlık/zemin rolünde ana token, metin rolünde -text kullanılır. */
    --gold-text: #b33012;      /* 6.02:1 beyaz */
    /* Dashboard kart çerçevesi — "cam kenar & akan ışık" (seçilen varyant).
       İki temada AYRI değer: açık zeminde parlak sarı kaybolur, koyu zeminde
       altın çizgi fazla sertleşir. */
    --fx5-line: rgba(197, 165, 114, 0.60);
    --fx5-beam: #d99a2e;
    --fx5-sheen: rgba(197, 165, 114, 0.08);
    --fx5-rim: rgba(197, 165, 114, 0.20);
    --fx5-lift: 0 10px 24px -14px rgba(70, 50, 15, 0.22);
    /* Dashboard grafik panelleri — "aurora + ışık koşucusu" çerçevesi (V1+V5
       karışımı, kullanıcı seçimi 2026-08-19). Mavi = sidebar mod-2 vurgusu,
       altın ikincil. Açık temada tonlar koyulaştırılır (parlak cyan beyaz
       zeminde kaybolur). */
    --pnl-a: rgba(74, 111, 196, 0.55);
    --pnl-b: rgba(167, 137, 80, 0.55);
    --pnl-halo-mavi: rgba(74, 111, 196, 0.20);
    --pnl-halo-altin: rgba(216, 154, 46, 0.16);
    --pnl-cizgi-a: #4a6fc4;
    --pnl-cizgi-b: #A78950;
    --pnl-kuyruk: rgba(74, 111, 196, 0.55);
    --pnl-bas: #4a6fc4;
    --pnl-uc: #7fe3f7;
    --pnl-altin-kuyruk: rgba(167, 137, 80, 0.50);
    --pnl-altin-bas: #A78950;
    --pnl-btn-bg: linear-gradient(120deg, #00a3c4, #C5A572);
    --pnl-btn-ink: #062a30;
    --pnl-btn-isik: rgba(74, 111, 196, 0.45);
    /* Stat kartların arka ışıması — topbar'daki yanan ampulün (bulb-glow) sıcak
       turuncu halesinden türetildi (kullanıcı isteği 2026-08-19). Açık temada
       çok soluk: beyaz zeminde doygun turuncu leke gibi durur. */
    --fx5-aura: 0 0 26px -8px rgba(216, 154, 46, 0.22), 0 0 9px -3px rgba(199, 138, 32, 0.13);
    --fx5-aura-hover: 0 0 34px -8px rgba(216, 154, 46, 0.34), 0 0 12px -3px rgba(199, 138, 32, 0.20);
    --success: #2da55b;
    --success-soft: rgba(45, 165, 91, 0.12);
    --success-text: #1f7a42;   /* 4.93:1 tint zemin */
    --success-hi: #2da55b;     /* yeşil buton/bar gradyanının açık ucu */
    --success-lo: #23834a;     /* koyu ucu */
    --danger: #d64545;
    --danger-soft: rgba(214, 69, 69, 0.10);
    --danger-text: #c22b45;    /* 5.12:1 */
    --warning: #d8a116;
    --warning-text: #8a6d0b;   /* 4.60:1 */
    --cyan: #3f66c0;           /* 5.37:1 beyaz — eski #7fa2e8 light'ta 2.38 idi */

    --grid-line: rgba(120, 100, 60, 0.10);
    --scanline: rgba(0, 0, 0, 0.025);

    --card-bg: rgba(255, 252, 244, 0.85);
    --card-border: rgba(0, 0, 0, 0.08);
    --card-shadow: 0 30px 80px -20px rgba(60, 40, 10, 0.18);

    --input-bg: rgba(0, 0, 0, 0.04);
    --input-border: rgba(0, 0, 0, 0.12);
    --input-text: #1a1a2a;
    --input-placeholder: #8a8471;  /* eski #a8a290 → 2.34:1 idi */

    --bubble-bg: #1a1a2a;
    --bubble-text-gradient-from: #e8cf9a;
    --bubble-text-gradient-to: #c9a25c;

    --hint-blink-color: #1a1a2a;
    --hint-halo: rgba(250, 246, 234, 0.95);  /* açık hale → koyu hint hoparlör tabanında da okunur */

    --entra-bg: #ffffff;
    --entra-bg-hover: #f5f5f5;
    --entra-border: rgba(0, 0, 0, 0.15);
    --entra-text: #1a1a2a;
}

[data-theme="dark"] {
    --bg-0: #121211;
    --bg-1: #181817;
    --bg-aura-color: rgba(255, 106, 61, 0.20);

    --text-primary: #f2f1ea;
    --text-dim: #96958c;

    /* Anlamsal renk paleti (dark) — koyu zeminde parlak tonlar zaten geçiyor,
       -text türevleri ana değerle aynı. */
    --gold: #ff6a3d;
    --gold-soft: rgba(255, 106, 61, 0.14);
    --gold-deep: #e2431e;
    --gold-text: #ff8a63;      /* 8.27:1 surface */
    --fx5-line: rgba(208, 178, 126, 0.50);
    --fx5-beam: #ffd08a;
    --fx5-sheen: rgba(255, 255, 255, 0.035);
    --fx5-rim: rgba(255, 255, 255, 0.05);
    --fx5-lift: 0 12px 28px -16px rgba(0, 0, 0, 0.65);
    --pnl-a: rgba(127, 162, 232, 0.65);
    --pnl-b: rgba(255, 208, 138, 0.50);
    --pnl-halo-mavi: rgba(127, 162, 232, 0.17);
    --pnl-halo-altin: rgba(216, 179, 108, 0.11);
    --pnl-cizgi-a: #7fa2e8;
    --pnl-cizgi-b: #ffd08a;
    --pnl-kuyruk: rgba(127, 162, 232, 0.55);
    --pnl-bas: #a9c4f5;
    --pnl-uc: #e7eefc;
    --pnl-altin-kuyruk: rgba(255, 208, 138, 0.40);
    --pnl-altin-bas: #ffd08a;
    --pnl-btn-bg: linear-gradient(120deg, #7fa2e8, #d0b27e);
    --pnl-btn-ink: #101a30;
    --pnl-btn-isik: rgba(127, 162, 232, 0.55);
    --fx5-aura: 0 0 34px -6px rgba(216, 179, 108, 0.26), 0 0 11px -2px rgba(181, 138, 62, 0.16);
    --fx5-aura-hover: 0 0 46px -6px rgba(216, 179, 108, 0.40), 0 0 15px -2px rgba(181, 138, 62, 0.26);
    --success: #5DBB7A;
    --success-soft: rgba(93, 187, 122, 0.14);
    --success-text: #5DBB7A;
    --success-hi: #7ED0A0;
    --success-lo: #5DBB7A;
    --danger: #ff6b6b;
    --danger-soft: rgba(255, 107, 107, 0.12);
    --danger-text: #ff6b6b;
    --warning: #e0b53a;
    --warning-text: #e0b53a;
    --cyan: #7fa2e8;           /* 7.03:1 surface */

    --grid-line: rgba(120, 100, 200, 0.06);
    --scanline: rgba(255, 255, 255, 0.015);

    --card-bg: rgba(20, 18, 30, 0.92);
    --card-border: rgba(255, 255, 255, 0.06);
    --card-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.8);

    --input-bg: rgba(0, 0, 0, 0.4);
    --input-border: rgba(255, 255, 255, 0.08);
    --input-text: #f0e6d2;
    --input-placeholder: #7e7e9a;  /* eski #6a6a85 → 3.59:1 idi */

    --bubble-bg: #f0e6d2;
    --bubble-text-gradient-from: #c9a25c;
    --bubble-text-gradient-to: #d6440f;

    --hint-blink-color: #6a6a85;
    --hint-halo: rgba(6, 6, 14, 0.85);  /* koyu hale → dark modda hint her patikada ayrışır */

    --entra-bg: #2a2735;
    --entra-bg-hover: #36323f;
    --entra-border: rgba(255, 255, 255, 0.1);
    --entra-text: #f0e6d2;
}

:root {
    --amber: #c9a25c;
    --amber-bright: #e8cf9a;
    --amber-glow: rgba(201, 162, 92, 0.55);
    /* --cyan tema bloklarında (light'ta koyu, dark'ta parlak) */
    --cyan-soft: rgba(127, 162, 232, 0.35);

    --speaker-shell: #1f1d28;
    --speaker-shell-2: #2a2735;
    --speaker-trim: #3d3a4d;
    --speaker-text: #f0e6d2;

    --font-display: 'Inter Tight', 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter Tight', 'Inter', -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

    /* Tip skalası — yeni kod px yerine bunları kullanır; taban 10px'in
       altında metin yok (8/9px eski grafik etiketleri 10'a çekildi). */
    --fs-2xs: 10px;   /* grafik ekseni */
    --fs-xs: 11px;    /* mikro etiket, badge, tablo başlığı */
    --fs-sm: 12px;    /* tablo hücresi, buton */
    --fs-md: 13px;    /* gövde, input */
    --fs-base: 14px;
    /* 2026-08-13 punto revizyonu (kullanıcı isteği): sayfa başlıkları
       "kocaman yer kaplıyordu" — 32→22 ve 16→14. TÜM sayfaları etkiler. */
    --fs-lg: 14px;    /* panel başlığı */
    --fs-xl: 22px;
    --fs-2xl: 28px;   /* stat değeri */
    --fs-3xl: 22px;   /* sayfa başlığı */
    --fs-4xl: 38px;   /* login kartı */

    /* Letter-spacing — 19 dağınık em değeri 4 role indirildi
       (login sahnesinin 0.3-0.42em dekoratifleri bilerek dışarıda) */
    --track-tight: -0.01em;  /* display başlıklar */
    --track-body: 0.02em;    /* gövde, badge */
    --track-label: 0.05em;   /* uppercase mikro etiketler */
    --track-wide: 0.15em;    /* mono aksesuar (footbar, logout) */

    --transition-theme: background 380ms ease, color 380ms ease, border-color 380ms ease;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body, #app { height: 100%; overflow: hidden; }

body {
    background: var(--bg-0);
    color: var(--text-primary);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    transition: var(--transition-theme);
}
/* ============================================================
   BULB TOGGLE — sarkan lamba (ip çekilince yanar/söner)
   ============================================================ */
.bulb-toggle {
    position: fixed;
    top: 0; right: 24px;
    z-index: 60;
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: transform 200ms;
    transform-origin: top center;
}
.bulb-toggle:hover { transform: rotate(2deg); }
.erp-topbar .bulb-toggle { position: static; top: auto; right: auto; }

.bulb-svg { display: block; overflow: visible; transform-origin: 30px 0; }

/* İp çekilirken lamba aşağı doğru salınır */
.bulb-toggle.pulling .bulb-svg { animation: bulb-swing 0.7s cubic-bezier(.4,.2,.4,1) 1; }
@keyframes bulb-swing {
    0%   { transform: rotate(0); }
    25%  { transform: rotate(8deg); }
    55%  { transform: rotate(-5deg); }
    80%  { transform: rotate(2deg); }
    100% { transform: rotate(0); }
}

/* İp çekilme: knot aşağı sarkar */
.bulb-toggle .bulb-string,
.bulb-toggle .bulb-knot { transition: transform 280ms cubic-bezier(.5,0,.5,1); }
.bulb-toggle.pulling .bulb-string { transform: scaleY(1.4); transform-origin: top; }
.bulb-toggle.pulling .bulb-knot { transform: translateY(8px); }

/* Renkler */
.bulb-cord       { stroke: #4a4751; }
.bulb-string     { stroke: #6f6b76; }
.bulb-knot       { stroke: #c9a24b; transition: stroke 320ms; }
.bulb-cap        { fill: #9a7b3f; }
.bulb-cap-thread { stroke: #6f5828; }
.bulb-glass      { stroke-width: 1.2; transition: fill 320ms, stroke 320ms; }
.bulb-filament   { transition: stroke 320ms, filter 320ms; }
.bulb-glow       { opacity: 0; transition: opacity 420ms; transform-origin: 30px 67px; }

/* AÇIK (dark modda lamba yanıyor) */
.bulb-toggle.on .bulb-glass    { fill: #fff3c0; stroke: #e7c25e; }
.bulb-toggle.on .bulb-filament { stroke: #ff7a1a; filter: drop-shadow(0 0 4px #ffb347); }
.bulb-toggle.on .bulb-knot     { stroke: #ffc861; }
.bulb-toggle.on .bulb-glow     { opacity: 1; animation: bulb-pulse 2.4s ease-in-out infinite; }
@keyframes bulb-pulse {
    0%, 100% { opacity: 0.82; transform: scale(1); }
    50%      { opacity: 1;    transform: scale(1.06); }
}

/* KAPALI (light modda sönük) */
.bulb-toggle.off .bulb-glass    { fill: #e6e2d6; stroke: #b3ad9c; }
.bulb-toggle.off .bulb-filament { stroke: #9a958a; }
.bulb-toggle.off .bulb-glow     { opacity: 0; }


/* Genel .card-sub — app sayfaları (ör. QrOlustur) bu yardımcıyı paylaşır.
   Landing kendi izole .wake .card-sub'unu kullanır; bu genel kural onların
   düzenini bozmadan korur (eski login-card CSS'inden taşındı). */
.card-sub { font-size: 13px; color: var(--text-dim); margin-bottom: 24px; letter-spacing: 0.02em; }

/* ============================================================
   AZTEK — WAKE UP LANDING (Yön "Cinéma")
   Tek sahne, KOYU (dark-only): video kahraman + "WAKE UP" + Entra
   ID login. Tüm kurallar .wake altında izole; Cormorant/Manrope ve
   palet yalnız bu ağaçta geçerli — uygulamanın Inter tipografisine
   ve erp temasına dokunmaz. Login MANTIĞI Home.razor'da birebir korunur.
   ============================================================ */
.wake {
    /* izole tasarım token'ları (sadece landing) */
    --wk-bg-0: #05070B;
    --wk-accent: #C8A56A;
    --wk-accent-ink: #D8BE8C;
    --wk-accent-deep: #9E7C42;
    --wk-text-0: #F2EBDD;
    --wk-text-1: #9AA3AF;
    --wk-hair: rgba(242, 235, 221, 0.12);
    --wk-hair-strong: rgba(242, 235, 221, 0.22);
    --wk-surface: rgba(11, 21, 36, 0.72);
    --wk-shadow: 0 40px 120px -30px rgba(0, 0, 0, 0.85);
    --wk-serif: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
    --wk-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --wk-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --wk-ease-out: cubic-bezier(0.16, 1, 0.3, 1);

    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    background: var(--wk-bg-0);
    color: var(--wk-text-0);
    font-family: var(--wk-sans);
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}
.wake ::selection { background: var(--wk-accent); color: #05070B; }

/* video — tam ekran; hoparlör yatayda ortalı → ortadaki "tap to wake" tam AZTEK'in altına oturur */
.wake [data-hero-video] {
    position: fixed; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: 50% 42%;
    z-index: 0;
    filter: saturate(0.96) brightness(0.72);
    transform: scale(1.04);
    transition: filter 1200ms var(--wk-ease), transform 1600ms var(--wk-ease);
}
.wake.is-awake [data-hero-video] { filter: saturate(1.05) brightness(1); transform: scale(1); }

/* sol negatif alan için çok ince koyu geçiş (metin okunurluğu) */
.wake::before {
    content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, rgba(5,7,11,0.72) 0%, rgba(5,7,11,0.32) 26%, rgba(5,7,11,0) 50%);
}

/* editoryal film çerçevesi */
.wake .film-frame {
    position: fixed; inset: 16px; z-index: 3;
    border: 1px solid var(--wk-hair-strong);
    pointer-events: none;
}
.wake .film-frame::before,
.wake .film-frame::after {
    content: ""; position: absolute; width: 16px; height: 16px;
    border-color: var(--wk-accent); border-style: solid; border-width: 0;
}
.wake .film-frame::before { top: -1px; left: -1px; border-top-width: 1px; border-left-width: 1px; }
.wake .film-frame::after  { bottom: -1px; right: -1px; border-bottom-width: 1px; border-right-width: 1px; }

/* üst bar */
.wake .topbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 5;
    display: flex; align-items: center; justify-content: space-between;
    padding: clamp(24px, 3.4vw, 40px) clamp(30px, 4.4vw, 60px);
    color: var(--wk-text-0); pointer-events: none;
}
.wake .brand { display: flex; align-items: baseline; gap: 12px; }
.wake .brand .mark { font-family: var(--wk-sans); font-weight: 700; font-size: 15px; letter-spacing: 0.42em; color: var(--wk-text-0); }
.wake .brand .sep { color: var(--wk-accent); font-weight: 300; }
.wake .brand .tag { font-size: 10px; font-weight: 600; letter-spacing: 0.34em; text-transform: uppercase; color: rgba(242,235,221,0.62); }

/* kahraman kolonu (sol) */
.wake .hero {
    position: fixed; inset: 0; z-index: 4;
    display: grid; align-items: center; justify-items: start;
    padding: 120px clamp(30px, 5vw, 76px);
    pointer-events: none;
}
.wake .hero-col { position: relative; width: min(520px, 46vw); display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.wake .awake { display: flex; flex-direction: column; align-items: flex-start; }
.wake.is-awake .awake { pointer-events: auto; }

/* WAKE UP — Cormorant, başlık boyutu; login açılınca küçülür */
.wake .wake-word {
    display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0;
    font-family: var(--wk-serif); font-weight: 500;
    color: var(--wk-text-0);
    font-size: clamp(50px, 8.5vw, 100px);
    line-height: 0.9; letter-spacing: 0.005em; text-transform: none;
    text-shadow: 0 22px 70px rgba(0,0,0,0.5);
    opacity: 0; pointer-events: none;
    transition: font-size 620ms var(--wk-ease);
}
.wake .wake-word .w { display: inline-block; transform: translateY(0.5em); opacity: 0; clip-path: inset(0 0 100% 0); }
.wake .wake-word .w.accent {
    font-style: italic;
    background: linear-gradient(180deg, var(--wk-accent-ink), var(--wk-accent-deep));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.wake.is-awake .wake-word { opacity: 1; }
.wake.is-awake .wake-word .w { animation: wk-word-rise 900ms var(--wk-ease-out) forwards; }
.wake.is-awake .wake-word .w:nth-child(2) { animation-delay: 120ms; }
@keyframes wk-word-rise { to { transform: translateY(0); opacity: 1; clip-path: inset(-10% 0 -10% 0); } }
.wake.is-login .wake-word { font-size: clamp(38px, 5.4vw, 68px); }

.wake .awake-sub {
    margin-top: 18px;
    font-family: var(--wk-serif); font-style: italic; font-weight: 500;
    font-size: clamp(17px, 2vw, 23px); color: rgba(242,235,221,0.82); letter-spacing: 0.01em;
    opacity: 0; transform: translateY(8px);
    transition: opacity 600ms var(--wk-ease-out) 220ms, transform 600ms var(--wk-ease-out) 220ms;
}
.wake .awake-sub .dash { color: var(--wk-accent); margin: 0 0.3em; font-style: normal; }
.wake .awake-sub .fr { color: var(--wk-accent-ink); }
.wake.is-awake .awake-sub { opacity: 1; transform: none; }

/* ---- LOGIN KARTI ---- */
.wake .login-card {
    margin-top: clamp(26px, 4vh, 42px);
    width: min(420px, 90vw);
    background: var(--wk-surface);
    -webkit-backdrop-filter: blur(18px) saturate(1.1); backdrop-filter: blur(18px) saturate(1.1);
    border: 1px solid var(--wk-hair); border-top: 1px solid var(--wk-hair-strong);
    padding: 30px 30px 22px;
    box-shadow: var(--wk-shadow);
    opacity: 0; transform: translateY(18px); pointer-events: none;
    transition: opacity 620ms var(--wk-ease-out), transform 620ms var(--wk-ease-out);
}
.wake.is-login .login-card { opacity: 1; transform: translateY(0); pointer-events: auto; }

.wake .card-head { display: flex; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--wk-hair); margin-bottom: 22px; }
.wake .card-head .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--wk-accent); box-shadow: 0 0 10px var(--wk-accent); }
.wake .card-head .card-title { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--wk-text-1); font-weight: 600; flex: 1; }
.wake .card-head .card-id { font-size: 11px; letter-spacing: 0.12em; color: var(--wk-text-1); opacity: 0.7; }

.wake .card-h1 {
    font-family: var(--wk-serif); font-weight: 500;
    font-size: clamp(32px, 4.2vw, 42px); line-height: 0.96; letter-spacing: -0.005em;
    color: var(--wk-text-0); margin-bottom: 8px; text-align: center;
}
.wake .card-h1 .accent {
    font-style: italic;
    background: linear-gradient(180deg, var(--wk-accent-ink), var(--wk-accent-deep));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.wake .card-sub {
    font-family: var(--wk-serif); font-style: italic; font-weight: 500;
    font-size: clamp(15px, 1.7vw, 18px); letter-spacing: 0.01em;
    color: var(--wk-text-1); margin-bottom: 24px; text-align: center;
}
.wake .card-sub .note { color: var(--wk-accent-ink); font-style: normal; font-size: 15px; margin-left: 3px; }

/* Microsoft / Entra ID butonu */
.wake .entra-signin {
    -webkit-appearance: none; appearance: none; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 12px;
    background: #14131c; border: 1px solid var(--wk-hair-strong); color: var(--wk-text-0);
    padding: 15px 18px; font-family: var(--wk-sans); font-size: 13px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer;
    transition: background 260ms var(--wk-ease), border-color 260ms var(--wk-ease), transform 260ms var(--wk-ease), box-shadow 260ms var(--wk-ease);
}
.wake .entra-signin:hover { background: #1c1a26; border-color: var(--wk-accent); transform: translateY(-1px); box-shadow: 0 12px 30px -14px rgba(0,0,0,0.5); }
.wake .entra-signin:active { transform: translateY(0); }
.wake .entra-signin .ms-logo { width: 18px; height: 18px; flex: none; display: block; }
.wake .entra-signin .entra-label { line-height: 1; }

.wake .entra-domain { margin-top: 16px; text-align: center; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wk-text-1); }
.wake .entra-domain .arrow { color: var(--wk-accent-ink); }

.wake .card-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--wk-hair); text-align: center; font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--wk-text-1); opacity: 0.7; }

/* Zaten giriş yapmış kullanıcı (Authorized) */
.wake .entra-already-in { display: flex; flex-direction: column; gap: 12px; }
.wake .entra-already-in .status { font-size: 12px; color: var(--wk-text-1); letter-spacing: 0.04em; text-align: center; }
.wake .entra-already-in .status strong { color: var(--wk-text-0); font-weight: 700; }
.wake .submit {
    -webkit-appearance: none; appearance: none; width: 100%; border: 1px solid var(--wk-accent-deep);
    background: linear-gradient(180deg, var(--wk-accent-ink), var(--wk-accent-deep)); color: #0A1120;
    padding: 14px 18px; font-family: var(--wk-sans); font-size: 13px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    transition: transform 160ms var(--wk-ease), box-shadow 220ms var(--wk-ease);
}
.wake .submit:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -12px rgba(200,165,106,0.5); }
.wake .submit .arrow { font-weight: 700; transition: transform 200ms; }
.wake .submit:hover .arrow { transform: translateX(4px); }
.wake .entra-logout-link {
    -webkit-appearance: none; appearance: none; border: 0; background: transparent;
    color: var(--wk-text-1); font-family: var(--wk-sans); font-size: 11px; letter-spacing: 0.08em;
    cursor: pointer; text-align: center; padding: 4px 0; text-decoration: none;
    border-bottom: 1px dashed transparent; align-self: center; transition: color 160ms, border-color 160ms;
}
.wake .entra-logout-link:hover { color: var(--wk-accent-ink); border-bottom-color: var(--wk-accent-ink); }

/* ---- IDLE tetik — yanıp sönen "TAP TO WAKE" (açma tuşu YOK), AZTEK'in altında ortalı ---- */
.wake .idle {
    position: fixed; left: 0; right: 0; bottom: clamp(44px, 8vh, 88px); z-index: 4;
    display: flex; justify-content: center;
    transition: opacity 520ms var(--wk-ease), transform 620ms var(--wk-ease), filter 520ms var(--wk-ease);
}
.wake.is-awake .idle { opacity: 0; transform: translateY(14px); filter: blur(2px); pointer-events: none; }
.wake .wake-trigger {
    -webkit-appearance: none; appearance: none; background: transparent; border: none; cursor: pointer;
    padding: 6px 10px; font-family: var(--wk-sans);
}
.wake .trigger-label {
    display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.36em;
    text-transform: uppercase; color: rgba(242,235,221,0.85);
    animation: wk-blink 2.2s ease-in-out infinite;
}
.wake .wake-trigger:hover .trigger-label { color: var(--wk-text-0); }
@keyframes wk-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.30; } }

/* alt çizgi — yalnız alan adı */
.wake .footline {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 5;
    display: flex; align-items: center; justify-content: flex-start;
    padding: clamp(20px, 2.6vw, 34px) clamp(30px, 4.4vw, 60px);
    color: rgba(242,235,221,0.55); pointer-events: none;
    font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
}
.wake .footline .arrow { color: var(--wk-accent); }

/* ---- portre tablet + mobil: hoparlör üstte, awake içerik alta çapalı ---- */
@media (max-width: 900px) {
    .wake .brand .tag, .wake .brand .sep { display: none; }
    .wake [data-hero-video] { object-position: 50% 28%; }
    .wake::before { background: linear-gradient(0deg, rgba(5,7,11,0.92) 0%, rgba(5,7,11,0.62) 26%, rgba(5,7,11,0) 56%); }
    .wake .hero { display: block; padding: 0; }
    .wake .awake { position: fixed; left: 0; right: 0; bottom: 0; top: auto; padding: 0 clamp(22px, 6vw, 40px) calc(80px + env(safe-area-inset-bottom, 0px)); }
    .wake .hero-col { width: 100%; }
    .wake .wake-word { font-size: clamp(50px, 15vw, 92px); }
    .wake.is-login .wake-word { font-size: clamp(36px, 10vw, 58px); }
    .wake .login-card { width: 100%; max-width: 460px; }
    .wake .film-frame { inset: 10px; }
    .wake .footline { display: none; }
}
@media (max-width: 460px) {
    .wake .awake { padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }
    .wake .idle { bottom: clamp(30px, 6vh, 60px); }
}

/* ============================================================
   AUTH LOADING PAGE (Microsoft callback)
   ============================================================ */
.auth-loading {
    position: fixed; inset: 0;
    background: var(--bg-0);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 18px;
    z-index: 100;
}
.auth-spinner {
    width: 48px; height: 48px;
    border-radius: 50%;
    border: 3px solid var(--card-border);
    border-top-color: var(--amber);
    animation: auth-spin 0.8s linear infinite;
}
@keyframes auth-spin { to { transform: rotate(360deg); } }
.auth-msg {
    font-family: var(--font-mono);
    font-size: 13px;
    color: var(--text-dim);
    letter-spacing: 0.12em;
}

/* ============================================================
   ERİŞİLEBİLİRLİK
   ============================================================ */

/* Klavye ile gezenlerin nerede olduğunu görmesi için tutarlı odak halkası.
   :focus-visible sadece klavye odağında çıkar, fare tıklamasında değil. */
:focus-visible {
    outline: 2px solid var(--amber);
    outline-offset: 2px;
    border-radius: 4px;
}
.entra-signin:focus-visible,
.submit:focus-visible { outline-offset: 3px; }

/* Vestibüler rahatsızlığı olan / hareketi azalt tercihi olan kullanıcılar:
   tüm animasyon ve geçişleri neredeyse anlık hale getir. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ============================================================
   GRAFİK PALETİ — sidebar moduna UYUMLU vurgu (kullanıcı isteği
   2026-08-29): mod 1'de sinyal turuncusu, mod 2'de (Klein) sidebar
   mavisiyle aynı aileden mavi. --gold ailesi TÜM rapor grafiklerinin
   tek vurgu kaynağı olduğundan burada mod bazında yeniden tanımlanır.
   Sıra/özgüllük notu: [data-sidebar-mode="2"] tek başına açık tema
   değerlerini verir; koyu tema çifti (0,2,0 özgüllük) her durumda kazanır.
   --gseri-1..6: donut/karma seriler — mod + tema birlikte uyumlu.
   ============================================================ */
:root, [data-theme="light"] {
    --gseri-1: #e2431e;
    --gseri-2: #1d1d1b;
    --gseri-3: #9aa4c8;
    --gseri-4: #e0a33c;
    --gseri-5: #6e6e66;
    --gseri-6: #c9c7bd;
    --gecen-yil: #8f9bc4;   /* önceki yıl çubuğu — turuncunun tamamlayıcısı */
}
[data-theme="dark"] {
    --gseri-1: #ff6a3d;
    --gseri-2: #f2f1ea;
    --gseri-3: #9aa4c8;
    --gseri-4: #ffce7a;
    --gseri-5: #8f8f86;
    --gseri-6: #4a4a45;
    --gecen-yil: #7d8ab6;   /* önceki yıl çubuğu (koyu) */
}
[data-sidebar-mode="2"] {
    --gold: #3f66c4;
    --gold-soft: rgba(63, 102, 196, 0.12);
    --gold-deep: #2d4da3;
    --gold-text: #2d4da3;      /* 7.05:1 beyaz */
    --gseri-1: #3f66c4;
    --gseri-2: #1d1d1b;
    --gseri-3: #e0a33c;
    --gseri-4: #7d97e8;
    --gseri-5: #6e6e66;
    --gseri-6: #c9c7bd;
    --gecen-yil: #d9a95c;   /* önceki yıl çubuğu — Klein'ın tamamlayıcısı (amber) */
}
[data-sidebar-mode="2"][data-theme="dark"] {
    --gold: #7d97e8;
    --gold-soft: rgba(125, 151, 232, 0.14);
    --gold-deep: #5c7ad9;
    --gold-text: #93a9ef;      /* 7.9:1 surface */
    --gseri-1: #7d97e8;
    --gseri-2: #f2f1ea;
    --gseri-3: #ffce7a;
    --gseri-4: #3f66c4;
    --gseri-5: #8f8f86;
    --gseri-6: #4a4a45;
    --gecen-yil: #c99a55;   /* önceki yıl çubuğu (koyu, amber) */
}
