/* ==========================================================================
   Finans Merkezi — ilmek.si dünyası (0.13.0, Atakan 2026-10-11: "ilmek.si gibi baştan tasarım"; ay takvimi 0.13.1)
   Kırık beyaz zemin, lacivert yapı (yan menü), beyaz kartlar, altın iplik vurgusu.
   Başlıklar Bodoni Moda (optik boy 11), arayüz + bütün rakamlar Hanken Grotesk.
   Değişmeyen anlam kuralları: amber YALNIZ "bugün", kırmızı YALNIZ "gecikti", yeşil "ödendi".
   Altın yalnız süs (iplik, etkin menü işareti); hiçbir durumu tek başına anlatmaz.
   Derleme yok: düz CSS, panelin <head> sonuna eklenir (AdminPanelProvider). Açık + koyu mod (.dark).
   Eski "Kargo etiketi" teması: MH-ATOLYE/04-ARSIV/_eski-finans-kargo-etiketi-tema/.
   ========================================================================== */

:root {
    --fm-zemin: #F8F5EF;          /* kırık beyaz (sayfa) — ilmek.si kimlik rehberi */
    --fm-etiket: #FFFFFF;         /* kart */
    --fm-etiket-2: #F1EEE8;       /* kart içi ikinci katman */
    --fm-murekkep: #0A172B;       /* metin */
    --fm-soluk: #4E5A70;          /* yardımcı metin (kırık beyazda 6.4:1) */
    --fm-cizgi: #E6E0D4;          /* kıl çizgi */
    --fm-perfore: #C28A36;        /* altın: iplik, etkin işaret (süs) */
    --fm-kraft: #0B1F3A;          /* ana vurgu: lacivert */
    --fm-kraft-koyu: #081830;
    --fm-kraft-metin: #0B1F3A;    /* bağlantı / vurgu metni */
    --fm-menu: #0B1F3A;           /* yan menü */
    --fm-menu-metin: #F3EEE4;
    --fm-menu-soluk: #B8C3D4;
    --fm-bugun: #9A5B0B;          /* ayrılmış amber (metin, beyazda 5.6:1) */
    --fm-bugun-zemin: #FBEFD9;
    --fm-gecikti: #A3352B;
    --fm-gecikti-zemin: #F9E5E2;
    --fm-odendi: #2E6B4A;
    --fm-odendi-zemin: #E4F1E9;
    --fm-bilgi: #34527E;
    --fm-bilgi-zemin: #EDF1F7;
    --fm-seri-kart: #C28A36;      /* grafik: kart */
    --fm-seri-banka: #34527E;     /* grafik: banka */
    --fm-golge: 0 1px 2px rgba(11, 31, 58, .05), 0 6px 16px -8px rgba(11, 31, 58, .16);
    --fm-golge-2: 0 2px 6px rgba(11, 31, 58, .05), 0 24px 48px -24px rgba(11, 31, 58, .28);
    --fm-r: 16px;
    --fm-r-kucuk: 10px;
    --fm-serif: "Hanken Rakam", "Bodoni Moda", "Didot", Georgia, serif;
    --fm-opsz: "opsz" 11;
}

.dark {
    --fm-zemin: #061226;          /* lacivert gece */
    --fm-etiket: #0C1D36;
    --fm-etiket-2: #12284A;
    --fm-murekkep: #F3EEE4;
    --fm-soluk: #B8C3D4;
    --fm-cizgi: #1E3457;
    --fm-perfore: #E6C891;
    --fm-kraft: #E6C891;
    --fm-kraft-koyu: #F3E3BF;
    --fm-kraft-metin: #E6C891;
    --fm-menu: #040C1A;
    --fm-menu-metin: #F3EEE4;
    --fm-menu-soluk: #93A3BD;
    --fm-bugun: #EAB052;
    --fm-bugun-zemin: rgba(234, 176, 82, .14);
    --fm-gecikti: #EF8A7E;
    --fm-gecikti-zemin: rgba(239, 138, 126, .13);
    --fm-odendi: #79C399;
    --fm-odendi-zemin: rgba(121, 195, 153, .12);
    --fm-bilgi: #A9BDDD;
    --fm-bilgi-zemin: #12284A;
    --fm-seri-kart: #E6C891;
    --fm-seri-banka: #7FA3D9;
    --fm-golge: 0 1px 0 rgba(0, 0, 0, .3), 0 12px 24px -18px rgba(0, 0, 0, .7);
    --fm-golge-2: 0 2px 6px rgba(0, 0, 0, .3), 0 24px 48px -24px rgba(0, 0, 0, .8);
}

/* ---------- Tarayıcı yüzeyleri ---------- */

html { -webkit-tap-highlight-color: transparent; }
::selection { background: color-mix(in srgb, var(--fm-perfore) 35%, transparent); color: var(--fm-murekkep); }
* { scrollbar-color: color-mix(in srgb, var(--fm-kraft) 40%, transparent) transparent; scrollbar-width: thin; }
:focus-visible { outline: 2px solid var(--fm-perfore); outline-offset: 2px; }
input, textarea { caret-color: var(--fm-perfore); }
a { text-underline-offset: 3px; }

/* ---------- Gövde ve sayfa ---------- */

.fi-body, .fi-simple-layout {
    background: var(--fm-zemin) !important;
    color: var(--fm-murekkep);
}

/* Başlıklar: Bodoni, kalın optik boy (ince çizgiler okunur), rakamlar Hanken */
.fi-header-heading, .fi-simple-header-heading, .fi-section-header-heading, .fi-ta-header-heading,
.fi-modal-heading, .fm-blok-baslik h2, .fm-panel h3, .fi-wi-chart-heading {
    font-family: var(--fm-serif) !important;
    font-variation-settings: var(--fm-opsz);
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    color: var(--fm-murekkep);
}
.fi-header-heading { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.4rem) !important; line-height: 1.1; }
.fi-header-subheading { color: var(--fm-soluk) !important; }

/* Ana sayfa başlığının altında logodaki altın iplik (süs). Ana sayfanın kendi sınıfı yok: ödeme bandından tanınır. */
.fi-page:has(.fm-bant) .fi-header-heading::after {
    content: ""; display: block; width: 132px; height: 14px; margin-top: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 14' fill='none'%3E%3Cpath d='M1 8c14-9 24 7 38 2s20-9 32-4 22 9 34 2 18-5 26-2' stroke='%23C28A36' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") left center / contain no-repeat;
}

/* Rakamlar her tabloda, özette ve formda eşit genişlikte */
.fi-ta-text, .fi-ta-cell, .fi-wi-stats-overview-stat-value, .fm-rakam,
.fi-input, .fi-select-input { font-variant-numeric: tabular-nums; }

/* ---------- Yan menü: lacivert (ilmek.si panosu gibi) ---------- */

.fi-sidebar {
    background: var(--fm-menu) !important;
    border-right: 0 !important;
}
.fi-sidebar-header { background: transparent !important; box-shadow: none !important; border-bottom: 1px solid color-mix(in srgb, var(--fm-menu-metin) 12%, transparent); }
.fi-sidebar .fi-logo, .fi-sidebar-header a { color: var(--fm-menu-metin) !important; }

.fi-sidebar-group-label { color: var(--fm-menu-soluk) !important; font-size: .78rem !important; font-weight: 600 !important; letter-spacing: 0; text-transform: none; }
.fi-sidebar-group-btn .fi-icon, .fi-sidebar-group-collapse-btn { color: var(--fm-menu-soluk) !important; }

.fi-sidebar-item-btn { border-radius: var(--fm-r-kucuk) !important; transition: background-color .16s ease; }
.fi-sidebar-item-label { color: var(--fm-menu-metin) !important; font-weight: 500; }
.fi-sidebar-item-btn .fi-icon { color: color-mix(in srgb, var(--fm-menu-metin) 72%, transparent) !important; }
.fi-sidebar-item-btn:hover { background: color-mix(in srgb, var(--fm-menu-metin) 7%, transparent) !important; }

/* Etkin öğe: hafif açık zemin + soldaki altın iplik işareti */
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
.fi-sidebar-item-btn.fi-active {
    background: color-mix(in srgb, var(--fm-menu-metin) 10%, transparent) !important;
    box-shadow: inset 2px 0 0 var(--fm-perfore);
}
.fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar-item-btn.fi-active .fi-sidebar-item-label { color: #FFFFFF !important; font-weight: 600; }
.fi-sidebar-item.fi-active .fi-icon,
.fi-sidebar-item-btn.fi-active .fi-icon { color: var(--fm-perfore) !important; }
.dark .fi-sidebar-item.fi-active .fi-icon, .dark .fi-sidebar-item-btn.fi-active .fi-icon { color: #E6C891 !important; }
.fi-sidebar-item-grouped-border-part { background: color-mix(in srgb, var(--fm-menu-metin) 22%, transparent) !important; }
.fi-sidebar-item-badge, .fi-sidebar .fi-badge { background: color-mix(in srgb, var(--fm-menu-metin) 14%, transparent) !important; color: var(--fm-menu-metin) !important; box-shadow: none !important; }

/* ---------- Üst çubuk ---------- */

.fi-topbar {
    background: color-mix(in srgb, var(--fm-zemin) 88%, transparent) !important;
    backdrop-filter: saturate(1.3) blur(12px);
    -webkit-backdrop-filter: saturate(1.3) blur(12px);
    box-shadow: none !important;
    border-bottom: 1px solid var(--fm-cizgi) !important;
}

/* ---------- Bölümler ---------- */

.fi-section {
    background: var(--fm-etiket) !important;
    border-radius: var(--fm-r) !important;
    box-shadow: var(--fm-golge) !important;
    --tw-ring-color: color-mix(in srgb, var(--fm-kraft) 8%, transparent) !important;
}
.fi-section-header { border-bottom: 1px solid var(--fm-cizgi); }
.fi-section-header-heading { font-size: 1.2rem !important; }
.fi-section-header-description { color: var(--fm-soluk) !important; }

/* ---------- Tablolar ---------- */

.fi-ta-ctn, .fi-wi-table .fi-ta-ctn {
    background: var(--fm-etiket) !important;
    border-radius: var(--fm-r) !important;
    box-shadow: var(--fm-golge) !important;
}
.fi-ta-header-cell {
    background: color-mix(in srgb, var(--fm-etiket-2) 55%, var(--fm-etiket)) !important;
    font-size: .78rem !important;
    color: var(--fm-soluk) !important;
}
.fi-ta-header-cell button, .fi-ta-header-cell span {
    font-size: inherit !important; color: inherit !important; font-weight: 600;
}
.fi-ta-row { border-color: var(--fm-cizgi) !important; }

/* Ödenecekler listesi telefonda: her satır bir ızgara: [seçim] [alıcı] [kalan · vade] [işlem] */
@media (max-width: 767px) {
    .fi-resource-payables .fi-ta-table,
    .fi-resource-payables .fi-ta-table > tbody { display: block; width: 100%; }
    .fi-resource-payables .fi-ta-table > thead { display: none; }
    .fi-resource-payables .fi-ta-table tr.fi-ta-row {
        display: grid; grid-template-columns: 40px minmax(0, 1.15fr) minmax(0, 1fr) 40px; align-items: center;
    }
    .fi-resource-payables .fi-ta-row > td:not([class*="fi-visible"]) { display: block; min-width: 0; overflow: hidden; }
    .fi-resource-payables .fi-ta-row > td * { white-space: normal !important; overflow-wrap: anywhere; }
    .fi-resource-payables .fi-ta-row > td { padding: 10px 6px !important; }
    .fi-resource-payables .fi-ta-row > td.fi-ta-selection-cell { overflow: visible; padding-left: 10px !important; }
    .fi-resource-payables .fi-ta-row .fi-ta-text { padding: 4px 0 !important; }
    .fi-resource-payables .fi-ta-cell-kalan-vade { text-align: right; }
}
.fi-ta-row:hover { background: color-mix(in srgb, var(--fm-etiket-2) 60%, transparent) !important; }

/* ---------- Rozetler: ilmek.si durum hapı ---------- */

.fi-badge {
    border-radius: 999px !important;
    font-weight: 600 !important;
    letter-spacing: 0;
}

/* ---------- Düğmeler ve girişler ---------- */

.fi-btn { border-radius: 999px !important; font-weight: 600 !important; }
/* Koyu modda ana düğme altın zemin + lacivert yazı (lacivert düğme koyu zeminde kayboluyordu) */
.dark .fi-btn.fi-color-primary.fi-bg-color-600 { background-color: #E6C891 !important; color: #061226 !important; }
.dark .fi-btn.fi-color-primary.fi-bg-color-600:hover { background-color: #F0D9A8 !important; }
.dark .fi-btn.fi-color-primary.fi-bg-color-600 .fi-icon { color: #061226 !important; }
.fi-icon-btn { border-radius: 999px !important; }
.fi-input-wrp { border-radius: 12px !important; }
.fi-dropdown-panel { border-radius: 14px !important; box-shadow: var(--fm-golge-2) !important; }
.fi-modal-window { border-radius: 20px !important; }
.fi-tabs { border-radius: 999px !important; }
.fi-tabs-item { border-radius: 999px !important; }

/* ---------- Özet istatistikleri (Filament stat) ---------- */

.fi-wi-stats-overview-stat { border-radius: var(--fm-r) !important; background: var(--fm-etiket) !important; box-shadow: var(--fm-golge) !important; }

/* ---------- Giriş sayfası ---------- */

.fi-simple-main { border-radius: 20px !important; box-shadow: var(--fm-golge-2) !important; background: var(--fm-etiket) !important; }

/* ==========================================================================
   Kendi bileşenlerimiz (fm-*)
   ========================================================================== */

.fm-rakam { font-variant-numeric: tabular-nums; }
.fm-soluk { color: var(--fm-soluk); }

/* ---------- Dağıtım kutuları (gecikti · bugün · 7 gün · ay sonu) ---------- */

.fm-kutular {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
@container (max-width: 760px) { .fm-kutular { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.fm-bant { container-type: inline-size; display: flex; flex-direction: column; gap: 16px; }

.fm-kutu-d {
    position: relative;
    display: flex; flex-direction: column; gap: 4px;
    padding: 14px 16px 15px;
    border-radius: var(--fm-r);
    background: var(--fm-etiket);
    box-shadow: var(--fm-golge);
    color: var(--fm-murekkep);
    text-decoration: none;
    transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s ease;
}
.fm-kutu-d:hover { transform: translateY(-2px); box-shadow: var(--fm-golge-2); }
.fm-kutu-d__ad { display: inline-flex; align-items: center; gap: 7px; font-size: .8rem; color: var(--fm-soluk); font-weight: 600; }
.fm-kutu-d__ad::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--fm-cizgi); flex: none; }
.fm-kutu-d__tutar { font-size: 1.6rem; font-weight: 650; letter-spacing: -0.02em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.fm-kutu-d__alt { font-size: .8rem; color: var(--fm-soluk); }
.fm-kutu-d--gecikti .fm-kutu-d__ad::before { background: var(--fm-gecikti); box-shadow: 0 0 0 3px var(--fm-gecikti-zemin); }
.fm-kutu-d--gecikti .fm-kutu-d__ad, .fm-kutu-d--gecikti .fm-kutu-d__tutar { color: var(--fm-gecikti); }
.fm-kutu-d--bugun { background: color-mix(in srgb, var(--fm-bugun-zemin) 70%, var(--fm-etiket)); }
.dark .fm-kutu-d--bugun { background: var(--fm-etiket); box-shadow: inset 0 0 0 1px rgba(234, 176, 82, .5), var(--fm-golge); }
.fm-kutu-d--bugun .fm-kutu-d__ad::before { background: var(--fm-bugun); box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-bugun) 18%, transparent); }
.fm-kutu-d--bugun .fm-kutu-d__ad, .fm-kutu-d--bugun .fm-kutu-d__tutar { color: var(--fm-bugun); }
.fm-kutu-d--hafta .fm-kutu-d__ad::before { background: var(--fm-bilgi); }
.fm-kutu-d--ay .fm-kutu-d__ad::before { background: var(--fm-perfore); }
.fm-kutu-d--sakin .fm-kutu-d__tutar { color: var(--fm-soluk); }

.fm-serit {
    display: flex; flex-wrap: wrap; gap: 6px 20px;
    font-size: .84rem; color: var(--fm-soluk);
    padding: 0 2px;
}
.fm-serit b { color: var(--fm-murekkep); font-weight: 650; font-variant-numeric: tabular-nums; }
.fm-serit a { color: inherit; text-decoration: none; }
.fm-serit a:hover b { text-decoration: underline; text-decoration-color: var(--fm-perfore); }

/* ---------- Gövde: ödeme listesi + sorulanlar ---------- */

.fm-bant-govde { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@container (min-width: 980px) { .fm-bant-govde { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); align-items: start; } }

.fm-blok-baslik {
    display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
    margin: 4px 2px 10px;
}
.fm-blok-baslik h2 { font-size: 1.25rem; }
.fm-blok-baslik a { font-size: .84rem; color: var(--fm-kraft-metin); font-weight: 600; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--fm-perfore) 70%, transparent); text-underline-offset: 4px; }
.fm-blok-baslik a:hover { text-decoration-color: var(--fm-perfore); }

.fm-yigin { display: flex; flex-direction: column; gap: 8px; }

/* ---------- Ödeme satırı (eski adıyla "kargo etiketi") ---------- */

.fm-kargo {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 10px 14px 10px 10px;
    background: var(--fm-etiket);
    border-radius: var(--fm-r);
    box-shadow: var(--fm-golge);
    color: var(--fm-murekkep);
    position: relative;
    transition: box-shadow .2s ease;
}
.fm-kargo:hover { box-shadow: var(--fm-golge-2); }

/* Tarih: ilmek.si takvim karesi */
.fm-kargo__rota {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: 56px; height: 56px; border-radius: 14px;
    background: var(--fm-etiket-2); color: var(--fm-murekkep);
}
.fm-kargo__gun { font-size: 1.35rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.fm-kargo__ay { font-size: .68rem; font-weight: 600; margin-top: 3px; color: var(--fm-soluk); }
.fm-kargo--gecikti .fm-kargo__rota { background: var(--fm-gecikti); color: #FFFFFF; }
.fm-kargo--gecikti .fm-kargo__ay { color: rgba(255, 255, 255, .85); }
.fm-kargo--bugun .fm-kargo__rota { background: var(--fm-bugun); color: #FFFFFF; }
.fm-kargo--bugun .fm-kargo__ay { color: rgba(255, 255, 255, .88); }
.dark .fm-kargo--gecikti .fm-kargo__rota { background: #8E2F27; color: #FBE9E6; }
.dark .fm-kargo--bugun .fm-kargo__rota { background: #8F5A0F; color: #FFF4E0; }

.fm-kargo__govde { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fm-kargo__ust { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.fm-hizmet {
    font-size: .68rem; font-weight: 650; letter-spacing: .02em;
    border-radius: 999px; padding: 1px 8px; color: var(--fm-bilgi);
    background: var(--fm-bilgi-zemin);
}
.fm-takip { font-size: .74rem; color: var(--fm-soluk); font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-alici { font-size: 1rem; font-weight: 650; letter-spacing: -0.005em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-aciklama { font-size: .82rem; color: var(--fm-soluk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Tutar sütunu: kıl çizgiyle ayrılır */
.fm-kargo__kocan {
    position: relative;
    border-left: 1px solid var(--fm-cizgi);
    padding: 2px 0 2px 16px;
    display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 5px;
    min-width: 132px;
}
.fm-kargo__tutar { font-size: 1.12rem; font-weight: 700; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fm-kargo__eylem {
    font-size: .8rem; font-weight: 600; color: var(--fm-kraft-metin);
    text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--fm-perfore) 70%, transparent); text-underline-offset: 4px;
    padding: 4px 0; min-height: 32px; display: inline-flex; align-items: center;
}
.fm-kargo__eylem:hover { text-decoration-color: var(--fm-perfore); }

/* Ödenmiş satır: yerinde kalır, sönük */
.fm-kargo--odendi { opacity: .7; }
.fm-kargo--odendi .fm-kargo__tutar { text-decoration: line-through; text-decoration-thickness: 2px; }

@container (max-width: 520px) {
    .fm-kargo { grid-template-columns: auto minmax(0, 1fr); gap: 10px 12px; }
    .fm-kargo__kocan {
        grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--fm-cizgi);
        flex-direction: row; justify-content: space-between; align-items: center; min-width: 0;
        padding: 8px 0 0;
    }
    .fm-kargo__rota { width: 48px; height: 48px; border-radius: 12px; }
    .fm-kargo__gun { font-size: 1.2rem; }
}

/* ---------- Durum hapı (eski adıyla "mühür") ---------- */

.fm-muhur {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .72rem; font-weight: 650;
    padding: 2px 9px 2px 8px; border-radius: 999px;
    white-space: nowrap;
    background: var(--fm-etiket-2); color: var(--fm-soluk);
}
.fm-muhur::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.fm-muhur--gecikti { color: var(--fm-gecikti); background: var(--fm-gecikti-zemin); }
.fm-muhur--bugun { color: var(--fm-bugun); background: var(--fm-bugun-zemin); }
.fm-muhur--yakin { color: var(--fm-bilgi); background: var(--fm-bilgi-zemin); }
.fm-muhur--odendi { color: var(--fm-odendi); background: var(--fm-odendi-zemin); }
/* Tek hareket: ödenen satırın hapı çizilir gibi belirir */
.fm-kargo--odendi .fm-muhur--odendi { animation: fm-belir .4s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes fm-belir { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
.fm-muhur--bilgi { color: var(--fm-bilgi); background: var(--fm-bilgi-zemin); }

/* ---------- Sorulanlar (sistemin senden beklediği) ---------- */

.fm-sorular { display: flex; flex-direction: column; gap: 8px; }
.fm-soru {
    display: block; text-decoration: none; color: var(--fm-murekkep);
    background: var(--fm-etiket); border-radius: var(--fm-r); box-shadow: var(--fm-golge);
    padding: 12px 14px;
}
a.fm-soru:hover { box-shadow: var(--fm-golge-2); }
.fm-soru__ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fm-soru__baslik { font-size: .9rem; font-weight: 650; line-height: 1.35; }
.fm-soru__detay { font-size: .8rem; color: var(--fm-soluk); margin-top: 3px; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fm-soru__tutar { font-size: .84rem; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }

.fm-saglik {
    display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center;
    font-size: .78rem; color: var(--fm-soluk); padding: 6px 2px 0;
}
.fm-nokta { width: 7px; height: 7px; border-radius: 50%; display: inline-block; margin-right: 5px; vertical-align: 1px; }
.fm-nokta--iyi { background: var(--fm-odendi); }
.fm-nokta--uyari { background: var(--fm-bugun); }
.fm-nokta--kritik { background: var(--fm-gecikti); }
.fm-nokta--bekleniyor, .fm-nokta--kapali { background: var(--fm-cizgi); }

.fm-bos-not {
    background: var(--fm-etiket); border-radius: var(--fm-r); box-shadow: var(--fm-golge);
    padding: 18px 20px; color: var(--fm-soluk); font-size: .92rem;
}
.fm-bos-not b { color: var(--fm-odendi); }

/* ==========================================================================
   Ay takvimi + altın iplik (0.13.1, Atakan 2026-10-11 — claude-68'in "ay-takvimi" önizlemesi)
   Gün kareleri, vade noktaları (altın = kart, lacivert = diğer), günlük açık toplam; bugünden sıradaki vadelere
   altın iplik; tamamı ödenen günde yeşil düğüm. Telefonda (dar kapsayıcı) ay ızgarası yerine gün gün liste.
   ========================================================================== */

.fm-takvim { container-type: inline-size; display: flex; flex-direction: column; gap: 14px; }

.fm-takvim__ust { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.fm-takvim__ust h2 { font-family: var(--fm-serif); font-variation-settings: var(--fm-opsz); font-weight: 600; font-size: 1.6rem; letter-spacing: -0.01em; color: var(--fm-murekkep); min-width: 9ch; text-align: center; }
.fm-takvim__ok {
    display: grid; place-items: center; width: 38px; height: 38px; border-radius: 999px;
    background: var(--fm-etiket); color: var(--fm-murekkep); box-shadow: inset 0 0 0 1px var(--fm-cizgi);
    transition: box-shadow .16s ease, background-color .16s ease; cursor: pointer;
}
.fm-takvim__ok:hover { box-shadow: inset 0 0 0 1px var(--fm-perfore); }
.fm-takvim__ok-ikon { width: 18px; height: 18px; }
.fm-takvim__bugune { font-size: .84rem; font-weight: 600; color: var(--fm-kraft-metin); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--fm-perfore) 70%, transparent); text-underline-offset: 4px; background: none; border: 0; cursor: pointer; min-height: 32px; }
.fm-takvim__ozet { margin-left: auto; font-size: .86rem; color: var(--fm-soluk); display: flex; gap: 8px; align-items: baseline; }
.fm-takvim__ozet b { color: var(--fm-murekkep); font-weight: 650; font-variant-numeric: tabular-nums; }

.fm-takvim__govde { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@container (min-width: 980px) { .fm-takvim__govde { grid-template-columns: minmax(0, 1fr) 340px; } }

.fm-takvim__ay { background: var(--fm-etiket); border-radius: 20px; box-shadow: var(--fm-golge); padding: 12px 14px 14px; min-width: 0; }
.fm-takvim__gunad { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; padding: 2px 4px 8px; font-size: .8rem; font-weight: 600; color: var(--fm-soluk); }
.fm-takvim__izgara {
    position: relative; display: grid; gap: 6px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: repeat(var(--satir, 5), minmax(84px, auto));
}

.fm-gun {
    position: relative; display: flex; flex-direction: column; align-items: flex-start;
    padding: 8px 10px 9px; border: 0; border-radius: 14px; min-width: 0; z-index: 1;
    /* Hafif saydam: altın iplik karelerin ALTINDAN geçer (yazının üstüne binmez), boşluklarda net görünür */
    background: color-mix(in srgb, var(--fm-zemin) 80%, transparent); color: var(--fm-murekkep); font: inherit; text-align: left; cursor: pointer;
    transition: box-shadow .16s ease, background-color .16s ease;
}
.fm-gun:hover { box-shadow: inset 0 0 0 1px var(--fm-cizgi); }
.fm-gun--bos { background: transparent; cursor: default; }
.fm-gun--bos:hover { box-shadow: none; }
.fm-gun__no { font-size: .9rem; font-weight: 600; color: var(--fm-soluk); font-variant-numeric: tabular-nums; }
.fm-gun__noktalar { display: flex; gap: 4px; margin-top: 4px; }
.fm-gun__nokta { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--fm-kraft); }
.fm-gun__nokta--kart { background: #C28A36; }
.fm-gun__nokta--diger { background: #0B1F3A; }
.dark .fm-gun__nokta--diger { background: #A9BDDD; }
.dark .fm-gun__nokta--kart { background: #E6C891; }
.fm-gun__tutar { margin-top: auto; padding-top: 6px; font-size: .84rem; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.fm-gun__tutar--odendi { color: var(--fm-soluk); text-decoration: line-through; font-weight: 500; }
.fm-gun__dugum { position: absolute; top: 9px; right: 9px; width: 11px; height: 11px; border-radius: 50%; background: var(--fm-odendi); box-shadow: 0 0 0 3px var(--fm-odendi-zemin); }
.fm-gun__dugum--lejant { position: static; display: inline-block; width: 9px; height: 9px; margin-right: 6px; vertical-align: -1px; box-shadow: none; }

.fm-gun--gecikti { box-shadow: inset 0 0 0 1.5px var(--fm-gecikti); }
.fm-gun--gecikti .fm-gun__no { color: var(--fm-gecikti); }
.fm-gun--secili { box-shadow: inset 0 0 0 2px var(--fm-kraft); }
.fm-gun--gecikti.fm-gun--secili { box-shadow: inset 0 0 0 2px var(--fm-gecikti); }
.fm-gun--bugun { background: #0B1F3A; box-shadow: 0 0 0 3px rgba(194, 138, 54, .45); }
.fm-gun--bugun .fm-gun__no, .fm-gun--bugun .fm-gun__tutar { color: #FFFFFF; }
.fm-gun--bugun .fm-gun__nokta--diger { background: #B8C3D4; }
.dark .fm-gun--bugun { background: #E6C891; box-shadow: 0 0 0 3px rgba(230, 200, 145, .3); }
.dark .fm-gun--bugun .fm-gun__no, .dark .fm-gun--bugun .fm-gun__tutar { color: #061226; }
.dark .fm-gun--bugun .fm-gun__nokta--kart { background: #8F6322; }
.dark .fm-gun--bugun .fm-gun__nokta--diger { background: #0B1F3A; }

.fm-takvim__iplik { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; animation: fm-iplik-belir .9s cubic-bezier(.16, 1, .3, 1) both; }
.fm-takvim__iplik path { fill: none; stroke: #C28A36; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.dark .fm-takvim__iplik path { stroke: #E6C891; opacity: .7; }
@keyframes fm-iplik-belir { from { opacity: 0; } to { opacity: 1; } }

.fm-takvim__lejant { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 4px 0; font-size: .78rem; color: var(--fm-soluk); }
.fm-takvim__lejant .fm-gun__nokta { margin-right: 6px; vertical-align: 0; }

.fm-takvim__yan { background: var(--fm-etiket); border-radius: 20px; box-shadow: var(--fm-golge); padding: 14px 16px 8px; min-width: 0; }
.fm-takvim__yan .fm-blok-baslik { margin: 2px 0 6px; }
.fm-takvim__yan .fm-blok-baslik h2 { font-size: 1.15rem; }
.fm-takvim__kalem {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center;
    padding: 10px 0; border-top: 1px solid var(--fm-cizgi);
}
.fm-takvim__yan .fm-takvim__kalem:first-of-type { border-top: 0; }
.fm-takvim__kalem-ad { font-size: .9rem; font-weight: 650; color: var(--fm-murekkep); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-takvim__kalem-ad:hover { text-decoration: underline; text-decoration-color: var(--fm-perfore); }
.fm-takvim__kalem-tutar { font-size: .92rem; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.fm-takvim__kalem .fm-muhur { justify-self: start; }
.fm-takvim__kalem-eylem { justify-self: end; }
.fm-takvim__kalem-eylem .fm-kargo__eylem { min-height: 28px; padding: 0; }
.fm-takvim__kalem--odendi .fm-takvim__kalem-tutar { color: var(--fm-soluk); text-decoration: line-through; }
.fm-takvim__bos { color: var(--fm-soluk); font-size: .88rem; padding: 10px 0 12px; }

/* Telefonda (dar kapsayıcı, 0.13.3 — Atakan: "mobil için de takvim görüntüsü"): ay ızgarası küçülür,
   hücrede gün + vade noktaları (tutar sığmıyor, gizli); seçilen günün kalemleri ızgaranın altında;
   ayın bütün ödemeleri isteyene kapalı bölümde. */
.fm-takvim__ajanda-kutu { display: none; }
@container (max-width: 640px) {
    .fm-takvim__ay { padding: 10px 8px 10px; border-radius: 16px; }
    .fm-takvim__gunad { gap: 4px; padding: 0 0 6px; font-size: .7rem; text-align: center; }
    .fm-takvim__izgara { gap: 4px; grid-template-rows: repeat(var(--satir, 5), minmax(48px, auto)); }
    .fm-gun { align-items: center; padding: 6px 2px 5px; border-radius: 10px; }
    .fm-gun__no { font-size: .86rem; }
    .fm-gun__noktalar { gap: 3px; margin-top: 4px; flex-wrap: wrap; justify-content: center; }
    .fm-gun__nokta { width: 6px; height: 6px; }
    .fm-gun__tutar { display: none; }
    .fm-gun__dugum { top: 4px; right: 4px; width: 7px; height: 7px; box-shadow: 0 0 0 2px var(--fm-odendi-zemin); }
    .fm-gun--bugun { box-shadow: 0 0 0 2px rgba(194, 138, 54, .45); }
    .fm-takvim__iplik path { stroke-width: 1.8; }
    .fm-takvim__lejant { gap: 4px 12px; margin: 8px 2px 0; font-size: .72rem; }
    .fm-takvim__yan { padding: 12px 14px 6px; border-radius: 16px; }
    .fm-takvim__ajanda-kutu { display: block; margin-top: 0; }
    .fm-takvim__ajanda { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
    .fm-takvim__ajanda > li { padding: 8px 0 2px; border-top: 1px solid var(--fm-cizgi); }
    .fm-takvim__ajanda h3 { font-size: .82rem; font-weight: 650; color: var(--fm-soluk); }
    .fm-takvim__ajanda .fm-takvim__kalem:first-of-type { border-top: 0; }
    .fm-takvim__ozet { margin-left: 0; width: 100%; }
    .fm-takvim__ust h2 { font-size: 1.35rem; }
}

@media (pointer: coarse) { .fm-takvim__kalem-eylem .fm-kargo__eylem { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .fm-takvim__iplik { animation: none; } }

/* ==========================================================================
   Harcama Analizi
   ========================================================================== */

.fm-analiz { container-type: inline-size; display: flex; flex-direction: column; gap: 18px; }

.fm-aylar { display: flex; gap: 6px; overflow-x: auto; padding: 4px; border-radius: 999px; background: var(--fm-etiket-2); width: fit-content; max-width: 100%; }
.fm-ay {
    flex: 0 0 auto; text-decoration: none; color: var(--fm-soluk);
    font-size: .86rem; font-weight: 600; padding: 7px 14px; min-height: 36px; display: inline-flex; align-items: center;
    border-radius: 999px; transition: background-color .16s ease, color .16s ease;
}
.fm-ay:hover { color: var(--fm-murekkep); }
.fm-ay[aria-current="page"] { background: var(--fm-etiket); color: var(--fm-murekkep); box-shadow: 0 1px 2px rgba(11, 31, 58, .08), 0 4px 12px -4px rgba(11, 31, 58, .2); }

.fm-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@container (max-width: 760px) { .fm-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.fm-iki { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@container (min-width: 980px) { .fm-iki { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; } }

.fm-panel {
    background: var(--fm-etiket); border-radius: var(--fm-r); box-shadow: var(--fm-golge);
    padding: 16px 18px 18px; min-width: 0;
}
.fm-panel h3 { font-size: 1.12rem; margin-bottom: 2px; }
.fm-panel .fm-panel__not { font-size: .8rem; color: var(--fm-soluk); margin-bottom: 14px; }

/* Yatay çubuklar */
.fm-cubuklar { display: flex; flex-direction: column; gap: 10px; }
.fm-cubuk-satir { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: baseline; }
.fm-cubuk-ad { font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-cubuk-deger { font-size: .86rem; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fm-cubuk-deger small { font-weight: 500; color: var(--fm-soluk); margin-left: 6px; font-size: .78rem; }
.fm-cubuk-iz { grid-column: 1 / -1; height: 8px; display: block; border-radius: 999px; background: var(--fm-etiket-2); overflow: hidden; }
.fm-cubuk-yigin { display: flex; gap: 2px; height: 100%; min-width: 4px; }
.fm-cubuk-dolu { display: block; height: 100%; background: var(--fm-seri-kart); }
.fm-cubuk-dolu--banka { background: var(--fm-seri-banka); }
.fm-cubuk-yigin > .fm-cubuk-dolu:last-child { border-radius: 0 999px 999px 0; }

.fm-ornek { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: 0; }
.fm-ornek--kart { background: var(--fm-seri-kart); }
.fm-ornek--banka { background: var(--fm-seri-banka); }

/* Aylık eğilim: yığılmış sütunlar */
.fm-egilim { display: grid; grid-template-columns: repeat(var(--ay-sayisi, 6), minmax(0, 1fr)); gap: 6px; }
.fm-sutun {
    display: flex; flex-direction: column; align-items: stretch;
    text-decoration: none; color: inherit; position: relative;
    border-radius: 12px; padding: 4px 2px 6px;
}
.fm-sutun:hover, .fm-sutun--secili { background: var(--fm-etiket-2); }
.fm-sutun__alan { height: 170px; display: flex; flex-direction: column; justify-content: flex-end; border-bottom: 1px solid var(--fm-cizgi); }
.fm-sutun__toplam { font-size: .74rem; font-weight: 650; text-align: center; margin-bottom: 4px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fm-sutun__yigin { display: flex; flex-direction: column-reverse; gap: 2px; width: min(100%, 40px); margin: 0 auto; min-height: 2px; }
.fm-sutun__parca { display: block; }
.fm-sutun__parca--kart { background: var(--fm-seri-kart); }
.fm-sutun__parca--banka { background: var(--fm-seri-banka); }
.fm-sutun__yigin > .fm-sutun__parca:last-child { border-radius: 6px 6px 0 0; }
.fm-sutun__ay { font-size: .74rem; text-align: center; color: var(--fm-soluk); margin-top: 6px; }
.fm-sutun--secili .fm-sutun__ay { color: var(--fm-murekkep); font-weight: 700; }
.fm-sutun__gelir { font-size: .7rem; text-align: center; color: var(--fm-soluk); font-variant-numeric: tabular-nums; min-height: 1em; white-space: nowrap; }
.fm-sutun[data-ipucu]:hover::after, .fm-sutun[data-ipucu]:focus-visible::after {
    content: attr(data-ipucu); position: absolute; bottom: calc(100% - 20px); left: 50%; transform: translateX(-50%);
    background: var(--fm-menu); color: var(--fm-menu-metin); font-size: .74rem; line-height: 1.5; white-space: pre;
    padding: 8px 10px; border-radius: 10px; z-index: 5; pointer-events: none; font-variant-numeric: tabular-nums;
    box-shadow: var(--fm-golge-2);
}
.fm-egilim > .fm-sutun:first-child[data-ipucu]:hover::after { left: 0; transform: none; }
.fm-egilim > .fm-sutun:last-child[data-ipucu]:hover::after { left: auto; right: 0; transform: none; }

/* Ay özeti: kıl çizgiyle ayrılmış tek kart */
.fm-manifest {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--fm-etiket); border-radius: var(--fm-r); box-shadow: var(--fm-golge); overflow: hidden;
}
.fm-manifest__hucre { display: flex; flex-direction: column; gap: 3px; padding: 14px 18px; min-width: 0; }
.fm-manifest__hucre + .fm-manifest__hucre { border-left: 1px solid var(--fm-cizgi); }
.fm-manifest__tutar { font-size: 1.5rem; font-weight: 650; letter-spacing: -0.02em; line-height: 1.15; font-variant-numeric: tabular-nums; }
@container (max-width: 760px) {
    .fm-manifest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fm-manifest__hucre:nth-child(3) { border-left: 0; }
    .fm-manifest__hucre:nth-child(n + 3) { border-top: 1px solid var(--fm-cizgi); }
}

.fm-lejant { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8rem; color: var(--fm-soluk); margin-top: 10px; }
.fm-lejant i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.fm-lejant .kart { background: var(--fm-seri-kart); }
.fm-lejant .banka { background: var(--fm-seri-banka); }

.fm-liste-tablo { width: 100%; border-collapse: collapse; font-size: .86rem; }
.fm-liste-tablo th { text-align: left; font-size: .76rem; color: var(--fm-soluk); font-weight: 600; padding: 8px 6px; border-bottom: 1px solid var(--fm-cizgi); }
.fm-liste-tablo td { padding: 8px 6px; border-bottom: 1px solid var(--fm-cizgi); vertical-align: top; }
.fm-liste-tablo tr:last-child td { border-bottom: 0; }
.fm-liste-tablo .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Ay sonu evrakı: tikli kontrol listesi */
.fm-kontrol { display: flex; flex-direction: column; }
.fm-kontrol__satir {
    display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center;
    padding: 12px 2px; border-top: 1px solid var(--fm-cizgi);
}
.fm-kontrol__satir:first-child { border-top: 0; }
.fm-kontrol__ikon { width: 22px; height: 22px; }
.fm-kontrol__ad { font-size: .92rem; font-weight: 650; }
.fm-kontrol__detay { font-size: .8rem; color: var(--fm-soluk); margin-top: 1px; }
.fm-kontrol__satir--eksik .fm-kontrol__detay { color: var(--fm-gecikti); }
.fm-kontrol__satir--gerek_yok .fm-kontrol__ad, .fm-kontrol__satir--bilgi .fm-kontrol__ad { font-weight: 500; color: var(--fm-soluk); }
.fm-kontrol__eylem { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.fm-kontrol__atla {
    font-size: .8rem; font-weight: 600; color: var(--fm-kraft-metin); background: none; border: 0; cursor: pointer;
    padding: 6px 2px; min-height: 32px; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--fm-perfore) 70%, transparent); text-underline-offset: 4px;
}
@media (max-width: 640px) {
    .fm-kontrol__satir { grid-template-columns: 22px minmax(0, 1fr); }
    .fm-kontrol__eylem { grid-column: 2; justify-content: flex-start; }
}
@media (pointer: coarse) { .fm-kontrol__atla { min-height: 44px; } }

/* Koyu modda Filament tabloları lacivert kartta (soğuk gri değil) */
.dark .fi-ta-ctn, .dark .fi-ta-content-ctn, .dark .fi-ta-table, .dark .fi-ta-row,
.dark .fi-ta-header-toolbar, .dark .fi-ta-footer, .dark .fi-pagination { background-color: var(--fm-etiket) !important; }
.dark .fi-ta-header-cell { background: var(--fm-etiket-2) !important; }
.dark .fi-section, .dark .fi-simple-main { --tw-ring-color: var(--fm-cizgi) !important; }

/* Dokunmatik ekranda dokunma hedefi en az 44 px (PRODUCT.md) */
@media (pointer: coarse) {
    .fm-kargo__eylem, .fm-ay { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
    .fm-kutu-d, .fm-kutu-d:hover { transition: none; transform: none; }
    .fm-kargo--odendi .fm-muhur--odendi { animation: none; }
}

/* ==========================================================================
   Kalem / ödeme dosyası (0.13.2, Atakan 2026-10-11: "tıklayınca düzenle yerine detaylar, belgeler")
   ViewPayable + ViewPayment. Üstte tek şerit (kıl çizgili hücreler), altta solda bilgi kartı
   (bölümler kıl çizgiyle), sağda belge önizlemesi. İç içe kart yok.
   ========================================================================== */

.fm-dosya { container-type: inline-size; display: flex; flex-direction: column; gap: 18px; }

.fm-dosya__serit {
    display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
    background: var(--fm-etiket); border-radius: 20px; box-shadow: var(--fm-golge);
}
.fm-dosya__serit:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); }
.fm-dosya__hucre { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 20px; min-width: 0; }
.fm-dosya__hucre + .fm-dosya__hucre { border-left: 1px solid var(--fm-cizgi); }
.fm-dosya__etiket { font-size: .8rem; font-weight: 600; color: var(--fm-soluk); }
.fm-dosya__hucre b { font-size: 1.12rem; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; color: var(--fm-murekkep); }
.fm-dosya__hucre small { font-size: .8rem; color: var(--fm-soluk); }
.fm-dosya__hucre .fm-dosya__tutar { font-size: clamp(1.55rem, 3.2cqi, 2.1rem); font-weight: 650; letter-spacing: -0.02em; line-height: 1.1; }
.fm-dosya__tutar--gecikti { color: var(--fm-gecikti) !important; }
.fm-dosya__kisa { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-dosya__cubuk { display: block; width: 100%; max-width: 180px; height: 6px; margin-top: 4px; border-radius: 999px; background: var(--fm-etiket-2); overflow: hidden; }
.fm-dosya__cubuk i { display: block; height: 100%; border-radius: inherit; background: var(--fm-odendi); }

.fm-dosya__govde { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
@container (min-width: 1000px) { .fm-dosya__govde { grid-template-columns: minmax(320px, 410px) minmax(0, 1fr); } }

.fm-dosya__bilgi { background: var(--fm-etiket); border-radius: 20px; box-shadow: var(--fm-golge); padding: 2px 20px; min-width: 0; }
.fm-dosya__bolum { padding: 16px 0; }
.fm-dosya__bolum + .fm-dosya__bolum { border-top: 1px solid var(--fm-cizgi); }
.fm-dosya h2 { font-family: var(--fm-serif); font-variation-settings: var(--fm-opsz); font-weight: 600; font-size: 1.15rem; letter-spacing: -0.01em; color: var(--fm-murekkep); margin-bottom: 8px; }

.fm-dosya__liste { display: flex; flex-direction: column; }
.fm-dosya__satir { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 4px 12px; padding: 6px 0; align-items: baseline; }
.fm-dosya__satir dt { font-size: .82rem; color: var(--fm-soluk); }
.fm-dosya__satir dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; }
.fm-dosya__deger { font-size: .9rem; font-weight: 600; color: var(--fm-murekkep); overflow-wrap: anywhere; }
.fm-dosya__deger--rakam { font-variant-numeric: tabular-nums; letter-spacing: .01em; }

.fm-kopya, .fm-dosya__bag, .fm-dosya__belge-eylem a, .fm-dosya__odeme-not a {
    font-size: .78rem; font-weight: 600; color: var(--fm-kraft-metin); background: none; border: 0; padding: 0; cursor: pointer;
    text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--fm-perfore) 70%, transparent); text-underline-offset: 4px;
}
.fm-kopya:hover, .fm-dosya__bag:hover, .fm-dosya__belge-eylem a:hover, .fm-dosya__odeme-not a:hover { text-decoration-color: var(--fm-perfore); }
.fm-kopya { min-height: 28px; }
.fm-dosya__bag { display: inline-flex; align-items: center; min-height: 32px; margin-top: 6px; font-size: .84rem; }
.fm-dosya__odeme-not a { font-size: inherit; }

.fm-dosya__odeme { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; padding: 9px 0; }
.fm-dosya__odeme + .fm-dosya__odeme { border-top: 1px solid var(--fm-cizgi); }
.fm-dosya__odeme-tarih { font-size: .82rem; color: var(--fm-soluk); font-variant-numeric: tabular-nums; }
.fm-dosya__odeme-not { font-size: .88rem; font-weight: 600; color: var(--fm-murekkep); min-width: 0; overflow-wrap: anywhere; }
.fm-dosya__odeme-not small { display: block; font-size: .78rem; font-weight: 400; color: var(--fm-soluk); margin-top: 1px; }
.fm-dosya__odeme-tutar { font-size: .92rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.fm-dosya__odeme-tutar--eksi { color: var(--fm-soluk); }
.fm-dosya__bos { font-size: .88rem; line-height: 1.55; color: var(--fm-soluk); max-width: 62ch; }

.fm-dosya__belgeler { background: var(--fm-etiket); border-radius: 20px; box-shadow: var(--fm-golge); padding: 16px 18px 18px; min-width: 0; }
.fm-dosya__belge-ust { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 14px; }
.fm-dosya__sekmeler { display: flex; flex-wrap: wrap; gap: 6px; }
.fm-dosya__sekme {
    font-size: .8rem; font-weight: 600; padding: 6px 13px; min-height: 32px; border-radius: 999px; cursor: pointer;
    background: transparent; color: var(--fm-murekkep); border: 0; box-shadow: inset 0 0 0 1px var(--fm-cizgi);
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.fm-dosya__sekme:hover { box-shadow: inset 0 0 0 1px var(--fm-perfore); }
.fm-dosya__sekme[aria-selected="true"] { background: var(--fm-kraft); color: #FFFFFF; box-shadow: none; }
.dark .fm-dosya__sekme[aria-selected="true"] { color: #061226; }
.fm-dosya__belge-bilgi { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 14px; margin-top: 10px; }
.fm-dosya__belge-ad { font-size: .84rem; color: var(--fm-soluk); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.fm-dosya__belge-eylem { display: inline-flex; gap: 16px; }
.fm-dosya__onizleme { display: block; width: 100%; height: min(78vh, 1000px); margin-top: 10px; border: 0; border-radius: 12px; background: var(--fm-etiket-2); }
.fm-dosya__onizleme--gorsel { height: auto; max-height: 78vh; object-fit: contain; }
.fm-dosya__bos--belge { padding: 36px 8px 28px; margin: 0 auto; text-align: center; }

@container (max-width: 640px) {
    .fm-dosya__serit, .fm-dosya__serit:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fm-dosya__hucre--ana { grid-column: 1 / -1; }
    .fm-dosya__hucre { padding: 14px 16px; }
    .fm-dosya__hucre + .fm-dosya__hucre { border-left: 0; border-top: 1px solid var(--fm-cizgi); }
    .fm-dosya__hucre:nth-child(2n + 3) { border-left: 1px solid var(--fm-cizgi); } /* sağ sütun */
    .fm-dosya__bilgi { padding: 2px 16px; }
    .fm-dosya__satir { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .fm-dosya__onizleme { height: 64vh; }
}

@media (pointer: coarse) {
    .fm-kopya, .fm-dosya__bag, .fm-dosya__sekme, .fm-dosya__belge-eylem a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* "Bilmen gerekenler" (0.13.2): yapılacak iş olmayan bilgiler, kapalı tek kartta, satır satır */
.fm-bilgiler { margin-top: 10px; background: var(--fm-etiket); border-radius: 14px; box-shadow: var(--fm-golge); padding: 0 14px; }
.fm-bilgiler > summary {
    display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer;
    padding: 11px 0; min-height: 44px; font-size: .86rem; font-weight: 650; color: var(--fm-murekkep);
}
.fm-bilgiler > summary::-webkit-details-marker { display: none; }
.fm-bilgiler > summary::after {
    content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 1.5px solid var(--fm-soluk); border-bottom: 1.5px solid var(--fm-soluk);
    transform: rotate(45deg) translateY(-2px); transition: transform .2s cubic-bezier(.16, 1, .3, 1);
}
.fm-bilgiler[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.fm-bilgi-satir { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 9px 0; border-top: 1px solid var(--fm-cizgi); color: var(--fm-murekkep); text-decoration: none; }
.fm-bilgi-satir__baslik { font-size: .84rem; font-weight: 600; }
.fm-bilgi-satir__tutar { font-size: .84rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fm-bilgi-satir small { grid-column: 1 / -1; font-size: .76rem; line-height: 1.45; color: var(--fm-soluk); }
a.fm-bilgi-satir:hover .fm-bilgi-satir__baslik { text-decoration: underline; text-decoration-color: var(--fm-perfore); text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .fm-bilgiler > summary::after { transition: none; } }
