/*
 * Muhasebe Yonetim Sistemi - arayuz stilleri (surum 2)
 * Sade, ferah, kart tabanli tasarim. Acik / koyu tema. Sirket rengi --vurgu ile gelir.
 * Uygulama ve yonetim paneli ayni dosyayi kullanir (body.alan-yonetim farkli kenar cubugu).
 */

/* Yazi tipi: Public Sans (SIL OFL 1.1), sunucuda barindirilir */
@font-face {
  font-family: "Public Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-400-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;
}
@font-face {
  font-family: "Public Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/public-sans-latin-400-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: "Public Sans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-500-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;
}
@font-face {
  font-family: "Public Sans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("../fonts/public-sans-latin-500-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: "Public Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-600-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;
}
@font-face {
  font-family: "Public Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/public-sans-latin-600-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: "Public Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-700-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;
}
@font-face {
  font-family: "Public Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/public-sans-latin-700-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;
}

/* ---------- Tasarim belirtecleri ---------- */
:root {
  --vurgu: #2457c5;
  --vurgu-koyu: #1c4499;
  --vurgu-acik: #e9eef9;
  --vurgu-orta: #91abe2;
  --vurgu-rgb: 36, 87, 197;
  --vurgu-metin: #ffffff;

  --zemin: #f3f5f9;
  --yuzey: #ffffff;
  --yuzey-2: #f8fafc;
  --yuzey-3: #eef2f7;
  --cizgi: #e3e8ef;
  --cizgi-koyu: #cdd5e0;
  --metin: #0f172a;
  --metin-2: #475569;
  --metin-3: #8a96a8;

  --basari: #15803d; --basari-acik: #e7f6ec;
  --uyari: #b45309; --uyari-acik: #fdf4e3;
  --hata: #c0263a; --hata-acik: #fdecef;
  --bilgi: #1d6fd6; --bilgi-acik: #e8f1fd;
  --mor: #7c3aed; --mor-acik: #f1ebfe;
  --borc: #1f4fb8;
  --alacak: #b42335;

  --golge-1: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 1px rgba(15, 23, 42, .03);
  --golge-2: 0 6px 18px -6px rgba(15, 23, 42, .14), 0 2px 4px -2px rgba(15, 23, 42, .06);
  --golge-3: 0 22px 48px -16px rgba(15, 23, 42, .30);
  --halka: 0 0 0 3px rgba(var(--vurgu-rgb), .22);

  --yaricap: 14px;
  --yaricap-o: 10px;
  --yaricap-k: 8px;
  --kenar-gen: 264px;
  --ust-yuk: 62px;

  --kenar-zemin: #ffffff;
  --kenar-cizgi: #e6eaf0;
  --kenar-metin: #334155;
  --kenar-soluk: #8a96a8;
  --kenar-aktif-zemin: var(--vurgu-acik);
  --kenar-aktif-metin: var(--vurgu-koyu);
  --kenar-hover: #f3f5f9;

  --yazi: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --yazi-kod: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  color-scheme: light;
}

:root[data-tema="koyu"] {
  --zemin: #0b1120;
  --yuzey: #111a2c;
  --yuzey-2: #0f1727;
  --yuzey-3: #172338;
  --cizgi: #1f2b42;
  --cizgi-koyu: #2c3b57;
  --metin: #e6ebf3;
  --metin-2: #a7b3c6;
  --metin-3: #6f7d93;
  --vurgu-acik: rgba(var(--vurgu-rgb), .16);
  --vurgu-koyu: var(--vurgu-gece, #8fb0ff);
  --basari: #4ade80; --basari-acik: rgba(74, 222, 128, .12);
  --uyari: #fbbf24; --uyari-acik: rgba(251, 191, 36, .12);
  --hata: #f87171; --hata-acik: rgba(248, 113, 113, .12);
  --bilgi: #60a5fa; --bilgi-acik: rgba(96, 165, 250, .12);
  --mor: #a78bfa; --mor-acik: rgba(167, 139, 250, .14);
  --borc: #7aa2ff;
  --alacak: #ff8a9a;
  --golge-1: 0 1px 2px rgba(0, 0, 0, .4);
  --golge-2: 0 8px 22px -8px rgba(0, 0, 0, .6);
  --golge-3: 0 22px 48px -16px rgba(0, 0, 0, .7);
  --kenar-zemin: #0e1626;
  --kenar-cizgi: #1c2740;
  --kenar-metin: #c3cddc;
  --kenar-soluk: #6f7d93;
  --kenar-aktif-zemin: rgba(var(--vurgu-rgb), .2);
  --kenar-aktif-metin: #ffffff;
  --kenar-hover: #152036;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root[data-tema="sistem"] {
    --zemin: #0b1120;
    --yuzey: #111a2c;
    --yuzey-2: #0f1727;
    --yuzey-3: #172338;
    --cizgi: #1f2b42;
    --cizgi-koyu: #2c3b57;
    --metin: #e6ebf3;
    --metin-2: #a7b3c6;
    --metin-3: #6f7d93;
    --vurgu-acik: rgba(var(--vurgu-rgb), .16);
    --vurgu-koyu: var(--vurgu-gece, #8fb0ff);
    --basari: #4ade80; --basari-acik: rgba(74, 222, 128, .12);
    --uyari: #fbbf24; --uyari-acik: rgba(251, 191, 36, .12);
    --hata: #f87171; --hata-acik: rgba(248, 113, 113, .12);
    --bilgi: #60a5fa; --bilgi-acik: rgba(96, 165, 250, .12);
    --mor: #a78bfa; --mor-acik: rgba(167, 139, 250, .14);
    --borc: #7aa2ff;
    --alacak: #ff8a9a;
    --golge-1: 0 1px 2px rgba(0, 0, 0, .4);
    --golge-2: 0 8px 22px -8px rgba(0, 0, 0, .6);
    --golge-3: 0 22px 48px -16px rgba(0, 0, 0, .7);
    --kenar-zemin: #0e1626;
    --kenar-cizgi: #1c2740;
    --kenar-metin: #c3cddc;
    --kenar-soluk: #6f7d93;
    --kenar-aktif-zemin: rgba(var(--vurgu-rgb), .2);
    --kenar-aktif-metin: #ffffff;
    --kenar-hover: #152036;
    color-scheme: dark;
  }
}

/* Yonetim paneli: koyu murekkep kenar cubugu, mor vurgu */
body.alan-yonetim {
  --vurgu: #6d4ae6;
  --vurgu-koyu: #5434c4;
  --vurgu-acik: #efeafd;
  --vurgu-orta: #b7a5f3;
  --vurgu-rgb: 109, 74, 230;
  --kenar-zemin: #14122b;
  --kenar-cizgi: #241f45;
  --kenar-metin: #c9c4e6;
  --kenar-soluk: #7f78a8;
  --kenar-aktif-zemin: rgba(139, 109, 255, .22);
  --kenar-aktif-metin: #ffffff;
  --kenar-hover: #1d1a3b;
}
:root[data-tema="koyu"] body.alan-yonetim { --vurgu-acik: rgba(109, 74, 230, .2); --vurgu-koyu: #b9a6ff; }

/* ---------- Temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--yazi);
  font-size: 14px;
  line-height: 1.5;
  color: var(--metin);
  background: var(--zemin);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "tnum" 0;
}
a { color: var(--vurgu); text-decoration: none; }
a:hover { color: var(--vurgu-koyu); text-decoration: underline; text-underline-offset: 2px; }
h1, h2, h3, h4 { margin: 0; line-height: 1.25; font-weight: 650; letter-spacing: -.01em; }
h1 { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
h2 { font-size: 16px; }
h3 { font-size: 14px; }
p { margin: 0 0 .6em; }
hr { border: 0; border-top: 1px solid var(--cizgi); margin: 16px 0; }
img { max-width: 100%; }
code, .kod { font-family: var(--yazi-kod); font-size: .92em; }
.kod { color: var(--metin-2); }
small, .kucuk { font-size: 12px; }
.soluk { color: var(--metin-3); }
.ikincil { color: var(--metin-2); }
.kalin { font-weight: 650; }
.sag { text-align: right; }
.orta { text-align: center; }
.nowrap, .tek-satir { white-space: nowrap; }
.ust-bosluk { margin-top: 16px; }
.alt-bosluk { margin-bottom: 16px; }
.gizli, [hidden] { display: none !important; }
.ikon { flex: none; vertical-align: -3px; }
.renk-borc, .tutar-borc { color: var(--borc); }
.renk-alacak, .tutar-alacak { color: var(--alacak); }
.renk-basari { color: var(--basari); }
.renk-hata { color: var(--hata); }
.renk-uyari { color: var(--uyari); }
.renk-denge { color: var(--basari); }
.tutar { font-variant-numeric: tabular-nums; white-space: nowrap; }
.tutar abbr { text-decoration: none; font-size: 10px; font-weight: 700; margin-left: 4px; opacity: .75; }
.tutar-sifir { color: var(--metin-3); }
.tutar-bos::after { content: ""; }
.yalniz-yazdir, .yazdir-baslik { display: none; }
::selection { background: rgba(var(--vurgu-rgb), .2); }
:focus-visible { outline: none; box-shadow: var(--halka); border-radius: 6px; }

/* ---------- Iskelet ---------- */
.uygulama { min-height: 100vh; }
.kenar {
  position: fixed; inset: 0 auto 0 0; z-index: 40;
  width: var(--kenar-gen);
  display: flex; flex-direction: column;
  background: var(--kenar-zemin);
  border-right: 1px solid var(--kenar-cizgi);
  color: var(--kenar-metin);
}
.ana { margin-left: var(--kenar-gen); min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.icerik { width: 100%; max-width: 1480px; margin: 0 auto; padding: 22px 28px 48px; flex: 1; }

/* Kenar: sirket secici */
.kenar-sirket { position: relative; padding: 14px 12px 10px; }
.sirket-dugme {
  width: 100%; display: flex; align-items: center; gap: 11px;
  padding: 9px 10px; border-radius: 12px; border: 1px solid var(--kenar-cizgi);
  background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.sirket-dugme:hover { background: var(--kenar-hover); }
.sirket-dugme .metin { flex: 1; min-width: 0; }
.sirket-dugme strong { display: block; font-size: 14px; font-weight: 650; color: var(--metin); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.alan-yonetim .sirket-dugme strong { color: #fff; }
.sirket-dugme span.alt { display: block; font-size: 11.5px; color: var(--kenar-soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sirket-dugme .ok { color: var(--kenar-soluk); }
.sirket-logo {
  width: 38px; height: 38px; flex: none; border-radius: 10px;
  display: grid; place-items: center; overflow: hidden;
  background: linear-gradient(135deg, var(--vurgu), var(--vurgu-koyu));
  color: #fff; font-weight: 700; font-size: 16px; letter-spacing: -.02em;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15);
}
.sirket-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.sirket-acilir { left: 12px; right: 12px; top: calc(100% - 4px); max-height: 60vh; overflow: auto; }
.sirket-acilir .sirket-oge { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; }
.sirket-acilir .sirket-oge .nokta { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.sirket-acilir .sirket-oge.aktif { background: var(--vurgu-acik); font-weight: 650; }
.sirket-acilir form { margin: 0; }
.sirket-acilir button.sirket-oge { width: 100%; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.sirket-acilir button.sirket-oge:hover { background: var(--yuzey-3); }

.kenar-menu { flex: 1; overflow-y: auto; padding: 4px 12px 16px; scrollbar-width: thin; }
.menu-grup { margin-top: 14px; }
.menu-grup-baslik {
  padding: 0 10px 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--kenar-soluk);
}
.menu-oge {
  position: relative; display: flex; align-items: center; gap: 11px;
  padding: 7px 10px; margin: 1px 0; border-radius: 9px;
  color: var(--kenar-metin); font-weight: 500; font-size: 13.5px;
  transition: background .12s, color .12s;
}
.menu-oge .ikon { color: var(--kenar-soluk); transition: color .12s; }
.menu-oge:hover { background: var(--kenar-hover); color: var(--kenar-metin); text-decoration: none; }
.menu-oge:hover .ikon { color: var(--kenar-metin); }
.menu-oge.aktif { background: var(--kenar-aktif-zemin); color: var(--kenar-aktif-metin); font-weight: 650; }
.menu-oge.aktif .ikon { color: var(--vurgu); }
.alan-yonetim .menu-oge.aktif .ikon { color: #b9a6ff; }
.menu-oge.aktif::before {
  content: ""; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--vurgu);
}
.menu-oge .sayac {
  margin-left: auto; min-width: 20px; padding: 0 6px; height: 19px; border-radius: 10px;
  display: grid; place-items: center; font-size: 11px; font-weight: 700;
  background: var(--hata-acik); color: var(--hata);
}
.kenar-alt { padding: 12px; border-top: 1px solid var(--kenar-cizgi); font-size: 12px; color: var(--kenar-soluk); }
.kenar-alt .kilit-bilgi { display: flex; gap: 8px; align-items: center; }
.kenar-alt a { color: inherit; }
.kenar-alt .surum { margin-top: 6px; font-size: 11px; opacity: .8; }
.alan-etiketi {
  display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px; border-radius: 6px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  background: rgba(139, 109, 255, .2); color: #d6ccff;
}

/* Ust cubuk */
.ust {
  position: sticky; top: 0; z-index: 30;
  height: var(--ust-yuk);
  display: flex; align-items: center; gap: 14px;
  padding: 0 28px;
  background: color-mix(in srgb, var(--zemin) 82%, transparent);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--cizgi);
}
@supports not (background: color-mix(in srgb, red 50%, blue)) { .ust { background: var(--zemin); } }
.menu-ac { display: none; }
.ust-arama { position: relative; flex: 1; max-width: 520px; }
.ust-arama .ikon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--metin-3); pointer-events: none; }
.ust-arama input {
  width: 100%; height: 38px; padding: 0 12px 0 38px;
  border-radius: 10px; border: 1px solid var(--cizgi); background: var(--yuzey);
  font: inherit; color: var(--metin); box-shadow: var(--golge-1);
}
.ust-arama input:focus { outline: none; border-color: var(--vurgu); box-shadow: var(--halka); }
.ust-arama kbd {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  font: 600 11px var(--yazi); color: var(--metin-3); border: 1px solid var(--cizgi); border-radius: 5px; padding: 1px 6px; background: var(--yuzey-2);
}
.ust-sag { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.ust-dugme {
  position: relative; width: 38px; height: 38px; border-radius: 10px;
  display: grid; place-items: center; border: 1px solid transparent; background: transparent;
  color: var(--metin-2); cursor: pointer;
}
.ust-dugme:hover { background: var(--yuzey); border-color: var(--cizgi); color: var(--metin); }
.ust-dugme .nokta { position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--hata); box-shadow: 0 0 0 2px var(--zemin); }
.kullanici-menu, .hizli-menu, .bildirim-menu { position: relative; }
.kullanici-dugme {
  display: flex; align-items: center; gap: 10px; padding: 4px 10px 4px 4px;
  border-radius: 12px; border: 1px solid transparent; background: transparent; cursor: pointer; font: inherit; color: inherit;
}
.kullanici-dugme:hover { background: var(--yuzey); border-color: var(--cizgi); }
.avatar {
  width: 32px; height: 32px; border-radius: 50%; flex: none;
  display: grid; place-items: center; font-weight: 700; font-size: 12px;
  background: rgba(var(--vurgu-rgb), .16); color: var(--vurgu-koyu); box-shadow: inset 0 0 0 1px rgba(var(--vurgu-rgb), .22);
}
.avatar.buyuk { width: 56px; height: 56px; font-size: 19px; }
.kullanici-dugme .metinler { display: flex; flex-direction: column; text-align: left; line-height: 1.2; }
.kullanici-dugme .ad { font-weight: 650; font-size: 13px; }
.kullanici-dugme .rol { font-size: 11.5px; color: var(--metin-3); }

/* Acilir menuler */
.acilir {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
  min-width: 230px; padding: 6px;
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 12px;
  box-shadow: var(--golge-3);
  opacity: 0; transform: translateY(-4px) scale(.98); pointer-events: none; visibility: hidden;
  transition: opacity .14s, transform .14s, visibility .14s;
}
.acilir.acik { opacity: 1; transform: none; pointer-events: auto; visibility: visible; }
.acilir a, .acilir button:not(.sirket-oge) {
  width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 8px; border: 0; background: none;
  font: inherit; color: var(--metin); text-align: left; cursor: pointer;
}
.acilir a:hover, .acilir button:not(.sirket-oge):hover { background: var(--yuzey-3); text-decoration: none; }
.acilir .ikon { color: var(--metin-3); }
.acilir-baslik { padding: 8px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--metin-3); }
.acilir-ayrac { height: 1px; background: var(--cizgi); margin: 6px 4px; }
.acilir-bilgi { padding: 8px 10px; font-size: 12px; color: var(--metin-2); }
.tema-secim { display: flex; gap: 4px; padding: 4px; margin: 4px; background: var(--yuzey-3); border-radius: 9px; }
.tema-secim button { flex: 1; justify-content: center; padding: 6px !important; border-radius: 7px !important; font-size: 12px !important; color: var(--metin-2) !important; }
.tema-secim button.secili { background: var(--yuzey) !important; color: var(--metin) !important; box-shadow: var(--golge-1); font-weight: 650; }

/* Duyuru ve uyari seritleri */
.serit {
  display: flex; align-items: center; gap: 10px; padding: 9px 28px; font-size: 13px;
  border-bottom: 1px solid transparent;
}
.serit-bilgi { background: var(--bilgi-acik); color: var(--bilgi); border-color: rgba(29, 111, 214, .15); }
.serit-uyari { background: var(--uyari-acik); color: var(--uyari); border-color: rgba(180, 83, 9, .15); }
.serit-hata { background: var(--hata-acik); color: var(--hata); border-color: rgba(192, 38, 58, .15); }
.serit-basari { background: var(--basari-acik); color: var(--basari); border-color: rgba(21, 128, 61, .15); }
.serit strong { font-weight: 700; }
.serit a { color: inherit; text-decoration: underline; }

/* ---------- Sayfa basligi ---------- */
.sayfa-baslik { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; margin: 4px 0 20px; }
.sayfa-baslik-metin { min-width: 0; }
.sayfa-baslik h1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sayfa-baslik p { margin: 6px 0 0; color: var(--metin-2); max-width: 820px; }
.kirinti { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 12.5px; color: var(--metin-3); }
.kirinti a { color: var(--metin-2); }
.kirinti .ayrac { opacity: .6; }
.geri-baglanti { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 8px; font-size: 13px; color: var(--metin-2); }
.sayfa-eylemler { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* ---------- Kartlar ---------- */
.levha {
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--yaricap);
  box-shadow: var(--golge-1); min-width: 0;
}
.levha + .levha { margin-top: 18px; }
.levha-baslik {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 14px 18px; border-bottom: 1px solid var(--cizgi);
}
.levha-baslik h2 { font-size: 15px; display: flex; align-items: center; gap: 8px; }
.levha-baslik p { margin: 2px 0 0; color: var(--metin-3); font-size: 12.5px; }
.levha-baslik .eylemler { display: flex; gap: 8px; flex-wrap: wrap; }
.levha-govde { padding: 18px; }
.levha-govde.sikisik { padding: 12px 18px; }
.levha-alt { padding: 12px 18px; border-top: 1px solid var(--cizgi); background: var(--yuzey-2); border-radius: 0 0 var(--yaricap) var(--yaricap); }
.levha > .tablo-kap:last-child .tablo tr:last-child td { border-bottom: 0; }
.levha-vurgu { border-top: 3px solid var(--vurgu); }

/* Izgaralar */
.izgara { display: grid; gap: 18px; }
.izgara-2 { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.izgara-3 { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izgara-4 { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.izgara-ana-yan { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
.izgara-yan-ana { display: grid; gap: 18px; grid-template-columns: 300px minmax(0, 1fr); align-items: start; }
.izgara > .levha + .levha, .izgara-2 > .levha + .levha, .izgara-3 > .levha + .levha, .izgara-4 > .levha + .levha,
.izgara-ana-yan > * + *, .izgara-yan-ana > * + * { margin-top: 0; }
.yigin > * + * { margin-top: 18px; }
.yigin.sik > * + * { margin-top: 12px; }

/* KPI kartlari */
.kpi-izgara { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin-bottom: 20px; }
@media (min-width: 1100px) {
  .kpi-izgara.uclu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kpi-izgara.besli { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.tablo td.kod, .tablo td .kod { white-space: nowrap; }
.kpi {
  position: relative; overflow: hidden;
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--yaricap);
  padding: 16px 18px; box-shadow: var(--golge-1);
  display: flex; flex-direction: column; gap: 4px; min-height: 112px;
  color: inherit;
}
a.kpi:hover { text-decoration: none; border-color: var(--cizgi-koyu); box-shadow: var(--golge-2); transform: translateY(-1px); }
a.kpi { transition: box-shadow .15s, transform .15s, border-color .15s; }
.kpi-ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kpi-etiket { font-size: 12.5px; font-weight: 600; color: var(--metin-2); }
.kpi-ikon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--vurgu-acik); color: var(--vurgu); }
.kpi-ikon.basari { background: var(--basari-acik); color: var(--basari); }
.kpi-ikon.uyari { background: var(--uyari-acik); color: var(--uyari); }
.kpi-ikon.hata { background: var(--hata-acik); color: var(--hata); }
.kpi-ikon.bilgi { background: var(--bilgi-acik); color: var(--bilgi); }
.kpi-ikon.mor { background: var(--mor-acik); color: var(--mor); }
.kpi-deger { font-size: 24px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; margin-top: 6px; white-space: nowrap; }
.kpi-deger small { font-size: 13px; font-weight: 600; color: var(--metin-3); margin-left: 3px; }
.kpi-alt { font-size: 12px; color: var(--metin-3); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.degisim { display: inline-flex; align-items: center; gap: 2px; padding: 1px 6px; border-radius: 6px; font-weight: 700; font-size: 11.5px; }
.degisim.arti { background: var(--basari-acik); color: var(--basari); }
.degisim.eksi { background: var(--hata-acik); color: var(--hata); }

/* Ozet seridi */
.ozet-serit { display: flex; flex-wrap: wrap; gap: 10px 26px; padding: 12px 18px; border-bottom: 1px solid var(--cizgi); background: var(--yuzey-2); }
.ozet-serit > div { display: flex; flex-direction: column; }
.ozet-serit .etiket { font-size: 11.5px; color: var(--metin-3); font-weight: 600; }
.ozet-serit .deger { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- Tablolar ---------- */
.tablo-kap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tablo { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; }
.tablo th {
  position: sticky; top: 0; z-index: 1;
  padding: 10px 14px; text-align: left; white-space: nowrap;
  font-size: 11.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--metin-3);
  background: var(--yuzey-2); border-bottom: 1px solid var(--cizgi);
}
.tablo td { padding: 11px 14px; border-bottom: 1px solid var(--cizgi); vertical-align: middle; }
.tablo tbody tr { transition: background .1s; }
.tablo tbody tr:hover td { background: var(--yuzey-2); }
.tablo tr[data-href] { cursor: pointer; }
.tablo td.sag, .tablo th.sag { text-align: right; }
.tablo td.orta, .tablo th.orta { text-align: center; }
.tablo td.tutar, .tablo .tutar { font-variant-numeric: tabular-nums; }
.tablo tfoot td, .tablo tr.toplam td { font-weight: 700; background: var(--yuzey-2); border-top: 1px solid var(--cizgi-koyu); }
.alt-metin, .tablo .alt-metin { display: block; font-size: 12px; font-weight: 400; color: var(--metin-3); margin-top: 1px; }
.tablo .tablo-baglanti { font-weight: 600; color: var(--metin); }
.tablo .tablo-baglanti:hover { color: var(--vurgu); }
.tablo-sikisik td { padding: 7px 12px; }
.tablo-sikisik th { padding: 8px 12px; }
.tablo tr.iptal td { color: var(--metin-3); }
.tablo tr.iptal td .tablo-baglanti { text-decoration: line-through; color: var(--metin-3); }
.tablo tr.vurgulu td { background: var(--vurgu-acik); }
.tablo .secim-hucre { width: 36px; }
.devir-satir td { background: var(--yuzey-2); font-style: italic; color: var(--metin-2); }

/* ---------- Rozetler ---------- */
.rozet {
  display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 650; line-height: 18px; white-space: nowrap;
  background: var(--yuzey-3); color: var(--metin-2);
}
.rozet .nokta { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rozet-basari, .rozet-aktif, .rozet-tahsil, .rozet-odendi { background: var(--basari-acik); color: var(--basari); }
.rozet-uyari, .rozet-kismi, .rozet-kilit, .rozet-yakinda { background: var(--uyari-acik); color: var(--uyari); }
.rozet-hata, .rozet-iptal, .rozet-tediye, .rozet-bitti, .rozet-gecikmis { background: var(--hata-acik); color: var(--hata); }
.rozet-bilgi, .rozet-mahsup, .rozet-acik { background: var(--bilgi-acik); color: var(--bilgi); }
.rozet-mor, .rozet-acilis, .rozet-kapanis, .rozet-super { background: var(--mor-acik); color: var(--mor); }
.rozet-pasif, .rozet-ters, .rozet-durduruldu, .rozet-notr { background: var(--yuzey-3); color: var(--metin-3); }
.rozet-vurgu { background: var(--vurgu-acik); color: var(--vurgu-koyu); }
.rozet-cerceve { background: transparent; border: 1px solid var(--cizgi-koyu); color: var(--metin-2); }
.renk-nokta { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: 0; margin-right: 6px; }

/* ---------- Dugmeler ---------- */
.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 38px; padding: 0 15px; border-radius: 10px;
  border: 1px solid var(--cizgi-koyu); background: var(--yuzey); color: var(--metin);
  font: 600 13.5px var(--yazi); white-space: nowrap; cursor: pointer; text-decoration: none;
  box-shadow: var(--golge-1);
  transition: background .12s, border-color .12s, color .12s, box-shadow .12s, transform .05s;
}
.dugme:hover { background: var(--yuzey-2); border-color: var(--metin-3); color: var(--metin); text-decoration: none; }
.dugme:active { transform: translateY(1px); }
.dugme:disabled, .dugme[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; }
.dugme-ana { background: var(--vurgu); border-color: var(--vurgu); color: var(--vurgu-metin); box-shadow: 0 1px 2px rgba(var(--vurgu-rgb), .35), inset 0 1px 0 rgba(255, 255, 255, .12); }
.dugme-ana:hover { background: var(--vurgu-koyu); border-color: var(--vurgu-koyu); color: #fff; }
:root[data-tema="koyu"] .dugme-ana:hover { background: var(--vurgu); filter: brightness(1.12); }
.dugme-hafif { background: transparent; border-color: transparent; box-shadow: none; color: var(--metin-2); }
.dugme-hafif:hover { background: var(--yuzey-3); border-color: transparent; color: var(--metin); }
.dugme-vurgu { background: var(--vurgu-acik); border-color: transparent; color: var(--vurgu-koyu); box-shadow: none; }
.dugme-vurgu:hover { background: rgba(var(--vurgu-rgb), .18); border-color: transparent; color: var(--vurgu-koyu); }
.dugme-tehlike { color: var(--hata); }
.dugme-tehlike:hover { background: var(--hata-acik); border-color: var(--hata); color: var(--hata); }
.dugme-tehlike-dolu { background: var(--hata); border-color: var(--hata); color: #fff; }
.dugme-tehlike-dolu:hover { filter: brightness(.92); background: var(--hata); color: #fff; border-color: var(--hata); }
.dugme-basari { background: var(--basari); border-color: var(--basari); color: #fff; }
.dugme-basari:hover { filter: brightness(.94); background: var(--basari); color: #fff; }
.dugme-kucuk { height: 30px; padding: 0 11px; font-size: 12.5px; border-radius: 8px; gap: 5px; }
.dugme-buyuk { height: 44px; padding: 0 20px; font-size: 14.5px; border-radius: 12px; }
.dugme-ikon { width: 38px; padding: 0; }
.dugme-kucuk.dugme-ikon { width: 30px; }
.dugme-tam { width: 100%; }
.dugme.aktif { background: var(--vurgu); border-color: var(--vurgu); color: #fff; }
.dugme-grup { display: inline-flex; }
.dugme-grup .dugme { border-radius: 0; margin-left: -1px; }
.dugme-grup .dugme:first-child { border-radius: 10px 0 0 10px; margin-left: 0; }
.dugme-grup .dugme:last-child { border-radius: 0 10px 10px 0; }

/* ---------- Formlar ---------- */
.form-izgara { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px 16px; }
.alan { display: flex; flex-direction: column; gap: 6px; grid-column: span 12; min-width: 0; }
.alan-2 { grid-column: span 2; } .alan-3 { grid-column: span 3; } .alan-4 { grid-column: span 4; } .alan-5 { grid-column: span 5; }
.alan-6 { grid-column: span 6; } .alan-7 { grid-column: span 7; } .alan-8 { grid-column: span 8; } .alan-9 { grid-column: span 9; } .alan-12 { grid-column: span 12; }
.alan > label, .etiket-satir { font-size: 12.5px; font-weight: 650; color: var(--metin-2); }
.alan .yardim, .yardim { font-size: 12px; color: var(--metin-3); margin: 0; }
.zorunlu::after { content: " *"; color: var(--hata); }
input:not([type]), input[type=text], input[type=search], input[type=password], input[type=email], input[type=tel], input[type=number],
input[type=date], input[type=url], input[type=color], select, textarea, .girdi {
  width: 100%; height: 38px; padding: 0 12px;
  border: 1px solid var(--cizgi-koyu); border-radius: 9px;
  background: var(--yuzey); color: var(--metin);
  font: 400 14px var(--yazi);
  transition: border-color .12s, box-shadow .12s;
}
input[type=color] { padding: 3px; width: 54px; cursor: pointer; }
input[type=file] { width: 100%; min-width: 0; font: 400 13px var(--yazi); color: var(--metin-2); }
input[type=file]::file-selector-button {
  height: 32px; margin-right: 10px; padding: 0 12px; border: 1px solid var(--cizgi-koyu); border-radius: 8px;
  background: var(--yuzey-2); color: var(--metin); font: 600 13px var(--yazi); cursor: pointer;
}
input[type=file]::file-selector-button:hover { background: var(--yuzey-3); }
textarea { height: auto; min-height: 84px; padding: 9px 12px; resize: vertical; line-height: 1.5; }
select { padding-right: 32px; appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a96a8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 11px center; }
input:hover, select:hover, textarea:hover { border-color: var(--metin-3); }
input:focus, select:focus, textarea:focus, .girdi:focus { outline: none; border-color: var(--vurgu); box-shadow: var(--halka); }
input[readonly], input:disabled, select:disabled, textarea:disabled { background: var(--yuzey-2); color: var(--metin-2); }
input.girdi-hata, select.girdi-hata, textarea.girdi-hata { border-color: var(--hata); box-shadow: 0 0 0 3px var(--hata-acik); }
input.para-girdi, input.sayi-girdi { text-align: right; font-variant-numeric: tabular-nums; }
input.kucuk-girdi, select.kucuk-girdi { height: 32px; font-size: 13px; padding: 0 9px; border-radius: 8px; }
select.kucuk-girdi { padding-right: 26px; background-position: right 8px center; }
.girdi-grup { display: flex; align-items: stretch; }
.girdi-grup > input, .girdi-grup > select { border-radius: 9px 0 0 9px; }
.girdi-grup > .ek { display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--cizgi-koyu); border-left: 0; border-radius: 0 9px 9px 0; background: var(--yuzey-2); color: var(--metin-2); font-size: 13px; white-space: nowrap; }
.girdi-grup > .dugme { border-radius: 0 9px 9px 0; margin-left: -1px; box-shadow: none; }
.form-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: flex-end; padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--cizgi); }
.form-alt .sol { margin-right: auto; display: flex; gap: 10px; align-items: center; }
.form-bolum { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px dashed var(--cizgi); }
.form-bolum:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.form-bolum-baslik { font-size: 13px; font-weight: 700; color: var(--metin); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.form-bolum-baslik .ikon { color: var(--vurgu); }
.onay-kutusu { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13.5px; }
.onay-kutusu input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--vurgu); flex: none; }
.onay-kutusu small { display: block; color: var(--metin-3); font-size: 12px; }
input[type=checkbox], input[type=radio] { accent-color: var(--vurgu); }

/* Anahtar (toggle) */
.anahtar { position: relative; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13.5px; }
.anahtar input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.anahtar .yol { width: 38px; height: 22px; border-radius: 11px; background: var(--cizgi-koyu); position: relative; transition: background .15s; flex: none; }
.anahtar .yol::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .15s; }
.anahtar input:checked + .yol { background: var(--vurgu); }
.anahtar input:checked + .yol::after { transform: translateX(16px); }
.anahtar input:focus-visible + .yol { box-shadow: var(--halka); }

/* Secenek grubu (segment) */
.secenek-grup, .tur-secim { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--yuzey-3); border-radius: 11px; }
.secenek-grup label, .tur-secim label {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 13px; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13px; color: var(--metin-2);
}
.secenek-grup input, .tur-secim input { position: absolute; opacity: 0; pointer-events: none; }
.secenek-grup label.secili, .tur-secim label.secili, .secenek-grup label:has(input:checked), .tur-secim label:has(input:checked) {
  background: var(--yuzey); color: var(--metin); box-shadow: var(--golge-1);
}

/* Sekmeler */
.sekmeler { display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--cizgi); margin-bottom: 18px; scrollbar-width: none; }
.sekmeler a {
  position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px;
  color: var(--metin-2); font-weight: 600; white-space: nowrap;
}
.sekmeler a:hover { color: var(--metin); text-decoration: none; }
.sekmeler a.aktif { color: var(--vurgu-koyu); }
.sekmeler a.aktif::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--vurgu); }
.sekmeler .sayi { font-size: 11px; padding: 0 6px; border-radius: 8px; background: var(--yuzey-3); color: var(--metin-2); }
.levha > .sekmeler { margin: 0; padding: 0 10px; }

/* Filtre cubugu */
.filtre { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 14px 18px; border-bottom: 1px solid var(--cizgi); }
.filtre .alan { flex: 1 1 160px; grid-column: auto; gap: 4px; }
.filtre .alan.genis { flex: 2 1 240px; }
.filtre .alan.dar { flex: 0 1 130px; }
.filtre .alan > label { font-size: 11.5px; }
.filtre input, .filtre select { height: 36px; }
.filtre .eylem { display: flex; gap: 6px; }
.hazir-araliklar { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 18px; border-bottom: 1px solid var(--cizgi); background: var(--yuzey-2); }
.hazir-araliklar a { padding: 3px 10px; border-radius: 7px; font-size: 12.5px; font-weight: 600; color: var(--metin-2); background: var(--yuzey); border: 1px solid var(--cizgi); }
.hazir-araliklar a:hover { border-color: var(--vurgu); color: var(--vurgu); text-decoration: none; }

/* ---------- Bildirimler ---------- */
.bildirim {
  position: relative; display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; margin-bottom: 14px; border-radius: 11px; border: 1px solid transparent; font-size: 13.5px;
}
.bildirim > .ikon { margin-top: 1px; }
.bildirim > span, .bildirim > div { flex: 1; }
.bildirim ul { margin: 4px 0 0; padding-left: 18px; }
.bildirim-basari { background: var(--basari-acik); color: var(--basari); border-color: rgba(21, 128, 61, .18); }
.bildirim-hata { background: var(--hata-acik); color: var(--hata); border-color: rgba(192, 38, 58, .2); }
.bildirim-uyari { background: var(--uyari-acik); color: var(--uyari); border-color: rgba(180, 83, 9, .2); }
.bildirim-bilgi { background: var(--bilgi-acik); color: var(--bilgi); border-color: rgba(29, 111, 214, .18); }
.bildirim .kapat { border: 0; background: none; color: inherit; opacity: .6; cursor: pointer; padding: 0; }
.bildirim .kapat:hover { opacity: 1; }

/* Tost bildirimleri */
.tost-kap { position: fixed; top: 74px; right: 20px; z-index: 90; display: flex; flex-direction: column; gap: 10px; width: min(380px, calc(100vw - 32px)); pointer-events: none; }
.tost {
  pointer-events: auto; display: flex; gap: 11px; align-items: flex-start;
  padding: 12px 14px; border-radius: 12px; background: var(--yuzey); border: 1px solid var(--cizgi);
  box-shadow: var(--golge-3); font-size: 13.5px; color: var(--metin);
  animation: tost-gir .22s ease-out;
}
.tost.cikiyor { animation: tost-cik .2s ease-in forwards; }
.tost .tost-ikon { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; flex: none; }
.tost-basari .tost-ikon { background: var(--basari-acik); color: var(--basari); }
.tost-hata .tost-ikon { background: var(--hata-acik); color: var(--hata); }
.tost-uyari .tost-ikon { background: var(--uyari-acik); color: var(--uyari); }
.tost-bilgi .tost-ikon { background: var(--bilgi-acik); color: var(--bilgi); }
.tost .tost-metin { flex: 1; padding-top: 3px; }
.tost .kapat { border: 0; background: none; color: var(--metin-3); cursor: pointer; padding: 2px; }
.tost .ilerleme { position: absolute; }
@keyframes tost-gir { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes tost-cik { to { opacity: 0; transform: translateX(16px); } }

/* Bos durum */
.bos-durum { padding: 44px 20px; text-align: center; color: var(--metin-2); }
.bos-durum .bos-ikon { width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 14px; display: grid; place-items: center; background: var(--vurgu-acik); color: var(--vurgu); }
.bos-durum strong { display: block; font-size: 15px; color: var(--metin); margin-bottom: 4px; }
.bos-durum p { margin: 0 auto 14px; max-width: 420px; font-size: 13px; }

/* Bilgi listesi (anahtar-deger) */
.bilgi-liste { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; gap: 0; margin: 0; }
.bilgi-liste dt, .bilgi-liste dd { padding: 9px 0; border-bottom: 1px solid var(--cizgi); margin: 0; }
.bilgi-liste dt { color: var(--metin-3); font-size: 12.5px; font-weight: 600; padding-right: 12px; }
.bilgi-liste dd { font-weight: 500; word-break: break-word; }
.bilgi-liste dt:last-of-type, .bilgi-liste dd:last-of-type { border-bottom: 0; }
.kisa-liste { list-style: none; margin: 0; padding: 0; }
.kisa-liste li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px; border-bottom: 1px solid var(--cizgi); }
.kisa-liste li:last-child { border-bottom: 0; }
.kisa-liste .sol { min-width: 0; display: flex; align-items: center; gap: 10px; }
.kisa-liste .sol > div { min-width: 0; }
.kisa-liste .baslik { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; color: var(--metin); }
.kisa-liste .alt { font-size: 12px; color: var(--metin-3); }
.kisa-liste a.baslik:hover { color: var(--vurgu); }

/* Zaman cizelgesi */
.zaman-cizelgesi { list-style: none; margin: 0; padding: 4px 18px 10px; }
.zaman-cizelgesi li { position: relative; padding: 9px 0 9px 22px; border-left: 2px solid var(--cizgi); margin-left: 6px; }
.zaman-cizelgesi li::before { content: ""; position: absolute; left: -7px; top: 14px; width: 12px; height: 12px; border-radius: 50%; background: var(--yuzey); border: 2px solid var(--vurgu); }
.zaman-cizelgesi li:last-child { border-left-color: transparent; }
.zaman-cizelgesi .zaman { font-size: 11.5px; color: var(--metin-3); }

/* Ilerleme cubugu */
.ilerleme { height: 8px; border-radius: 4px; background: var(--yuzey-3); overflow: hidden; }
.ilerleme > span { display: block; height: 100%; border-radius: 4px; background: var(--vurgu); }
.ilerleme.basari > span { background: var(--basari); }
.ilerleme.uyari > span { background: var(--uyari); }
.ilerleme.hata > span { background: var(--hata); }

/* Grafikler */
.grafik { width: 100%; height: auto; display: block; }
.grafik text { font-family: var(--yazi); font-size: 11px; fill: var(--metin-3); }
.grafik .izgara-cizgi { stroke: var(--cizgi); stroke-width: 1; }
.grafik .cubuk-1 { fill: var(--vurgu); }
.grafik .cubuk-2 { fill: var(--vurgu-orta); opacity: .55; }
.grafik .cubuk-basari { fill: var(--basari); opacity: .85; }
.grafik .cubuk-hata { fill: var(--hata); opacity: .75; }
.grafik .cizgi-1 { fill: none; stroke: var(--vurgu); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.grafik .alan-1 { fill: url(#grafik-dolgu); }
.grafik .nokta-1 { fill: var(--yuzey); stroke: var(--vurgu); stroke-width: 2; }
.lejant { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--metin-2); }
.lejant span { display: inline-flex; align-items: center; gap: 6px; }
.lejant i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }

/* Otomatik tamamlama */
.ot-kap { position: relative; }
.ot-liste {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 70;
  max-height: 300px; overflow-y: auto; margin: 0; padding: 4px; list-style: none;
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 10px; box-shadow: var(--golge-3);
  min-width: 280px;
}
.ot-liste li { display: flex; gap: 10px; align-items: baseline; padding: 7px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; }
.ot-liste li .kod { font-family: var(--yazi-kod); font-size: 12px; color: var(--metin-2); flex: none; }
.ot-liste li .ek { margin-left: auto; font-size: 11.5px; color: var(--metin-3); white-space: nowrap; }
.ot-liste li.secili, .ot-liste li:hover { background: var(--vurgu-acik); }
.ot-liste li.ot-bos { color: var(--metin-3); cursor: default; }
.ot-liste li.ot-bos:hover { background: none; }

/* Aciklama paneli (details) */
details.panel { border: 1px solid var(--cizgi); border-radius: 11px; background: var(--yuzey); }
details.panel > summary { list-style: none; cursor: pointer; padding: 11px 14px; font-weight: 650; display: flex; align-items: center; gap: 8px; }
details.panel > summary::-webkit-details-marker { display: none; }
details.panel > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--metin-3); border-bottom: 2px solid var(--metin-3); transform: rotate(45deg); transition: transform .15s; }
details.panel[open] > summary::after { transform: rotate(-135deg); }
details.panel > .panel-govde { padding: 0 14px 14px; }
details.panel + details.panel { margin-top: 10px; }
details.eylem-panel { display: inline-block; position: relative; }
details.eylem-panel > summary { list-style: none; }
details.eylem-panel > summary::-webkit-details-marker { display: none; }
details.eylem-panel > .eylem-govde {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; width: min(420px, 90vw);
  padding: 16px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-3);
}
details.eylem-panel.sola > .eylem-govde { right: auto; left: 0; }

/* Sayfalama */
.sayfalama { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 18px; border-top: 1px solid var(--cizgi); }
.sayfalama-bilgi { font-size: 12.5px; color: var(--metin-3); }
.sayfalama-dugmeler { display: flex; gap: 4px; flex-wrap: wrap; }
.sayfalama .dugme.aktif { background: var(--vurgu); color: #fff; border-color: var(--vurgu); }

/* ---------- Muhasebe ozel ---------- */
.fis-ust { display: grid; gap: 14px 16px; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.fis-satirlar td { padding: 6px 8px; vertical-align: top; }
.fis-satirlar th { padding: 9px 8px; }
.fis-satirlar input { height: 36px; }
.fis-satirlar .satir-sil { opacity: .5; }
.fis-satirlar tr:hover .satir-sil { opacity: 1; }
.fis-satirlar .satir-no { color: var(--metin-3); font-size: 12px; text-align: center; padding-top: 15px; width: 34px; }
.denge-cubugu {
  position: sticky; bottom: 0; z-index: 20;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;
  padding: 12px 18px; margin-top: 16px;
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-2);
}
.denge-cubugu .kalem { display: flex; flex-direction: column; }
.denge-cubugu .kalem span { font-size: 11.5px; color: var(--metin-3); font-weight: 600; }
.denge-cubugu .kalem strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.denge-cubugu .eylemler { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.denge-durum { padding: 4px 10px; border-radius: 8px; font-weight: 700; font-size: 12.5px; }
.denge-durum.dengede { background: var(--basari-acik); color: var(--basari); }
.denge-durum.dengesiz { background: var(--hata-acik); color: var(--hata); }

/* Hesap plani agaci */
.agac-satir td:first-child { white-space: nowrap; }
.agac-bosluk { display: inline-block; width: 18px; }
.agac-dugme { width: 22px; height: 22px; border: 0; background: none; color: var(--metin-3); cursor: pointer; border-radius: 6px; vertical-align: middle; }
.agac-dugme:hover { background: var(--yuzey-3); color: var(--metin); }
.hesap-sv1 td { font-weight: 750; background: var(--yuzey-2); }
.hesap-sv2 td { font-weight: 650; }
.hesap-sv3 td .kod { color: var(--metin); }
.mizan-sv1 td { font-weight: 750; background: var(--yuzey-3); }
.mizan-sv2 td { font-weight: 650; background: var(--yuzey-2); }
.mizan-sv3 td { font-weight: 600; }
.mizan-sv4 td, .mizan-sv5 td { color: var(--metin-2); }
.hesap-ad-girinti { display: inline-block; }

/* T cetveli */
.t-cetveli { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.t-baslik { grid-column: span 2; text-align: center; padding: 10px; font-weight: 700; background: var(--yuzey-2); border-bottom: 1px solid var(--cizgi); }
.t-taraf { padding: 10px 14px; }
.t-taraf + .t-taraf { border-left: 2px solid var(--metin-3); }
.t-satir { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; font-size: 13px; }
.t-alt { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--cizgi); background: var(--yuzey-2); font-weight: 700; }
.t-alt > div { padding: 8px 14px; display: flex; justify-content: space-between; }

/* Defter (yevmiye) */
.defter-sayfa { background: var(--yuzey); }
.yevmiye-madde-bas td { border-top: 2px solid var(--cizgi-koyu); background: var(--yuzey-2); font-weight: 600; }
.yevmiye-madde-son td { border-bottom: 2px solid var(--cizgi-koyu); }
.yevmiye-hesap-alacak { padding-left: 34px !important; }
.madde-no { font-weight: 700; color: var(--vurgu); }

/* Yetki matrisi */
.yetki-izgara { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.yetki-izgara.genis { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.yetki-grup { border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; background: var(--yuzey); }
.yetki-grup-baslik { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: var(--yuzey-2); border-bottom: 1px solid var(--cizgi); font-weight: 700; font-size: 13px; }
.yetki-liste { padding: 6px 14px 10px; }
.yetki-satir { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--cizgi); font-size: 13px; }
.yetki-satir:last-child { border-bottom: 0; }
.yetki-satir .kod { font-size: 11px; color: var(--metin-3); display: block; }
.uc-durum { display: inline-flex; gap: 2px; padding: 3px; background: var(--yuzey-3); border-radius: 9px; flex: none; }
.uc-durum label { position: relative; padding: 3px 9px; border-radius: 7px; font-size: 11.5px; font-weight: 650; color: var(--metin-2); cursor: pointer; }
.uc-durum input { position: absolute; opacity: 0; pointer-events: none; }
.uc-durum label.secili { background: var(--yuzey); color: var(--metin); box-shadow: var(--golge-1); }
.uc-durum label.secili.ver { color: var(--basari); }
.uc-durum label.secili.engelle { color: var(--hata); }
.yetki-durum { width: 18px; height: 18px; border-radius: 50%; display: inline-grid; place-items: center; flex: none; }
.yetki-durum.var { background: var(--basari-acik); color: var(--basari); }
.yetki-durum.yok { background: var(--yuzey-3); color: var(--metin-3); }
.yetki-satir.ozel { background: var(--vurgu-acik); margin: 0 -14px; padding-left: 14px; padding-right: 14px; }
.yetki-satir .yetki-ad { flex: 1; min-width: 0; }
.yetki-satir > input[type=checkbox] { width: 18px; height: 18px; flex: none; accent-color: var(--vurgu); }
label.yetki-satir { cursor: pointer; }
label.yetki-grup-baslik { cursor: pointer; }
label.yetki-grup-baslik input { width: 16px; height: 16px; accent-color: var(--vurgu); }
[data-yetki-alan].kilitli .yetki-liste { opacity: .55; pointer-events: none; }

/* Yonetim paneli yardimcilari */
.ikon-kutu { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; flex: none; background: var(--vurgu-acik); color: var(--vurgu-koyu); }
.avatar.cevrimici { position: relative; }
.avatar.cevrimici::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 50%; background: var(--basari); border: 2px solid var(--yuzey); }
.renk-mor { color: #7c3aed; }
html[data-tema="koyu"] .renk-mor { color: #a78bfa; }
.etiket-bulutu { display: flex; flex-wrap: wrap; gap: 6px; }
.log-kutu { margin: 0; padding: 14px 18px; max-height: 360px; overflow: auto; font: 12px/1.55 var(--yazi-kod, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace); background: var(--yuzey-2); border-radius: 0 0 var(--yaricap) var(--yaricap); white-space: pre-wrap; word-break: break-all; color: var(--metin-2); }
.tablo tr.grup-satir td { background: var(--yuzey-2); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--metin-3); padding-top: 8px; padding-bottom: 8px; }
.kucuk-girdi { height: 32px !important; padding: 0 8px !important; font-size: 13px !important; width: auto; min-width: 0; }
.satir-form { display: flex; gap: 6px; margin-bottom: 8px; }
.eylem-govde.menu-govde, .eylem-panel .eylem-govde { padding: 8px; width: 250px; }
.eylem-govde > a, .eylem-govde > form > button:not(.dugme) {
  display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 10px; border: 0; background: none; border-radius: 8px;
  font: inherit; font-size: 13.5px; color: var(--metin); text-align: left; cursor: pointer; text-decoration: none;
}
.eylem-govde > a:hover, .eylem-govde > form > button:not(.dugme):hover { background: var(--yuzey-3); text-decoration: none; }
.eylem-govde > form > button.renk-hata { color: var(--hata); }
.eylem-govde .ikon { color: var(--metin-3); }
.tehlike-levha { border-color: var(--hata-cizgi, rgba(220, 38, 38, .28)); }
.tehlike-levha .form-bolum-baslik, .tehlike-levha .form-bolum-baslik .ikon { color: var(--hata); }
.toplu-cubuk { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 18px; background: var(--vurgu-acik); border-bottom: 1px solid var(--cizgi); font-size: 13px; }
.toplu-cubuk[hidden] { display: none; }
.ilerleme.ince { height: 4px; margin-top: 5px; max-width: 120px; }
.salt-okunur { min-height: 40px; display: flex; align-items: center; gap: 6px; padding: 0 12px; border: 1px dashed var(--cizgi-koyu); border-radius: 10px; background: var(--yuzey-2); }
.rol-izgara { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.rol-izgara .levha { margin: 0; display: flex; flex-direction: column; }
.rol-izgara .levha-govde { flex: 1; }
.rol-ozet h3 a { color: var(--metin); }
.rol-ozet h3 a:hover { color: var(--vurgu); text-decoration: none; }
.rol-secim { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.rol-kart { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1.5px solid var(--cizgi); border-radius: 12px; cursor: pointer; background: var(--yuzey); transition: border-color .12s, box-shadow .12s; }
.rol-kart:hover { border-color: var(--cizgi-koyu); }
.rol-kart input { position: absolute; opacity: 0; pointer-events: none; }
.rol-kart.secili, .rol-kart:has(input:checked) { border-color: var(--vurgu); box-shadow: 0 0 0 3px var(--vurgu-acik); }
.rol-kart:has(input:focus-visible) { box-shadow: var(--halka); }
.rol-ad { font-weight: 650; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rol-aciklama { font-size: 12px; color: var(--metin-3); line-height: 1.4; }
.renk-secenek.secili { box-shadow: 0 0 0 2px var(--vurgu) !important; }

/* Sirket kartlari (secim ekrani) */
.sirket-izgara { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.sirket-kart {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 18px;
  background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 16px; box-shadow: var(--golge-1);
  text-align: left; font: inherit; color: inherit; cursor: pointer; width: 100%;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.sirket-kart::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; border-radius: 16px 16px 0 0; background: var(--kart-renk, var(--vurgu)); }
.sirket-kart:hover:not(:disabled) { border-color: var(--kart-renk, var(--vurgu)); box-shadow: var(--golge-2); transform: translateY(-2px); }
.sirket-kart:disabled { cursor: not-allowed; opacity: .7; }
.sirket-kart .ust-bilgi { display: flex; align-items: center; gap: 12px; }
.sirket-kart .sirket-logo { width: 46px; height: 46px; font-size: 18px; background: var(--kart-renk, var(--vurgu)); }
.sirket-kart strong { font-size: 15px; display: block; }
.sirket-kart .alt { font-size: 12px; color: var(--metin-3); }
.sirket-kart .neden { font-size: 12px; color: var(--hata); }

/* ---------- Giris ekrani ---------- */
.giris-sayfa { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--yuzey); }
.giris-sol {
  position: relative; overflow: hidden; padding: 48px 56px; color: #fff;
  display: flex; flex-direction: column; justify-content: space-between;
  background:
    radial-gradient(1200px 600px at -10% -20%, rgba(255, 255, 255, .16), transparent 60%),
    radial-gradient(800px 500px at 110% 120%, rgba(255, 255, 255, .12), transparent 60%),
    linear-gradient(140deg, var(--vurgu) 0%, var(--vurgu-koyu) 100%);
}
.alan-yonetim .giris-sol { background: radial-gradient(900px 600px at 0% 0%, rgba(167, 139, 250, .35), transparent 60%), linear-gradient(150deg, #1e1a46 0%, #0f0d24 100%); }
.giris-sol .marka { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 17px; }
.giris-sol .marka .sirket-logo { background: rgba(255, 255, 255, .18); width: 42px; height: 42px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.giris-sol h2 { font-size: 34px; line-height: 1.15; font-weight: 750; letter-spacing: -.03em; max-width: 520px; }
.giris-sol p { font-size: 15px; opacity: .85; max-width: 460px; margin-top: 14px; }
.giris-sol .ozellikler { display: grid; gap: 12px; margin-top: 28px; max-width: 460px; }
.giris-sol .ozellikler div { display: flex; gap: 12px; align-items: center; font-size: 14px; opacity: .92; }
.giris-sol .ozellikler .ikon-kutu { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, .14); flex: none; }
.giris-sol .alt-not { font-size: 12px; opacity: .7; }
.giris-sol .desen { position: absolute; right: -120px; bottom: -120px; width: 520px; opacity: .16; pointer-events: none; }
.giris-sag { display: grid; place-items: center; padding: 40px 24px; background: var(--zemin); }
.giris-kutu { width: min(420px, 100%); }
.giris-kutu .giris-logo { display: none; }
.giris-kutu h1 { font-size: 26px; }
.giris-kutu .alt-baslik { color: var(--metin-2); margin: 6px 0 26px; }
.giris-kutu form { display: grid; gap: 16px; }
.giris-kutu .alan input { height: 44px; border-radius: 11px; font-size: 15px; }
.sifre-alan { position: relative; }
.sifre-alan input { padding-right: 44px; }
.sifre-alan .goster { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: 0; background: none; color: var(--metin-3); cursor: pointer; border-radius: 8px; }
.sifre-alan .goster:hover { color: var(--metin); background: var(--yuzey-3); }
.giris-alt { margin-top: 22px; font-size: 12.5px; color: var(--metin-3); text-align: center; }
.giris-alt a { color: var(--metin-2); }

/* Hata sayfasi */
.hata-sayfa { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--zemin); }
.hata-kutu { width: min(520px, 100%); text-align: center; padding: 40px 32px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 20px; box-shadow: var(--golge-2); }
.hata-kod { font-size: 64px; font-weight: 800; letter-spacing: -.04em; line-height: 1; background: linear-gradient(135deg, var(--vurgu), var(--mor)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hata-kutu h1 { margin: 14px 0 8px; }
.hata-kutu p { color: var(--metin-2); }
.hata-kutu .eylemler { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.gizli-metin { margin-top: 16px; font-family: var(--yazi-kod); font-size: 12px; color: var(--metin-3); text-align: left; padding: 10px; background: var(--yuzey-2); border-radius: 8px; word-break: break-all; }

/* Sade duzen (sirket secimi) */
.sade-sayfa { min-height: 100vh; background: var(--zemin); }
.sade-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 28px; border-bottom: 1px solid var(--cizgi); background: var(--yuzey); }
.sade-ust .marka { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.sade-icerik { width: min(1080px, 100%); margin: 0 auto; padding: 36px 24px 60px; }

/* Belge (fatura) */
.belge-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.belge-ozet > div { padding: 12px 16px; border-right: 1px solid var(--cizgi); background: var(--yuzey); }
.belge-ozet > div:last-child { border-right: 0; }
.belge-ozet .etiket { font-size: 11.5px; color: var(--metin-3); font-weight: 650; }
.belge-ozet .deger { font-size: 17px; font-weight: 750; font-variant-numeric: tabular-nums; }
.belge-ozet .vurgu { background: var(--vurgu-acik); }
.belge-ozet .vurgu .deger { color: var(--vurgu-koyu); }
.toplam-kutu { width: min(380px, 100%); margin-left: auto; }
.toplam-kutu .satir { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-variant-numeric: tabular-nums; }
.toplam-kutu .satir.genel { border-top: 2px solid var(--metin); margin-top: 6px; padding-top: 10px; font-size: 17px; font-weight: 750; }
.toplam-kutu .satir.ince { font-size: 12.5px; color: var(--metin-3); }
.belge-satirlar td { padding: 5px 6px; vertical-align: top; }
.belge-satirlar th { padding: 9px 6px; font-size: 11px; }
.belge-satirlar input, .belge-satirlar select { height: 34px; font-size: 13px; padding: 0 8px; border-radius: 8px; }
.belge-satirlar select { padding-right: 24px; background-position: right 7px center; }
.belge-satirlar .ek-satir td { padding-top: 0; border-top: 0; }
.belge-satirlar .satir-toplam { padding-top: 13px; font-weight: 650; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.belge-satirlar tr.ust-satir td { border-bottom: 0; }
.belge-satirlar .stok-bilgi { font-size: 11px; color: var(--metin-3); margin-top: 3px; }
.belge-satirlar .stok-bilgi.renk-hata { color: var(--hata); }
.belge-satirlar [data-ek-ac].aktif { background: var(--vurgu-acik); color: var(--vurgu-koyu); }
.tablo tr.sayim-farkli td { background: var(--uyari-acik); }
.tablo tr.sayim-farkli.vurgulu td, .tablo tr.vurgulu td { background: var(--vurgu-acik); }
[data-fiyat-sutun][hidden] { display: none !important; }
.belge-satirlar .stok-bilgi.eksi { color: var(--hata); }
.durum-adimlari { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12.5px; }
.durum-adimlari .adim { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; background: var(--yuzey-3); color: var(--metin-3); font-weight: 600; }
.durum-adimlari .adim.tamam { background: var(--basari-acik); color: var(--basari); }
.durum-adimlari .adim.simdi { background: var(--vurgu-acik); color: var(--vurgu-koyu); }
.durum-adimlari .ok { color: var(--metin-3); }

/* ---------- Kurulum sihirbazi ---------- */
.kurulum-sayfa { min-height: 100vh; background: var(--zemin); padding: 32px 16px 60px; }
.kurulum-kap { width: min(820px, 100%); margin: 0 auto; }
.kurulum-baslik { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.kurulum-baslik .sirket-logo { width: 46px; height: 46px; }
.adimlar { display: flex; gap: 6px; margin-bottom: 18px; flex-wrap: wrap; }
.adimlar li { list-style: none; display: flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 9px; background: var(--yuzey); border: 1px solid var(--cizgi); font-size: 12.5px; font-weight: 600; color: var(--metin-3); }
.adimlar li .no { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--yuzey-3); font-size: 11px; }
.adimlar li.aktif { border-color: var(--vurgu); color: var(--vurgu-koyu); background: var(--vurgu-acik); }
.adimlar li.aktif .no { background: var(--vurgu); color: #fff; }
.adimlar li.tamam { color: var(--basari); }
.adimlar li.tamam .no { background: var(--basari-acik); color: var(--basari); }
.adimlar { padding: 0; margin-top: 0; }
.kontrol-liste { list-style: none; margin: 0; padding: 0; }
.kontrol-liste li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--cizgi); }
.kontrol-liste li:last-child { border-bottom: 0; }

/* ---------- Eski sablon uyumlulugu ---------- */
.satir-alt { display: block; font-size: 12px; color: var(--metin-3); margin-top: 1px; font-weight: 400; }
.tablo th.dar, .tablo td.dar { width: 1%; white-space: nowrap; }
.defter-sayfa { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge-1); overflow: hidden; }
.defter-sayfa + .defter-sayfa, .defter-sayfa + .levha, .levha + .defter-sayfa { margin-top: 18px; }
.defter-baslik { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 14px 18px; border-bottom: 1px solid var(--cizgi); }
.defter-baslik strong { font-size: 15px; }
.defter-baslik span { color: var(--metin-3); font-size: 12.5px; }
.izgara > .defter-sayfa, .izgara > div > .defter-sayfa:first-child { margin-top: 0; }
.ozet-tablo td { padding: 8px 0; border-bottom: 1px solid var(--cizgi); }
.ozet-tablo { width: 100%; border-collapse: collapse; }
.kisayol { display: inline-flex; gap: 6px; }
.fark-tablo td, .fark-tablo th { vertical-align: top; word-break: break-word; }
.akis-grafik { width: 100%; height: auto; }
.t-govde { display: grid; grid-template-columns: 1fr 1fr; }

.ozet-serit > div > span:first-child { font-size: 11.5px; color: var(--metin-3); font-weight: 600; }
.ozet-serit > div > strong { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ozet-serit > div > span:last-child:not(:first-child) { font-size: 11.5px; color: var(--metin-3); }
.icerik > .ozet-serit { border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: var(--yuzey); box-shadow: var(--golge-1); margin-bottom: 18px; }

/* ---------- Duyarli ---------- */
@media (max-width: 1280px) {
  .izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izgara-ana-yan { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 1080px) {
  .izgara-ana-yan, .izgara-yan-ana { grid-template-columns: minmax(0, 1fr); }
  .izgara-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .giris-sayfa { grid-template-columns: 1fr; }
  .giris-sol { display: none; }
  .giris-kutu .giris-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; font-weight: 700; }
}
@media (max-width: 900px) {
  :root { --kenar-gen: 280px; }
  .kenar { transform: translateX(-100%); transition: transform .22s ease; box-shadow: var(--golge-3); }
  body.menu-acik .kenar { transform: none; }
  body.menu-acik::after { content: ""; position: fixed; inset: 0; z-index: 35; background: rgba(15, 23, 42, .4); }
  .ana { margin-left: 0; }
  .menu-ac { display: grid; }
  .ust { padding: 0 14px; gap: 8px; }
  .icerik { padding: 16px 14px 40px; }
  .serit { padding: 9px 14px; }
  .kullanici-dugme .metinler, .ust-arama kbd { display: none; }
  .izgara-2, .izgara-3, .izgara-4 { grid-template-columns: minmax(0, 1fr); }
  .alan-2, .alan-3, .alan-4, .alan-5, .alan-6, .alan-7, .alan-8, .alan-9 { grid-column: span 12; }
  .fis-ust > .alan { grid-column: span 12; }
  .mobil-gizle { display: none !important; }
  .sayfa-baslik { align-items: flex-start; }
  .denge-cubugu .eylemler { margin-left: 0; width: 100%; }
  .belge-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .belge-ozet > div { border-bottom: 1px solid var(--cizgi); }
  .bilgi-liste { grid-template-columns: 1fr; }
  .bilgi-liste dt { border-bottom: 0; padding-bottom: 0; }
  .tost-kap { top: 70px; right: 16px; }
}
@media (max-width: 560px) {
  .kpi-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kpi { padding: 12px; min-height: 96px; }
  .kpi-deger { font-size: 18px; }
  .kpi-ikon { width: 28px; height: 28px; }
  .ust-arama { max-width: none; }
  h1 { font-size: 19px; }
}

/* ---------- Faz 3: personel, bordro, e-Belge ---------- */
.ipucu { font-size: 12px; color: var(--metin-3); margin: 0; }
.kisi-hucre { display: flex; gap: 10px; align-items: center; }
.kisi-hucre > div { min-width: 0; }
.donem-secici { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.donem-secici form { display: flex; gap: 6px; align-items: center; }
.donem-secici select { width: auto; }
.donem-secici input[type=number] { width: 90px; }
.puantaj-tablo td { vertical-align: middle; }
.puantaj-tablo input.kucuk-girdi { width: 64px; height: 32px; padding: 0 8px; }
.puantaj-tablo select.kucuk-girdi { width: 170px; height: 32px; }
.puantaj-tablo [data-prim-gunu] { font-size: 15px; }
input.sayi-girdi.genis { width: 120px; }
.bordro-tablo tbody.bordro-kisi + tbody.bordro-kisi tr:first-child td { border-top: 1px solid var(--cizgi); }
.bordro-tablo tr.tiklanir { cursor: pointer; }
.bordro-tablo tr.tiklanir:hover td { background: var(--yuzey-2); }
.bordro-tablo tr.tiklanir.acik td { background: var(--vurgu-acik); }
.bordro-tablo tr.bordro-detay > td { background: var(--yuzey-2); padding: 14px 16px 16px; border-bottom: 2px solid var(--cizgi); }
.bordro-detay-izgara { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.bordro-detay-izgara h4 { margin: 0 0 6px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--metin-3); }
.hesap-dokum { display: grid; grid-template-columns: 1fr auto; gap: 0 12px; margin: 0; font-size: 12.5px; }
.hesap-dokum dt, .hesap-dokum dd { margin: 0; padding: 4px 0; border-bottom: 1px dashed var(--cizgi); }
.hesap-dokum dd { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hesap-dokum dt:last-of-type, .hesap-dokum dd:last-of-type { border-bottom: 0; }
.hesap-dokum .alt-metin { font-size: 11px; }
.baglanti-dugme { border: 0; background: none; padding: 0; font: inherit; color: var(--vurgu-koyu); cursor: pointer; text-align: left; }
.baglanti-dugme:hover { text-decoration: underline; }
.adim-liste { margin: 0; padding: 12px 18px 14px 36px; display: grid; gap: 6px; }
.xml-onizleme { margin: 0; padding: 14px 16px; max-height: 560px; overflow: auto; background: var(--yuzey-2); border-top: 1px solid var(--cizgi); font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre; color: var(--metin-2); }
.parametre-grup + .parametre-grup tr:first-child td { border-top: 2px solid var(--cizgi); }
tr.satir-uyari td { background: var(--uyari-acik); }
@media (max-width: 1080px) {
  .bordro-detay-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .bordro-detay-izgara { grid-template-columns: minmax(0, 1fr); }
  .puantaj-tablo select.kucuk-girdi { width: 130px; }
}

/* ---------- Faz 4 ---------- */
/* [F4-cekirdek] Belge ekleri */
.ek-liste { list-style: none; margin: 0; padding: 0; }
.ek-liste li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--cizgi); }
.ek-liste li:last-child { border-bottom: 0; }
.ek-liste .ek-ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ek-liste .ek-ad small { display: block; color: var(--metin-3); }
.ek-yukle { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.ek-yukle input[type=file] { flex: 1 1 220px; min-width: 0; }
.ek-yukle input[type=text] { flex: 1 1 160px; min-width: 0; }

/* [F4-A] Iki adimli giris, e-posta, zamanlanmis gorevler, takvim */
.iki-adim-kod { font-family: var(--yazi-kod); font-size: 20px; letter-spacing: .18em; text-align: center; }
.iki-adim-kurulum { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; margin-top: 14px; }
.iki-adim-kurulum > .yigin { flex: 1 1 260px; min-width: 0; }
.iki-adim-qr { flex: none; width: 196px; height: 196px; padding: 8px; background: #fff; border: 1px solid var(--cizgi); border-radius: 12px; display: grid; place-items: center; }
.iki-adim-qr svg { width: 100%; height: 100%; display: block; }
.iki-adim-anahtar { display: block; padding: 10px 12px; background: var(--yuzey-2); border: 1px dashed var(--cizgi-koyu); border-radius: 8px; font-size: 15px; letter-spacing: .08em; word-break: break-all; color: var(--metin); }
.iki-adim-adimlar { margin: 0; padding-left: 20px; font-size: 13.5px; color: var(--metin-2); }
.iki-adim-adimlar li + li { margin-top: 4px; }
.iki-adim-islem { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.iki-adim-kodlar { border-color: var(--uyari); }
.yedek-kod-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px 18px; margin: 0; padding-left: 22px; font-size: 16px; }
.yedek-kod-liste code { font-size: 15px; letter-spacing: .06em; color: var(--metin); }
.komut-kutu { display: block; padding: 10px 12px; background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 8px; font-size: 12.5px; white-space: pre-wrap; word-break: break-all; color: var(--metin); user-select: all; }
.takvim-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.takvim-gezinme { display: flex; align-items: center; gap: 8px; }
.takvim-gezinme h2 { font-size: 18px; min-width: 150px; text-align: center; margin: 0; }
.takvim-gorunum { margin-bottom: 0; border-bottom: 0; }
.takvim-filtre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; }
.takvim-cip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--cizgi); border-radius: 999px; background: var(--yuzey); font-size: 12.5px; cursor: pointer; color: var(--metin-2); user-select: none; }
.takvim-cip input { width: 14px; height: 14px; margin: 0; accent-color: var(--vurgu); }
.takvim-cip:has(input:checked) { border-color: var(--vurgu); background: var(--vurgu-acik); color: var(--vurgu-koyu); }
.takvim-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.takvim-gun-adi { padding: 8px 10px; font-size: 12px; font-weight: 600; color: var(--metin-3); border-bottom: 1px solid var(--cizgi); text-transform: uppercase; letter-spacing: .04em; }
.takvim-gun { min-height: 118px; padding: 6px 6px 8px; border-right: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.takvim-gun:nth-child(7n) { border-right: 0; }
.takvim-gun.bos { background: var(--yuzey-2); }
.takvim-gun.hafta-sonu { background: color-mix(in srgb, var(--yuzey-2) 60%, transparent); }
.takvim-gun.tatil { background: var(--uyari-acik); }
.takvim-gun.bugun { box-shadow: inset 0 0 0 2px var(--vurgu); }
.takvim-gun-ust { display: flex; align-items: center; justify-content: space-between; }
.takvim-gun-no { font-size: 13px; font-weight: 700; color: var(--metin-2); width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; }
.takvim-gun.bugun .takvim-gun-no { background: var(--vurgu); color: #fff; }
.takvim-gun-ekle { opacity: 0; color: var(--metin-3); width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; }
.takvim-gun:hover .takvim-gun-ekle, .takvim-gun-ekle:focus { opacity: 1; background: var(--yuzey-3); }
.takvim-tatil-ad { font-size: 11px; color: var(--uyari); font-weight: 600; line-height: 1.2; }
.takvim-olay { display: flex; align-items: center; gap: 4px; justify-content: space-between; font-size: 11.5px; line-height: 1.3; padding: 2px 6px; border-radius: 5px; border-left: 3px solid var(--tk, var(--vurgu)); background: var(--tk-acik, var(--vurgu-acik)); color: var(--metin); min-width: 0; }
.takvim-olay:hover { text-decoration: none; filter: brightness(.97); }
.takvim-olay-baslik { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.takvim-olay-tutar { flex: none; font-variant-numeric: tabular-nums; color: var(--metin-2); font-weight: 600; }
.takvim-olay.gecikti { outline: 1px dashed var(--hata); }
.takvim-daha { font-size: 11.5px; color: var(--metin-3); padding-left: 6px; }
.tur-beyan { --tk: var(--mor); --tk-acik: var(--mor-acik); }
.tur-cek { --tk: var(--bilgi); --tk-acik: var(--bilgi-acik); }
.tur-fatura-alacak { --tk: var(--basari); --tk-acik: var(--basari-acik); }
.tur-fatura-borc { --tk: var(--hata); --tk-acik: var(--hata-acik); }
.tur-kredi { --tk: var(--uyari); --tk-acik: var(--uyari-acik); }
.tur-kart { --tk: var(--uyari); --tk-acik: var(--uyari-acik); }
.tur-bordro { --tk: var(--vurgu); --tk-acik: var(--vurgu-acik); }
.tur-hatirlatma { --tk: var(--metin-2); --tk-acik: var(--yuzey-3); }
.tur-diger { --tk: var(--metin-3); --tk-acik: var(--yuzey-2); }
.takvim-cip .ikon { color: var(--tk, currentColor); }
.takvim-liste { padding: 4px 0; }
.takvim-tarih-grup + .takvim-tarih-grup { border-top: 1px solid var(--cizgi); }
.takvim-tarih-baslik { padding: 10px 18px 4px; font-size: 13px; color: var(--metin-2); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.takvim-tarih-baslik.bugun strong { color: var(--vurgu); }
.takvim-satirlar { list-style: none; margin: 0; padding: 0 18px 8px; }
.takvim-satirlar.sik { padding: 6px 18px; }
.takvim-satir { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--cizgi); }
.takvim-satir:last-child { border-bottom: 0; }
.takvim-satir-ikon { width: 30px; height: 30px; flex: none; border-radius: 8px; display: grid; place-items: center; background: var(--tk-acik, var(--yuzey-3)); color: var(--tk, var(--metin-2)); }
.takvim-satir-metin { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.takvim-satir-metin > a, .takvim-satir-metin > span:first-child { font-weight: 600; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; }
.takvim-satir-metin .alt { font-size: 12px; color: var(--metin-3); }
.takvim-satir.gecikti .takvim-satir-ikon { box-shadow: 0 0 0 2px var(--hata-acik); }
.takvim-tutar { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; white-space: nowrap; }
.takvim-tamamla { flex: none; }
.takvim-mobil-liste { display: none; }
@media (max-width: 760px) {
  .takvim-ay { display: none; }
  .takvim-mobil-liste { display: block; }
  .takvim-gezinme h2 { min-width: 0; font-size: 16px; }
}
@media print {
  .takvim-filtre, .takvim-gun-ekle, .takvim-tamamla { display: none !important; }
}

/* [F4-B] */
tr.satir-vurgu td { background: var(--vurgu-acik); font-weight: 600; }
.amortisman-donem { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.amortisman-donem .alan { min-width: 140px; }

/* [F4-C] */
.yapiskan-alt { position: sticky; bottom: 0; z-index: 3; background: var(--yuzey); margin: 0; padding: 12px 18px; border-top: 1px solid var(--cizgi); box-shadow: 0 -4px 12px rgba(15, 23, 42, .06); }
.varyant-matris th[scope=row] { font-weight: 600; white-space: nowrap; }
.varyant-matris td a { color: inherit; }
.zrapor-dokum .kucuk-girdi, .kupur-tablo .kucuk-girdi { width: 140px; max-width: 100%; text-align: right; }
.gunsonu-ozet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.gunsonu-ozet > div { background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.gunsonu-ozet .etiket { font-size: 12px; color: var(--metin-3); }
.gunsonu-ozet strong { font-size: 18px; }
a.kpi.kpi-secili { outline: 2px solid var(--vurgu); outline-offset: -2px; }
.kisa-liste li.iptal { opacity: .6; }
@media (max-width: 560px) {
  .gunsonu-ozet { grid-template-columns: minmax(0, 1fr); }
  .zrapor-dokum .kucuk-girdi, .kupur-tablo .kucuk-girdi { width: 110px; }
}

/* [F4-D] */
.kopya-kutu { display: flex; align-items: center; gap: 8px; background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 8px; padding: 6px 8px 6px 10px; min-width: 0; }
.kopya-kutu code { flex: 1; min-width: 0; overflow-wrap: anywhere; font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--metin); }
.kopya-kutu.buyuk code { font-size: 14px; font-weight: 600; }
.kod-blok { margin: 4px 0 0; padding: 10px 12px; background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 8px; font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--metin-2); }
.gider-son { list-style: none; margin: 0; padding: 0; }
.gider-son li { display: flex; align-items: center; gap: 10px; padding: 9px 16px; border-bottom: 1px solid var(--cizgi); }
.gider-son li:last-child { border-bottom: 0; }
.gider-son li a { flex: 1; min-width: 0; color: inherit; text-decoration: none; }
.gider-son li a .ad { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gider-son li .tutar { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gider-son li.iptal { opacity: .55; }
.gider-ozet { padding: 10px 12px; border-radius: 8px; background: var(--vurgu-acik); color: var(--metin); font-size: 13px; font-variant-numeric: tabular-nums; }
.internet-satis .levha-baslik { flex-wrap: wrap; gap: 10px; }
.md-belge { max-width: 920px; line-height: 1.6; overflow-wrap: anywhere; }
.md-belge h2 { font-size: 20px; margin: 4px 0 12px; }
.md-belge h3 { font-size: 16px; margin: 26px 0 8px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.md-belge h4 { font-size: 14px; margin: 18px 0 6px; }
.md-belge p, .md-belge ul, .md-belge ol { margin: 0 0 10px; }
.md-belge ul, .md-belge ol { padding-left: 22px; }
.md-belge li { margin: 3px 0; }
.md-belge li > ul, .md-belge li > ol { margin: 4px 0 6px; }
.md-belge code { font: 12.5px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 4px; padding: 0 4px; }
.md-belge pre.kod-blok { margin: 6px 0 14px; white-space: pre; overflow-x: auto; overflow-wrap: normal; }
.md-belge .tablo-kap { margin: 6px 0 14px; }
.stopaj-tablo { table-layout: fixed; min-width: 1000px; }
.stopaj-tablo col.t-tarih { width: 104px; }
.stopaj-tablo col.t-belge { width: 22%; }
.stopaj-tablo col.t-vkn { width: 130px; }
.stopaj-tablo col.t-tutar { width: 118px; }
.stopaj-tablo col.t-oran { width: 70px; }
.stopaj-tablo td, .stopaj-tablo th { overflow-wrap: anywhere; }
.anahtar-tablo { min-width: 760px; }
.aktarim-tablo { min-width: 900px; }
.stopaj-tur-tablo { min-width: 640px; }

/* [F4-E] */
.tablo tr.secili-satir td { background: var(--vurgu-acik); }
.ekstre-tablo td { vertical-align: top; }
.ekstre-aciklama { min-width: 240px; max-width: 420px; word-break: break-word; }
.ekstre-islem { min-width: 300px; }
.ekstre-islem-ust { display: flex; gap: 6px; align-items: center; }
.ekstre-islem-ust select { flex: 1; min-width: 0; }
.ekstre-alan { margin-top: 6px; display: grid; gap: 4px; }
.ekstre-alan[hidden] { display: none; }
.ekstre-alan .onay-kutusu { align-items: flex-start; }
.ekstre-alt { margin-top: 4px; }
.secim-kartlari { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.secim-karti { position: relative; display: block; cursor: pointer; }
.secim-karti input { position: absolute; opacity: 0; pointer-events: none; }
.secim-karti-ic { display: grid; gap: 6px; align-content: start; padding: 14px; border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: var(--yuzey); height: 100%; }
.secim-karti:hover .secim-karti-ic { border-color: var(--cizgi-koyu); }
.secim-karti input:checked + .secim-karti-ic { border-color: var(--vurgu); background: var(--vurgu-acik); box-shadow: 0 0 0 2px rgba(var(--vurgu-rgb), .15); }
.secim-karti input:focus-visible + .secim-karti-ic { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.secim-karti-ust { display: flex; gap: 8px; align-items: center; }
.secim-karti-ust .ikon { color: var(--vurgu); flex: none; }
.tablo tr.ara-baslik td { background: var(--yuzey-2); font-weight: 700; font-size: 11.5px; letter-spacing: .03em; text-transform: uppercase; color: var(--metin-2); }
.tablo tr.alt-toplam td { font-weight: 650; border-top: 1px solid var(--cizgi-koyu); }
.nakit-tablo th:first-child, .nakit-tablo td:first-child, .butce-izgara .butce-hesap { position: sticky; left: 0; z-index: 1; background: var(--yuzey); }
.nakit-tablo tr.ara-baslik td:first-child, .nakit-tablo tfoot td:first-child { background: var(--yuzey-2); }
details.levha > summary { list-style: none; cursor: pointer; }
details.levha > summary::-webkit-details-marker { display: none; }
.halka-grafik { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.halka-grafik svg { flex: none; }
.halka-orta { font-size: 5.2px; font-weight: 700; fill: var(--metin); font-family: var(--yazi); }
.halka-alt { font-size: 3px; fill: var(--metin-3); font-family: var(--yazi); }
.halka-lejant { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 200px; display: grid; gap: 7px; font-size: 13px; }
.halka-lejant li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 48px; gap: 8px; align-items: center; }
.halka-lejant li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.halka-lejant i { width: 10px; height: 10px; border-radius: 3px; }
.halka-lejant em { font-style: normal; color: var(--metin-3); text-align: right; font-size: 12px; }
.kontrol-listesi { list-style: none; margin: 0; padding: 0; }
.kontrol-listesi li { display: flex; gap: 12px; align-items: flex-start; padding: 13px 18px; border-bottom: 1px solid var(--cizgi); }
.kontrol-listesi li:last-child { border-bottom: 0; }
.kontrol-ikon { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--yuzey-3); color: var(--metin-3); }
.kontrol-tamam .kontrol-ikon { background: var(--basari-acik); color: var(--basari); }
.kontrol-uyari .kontrol-ikon { background: var(--uyari-acik); color: var(--uyari); }
.kontrol-eksik .kontrol-ikon { background: var(--hata-acik); color: var(--hata); }
.kontrol-metin { flex: 1; min-width: 0; display: grid; gap: 2px; }
.kontrol-metin span { color: var(--metin-2); font-size: 13px; }
.kontrol-yok .kontrol-metin { opacity: .75; }
.kontrol-sag { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.butce-araclar { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: flex-start; }
.butce-araclar .alan { display: grid; gap: 6px; }
.butce-kap { max-height: 70vh; }
.butce-izgara td { padding: 3px 4px; }
.butce-izgara .butce-hesap { min-width: 220px; white-space: nowrap; padding-left: 10px; }
.butce-izgara .butce-sec { width: 16px; height: 16px; margin: 0 8px 0 0; vertical-align: -3px; accent-color: var(--vurgu); }
.butce-izgara tfoot .butce-hesap, .butce-izgara tr.ara-baslik td { background: var(--yuzey-2); }
.butce-izgara .alt-metin { white-space: normal; }
.butce-hucre { width: 96px; min-width: 84px; height: 30px; padding: 0 6px; text-align: right; font-variant-numeric: tabular-nums; border: 1px solid var(--cizgi); border-radius: 6px; background: var(--yuzey); color: var(--metin); font: inherit; font-size: 13px; }
.butce-hucre:focus { border-color: var(--vurgu); outline: none; box-shadow: 0 0 0 2px rgba(var(--vurgu-rgb), .15); }
.butce-hucre[readonly] { border-color: transparent; background: transparent; }
.butce-hucre.hatali { border-color: var(--hata); background: var(--hata-acik); }
.ilerleme-hata span { background: var(--hata) !important; }
.panel-ayar-liste { list-style: none; margin: 0; padding: 0; }
.panel-ayar-liste li { display: flex; gap: 10px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--cizgi); }
.panel-ayar-liste li:last-child { border-bottom: 0; }
.panel-ayar-liste .ad { flex: 1; min-width: 0; }
.panel-ayar-liste .ad small { display: block; color: var(--metin-3); }
.panel-ayar-liste input[type="number"] { width: 70px; }
.mektup { max-width: 820px; margin: 0 auto; background: var(--yuzey); color: var(--metin); padding: 36px 44px; border: 1px solid var(--cizgi); border-radius: var(--yaricap); }
.mektup h1 { font-size: 18px; text-align: center; margin: 18px 0; letter-spacing: .02em; }
.mektup-ust { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.mektup-ust .sirket { font-size: 13px; color: var(--metin-2); line-height: 1.5; }
.mektup-ust .sirket strong { color: var(--metin); font-size: 15px; display: block; }
.mektup table.mektup-tablo { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 13.5px; }
.mektup table.mektup-tablo td, .mektup table.mektup-tablo th { border: 1px solid var(--cizgi-koyu); padding: 7px 10px; text-align: left; }
.mektup table.mektup-tablo th { background: var(--yuzey-2); width: 34%; }
.mektup .bakiye-kutu { font-size: 17px; font-weight: 700; }
.mektup-cevap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.mektup-cevap > div { border: 1px solid var(--cizgi-koyu); border-radius: 6px; padding: 12px; min-height: 120px; font-size: 13px; }
.mektup-cevap .kutu { display: inline-block; width: 12px; height: 12px; border: 1.5px solid var(--metin); margin-right: 6px; vertical-align: -1px; }
.mektup-imza { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; font-size: 13px; }
.mektup-imza > div { border-top: 1px solid var(--cizgi-koyu); padding-top: 8px; min-height: 70px; }
.mektup .not { font-size: 12.5px; color: var(--metin-2); line-height: 1.55; }
@media (max-width: 720px) {
  .ekstre-islem { min-width: 220px; }
  .ekstre-aciklama { min-width: 160px; }
  .kontrol-listesi li { flex-wrap: wrap; padding: 12px 14px; }
  .kontrol-sag { width: 100%; justify-content: flex-start; padding-left: 40px; }
  .butce-izgara .butce-hesap { min-width: 150px; max-width: 170px; white-space: normal; }
  .mektup { padding: 18px 16px; }
  .mektup-ust, .mektup-cevap, .mektup-imza { grid-template-columns: 1fr; display: grid; }
}
@media print {
  .mektup { border: 0; padding: 0; max-width: none; }
  .kontrol-listesi li { break-inside: avoid; }
}

/* ---------- Yazdirma ---------- */
@media print {
  @page { margin: 12mm; }
  :root, :root[data-tema] { --zemin: #fff; --yuzey: #fff; --yuzey-2: #f6f7f9; --yuzey-3: #eef0f3; --metin: #000; --metin-2: #333; --metin-3: #666; --cizgi: #ccc; --cizgi-koyu: #999; color-scheme: light; }
  body { background: #fff; font-size: 11px; }
  .kenar, .ust, .serit, .sayfa-eylemler, .filtre, .hazir-araliklar, .sayfalama, .dugme, .tost-kap, .yazdirma-gizle, details.eylem-panel, .denge-cubugu .eylemler { display: none !important; }
  .ana { margin: 0; }
  .icerik { padding: 0; max-width: none; }
  .levha { box-shadow: none; border: 0; }
  .levha-baslik { padding: 6px 0; }
  .levha-govde { padding: 6px 0; }
  .tablo th { position: static; background: #f0f0f0 !important; color: #000; }
  .tablo td, .tablo th { padding: 4px 6px; }
  .tablo-kap { overflow: visible; }
  .yalniz-yazdir { display: block; }
  .yazdir-baslik { display: flex; justify-content: space-between; border-bottom: 2px solid #000; padding-bottom: 6px; margin-bottom: 10px; }
  a { color: #000; text-decoration: none; }
  .rozet { border: 1px solid #999; background: none !important; color: #000 !important; }
}
