/* ============================================================================
   PMO tasarım temeli
   Tanıtım sayfasıyla (landing) aynı dil: Inter (rakamlar hizalı), sıcak nötr zemin,
   koyu mürekkep metin, tek vurgu rengi. Phoenix (Bootstrap) değişkenleri buradan
   beslenir; sayfalar tek tek değişmeden bütün uygulama bu temeli kullanır.
   Kurallar: renk yalnızca durum ve eylem için; gradyan, renkli gölge ve
   "hover'da kalkan" kart yok; rakamlar tabular (hizalı) gösterilir.
   ============================================================================ */

/* ─── Fontlar (yerel; Türkçe karakterler latin-ext alt kümesinde) ───────────── */
/* Inter: ekranda uzun okuma için tasarlanmış, kurumsal arayüzlerde yaygın. Daktilo (mono) yazı göz yorduğu için
   kullanılmıyor; tarih, efor ve sayılar aynı fontta hizalı rakamlarla (tabular-nums) gösterilir. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-wght-normal.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"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-ext-wght-normal.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; }

/* ─── Tasarım değişkenleri: açık tema ─────────────────────────────────────── */
:root, [data-bs-theme="light"] {
    --pmo-bg: #f6f5f1;
    --pmo-surface: #ffffff;
    --pmo-surface-2: #faf9f6;
    --pmo-ink: #15181d;
    --pmo-ink-2: #3b4048;
    --pmo-muted: #5d636d;
    --pmo-line: #e2e0d8;
    --pmo-line-strong: #cfccc2;
    --pmo-accent: #c8501a;
    --pmo-accent-rgb: 200, 80, 26;
    --pmo-accent-hover: #ad4413;
    --pmo-accent-soft: #f6e4d9;
    --pmo-accent-ink: #ffffff;
    --pmo-ok: #2f7a4f;       --pmo-ok-rgb: 47, 122, 79;     --pmo-ok-soft: #e1efe6;
    --pmo-info: #2f5d8a;     --pmo-info-rgb: 47, 93, 138;   --pmo-info-soft: #e2ebf4;
    --pmo-warn: #9a6512;     --pmo-warn-rgb: 154, 101, 18;  --pmo-warn-soft: #f6ecd9;
    --pmo-danger: #b42318;   --pmo-danger-rgb: 180, 35, 24; --pmo-danger-soft: #f8e1de;
    --pmo-radius: 8px;
    --pmo-radius-lg: 12px;
    --pmo-shadow: 0 1px 2px rgba(21, 24, 29, 0.05);
    --pmo-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    /* Eskiden ayrı bir mono yazıydı; artık rakam/etiket alanları da ana fontu kullanır */
    --pmo-mono: var(--pmo-sans);
    --pmo-code: ui-monospace, "SFMono-Regular", Consolas, monospace;

    /* Phoenix'i besleyen değişkenler */
    --phoenix-font-sans-serif: var(--pmo-sans);
    --phoenix-font-monospace: var(--pmo-code);
    --phoenix-body-font-family: var(--pmo-sans);
    --phoenix-body-font-size: 0.875rem;
    --phoenix-body-line-height: 1.5;
    --phoenix-border-radius: var(--pmo-radius);
    --phoenix-body-bg: var(--pmo-bg);
    --phoenix-body-bg-rgb: 246, 245, 241;
    --phoenix-body-color: var(--pmo-ink-2);
    --phoenix-body-color-rgb: 59, 64, 72;
    --phoenix-emphasis-color: var(--pmo-ink);
    --phoenix-emphasis-color-rgb: 21, 24, 29;
    --phoenix-secondary-color: var(--pmo-muted);
    --phoenix-tertiary-color: #7c818a;
    --phoenix-quaternary-color: #9a9ea6;
    --phoenix-secondary-bg: #efede7;
    --phoenix-tertiary-bg: var(--pmo-surface-2);
    --phoenix-body-highlight-bg: var(--pmo-surface);
    --phoenix-body-highlight-color: var(--pmo-ink);
    --phoenix-border-color: var(--pmo-line);
    --phoenix-border-color-translucent: rgba(21, 24, 29, 0.1);
    --phoenix-card-bg: var(--pmo-surface);
    --phoenix-card-border-color: var(--pmo-line);
    --phoenix-navbar-top-bg-color: var(--pmo-surface);
    --phoenix-navbar-vertical-bg-color: var(--pmo-surface-2);
    --phoenix-link-color: var(--pmo-ink);
    --phoenix-link-color-rgb: 21, 24, 29;
    --phoenix-link-hover-color: var(--pmo-accent);
    --phoenix-link-hover-color-rgb: 200, 80, 26;

    --phoenix-primary: var(--pmo-accent);
    --phoenix-primary-rgb: var(--pmo-accent-rgb);
    --phoenix-primary-bg-subtle: var(--pmo-accent-soft);
    --phoenix-primary-border-subtle: #ecc6b0;
    --phoenix-primary-text-emphasis: #8f3a12;
    --phoenix-success: var(--pmo-ok);           --phoenix-success-rgb: var(--pmo-ok-rgb);
    --phoenix-success-bg-subtle: var(--pmo-ok-soft);   --phoenix-success-text-emphasis: #235c3b; --phoenix-success-border-subtle: #bcd9c7;
    --phoenix-info: var(--pmo-info);            --phoenix-info-rgb: var(--pmo-info-rgb);
    --phoenix-info-bg-subtle: var(--pmo-info-soft);    --phoenix-info-text-emphasis: #234667;    --phoenix-info-border-subtle: #c0d2e4;
    --phoenix-warning: var(--pmo-warn);         --phoenix-warning-rgb: var(--pmo-warn-rgb);
    --phoenix-warning-bg-subtle: var(--pmo-warn-soft); --phoenix-warning-text-emphasis: #74490a; --phoenix-warning-border-subtle: #e8d2a8;
    --phoenix-danger: var(--pmo-danger);        --phoenix-danger-rgb: var(--pmo-danger-rgb);
    --phoenix-danger-bg-subtle: var(--pmo-danger-soft); --phoenix-danger-text-emphasis: #861a12;  --phoenix-danger-border-subtle: #edc0bb;
    --phoenix-secondary: #6b6860;               --phoenix-secondary-rgb: 107, 104, 96;

    /* Sıcak gri skala (Phoenix'in mavi-gri skalası yerine) */
    --phoenix-gray-50: #faf9f6;   --phoenix-gray-50-rgb: 250, 249, 246;
    --phoenix-gray-100: #f3f1ec;  --phoenix-gray-100-rgb: 243, 241, 236;
    --phoenix-gray-200: #e8e5dd;  --phoenix-gray-200-rgb: 232, 229, 221;
    --phoenix-gray-300: #d6d2c7;  --phoenix-gray-300-rgb: 214, 210, 199;
    --phoenix-gray-400: #b3aea2;  --phoenix-gray-400-rgb: 179, 174, 162;
    --phoenix-gray-500: #8f8a7f;  --phoenix-gray-500-rgb: 143, 138, 127;
    --phoenix-gray-600: #6b6860;  --phoenix-gray-600-rgb: 107, 104, 96;
    --phoenix-gray-700: #4d4b46;  --phoenix-gray-700-rgb: 77, 75, 70;
    --phoenix-gray-800: #36352f;  --phoenix-gray-800-rgb: 54, 53, 47;
    --phoenix-gray-900: #22221f;  --phoenix-gray-900-rgb: 34, 34, 31;
    --phoenix-gray-1000: #171714; --phoenix-gray-1000-rgb: 23, 23, 20;
    --phoenix-gray-1100: #0f0f0d; --phoenix-gray-1100-rgb: 15, 15, 13;

    /* Eski sayfaların kullandığı metin tonları */
    --phoenix-text-1000: var(--pmo-ink);
    --phoenix-text-900: var(--pmo-ink);
    --phoenix-text-800: #2b2f35;
    --phoenix-text-700: var(--pmo-ink-2);
    --phoenix-text-600: var(--pmo-muted);
    --phoenix-text-500: #7c818a;
    --phoenix-text-400: #9a9ea6;
    --phoenix-text-300: #b8bbc1;
}

/* ─── Koyu tema ───────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] {
    --pmo-bg: #121419;
    --pmo-surface: #1b1e25;
    --pmo-surface-2: #171a20;
    --pmo-ink: #f1f2f4;
    --pmo-ink-2: #d4d7dc;
    --pmo-muted: #9aa0ab;
    --pmo-line: #2c3039;
    --pmo-line-strong: #3a3f4a;
    --pmo-accent: #e0703a;
    --pmo-accent-rgb: 224, 112, 58;
    --pmo-accent-hover: #ea8450;
    --pmo-accent-soft: #3a2419;
    --pmo-ok: #5fb383;   --pmo-ok-rgb: 95, 179, 131;   --pmo-ok-soft: #1c2f25;
    --pmo-info: #7aa7d6; --pmo-info-rgb: 122, 167, 214; --pmo-info-soft: #1c2a3a;
    --pmo-warn: #d9a14a; --pmo-warn-rgb: 217, 161, 74;  --pmo-warn-soft: #33281a;
    --pmo-danger: #ef7a6f; --pmo-danger-rgb: 239, 122, 111; --pmo-danger-soft: #3a1f1d;
    --pmo-shadow: none;

    --phoenix-body-bg: var(--pmo-bg);
    --phoenix-body-bg-rgb: 18, 20, 25;
    --phoenix-body-color: var(--pmo-ink-2);
    --phoenix-body-color-rgb: 212, 215, 220;
    --phoenix-emphasis-color: var(--pmo-ink);
    --phoenix-secondary-color: var(--pmo-muted);
    --phoenix-secondary-bg: #20242c;
    --phoenix-tertiary-bg: var(--pmo-surface-2);
    --phoenix-body-highlight-bg: var(--pmo-surface);
    --phoenix-body-highlight-color: var(--pmo-ink);
    --phoenix-border-color: var(--pmo-line);
    --phoenix-card-bg: var(--pmo-surface);
    --phoenix-card-border-color: var(--pmo-line);
    --phoenix-navbar-top-bg-color: var(--pmo-surface);
    --phoenix-navbar-vertical-bg-color: var(--pmo-surface-2);
    --phoenix-link-color: var(--pmo-ink);
    --phoenix-link-color-rgb: 241, 242, 244;
    --phoenix-link-hover-color: var(--pmo-accent);
    --phoenix-primary: var(--pmo-accent);
    --phoenix-primary-rgb: var(--pmo-accent-rgb);
    --phoenix-primary-bg-subtle: var(--pmo-accent-soft);
    --phoenix-primary-text-emphasis: #f0a27c;
    --phoenix-success: var(--pmo-ok);   --phoenix-success-rgb: var(--pmo-ok-rgb);   --phoenix-success-bg-subtle: var(--pmo-ok-soft);   --phoenix-success-text-emphasis: #8fd0aa;
    --phoenix-info: var(--pmo-info);    --phoenix-info-rgb: var(--pmo-info-rgb);    --phoenix-info-bg-subtle: var(--pmo-info-soft);    --phoenix-info-text-emphasis: #a9c8e8;
    --phoenix-warning: var(--pmo-warn); --phoenix-warning-rgb: var(--pmo-warn-rgb); --phoenix-warning-bg-subtle: var(--pmo-warn-soft); --phoenix-warning-text-emphasis: #e8c184;
    --phoenix-danger: var(--pmo-danger); --phoenix-danger-rgb: var(--pmo-danger-rgb); --phoenix-danger-bg-subtle: var(--pmo-danger-soft); --phoenix-danger-text-emphasis: #f4a59d;

    --phoenix-text-1000: var(--pmo-ink);
    --phoenix-text-900: var(--pmo-ink);
    --phoenix-text-800: #e3e5e8;
    --phoenix-text-700: var(--pmo-ink-2);
    --phoenix-text-600: var(--pmo-muted);
    --phoenix-text-500: #858b96;
    --phoenix-text-400: #6f7580;
    --phoenix-text-300: #5a606a;
}

/* ─── Temel tipografi ─────────────────────────────────────────────────────── */
body {
    font-family: var(--pmo-sans);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    /* cv11: tek katlı "a" değil; ss03 yok. "calt" + "kern" Inter'in okunurluk ayarları */
    font-feature-settings: "kern", "calt";
    letter-spacing: -0.006em;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--pmo-sans);
    color: var(--pmo-ink);
    font-weight: 600;
    letter-spacing: -0.01em;
}
h2, .h2 { font-size: 1.5rem; }
h3, .h3 { font-size: 1.25rem; }
h4, .h4 { font-size: 1.125rem; }
h5, .h5 { font-size: 1rem; }
h6, .h6 { font-size: 0.875rem; }

/* Rakamlar: ana font + hizalı rakamlar (efor, WBS no, tarih); kod blokları sistem mono yazısıyla */
.font-monospace, code, kbd, pre { font-family: var(--pmo-code); }
.pmo-num, table td, table th, .badge, .progress, .stat-value, .pmo-kpi-value, .pmo-crumb, .pmo-due-when, .pmo-cal-date, .pmo-breakdown td { font-variant-numeric: tabular-nums; }
.pmo-label {
    font-family: var(--pmo-sans);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--pmo-muted);
}

/* ─── Bileşenler: buton, rozet, form ─────────────────────────────────────── */
.btn { font-weight: 500; letter-spacing: 0; border-radius: var(--pmo-radius); }
.btn-primary {
    --phoenix-btn-color: var(--pmo-accent-ink);
    --phoenix-btn-bg: var(--pmo-accent);
    --phoenix-btn-border-color: var(--pmo-accent);
    --phoenix-btn-hover-color: var(--pmo-accent-ink);
    --phoenix-btn-hover-bg: var(--pmo-accent-hover);
    --phoenix-btn-hover-border-color: var(--pmo-accent-hover);
    --phoenix-btn-active-color: var(--pmo-accent-ink);
    --phoenix-btn-active-bg: var(--pmo-accent-hover);
    --phoenix-btn-active-border-color: var(--pmo-accent-hover);
    --phoenix-btn-disabled-color: var(--pmo-accent-ink);
    --phoenix-btn-disabled-bg: var(--pmo-accent);
    --phoenix-btn-disabled-border-color: var(--pmo-accent);
    --phoenix-btn-focus-shadow-rgb: var(--pmo-accent-rgb);
}
.btn-outline-primary {
    --phoenix-btn-color: var(--pmo-accent);
    --phoenix-btn-border-color: var(--pmo-accent);
    --phoenix-btn-hover-color: var(--pmo-accent-ink);
    --phoenix-btn-hover-bg: var(--pmo-accent);
    --phoenix-btn-hover-border-color: var(--pmo-accent);
    --phoenix-btn-active-color: var(--pmo-accent-ink);
    --phoenix-btn-active-bg: var(--pmo-accent-hover);
    --phoenix-btn-active-border-color: var(--pmo-accent-hover);
}
/* "Phoenix" yumuşak butonları: beyaz zemin, ince çizgi; vurgu yalnızca metinde */
.btn-phoenix-primary, .btn-phoenix-secondary, .btn-phoenix-success, .btn-phoenix-warning, .btn-phoenix-danger, .btn-phoenix-info {
    --phoenix-btn-bg: var(--pmo-surface);
    --phoenix-btn-border-color: var(--pmo-line-strong);
    --phoenix-btn-hover-bg: var(--pmo-surface-2);
    --phoenix-btn-hover-border-color: var(--pmo-ink-2);
    --phoenix-btn-active-bg: var(--phoenix-secondary-bg);
    --phoenix-btn-active-border-color: var(--pmo-ink-2);
}
.btn-phoenix-primary   { --phoenix-btn-color: var(--pmo-accent);  --phoenix-btn-hover-color: var(--pmo-accent-hover); }
.btn-phoenix-secondary { --phoenix-btn-color: var(--pmo-ink-2);   --phoenix-btn-hover-color: var(--pmo-ink); }
.btn-phoenix-success   { --phoenix-btn-color: var(--pmo-ok);      --phoenix-btn-hover-color: var(--pmo-ok); }
.btn-phoenix-warning   { --phoenix-btn-color: var(--pmo-warn);    --phoenix-btn-hover-color: var(--pmo-warn); }
.btn-phoenix-danger    { --phoenix-btn-color: var(--pmo-danger);  --phoenix-btn-hover-color: var(--pmo-danger); }
.btn-phoenix-info      { --phoenix-btn-color: var(--pmo-info);    --phoenix-btn-hover-color: var(--pmo-info); }
.btn-xs { padding: 0.125rem 0.5rem; font-size: 0.75rem; border-radius: 6px; line-height: 1.4; }
.btn-link { --phoenix-btn-color: var(--pmo-ink-2); --phoenix-btn-hover-color: var(--pmo-accent); text-decoration: none; }

.badge { font-weight: 500; letter-spacing: 0.01em; border-radius: 6px; }
.badge-phoenix { border-radius: 6px; font-weight: 500; }

.form-control, .form-select { border-color: var(--pmo-line-strong); border-radius: var(--pmo-radius); }
.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: var(--pmo-accent);
    box-shadow: 0 0 0 3px rgba(var(--pmo-accent-rgb), 0.18);
}
.form-check-input:checked { background-color: var(--pmo-accent); border-color: var(--pmo-accent); }
.form-control-xs, .form-select-xs { padding: 0.2rem 0.5rem; font-size: 0.75rem; min-height: 0; border-radius: 6px; }
.form-label { font-weight: 500; color: var(--pmo-ink); margin-bottom: 0.35rem; font-size: 0.8125rem; padding-left: 0; text-transform: none; letter-spacing: 0; }

.progress { background-color: var(--phoenix-secondary-bg); border-radius: 999px; }
.progress-bar { background-color: var(--pmo-ink-2); }

a:focus-visible, .btn:focus-visible, .form-control:focus-visible {
    outline: 2px solid var(--pmo-accent);
    outline-offset: 2px;
}

/* ─── Eski (Falcon) sınıfların karşılıkları ──────────────────────────────── */
/* Sayfalarda yüzlerce kullanımı var ama mevcut temada tanımsızdı; etkisiz kalıyorlardı. */
.fs--2 { font-size: 0.6875rem !important; }
.fs--1 { font-size: 0.75rem !important; }
.fs-0 { font-size: 0.875rem !important; }
.x-small { font-size: 0.6875rem !important; }
.text-1000 { color: var(--phoenix-text-1000) !important; }
.text-900  { color: var(--phoenix-text-900) !important; }
.text-800  { color: var(--phoenix-text-800) !important; }
.text-700  { color: var(--phoenix-text-700) !important; }
.text-600  { color: var(--phoenix-text-600) !important; }
.text-500  { color: var(--phoenix-text-500) !important; }
.text-400  { color: var(--phoenix-text-400) !important; }
.text-300  { color: var(--phoenix-text-300) !important; }
.bg-soft-primary, .badge-soft-primary, .alert-soft-primary, .bg-phoenix-primary-subtle { background-color: var(--pmo-accent-soft) !important; color: var(--phoenix-primary-text-emphasis); }
.bg-soft-success, .badge-soft-success, .alert-soft-success { background-color: var(--pmo-ok-soft) !important; color: var(--phoenix-success-text-emphasis); }
.bg-soft-warning, .badge-soft-warning, .alert-soft-warning { background-color: var(--pmo-warn-soft) !important; color: var(--phoenix-warning-text-emphasis); }
.bg-soft-danger,  .badge-soft-danger,  .alert-soft-danger  { background-color: var(--pmo-danger-soft) !important; color: var(--phoenix-danger-text-emphasis); }
.bg-soft-info,    .badge-soft-info,    .alert-soft-info    { background-color: var(--pmo-info-soft) !important; color: var(--phoenix-info-text-emphasis); }
.bg-soft-secondary, .badge-soft-secondary { background-color: var(--phoenix-secondary-bg) !important; color: var(--pmo-ink-2); }
.alert-soft-primary, .alert-soft-success, .alert-soft-warning, .alert-soft-danger, .alert-soft-info { border: 1px solid transparent; }
.bg-light-soft { background-color: var(--pmo-surface-2) !important; }
.border-250 { border-color: var(--pmo-line) !important; }

/* Durum renkli dolu butonlar palet tonlarını kullanır (Bootstrap'ın parlak yeşil/mavisi yerine) */
.btn-success { --phoenix-btn-color: #fff; --phoenix-btn-bg: var(--pmo-ok); --phoenix-btn-border-color: var(--pmo-ok); --phoenix-btn-hover-color: #fff; --phoenix-btn-hover-bg: #276843; --phoenix-btn-hover-border-color: #276843; --phoenix-btn-active-bg: #276843; --phoenix-btn-disabled-bg: var(--pmo-ok); --phoenix-btn-disabled-border-color: var(--pmo-ok); }
.btn-info    { --phoenix-btn-color: #fff; --phoenix-btn-bg: var(--pmo-info); --phoenix-btn-border-color: var(--pmo-info); --phoenix-btn-hover-color: #fff; --phoenix-btn-hover-bg: #264d73; --phoenix-btn-hover-border-color: #264d73; --phoenix-btn-active-bg: #264d73; }
.btn-danger  { --phoenix-btn-color: #fff; --phoenix-btn-bg: var(--pmo-danger); --phoenix-btn-border-color: var(--pmo-danger); --phoenix-btn-hover-color: #fff; --phoenix-btn-hover-bg: #961d14; --phoenix-btn-hover-border-color: #961d14; --phoenix-btn-active-bg: #961d14; }
.btn-warning { --phoenix-btn-color: #fff; --phoenix-btn-bg: var(--pmo-warn); --phoenix-btn-border-color: var(--pmo-warn); --phoenix-btn-hover-color: #fff; --phoenix-btn-hover-bg: #7f530f; --phoenix-btn-hover-border-color: #7f530f; --phoenix-btn-active-bg: #7f530f; }
.btn-outline-secondary { --phoenix-btn-color: var(--pmo-ink-2); --phoenix-btn-border-color: var(--pmo-line-strong); --phoenix-btn-hover-color: var(--pmo-ink); --phoenix-btn-hover-bg: var(--pmo-surface-2); --phoenix-btn-hover-border-color: var(--pmo-ink-2); }

/* Blazor sayfa geçişinde odağı başlığa taşır (ekran okuyucu için); görsel çerçeve gerekmez */
h1:focus, h1:focus-visible, [tabindex="-1"]:focus { outline: none; }
