:root {
  --krem: #FAF6EF;
  --bordo: #7A1F2B;
  --bordo-koyu: #5A1520;
  --yesil: #2F5D46;
  --murekkep: #2A211C;
  --ikincil: #6B5E55;
  --cizgi: #E7DED2;
  --cizgi-acik: #F0E9DF;
  --kenar: #D8CCBD;
  --menu-metin: #F3ECE2;
  --menu-soluk: #C9BBAA;
  --uyari: #A8551A;
  --beyaz: #FFFFFF;
  --baslik: "Fraunces", Georgia, serif;
  --metin: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--krem); color: var(--murekkep); font-family: var(--metin); font-size: 15px; line-height: 1.45; }
a { color: var(--bordo); }
a:hover { color: var(--bordo-koyu); }
h1, h2, h3 { margin: 0; }
.num { font-variant-numeric: tabular-nums; }

/* Yerleşim */
.kabuk { min-height: 100vh; display: flex; }
.menu {
  flex: 0 0 240px; background: var(--murekkep); color: var(--menu-metin);
  padding: 28px 18px; display: flex; flex-direction: column; gap: 4px;
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.marka { font-family: var(--baslik); font-size: 30px; font-weight: 600; letter-spacing: -0.01em; padding: 0 12px 4px; color: var(--menu-metin); text-decoration: none; }
.marka-alt { font-size: 12px; color: var(--menu-soluk); padding: 0 12px 24px; letter-spacing: .08em; text-transform: uppercase; }
.menu a.oge { display: block; padding: 12px; border-radius: 8px; color: var(--menu-metin); text-decoration: none; }
.menu a.oge:hover { background: rgba(255,255,255,.07); color: #fff; }
.menu a.oge.aktif { background: var(--bordo); color: #fff; font-weight: 500; }
.menu a.oge.alt { color: var(--menu-soluk); }
.menu .bosluk { flex-grow: 1; min-height: 16px; }
.menu .kim { border-top: 1px solid rgba(255,255,255,.12); margin-top: 8px; padding: 14px 12px 0; font-size: 13px; color: var(--menu-soluk); }
.menu .kim strong { display: block; color: var(--menu-metin); font-weight: 500; font-size: 14px; }
.menu .kim .baglantilar { display: flex; gap: 14px; margin-top: 8px; align-items: center; }
.menu .kim a, .menu .kim button { color: var(--menu-soluk); font: inherit; font-size: 13px; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.menu .kim a:hover, .menu .kim button:hover { color: #fff; }

.ust-cubuk { display: none; }
.icerik { flex: 1 1 auto; min-width: 0; padding: 32px 40px; display: flex; flex-direction: column; gap: 28px; max-width: 1240px; }

@media (max-width: 900px) {
  .kabuk { display: block; }
  .ust-cubuk {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: var(--murekkep); color: var(--menu-metin); padding: 10px 16px; position: sticky; top: 0; z-index: 20;
  }
  .ust-cubuk .marka { font-size: 24px; padding: 0; }
  .menu-dugme { background: none; border: 1px solid rgba(255,255,255,.25); color: var(--menu-metin); border-radius: 8px; padding: 8px 12px; font: inherit; font-size: 14px; cursor: pointer; }
  .menu {
    position: fixed; top: 0; left: 0; bottom: 0; width: min(84vw, 300px); height: auto; z-index: 40;
    transform: translateX(-100%); transition: transform .2s ease;
  }
  body.menu-acik .menu { transform: none; box-shadow: 0 0 0 100vmax rgba(42,33,28,.45); }
  .icerik { padding: 20px 16px 32px; gap: 20px; }
}

/* Başlık */
.sayfa-baslik { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: space-between; }
.sayfa-baslik .ust { font-size: 14px; color: var(--ikincil); }
.sayfa-baslik h1 { margin: 4px 0 0; font-family: var(--baslik); font-weight: 500; font-size: 36px; letter-spacing: -0.01em; line-height: 1.15; }
@media (max-width: 600px) { .sayfa-baslik h1 { font-size: 28px; } }
.eylemler { display: flex; gap: 12px; flex-wrap: wrap; }

/* Düğmeler */
.dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border-radius: 10px;
  border: 1px solid var(--kenar); background: var(--beyaz); color: var(--murekkep); text-decoration: none;
  font: inherit; font-weight: 500; cursor: pointer; min-height: 44px;
}
.dugme:hover { border-color: var(--ikincil); color: var(--murekkep); }
.dugme.ana { background: var(--bordo); border-color: var(--bordo); color: #fff; }
.dugme.ana:hover { background: var(--bordo-koyu); border-color: var(--bordo-koyu); }
.dugme.kucuk { padding: 6px 12px; min-height: 34px; font-size: 14px; }
.dugme.tehlike { color: var(--bordo); }
.dugme:disabled { opacity: .5; cursor: not-allowed; }

/* Kartlar */
.kart { background: var(--beyaz); border: 1px solid var(--cizgi); border-radius: 14px; padding: 20px; }
.kart h2 { font-size: 16px; font-weight: 600; }
.kart .aciklama { color: var(--ikincil); font-size: 14px; margin-top: 4px; }
.kpi-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.kpi .etiket { font-size: 13px; color: var(--ikincil); }
.kpi .deger { font-family: var(--baslik); font-size: 32px; margin-top: 6px; font-variant-numeric: tabular-nums; }
.kpi .deger.bos { color: var(--kenar); }
.kpi .alt { font-size: 13px; color: var(--ikincil); margin-top: 8px; }
.iki-sutun { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 20px; align-items: start; }
@media (max-width: 420px) { .iki-sutun { grid-template-columns: 1fr; } }

/* Boş durum */
.bos-durum { text-align: center; padding: 48px 20px; color: var(--ikincil); }
.bos-durum .rozet { display: inline-block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--yesil); border: 1px solid #C8D8CE; background: #F1F6F2; border-radius: 999px; padding: 4px 12px; margin-bottom: 14px; }
.bos-durum h2 { font-family: var(--baslik); font-weight: 500; font-size: 24px; color: var(--murekkep); }
.bos-durum p { max-width: 520px; margin: 10px auto 0; }
.bos-satir { color: var(--ikincil); font-size: 14px; padding: 14px 0 4px; }

/* Tablo */
.tablo-kap { overflow-x: auto; }
.t { width: 100%; border-collapse: collapse; font-size: 14px; }
.t th { text-align: left; font-weight: 500; color: var(--ikincil); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; padding: 10px 12px; border-bottom: 1px solid var(--cizgi); white-space: nowrap; }
.t td { padding: 12px; border-bottom: 1px solid var(--cizgi-acik); vertical-align: middle; }
.t .r { text-align: right; font-variant-numeric: tabular-nums; }
.t .c { text-align: center; }
.t tr.grup td { background: #FBF8F3; font-weight: 600; font-size: 13px; color: var(--ikincil); padding: 8px 12px; }
.t td.soluk, .soluk { color: var(--ikincil); }
.kart.tablo { padding: 20px 8px 8px; }
.kart.tablo > h2, .kart.tablo > .kart-ust { margin: 0 12px 12px; }
.kart-ust { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }

/* Etiketler */
.etk { display: inline-block; font-size: 12px; font-weight: 500; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--cizgi); color: var(--ikincil); background: #FBF8F3; white-space: nowrap; }
.etk.yesil { color: var(--yesil); border-color: #C8D8CE; background: #F1F6F2; }
.etk.bordo { color: var(--bordo); border-color: #E4C4C8; background: #FBF1F2; }
.etk.turuncu { color: var(--uyari); border-color: #EBD3BF; background: #FCF4EC; }

/* Form */
.form { display: grid; gap: 16px; }
.form.iki { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.alan label { display: block; font-size: 13px; font-weight: 500; color: var(--ikincil); margin-bottom: 6px; }
.alan input[type=text], .alan input[type=password], .alan input[type=search], .alan input[type=date], .alan select, .alan textarea {
  width: 100%; padding: 11px 12px; border: 1px solid var(--kenar); border-radius: 10px; background: var(--beyaz);
  font: inherit; color: var(--murekkep); min-height: 44px;
}
.alan input:focus, .alan select:focus, .alan textarea:focus { outline: 2px solid rgba(122,31,43,.25); border-color: var(--bordo); }
.alan .ipucu { font-size: 12px; color: var(--ikincil); margin-top: 4px; }
.alan .hata, .field-validation-error { font-size: 13px; color: var(--bordo); margin-top: 4px; display: block; }
.secim { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.secim input { width: 18px; height: 18px; accent-color: var(--bordo); }
.uyari-kutu { border-radius: 10px; padding: 12px 14px; font-size: 14px; border: 1px solid #E4C4C8; background: #FBF1F2; color: var(--bordo); }
.uyari-kutu.basari { border-color: #C8D8CE; background: #F1F6F2; color: var(--yesil); }
.uyari-kutu.bilgi { border-color: var(--cizgi); background: #FBF8F3; color: var(--ikincil); }
.validation-summary-valid { display: none; }
.validation-summary-errors ul { margin: 0; padding-left: 18px; }
.filtre { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.filtre .alan { min-width: 160px; }

/* Giriş */
.giris-kabuk { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.giris-yan { background: var(--murekkep); color: var(--menu-metin); padding: 48px; display: flex; flex-direction: column; justify-content: space-between; }
.giris-yan .marka { font-size: 44px; padding: 0; }
.giris-yan .marka-alt { padding: 4px 0 0; }
.giris-yan blockquote { margin: 0; font-family: var(--baslik); font-size: 26px; line-height: 1.3; font-weight: 500; max-width: 420px; }
.giris-yan .not { font-size: 13px; color: var(--menu-soluk); }
.giris-form { display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
.giris-form .kutu { width: 100%; max-width: 380px; display: grid; gap: 18px; }
.giris-form h1 { font-family: var(--baslik); font-weight: 500; font-size: 32px; }
.giris-form .dugme { width: 100%; }
@media (max-width: 800px) {
  .giris-kabuk { grid-template-columns: 1fr; }
  .giris-yan { padding: 24px 16px; }
  .giris-yan blockquote, .giris-yan .not { display: none; }
  .giris-yan .marka { font-size: 32px; }
}

/* Yetki matrisi */
.matris td.c input { width: 20px; height: 20px; accent-color: var(--bordo); }
.matris th.c { text-align: center; }
.matris td.kod { font-family: ui-monospace, Consolas, monospace; font-size: 12px; color: var(--ikincil); }
.uc-secim { display: inline-flex; border: 1px solid var(--kenar); border-radius: 8px; overflow: hidden; }
.uc-secim label { padding: 6px 10px; font-size: 13px; cursor: pointer; border-left: 1px solid var(--kenar); }
.uc-secim label:first-of-type { border-left: 0; }
.uc-secim input { position: absolute; opacity: 0; pointer-events: none; }
.uc-secim input:checked + span { font-weight: 600; }
.uc-secim label:has(input:checked) { background: #FBF1F2; color: var(--bordo); }
.uc-secim label:has(input[value=ekle]:checked) { background: #F1F6F2; color: var(--yesil); }
.uc-secim label:has(input[value=rol]:checked) { background: #FBF8F3; color: var(--murekkep); }

/* Stok ve cari */
.alt-sekme { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -12px; }
.alt-sekme a { padding: 7px 12px; border-radius: 8px; text-decoration: none; color: var(--ikincil); font-size: 14px; font-weight: 500; }
.alt-sekme a:hover { background: #F3ECE2; color: var(--murekkep); }
.alt-sekme a.aktif { background: #F3ECE2; color: var(--murekkep); }
.cipler { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.cipler input[type=search] { flex: 1 1 260px; height: 44px; border-radius: 10px; border: 1px solid var(--kenar); background: var(--beyaz); padding: 0 14px; font: inherit; color: var(--murekkep); }
.cip { display: inline-flex; align-items: center; height: 44px; padding: 0 16px; border-radius: 22px; border: 1px solid var(--kenar); background: var(--beyaz); color: var(--murekkep); font: 500 14px var(--metin); text-decoration: none; cursor: pointer; white-space: nowrap; }
.cip:hover { border-color: var(--ikincil); color: var(--murekkep); }
.cip.aktif { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }
select.cip { padding-right: 32px; }
.stok-duzen { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.stok-duzen > .liste { flex: 999 1 520px; min-width: 0; }
.urun-kart { flex: 1 1 340px; max-width: 440px; display: flex; flex-direction: column; gap: 18px; }
@media (max-width: 900px) { .urun-kart { max-width: none; } }
.urun-kart .ust-etiket { font-size: 12px; color: var(--ikincil); letter-spacing: .06em; text-transform: uppercase; }
.urun-kart h2.ad { margin: 6px 0 0; font-family: var(--baslik); font-weight: 500; font-size: 26px; }
.urun-kart h3 { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.urun-kart .foto { width: 100%; max-height: 220px; object-fit: cover; border-radius: 10px; border: 1px solid var(--cizgi); }
.karo-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.karo { background: var(--krem); border-radius: 10px; padding: 12px; }
.karo .e { font-size: 12px; color: var(--ikincil); }
.karo .d { font-size: 19px; font-weight: 600; margin-top: 4px; font-variant-numeric: tabular-nums; }
.karo .a { font-size: 12px; color: var(--ikincil); }
.satirlar .s { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--cizgi-acik); font-size: 14px; }
.satirlar .s:last-child { border-bottom: 0; }
.satirlar .s .sag { white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; }
.t tr.az td { background: #FBF3EE; }
.t tr.secili td { background: #F3ECE2; }
.t tr.tikla { cursor: pointer; }
.t td a.satir-bag { color: inherit; text-decoration: none; display: block; }
.renk-az { color: var(--uyari); }
.renk-kotu { color: var(--bordo); }
.renk-iyi { color: var(--yesil); }
.alan input.sayi, .t input.sayi { text-align: right; font-variant-numeric: tabular-nums; }
.t input[type=text], .t select, .t input[type=date] { width: 100%; min-width: 80px; padding: 8px 10px; border: 1px solid var(--kenar); border-radius: 8px; background: var(--beyaz); font: inherit; font-size: 14px; color: var(--murekkep); }
.t td.ince { padding: 6px 6px; }
.toplam-kutu { display: grid; grid-template-columns: auto auto; gap: 6px 24px; justify-content: end; font-variant-numeric: tabular-nums; }
.toplam-kutu .b { font-weight: 600; font-size: 18px; }
.kart-alt { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: center; margin: 16px 12px 4px; }
.sekmeler { display: flex; gap: 8px; flex-wrap: wrap; }

/* Cari ekstre ve finans */
.gizli { position: absolute; left: -9999px; }
.dugme.yesil { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.dugme.yesil:hover { background: #244A37; border-color: #244A37; color: #fff; }
.cipler.kucuk { gap: 8px; }
.cipler.kucuk .cip { height: 36px; padding: 0 14px; border-radius: 18px; font-size: 13px; }
.cari-duzen { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.cari-liste { flex: 1 1 320px; max-width: 400px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.cari-ara input { width: 100%; height: 44px; border-radius: 10px; border: 1px solid var(--kenar); padding: 0 14px; font: inherit; color: var(--murekkep); background: var(--beyaz); }
.cari-satirlar { display: flex; flex-direction: column; max-height: 70vh; overflow-y: auto; }
.cari-satirlar a { display: flex; justify-content: space-between; gap: 10px; padding: 12px; border-radius: 10px; text-decoration: none; color: var(--murekkep); }
.cari-satirlar a:hover { background: #FBF8F3; color: var(--murekkep); }
.cari-satirlar a.secili { background: #F6EEE6; }
.cari-satirlar .ad { display: block; font-weight: 500; }
.cari-satirlar .alt { display: block; font-size: 12px; color: var(--ikincil); margin-top: 2px; }
.cari-satirlar .sag { text-align: right; white-space: nowrap; }
.cari-satirlar .tutar { display: block; font-weight: 600; font-variant-numeric: tabular-nums; }
.cari-sag { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cari-ozet { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center; padding: 22px; }
.cari-ozet .ust-etiket { font-size: 12px; color: var(--ikincil); letter-spacing: .06em; text-transform: uppercase; }
.cari-ozet h2.ad { margin: 6px 0 0; font-family: var(--baslik); font-weight: 500; font-size: 26px; }
.cari-ozet .bakiye { text-align: right; }
.cari-ozet .bakiye .tutar { font-family: var(--baslik); font-size: 34px; font-variant-numeric: tabular-nums; }
.aralik { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.aralik input[type=date] { height: 36px; border: 1px solid var(--kenar); border-radius: 8px; padding: 0 8px; font: inherit; font-size: 14px; background: var(--beyaz); color: var(--murekkep); }
@media (max-width: 900px) { .cari-liste { max-width: none; } .cari-satirlar { max-height: 40vh; } .cari-ozet .bakiye { text-align: left; } }
.hesap-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.hesap-kart { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--murekkep); }
.hesap-kart:hover { border-color: var(--kenar); color: var(--murekkep); }
.hesap-kart .tutar { font-family: var(--baslik); font-size: 28px; font-variant-numeric: tabular-nums; }
.hesap-kart .iban { font-family: ui-monospace, Consolas, monospace; font-size: 12px; color: var(--ikincil); }
.t td input.kapama { max-width: 140px; }

/* Satış: belge akışı şeridi, fatura özeti */
.belge-akisi { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.belge-akisi li { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 14px; border-radius: 20px; border: 1px solid var(--kenar); color: var(--ikincil); }
.belge-akisi li.tamam { background: #E6EFE9; border-color: #E6EFE9; color: var(--yesil); font-weight: 500; }
.belge-akisi li.tamam a { color: var(--yesil); }
.belge-akisi li.aktif { background: var(--bordo); border-color: var(--bordo); color: #fff; font-weight: 500; }
.belge-akisi li.aktif a { color: #fff; }
.satis-duzen { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.satis-duzen > .ana-sutun { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.satis-duzen > .yan-sutun { flex: 1 1 300px; max-width: 380px; display: flex; flex-direction: column; gap: 16px; }
.ozet-kutu { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.ozet-kutu .s { display: flex; justify-content: space-between; gap: 12px; color: var(--ikincil); font-variant-numeric: tabular-nums; }
.ozet-kutu .genel { border-top: 1px solid var(--cizgi); padding-top: 12px; display: flex; justify-content: space-between; align-items: baseline; color: var(--murekkep); }
.ozet-kutu .genel .t-deger { font-family: var(--baslik); font-size: 28px; font-variant-numeric: tabular-nums; }
.cari-durum { background: #FBF3EE; border: 1px solid #EBD3C6; border-radius: 14px; padding: 16px; font-size: 14px; line-height: 1.5; }
.cari-durum .b { font-weight: 600; color: var(--bordo); }
.stok-uyari { color: var(--uyari); font-size: 12px; }
@media print { .belge-akisi, .alt-sekme, .eylemler { display: none !important; } }
