/* Muhasebe Fatura, tasarim v4.
   Temel: IBM Carbon Design System v11 (carbon.css, resmi paket, g10 temasi).
   Bu dosya yalniz uygulamaya ozgu yerlesim ve muhasebe kaliplarini ekler:
   sayisal sutunlar (Plex Mono, tabular), sayfa basi, form izgarasi, palet, baglam menusu, yazdirma.
   Kural: Carbon token'lari (var(--cds-*)) disinda renk yok. Em-dash yok. Emoji yok. */

:root {
  --sayi-font: "IBM Plex Mono", "Menlo", "Consolas", monospace;
  --icerik-azami: 1440px;
  --gecis: 110ms cubic-bezier(0.2, 0, 0.38, 0.9); /* Carbon productive easing */
}

/* ---------- Kabuk ---------- */
.cds--content { min-height: calc(100vh - 3rem); background: var(--cds-background); padding: 1.5rem 2rem 3rem; }
.cds--content > * { max-width: var(--icerik-azami); }
.cds--side-nav__navigation { border-inline-end: 1px solid var(--cds-border-subtle-01); }
.cds--side-nav__items { padding-block-start: 0.5rem; }
.yan-adet { float: right; color: var(--cds-text-secondary); font: 400 0.75rem/1 var(--sayi-font); padding-inline-start: 0.5rem; }
.cds--side-nav__link--current .yan-adet { color: var(--cds-text-primary); }
.yan-menu__alt { position: absolute; inset-block-end: 0; inset-inline: 0; padding: 0.75rem 1rem; color: var(--cds-text-helper); display: grid; gap: 0.25rem; border-block-start: 1px solid var(--cds-border-subtle-01); background: inherit; }
.yan-menu__ortu { position: fixed; inset: 0; background: var(--cds-overlay); z-index: 7999; }
.yan-menu__ortu[hidden] { display: none; }
@media (max-width: 65.98rem) {
  .cds--side-nav--ux.cds--side-nav--expanded { inline-size: 16rem; z-index: 8001; }
  .cds--side-nav.cds--side-nav--expanded ~ .cds--content { margin-inline-start: 0; }
  .cds--content { padding: 1rem; }
  body:not(.yan-acik) .cds--side-nav--ux { inline-size: 0; }
}
.cds--header__global { align-items: center; gap: 0.25rem; padding-inline-end: 0.5rem; }
.ortam { font: 600 0.6875rem/1 "IBM Plex Sans", sans-serif; letter-spacing: 0.04em; padding: 0.3125rem 0.5rem; border: 1px solid transparent; margin-inline-end: 0.5rem; }
.ortam--test { color: #f4f4f4; border-color: #6f6f6f; }
.ortam--canli { color: #fff; background: var(--cds-support-error, #da1e28); }
.cds--header-panel { display: none; }
.cds--header-panel.cds--header-panel--expanded { display: block; }
.hesap-paneli__ad { display: grid; gap: 0.125rem; color: #f4f4f4; font-weight: 600; cursor: default; }
.hesap-paneli__ad small { color: #c6c6c6; }
.hesap-paneli__ad small { font-weight: 400; color: var(--cds-text-secondary); }
.cds--switcher__item form { margin: 0; }
.cds--switcher__item button.cds--switcher__item-link { width: 100%; text-align: start; background: none; border: 0; cursor: pointer; font: inherit; }
.cds--header__menu-title { max-width: 22rem; border: 0; background: none; font: inherit; }
.cds--header__name--prefix { margin-inline-end: 0.35em; }
.cds--side-nav__link-text { display: flex; justify-content: space-between; align-items: baseline; width: 100%; }
.cds--side-nav__link-text .yan-adet { float: none; }
.cds--header__menu-title .cds--header__menu-arrow { margin-inline-start: 0.5rem; }

/* ---------- Ikonlar ---------- */
.ikon { fill: currentColor; flex: none; vertical-align: middle; }

/* ---------- Sayfa basi ---------- */
.sayfa-basi { margin-block-end: 1.5rem; }
.sayfa-basi .cds--breadcrumb { margin-block-end: 0.5rem; }
.sayfa-basi__satir { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.sayfa-basi__metin { min-width: 0; }
.sayfa-basi__metin h1 { text-wrap: balance; }
.sayfa-basi__aciklama { color: var(--cds-text-secondary); margin-block-start: 0.375rem; max-width: 72ch; }
.sayfa-basi__eylemler { display: flex; gap: 0.0625rem; flex-wrap: wrap; align-items: center; }
.sayfa-basi__eylemler .cds--btn + .cds--btn { margin-inline-start: 0.0625rem; }
.sayfa-basi__etiketler { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin-block-start: 0.5rem; }
kbd.kisayol { font: 400 0.6875rem/1 var(--sayi-font); opacity: 0.7; margin-inline-start: 0.5rem; }
.cds--btn--primary kbd.kisayol { color: inherit; }

/* Ozet seridi: belge basinda ana rakamlar (kutu yok, hairline ile ayrilir) */
.ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, max-content)); gap: 0 2.5rem; padding: 0.75rem 0; border-block: 1px solid var(--cds-border-subtle-01); margin-block: 1rem 1.5rem; }
.ozet__oge { display: grid; gap: 0.125rem; }
.ozet__etiket { color: var(--cds-text-secondary); font-size: 0.75rem; line-height: 1.34; letter-spacing: 0.32px; }
.ozet__deger { font: 500 1.25rem/1.3 var(--sayi-font); font-variant-numeric: tabular-nums; color: var(--cds-text-primary); }
.ozet__deger.kucuk { font-family: inherit; font-weight: 400; font-size: 0.875rem; }
.ozet__deger.eksi { color: var(--cds-support-error); }
.ozet__deger.arti { color: var(--cds-support-success); }

/* ---------- Bolumler ---------- */
.bolum { margin-block-start: 2rem; }
.bolum__basi { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-block-end: 0.75rem; }
.bolum__basi h2 { font-size: 1rem; font-weight: 600; line-height: 1.375; }
.bolum__not { color: var(--cds-text-secondary); font-size: 0.75rem; }
.izgara-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1.5rem 2rem; align-items: start; }
.izgara-2-1 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: 1.5rem 2rem; align-items: start; }
@media (max-width: 66rem) { .izgara-2-1 { grid-template-columns: 1fr; } }

/* Anahtar-deger listesi */
.kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 0.375rem 1.5rem; margin: 0; align-items: baseline; }
.kv__satir { display: contents; }
.kv dt { color: var(--cds-text-secondary); font-size: 0.75rem; letter-spacing: 0.32px; line-height: 1.34; padding-block-start: 0.15rem; }
.kv dd { margin: 0; font-size: 0.875rem; line-height: 1.43; }
.kv dd.kod, .kod { font-family: var(--sayi-font); font-size: 0.8125rem; }
.kv--dikey { grid-template-columns: 1fr; gap: 0.75rem; }
.kv--dikey dt { padding: 0; }

/* ---------- Tablolar (Carbon data table + muhasebe kurallari) ---------- */
.cds--data-table-container { background: var(--cds-layer-01); overflow-x: auto; }
.cds--data-table-header { padding: 1rem 1rem 0.75rem; }
.cds--data-table-header__title .adet { color: var(--cds-text-secondary); font-weight: 400; font-family: var(--sayi-font); font-size: 0.875rem; margin-inline-start: 0.375rem; }
.tablo-kaydir { overflow-x: auto; }
.cds--data-table td, .cds--data-table th { white-space: nowrap; }
.cds--data-table td.sarmal { white-space: normal; }
.cds--data-table th.sayi, .cds--data-table td.sayi { text-align: end; }
.cds--data-table th.sayi .cds--table-header-label { text-align: end; display: block; }
.cds--data-table td.sayi, .cds--data-table td.kod, td.sayi, .sayi { font-family: var(--sayi-font); font-variant-numeric: tabular-nums; }
.cds--data-table td.sayi { font-size: 0.8125rem; }
.cds--data-table tbody tr[data-satir-url] { cursor: pointer; }
.cds--data-table tfoot td { font-weight: 600; background: var(--cds-layer-accent-01); border-block-start: 1px solid var(--cds-border-strong-01); color: var(--cds-text-primary); height: 2rem; padding-inline: 1rem; }
.cds--data-table tfoot td.sayi { font-family: var(--sayi-font); font-variant-numeric: tabular-nums; }
.cds--data-table td.bos { text-align: center; color: var(--cds-text-secondary); padding: 2rem 1rem; white-space: normal; }
.cds--data-table td.bos .cds--btn { margin-block-start: 0.75rem; }
.eksi { color: var(--cds-support-error); }
.arti { color: var(--cds-support-success); }
.sonuk { color: var(--cds-text-secondary); }
.cds--data-table td .cds--tag { margin: 0; }
.git { color: var(--cds-link-primary); margin-inline-start: 0.375rem; vertical-align: middle; opacity: 0; transition: opacity var(--gecis); }
tr:hover .git, .git:focus-visible { opacity: 1; }
.cds--data-table td input, .cds--data-table td select { font: inherit; }
.tablo-arac { display: flex; align-items: center; gap: 0.5rem; padding: 0 1rem 0.75rem; }
.tablo-arac .cds--search { max-width: 22rem; }
.tablo-arac__sag { margin-inline-start: auto; display: flex; gap: 0.0625rem; }

/* Toplamlar blogu (fatura alt toplam) */
.toplamlar { margin-inline-start: auto; min-width: 20rem; max-width: 26rem; }
.toplamlar__satir { display: flex; justify-content: space-between; gap: 2rem; padding: 0.375rem 0; border-block-end: 1px solid var(--cds-border-subtle-01); font-size: 0.875rem; }
.toplamlar__satir .deger { font-family: var(--sayi-font); font-variant-numeric: tabular-nums; }
.toplamlar__satir--genel { border-block-start: 2px solid var(--cds-border-strong-01); border-block-end: 0; padding-block-start: 0.5rem; margin-block-start: 0.125rem; font-weight: 600; }
.toplamlar__satir--genel .deger { font-size: 1.125rem; font-weight: 600; }

/* ---------- Formlar ---------- */
.form-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.5rem 1.5rem; }
.form-izgara .genis { grid-column: 1 / -1; }
.form-izgara .cds--form-item, .form-izgara .cds--select { width: 100%; }
.form-bolum { padding: 1.5rem; background: var(--cds-layer-01); }
.form-bolum + .form-bolum { margin-block-start: 1px; }
.form-bolum__basi { margin-block-end: 1.25rem; }
.form-bolum__basi h2 { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.16px; }
.form-bolum__basi p { color: var(--cds-text-secondary); font-size: 0.75rem; margin-block-start: 0.25rem; }
.form-eylem { display: flex; justify-content: flex-end; gap: 0.0625rem; margin-block-start: 1.5rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--cds-border-subtle-01); }
.form-eylem .cds--btn { min-width: 10rem; }
.zorunlu { color: var(--cds-text-error); }
.cds--text-input.sayi, input.sayi { text-align: end; font-family: var(--sayi-font); font-variant-numeric: tabular-nums; }
.cds--label { display: flex; }
.satir-formu { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; }
.satir-formu .cds--form-item { flex: 1 1 14rem; }
/* Kalem izgarasi: tablo ici alanlar */
.kalem-tablo td { padding-block: 0.25rem; }
.kalem-tablo .cds--text-input, .kalem-tablo .cds--select-input { block-size: 2rem; }
.kalem-tablo .cds--select-input__wrapper { width: 100%; }
.kalem-tablo .cds--select-input { padding-inline-end: 2rem; }

/* Onay merdiveni (Carbon progress indicator) */
.merdiven { margin: 0.5rem 0 1.5rem; }
.merdiven .cds--progress-step { min-width: 8rem; }

/* Bildirimler tam genislik */
.cds--inline-notification { max-width: none; margin-block: 0 1rem; }

/* ---------- Ana sayfa ---------- */
.gosterge { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1px; background: var(--cds-border-subtle-01); border: 1px solid var(--cds-border-subtle-01); margin-block-end: 1.5rem; }
.gosterge__oge { background: var(--cds-layer-01); padding: 1rem; display: grid; gap: 0.25rem; min-height: 6.5rem; }
.gosterge__etiket { font-size: 0.75rem; color: var(--cds-text-secondary); letter-spacing: 0.32px; }
.gosterge__deger { font: 500 1.75rem/1.2 var(--sayi-font); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.gosterge__alt { font-size: 0.75rem; color: var(--cds-text-helper); align-self: end; }
.gosterge__deger.eksi { color: var(--cds-support-error); }
.hizli { display: flex; flex-wrap: wrap; gap: 0.0625rem; margin-block-end: 1.5rem; }
.uyari-liste { display: grid; gap: 1px; background: var(--cds-border-subtle-01); border: 1px solid var(--cds-border-subtle-01); }
.uyari-liste__oge { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 1rem; background: var(--cds-layer-01); font-size: 0.875rem; }
.uyari-liste__oge .ikon { color: var(--cds-support-warning); }
.uyari-liste__oge a { margin-inline-start: auto; }

/* ---------- Palet (komut) ---------- */
.cds--modal.palet .cds--modal-container { top: 12vh; margin-top: 0; }
.palet__liste { list-style: none; margin: 0.75rem 0 0; padding: 0; max-height: 40vh; overflow: auto; border-block-start: 1px solid var(--cds-border-subtle-01); }
.palet__liste li a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.5rem 1rem; color: var(--cds-text-primary); text-decoration: none; font-size: 0.875rem; }
.palet__liste li a small { color: var(--cds-text-secondary); font-family: var(--sayi-font); font-size: 0.75rem; }
.palet__liste li.secili a, .palet__liste li a:hover { background: var(--cds-layer-hover-01); }
.palet__liste li.secili a { box-shadow: inset 2px 0 0 var(--cds-border-interactive); }
.palet__ipucu { margin-block-start: 0.5rem; }

/* ---------- Baglam menusu (sag tik) ---------- */
.baglam { position: fixed; z-index: 9000; min-width: 12rem; }
.baglam[hidden] { display: none; }
.baglam a.cds--menu-item { text-decoration: none; }
.baglam .cds--menu-item kbd { margin-inline-start: auto; font: 400 0.6875rem var(--sayi-font); color: var(--cds-text-secondary); }

/* ---------- Giris ---------- */
.giris { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--cds-background); }
.giris__pano { background: var(--cds-background-inverse, #393939); color: var(--cds-text-inverse, #fff); padding: 3rem; display: grid; align-content: space-between; }
.giris__pano h1 { font-weight: 300; font-size: clamp(1.75rem, 3vw, 2.625rem); line-height: 1.2; letter-spacing: 0; max-width: 20ch; text-wrap: balance; }
.giris__pano p { color: var(--cds-text-inverse, #fff); opacity: 0.75; max-width: 46ch; margin-block-start: 1rem; }
.giris__pano ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; font-size: 0.875rem; opacity: 0.85; }
.giris__pano ul li { display: flex; gap: 0.5rem; align-items: center; }
.giris__form { display: grid; align-content: center; padding: 3rem; }
.giris__form form { max-width: 24rem; width: 100%; display: grid; gap: 1.5rem; }
.giris__form h2 { font-weight: 400; font-size: 1.75rem; }
.giris__marka { font-weight: 600; letter-spacing: 0.02em; }
@media (max-width: 48rem) { .giris { grid-template-columns: 1fr; } .giris__pano { display: none; } }

/* ---------- Belge yazdirma / kunye ---------- */
.kunye { margin-block-start: 2rem; color: var(--cds-text-helper); font-size: 0.75rem; max-width: 80ch; }
@media print {
  .cds--header, .cds--side-nav, .yan-menu__ortu, .palet, .baglam, .sayfa-basi__eylemler, .form-eylem, .cds--btn { display: none !important; }
  .cds--content { margin: 0 !important; padding: 0 !important; background: #fff; }
  .cds--data-table-container { box-shadow: none; }
}

/* ---------- Hareket: yalniz transform/opacity, kisa, ease-out; azaltilmis hareket saygisi ---------- */
.cds--btn:active { transform: scale(0.98); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }

/* ---------- Elestiri turu 1 duzeltmeleri ---------- */
.cds--data-table td, .cds--data-table th { padding-inline: 0.75rem; }
.cds--data-table td:first-child, .cds--data-table th:first-child { padding-inline-start: 1rem; }
.cds--data-table td:last-child, .cds--data-table th:last-child { padding-inline-end: 1rem; }
.izgara-2-1 { grid-template-columns: minmax(0, 3fr) minmax(16rem, 1fr); }
.merdiven .cds--progress-step { min-inline-size: 11rem; }
.merdiven .cds--progress-optional { white-space: normal; }
.sekme-rozet { margin-inline-start: 0.375rem; font: 400 0.75rem/1 var(--sayi-font); color: var(--cds-text-secondary); }
.cds--tabs__nav-item--selected .sekme-rozet { color: var(--cds-text-primary); }

@media (max-width: 48rem) { .sayfa-basi__eylemler .cds--btn { flex: 1 1 auto; max-inline-size: none; } .ozet { gap: 0.75rem 1.5rem; } .form-eylem .cds--btn { min-width: 0; flex: 1 1 auto; } }
/* Mobil: onay merdiveni dikey, tablolar kendi kabinda kayar */
@media (max-width: 48rem) {
  .merdiven { display: grid; gap: 0.5rem; }
  .merdiven .cds--progress-step { min-inline-size: 0; inline-size: 100%; }
  .merdiven .cds--progress-line { display: none; }
  .tablo-kaydir { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
.cds--data-table-container .tablo-kaydir { overflow-x: auto; }
