/* Aquasan CRM arayüzü */
:root {
  --su: #13a9cf;
  --su-koyu: #0b7fa8;
  --su-acik: #dcf3fa;
  --zemin: #eef3f8;
  --kart: #ffffff;
  --cizgi: #e4e8ef;
  --cizgi-koyu: #cdd5e1;
  --metin: #0f172a;
  --metin-2: #475569;
  --metin-3: #8492a6;
  --ana: #1d5fd1;
  --ana-koyu: #1748a6;
  --ana-acik: #eaf1fd;
  --ana-cizgi: #c9dafa;
  --yesil: #15803d;
  --yesil-acik: #e7f6ec;
  --kirmizi: #c62828;
  --kirmizi-acik: #fdecec;
  --sari: #a35a00;
  --sari-acik: #fff3dc;
  --mor: #6d28d9;
  --mor-acik: #f1eafe;
  --camgobegi: #0e7490;
  --camgobegi-acik: #e2f5f9;
  --menu: #0b1d3a;
  --menu-2: #132c55;
  --menu-metin: #b9c6dd;
  --golge: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .04);
  --golge-2: 0 10px 30px rgba(15, 23, 42, .12);
  --yaricap: 10px;
  --yazi: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  /* Kabuk: sol menü genişliği (daraltınca 72px) */
  --menu-gen: 244px;
  --menu-acik-gen: 244px;
  --menu-dar-gen: 72px;
  /* Hareket: sakin, kısa; az hareket isteyen bilgisayarda kayma küçülür, solma kalır */
  --egri-cik: cubic-bezier(.2, .8, .2, 1);
  --egri-gir: cubic-bezier(.4, 0, 1, 1);
  --egri-yay: cubic-bezier(.34, 1.45, .64, 1);
  --kayma: 8px;
  --sure-giris: .3s;
  --giris-aralik: 32ms;
}
@property --menu-gen { syntax: "<length>"; inherits: true; initial-value: 244px; }
@media (prefers-reduced-motion: reduce) {
  :root { --egri-yay: var(--egri-cik); --kayma: 0px; --sure-giris: .22s; --giris-aralik: 18ms; }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scrollbar-color: #b9c6d8 transparent; }
::selection { background: #c9ecf7; color: #0b1d3a; }
input, textarea { caret-color: var(--ana); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #c3cedc; border-radius: 99px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background-color: #9fb0c6; }
.tablo td, .kpi .d, .tutar { font-variant-numeric: tabular-nums; }
html { scrollbar-gutter: stable; }
html:has(dialog[open]), body.menu-acik { overflow: hidden; }
main [id] { scroll-margin-top: 76px; }
.yukleme-cubugu { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 200; background: var(--ana); transform-origin: left; transform: scaleX(0); opacity: 0; pointer-events: none; }
.yukleme-cubugu.acik { opacity: 1; animation: yukleme 2.4s cubic-bezier(.1, .7, .3, 1) forwards; }
@keyframes yukleme { from { transform: scaleX(.08); } to { transform: scaleX(.92); } }
.btn.mesgul { position: relative; color: transparent !important; pointer-events: none; }
.btn.mesgul .ikon { opacity: 0; }
.btn.mesgul::after { content: ""; position: absolute; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(100, 116, 139, .35); border-top-color: #64748b; animation: donus .7s linear infinite; }
.btn-ana.mesgul::after, .btn-yesil.mesgul::after { border-color: rgba(255, 255, 255, .4); border-top-color: #fff; }
@keyframes donus { to { transform: rotate(360deg); } }
.tablo tbody tr[data-satir-link] { cursor: pointer; }
.tablo tbody tr[data-satir-link]:hover td { background: #f3f7fd; }
body { margin: 0; font-family: var(--yazi); font-size: 14px; line-height: 1.5; color: var(--metin); background: var(--zemin); }
a { color: var(--ana); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { margin: 0; line-height: 1.25; }
h1 { font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
h2 { font-size: 16px; font-weight: 650; }
h3 { font-size: 14px; font-weight: 650; }
p { margin: 0 0 8px; }
small, .kucuk { font-size: 12.5px; }
.soluk { color: var(--metin-2); }
.cok-soluk { color: var(--metin-3); }
.kalin { font-weight: 650; }
.sayi-hiza { font-variant-numeric: tabular-nums; }
.sag { text-align: right; }
.orta { text-align: center; }
.gizli { display: none !important; }
.mobil-goster { display: none !important; }
@media (max-width: 900px) { .mobil-goster { display: inline-flex !important; } }
.tek-satir { white-space: nowrap; }
.kirp { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ikon { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.ikon.k { width: 15px; height: 15px; }
.ikon.b { width: 22px; height: 22px; }
:focus-visible { outline: 2px solid var(--ana); outline-offset: 2px; }

/* ---------- Kabuk ---------- */
.kabuk { display: grid; grid-template-columns: var(--menu-gen) minmax(0, 1fr); min-height: 100vh; background: linear-gradient(to right, var(--menu) var(--menu-gen), var(--zemin) var(--menu-gen)); }
.menu { background: linear-gradient(180deg, #0c2547 0%, var(--menu) 46%, #081830 100%); color: var(--menu-metin); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow: hidden; z-index: 30; }
.menu-logo { display: flex; align-items: center; gap: 10px; padding: 18px 18px 14px; }
.menu-logo img { width: 128px; height: auto; display: block; }
.menu-logo span { font-size: 11px; font-weight: 600; letter-spacing: .12em; color: #7f9ac4; border: 1px solid #2a4675; border-radius: 6px; padding: 1px 6px; }
.menu nav { padding: 6px 10px; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #2a4675 transparent; }
.menu nav::-webkit-scrollbar { width: 6px; }
.menu nav::-webkit-scrollbar-thumb { background: #2a4675; border: 0; }
.menu-logo, .menu-alt { flex: none; }
.menu-grup { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #6f86ab; padding: 14px 10px 6px; font-weight: 600; }
.menu-katlama summary { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 8px; color: var(--menu-metin); font-weight: 600; cursor: pointer; list-style: none; margin-top: 4px; }
.menu-katlama summary::-webkit-details-marker { display: none; }
.menu-katlama summary:hover { background: var(--menu-2); color: #fff; }
.menu-katlama summary > .ikon:last-child { margin-left: auto; transition: transform .2s var(--egri-cik); }
.menu-katlama summary .sayac { margin-left: auto; background: #f0a020; color: #1b1300; font-size: 11px; font-weight: 700; border-radius: 99px; padding: 0 7px; line-height: 18px; }
.menu-katlama summary .sayac + .ikon { margin-left: 0; }
.menu-katlama summary .sayac.gizli + .ikon { margin-left: auto; }
.menu-katlama[open] summary > .ikon:last-child { transform: rotate(180deg); }
.menu-katlama a.oge { margin-left: 6px; }
.menu a.oge { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 8px; color: var(--menu-metin); font-weight: 500; margin-bottom: 1px; transition: background-color .15s, color .15s; }
.menu a.oge .ikon { transition: color .15s; }
.menu-katlama summary { transition: background-color .15s, color .15s; }
.menu a.oge:hover { background: var(--menu-2); color: #fff; text-decoration: none; }
.menu a.oge.secili { background: linear-gradient(90deg, rgba(19, 169, 207, .28), rgba(29, 95, 209, .18)); color: #fff; box-shadow: inset 0 0 0 1px rgba(124, 205, 236, .22); }
.menu a.oge.secili .ikon { color: #7fdcf5; }
.menu a.oge .sayac { margin-left: auto; background: #e5484d; color: #fff; font-size: 11px; font-weight: 700; border-radius: 99px; padding: 0 7px; line-height: 18px; }
.menu a.oge .sayac.sari { background: #f0a020; color: #1b1300; }
.menu-alt { padding: 12px; border-top: 1px solid #1c3666; display: flex; align-items: center; gap: 10px; }
.menu-alt .ad { color: #fff; font-weight: 600; font-size: 13px; line-height: 1.2; }
.menu-alt .rol { font-size: 11.5px; color: #7f9ac4; }
.menu-alt .menu-kisi { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; margin: -5px; padding: 5px; border-radius: 8px; color: inherit; text-decoration: none; transition: background-color .15s ease; }
.menu-alt .menu-kisi:hover, .menu-alt .menu-kisi:focus-visible { background: var(--menu-2); }
.menu-alt .menu-kisi-yazi { display: block; min-width: 0; }
/* Ad ve rol tek satır, uzunsa üç noktayla biter: dar menüde kart şişmez, menü öğeleri altta gizlenmez */
.menu-alt .menu-kisi-yazi .ad, .menu-alt .menu-kisi-yazi .rol { display: block; }
.menu-alt .ad, .menu-alt .rol { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.menu-alt > div { flex: 1; min-width: 0; }
.menu-alt form { margin-left: auto; }
.menu-alt button { background: none; border: 0; color: var(--menu-metin); cursor: pointer; padding: 6px; border-radius: 6px; }
.menu-alt button:hover { background: var(--menu-2); color: #fff; }

.ana { min-width: 0; display: flex; flex-direction: column; }
.ust { height: 60px; background: var(--kart); border-bottom: 1px solid var(--cizgi); display: flex; align-items: center; gap: 12px; padding: 0 24px; position: sticky; top: 0; z-index: 20; }
.ust .arama { flex: 1; max-width: 460px; position: relative; }
.ust .arama .ikon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--metin-3); }
.ust .arama input { width: 100%; height: 38px; border: 1px solid var(--cizgi); background: var(--zemin); border-radius: 9px; padding: 0 12px 0 36px; font: inherit; color: var(--metin); }
.ust .arama input:focus { background: #fff; border-color: var(--ana-cizgi); outline: 3px solid var(--ana-acik); }
.ust .bosluk { flex: 1; }
.ust .menu-ac { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; margin-left: -8px; padding: 0; border: 0; border-radius: 10px; background: none; cursor: pointer; color: var(--metin-2); transition: background-color .12s, color .12s; }
.ust .menu-ac:hover { background: #eef3f8; color: var(--metin); }
.ust .ust-logo { display: none; }
/* Geniş ekranda içerik sınırı yok; kenar boşluğu ekranla birlikte azar azar büyür. */
.icerik { padding: clamp(22px, calc(.9vw + 9px), 34px) clamp(24px, calc(1.25vw + 6px), 42px) 48px; width: 100%; }

/* ---------- Sayfa başlığı ---------- */
.sayfa-bas { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.sayfa-bas .baslik { flex: 1; min-width: 240px; }
.sayfa-bas .ust-yazi { font-size: 12.5px; color: var(--metin-2); margin-bottom: 4px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.sayfa-bas .alt-yazi { color: var(--metin-2); margin-top: 4px; }
.sayfa-bas .eylemler { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ekmek a { color: var(--metin-2); }

/* ---------- Düğmeler ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 9px; border: 1px solid var(--cizgi-koyu); background: #fff; color: var(--metin); font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; text-decoration: none !important; transition: background .12s, border-color .12s, box-shadow .12s, color .12s, transform .14s var(--egri-cik); }
.btn:hover { background: #f6f8fb; border-color: #b8c3d3; }
.btn:active { transform: translateY(1px) scale(.98); transition-duration: .06s; }
.btn-ana { background: var(--ana); border-color: var(--ana); color: #fff; }
.btn-ana:hover { background: var(--ana-koyu); border-color: var(--ana-koyu); }
.btn-yesil { background: #16803c; border-color: #16803c; color: #fff; }
.btn-yesil:hover { background: #126a32; border-color: #126a32; }
.btn-tehlike { color: var(--kirmizi); border-color: #efc4c4; }
.btn-tehlike:hover { background: var(--kirmizi-acik); border-color: #e7a9a9; }
.btn-hayalet { border-color: transparent; background: transparent; color: var(--metin-2); }
.btn-hayalet:hover { background: #eef1f6; border-color: transparent; color: var(--metin); }
.btn-kucuk { height: 30px; padding: 0 10px; font-size: 13px; border-radius: 7px; }
.btn-ikon { width: 38px; padding: 0; }
.btn-kucuk.btn-ikon { width: 30px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.btn-tam { width: 100%; }

/* ---------- Kart ---------- */
.kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge); }
.kart + .kart { margin-top: 16px; }
.iki-esit > .kart, .uc-esit > .kart, .izgara > .kart { margin-top: 0; }
.kart-bas { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--cizgi); }
.kart-bas h2 { flex: 1; display: flex; align-items: center; gap: 8px; }
.kart-bas .sayi-rozet { background: #eef2f7; color: var(--metin-2); border-radius: 99px; font-size: 12px; font-weight: 600; padding: 0 8px; }
.kart-govde { padding: 16px 18px; }
.kart-govde.sikisik { padding: 6px 18px; }
.kart-alt { padding: 10px 18px; border-top: 1px solid var(--cizgi); font-size: 13px; }
.izgara { display: grid; gap: 16px; }
/* Yan sütun geniş ekranda ekranla büyür (menü daralınca da); 1440 ve altında eskisi gibi 360/400px. */
.iki-kolon { display: grid; grid-template-columns: minmax(0, 1fr) clamp(360px, calc((100vw - var(--menu-gen)) * .25), 520px); gap: 18px; align-items: start; }
.iki-kolon.genis-sag { grid-template-columns: minmax(0, 1fr) clamp(400px, calc((100vw - var(--menu-gen)) * .27), 580px); }
.iki-esit { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.uc-esit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }

/* ---------- KPI ---------- */
.kpiler { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 14px 16px; box-shadow: var(--golge); }
.kpi .e { font-size: 12.5px; color: var(--metin-2); display: flex; align-items: center; gap: 6px; }
.kpi .d { font-size: 24px; font-weight: 700; margin-top: 4px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.kpi .a { font-size: 12.5px; color: var(--metin-3); margin-top: 2px; }

/* ---------- Rozet ---------- */
.rozet { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 99px; font-size: 12px; font-weight: 600; background: #eef2f7; color: #334155; white-space: nowrap; }
.rozet .nokta { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.r-mavi { background: var(--ana-acik); color: var(--ana-koyu); }
.r-yesil { background: var(--yesil-acik); color: var(--yesil); }
.r-kirmizi { background: var(--kirmizi-acik); color: var(--kirmizi); }
.r-sari { background: var(--sari-acik); color: var(--sari); }
.r-mor { background: var(--mor-acik); color: var(--mor); }
.r-camgobegi { background: var(--camgobegi-acik); color: var(--camgobegi); }
.r-gri { background: #eef1f5; color: #5b6778; }
.a-yeni { background: #e8f0fe; color: #1a56c4; }
.a-iletisim { background: #ede9fe; color: #5b2bc4; }
.a-hazirlaniyor { background: #fff3dc; color: #9a5300; }
.a-gonderildi { background: #e0f4fa; color: #0b6a85; }
.a-pazarlik { background: #fde8f3; color: #a3195f; }
.a-kazanildi { background: #e3f5e9; color: #146c34; }
.a-kaybedildi { background: #eef1f5; color: #5b6778; }
.d-taslak { background: #eef1f5; color: #475569; }
.d-onay_bekliyor { background: #fff3dc; color: #9a5300; }
.d-onaylandi { background: #e8f0fe; color: #1a56c4; }
.d-gonderildi { background: #e0f4fa; color: #0b6a85; }
.d-kazanildi { background: #e3f5e9; color: #146c34; }
.d-kaybedildi { background: #fdecec; color: #b42323; }
.d-revize, .d-iptal { background: #f1f3f6; color: #8492a6; }
.kanal-noktasi { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }

/* ---------- Avatar ---------- */
.avatar { width: 28px; height: 28px; border-radius: 50%; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11.5px; font-weight: 700; flex: none; letter-spacing: .02em; }
.avatar.kucuk { width: 22px; height: 22px; font-size: 10px; }
.avatar.buyuk { width: 36px; height: 36px; font-size: 13px; }
.avatar-bos { background: #e2e8f0; color: #64748b; }

/* ---------- Tablo ---------- */
.tablo-kap { overflow-x: auto; }
table.tablo { width: 100%; border-collapse: collapse; }
.tablo th { text-align: left; font-size: 12px; font-weight: 600; color: var(--metin-2); text-transform: none; padding: 10px 14px; border-bottom: 1px solid var(--cizgi); background: #f8fafc; white-space: nowrap; }
.tablo td { padding: 11px 14px; border-bottom: 1px solid #eef1f5; vertical-align: middle; }
.tablo tr:last-child td { border-bottom: 0; }
.tablo tbody tr:hover td { background: #fafbfd; }
.tablo .satir-baglanti { color: var(--metin); font-weight: 600; }
.tablo .satir-baglanti:hover { color: var(--ana); }
.tablo .ikincil { font-size: 12.5px; color: var(--metin-2); }
.tablo th.sag, .tablo td.sag { text-align: right; }
.tablo.sikisik td, .tablo.sikisik th { padding: 7px 12px; }
.tablo tfoot td { font-weight: 700; background: #f8fafc; border-top: 1px solid var(--cizgi); }

/* ---------- Form ---------- */
.alan { margin-bottom: 14px; }
.alan > label, .etiket { display: block; font-size: 13px; font-weight: 600; color: #263449; margin-bottom: 5px; }
.alan .yardim { font-size: 12px; color: var(--metin-3); margin-top: 4px; }
.alan .hata-metni, .hata-metni { font-size: 12.5px; color: var(--kirmizi); margin-top: 4px; }
.alan.hatali .girdi { border-color: #e7a2a2; background: #fffafa; }
.girdi { width: 100%; height: 38px; border: 1px solid var(--cizgi-koyu); border-radius: 8px; padding: 0 11px; font: inherit; color: var(--metin); background: #fff; transition: border-color .12s, box-shadow .12s; }
textarea.girdi { height: auto; padding: 9px 11px; resize: vertical; min-height: 64px; }
select.girdi { padding-right: 30px; appearance: none; 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='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
select[multiple].girdi { height: auto; background-image: none; padding: 6px; }
.girdi:focus { border-color: #7aa5ef; outline: 3px solid var(--ana-acik); }
.girdi[readonly] { background: #f6f8fb; }
.kutu { width: 17px; height: 17px; accent-color: var(--ana); vertical-align: middle; margin: 0 6px 0 0; }
.kutu-satir { display: flex; align-items: flex-start; gap: 2px; cursor: pointer; font-weight: 500; }
.izgara-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.izgara-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.izgara-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 14px; }
.tam-genis { grid-column: 1 / -1; }
.form-alt { display: flex; gap: 10px; justify-content: flex-end; padding-top: 6px; flex-wrap: wrap; }
.form-hata { background: var(--kirmizi-acik); color: var(--kirmizi); border: 1px solid #f3c7c7; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; }
.bolum-baslik { font-size: 12px; font-weight: 700; color: var(--metin-3); text-transform: uppercase; letter-spacing: .07em; margin: 6px 0 12px; }
details.daha > summary { cursor: pointer; color: var(--ana); font-weight: 600; list-style: none; display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 14px; }
details.daha > summary::-webkit-details-marker { display: none; }
details.daha[open] > summary .ikon { transform: rotate(180deg); }
.secim-cipleri { display: flex; flex-wrap: wrap; gap: 6px; }
.secim-cipleri input { position: absolute; opacity: 0; pointer-events: none; }
.secim-cipleri label { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 11px; border: 1px solid var(--cizgi-koyu); border-radius: 99px; cursor: pointer; font-weight: 500; color: var(--metin-2); background: #fff; }
.secim-cipleri input:checked + label { background: var(--ana-acik); border-color: #9cbdf3; color: var(--ana-koyu); font-weight: 600; }
.secim-cipleri input:focus-visible + label { outline: 2px solid var(--ana); }

/* ---------- Filtre ve sekmeler ---------- */
.filtre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--cizgi); }
.filtre .girdi { height: 34px; width: auto; min-width: 140px; font-size: 13.5px; }
.filtre .ara-kutusu { position: relative; flex: 1; min-width: 220px; max-width: 360px; }
.filtre .ara-kutusu .girdi { width: 100%; padding-left: 32px; }
.filtre .ara-kutusu .ikon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--metin-3); }
.sekmeler { display: flex; gap: 2px; border-bottom: 1px solid var(--cizgi); padding: 0 14px; overflow-x: auto; }
.sekmeler a { display: inline-flex; align-items: center; gap: 7px; padding: 12px 12px 10px; color: var(--metin-2); font-weight: 600; border-bottom: 2px solid transparent; white-space: nowrap; text-decoration: none; }
.sekmeler a:hover { color: var(--metin); }
.sekmeler a.secili { color: var(--ana); border-bottom-color: var(--ana); }
.sekmeler a .sayi-rozet { background: #eef2f7; color: var(--metin-2); border-radius: 99px; font-size: 11.5px; padding: 0 7px; }
.sekmeler a.secili .sayi-rozet { background: var(--ana-acik); color: var(--ana-koyu); }
.sekmeler a .sayi-rozet.kirmizi { background: var(--kirmizi-acik); color: var(--kirmizi); }
.anahtar-grubu { display: inline-flex; border: 1px solid var(--cizgi-koyu); border-radius: 9px; overflow: hidden; background: #fff; }
.anahtar-grubu a { padding: 0 12px; height: 34px; display: inline-flex; align-items: center; gap: 6px; color: var(--metin-2); font-weight: 600; text-decoration: none; font-size: 13px; }
.anahtar-grubu a + a { border-left: 1px solid var(--cizgi); }
.anahtar-grubu a.secili { background: var(--ana-acik); color: var(--ana-koyu); }

/* ---------- Sayfalama ---------- */
.sayfalama { display: flex; gap: 6px; align-items: center; justify-content: space-between; padding: 12px 14px; border-top: 1px solid var(--cizgi); font-size: 13px; color: var(--metin-2); }
.sayfalama .dugmeler { display: flex; gap: 6px; }

/* ---------- Boş durum ---------- */
.bos { text-align: center; padding: 36px 20px; color: var(--metin-2); }
.bos .ikon-daire { width: 48px; height: 48px; border-radius: 50%; background: var(--ana-acik); color: var(--ana); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.bos h3 { color: var(--metin); margin-bottom: 4px; font-size: 15px; }
.bos.kucuk-bos { padding: 18px 12px; }
.bos.kucuk-bos .ikon-daire { width: 36px; height: 36px; }

/* ---------- Bildirimler ---------- */
.bildirimler { position: fixed; top: 72px; right: 20px; z-index: 100; display: flex; flex-direction: column; gap: 8px; max-width: 420px; }
@media (max-width: 600px) { .bildirimler { top: 68px; left: 12px; right: 12px; max-width: none; } }
.bildirim { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--cizgi); box-shadow: 0 12px 32px -8px rgba(11, 29, 58, .28); animation: bildirim-gir .28s var(--egri-cik); }
.bildirim .ikon { margin-top: 1px; }
.bildirim a { color: inherit; text-decoration: none; display: block; }
.bildirim.basari { background: #f3fbf6; border-color: #bfe5cc; }
.bildirim.basari .ikon { color: #16a34a; }
.bildirim.hata { background: #fef5f5; border-color: #f2c4c4; }
.bildirim.hata .ikon { color: #dc2626; }
.bildirim.uyari { background: #fffaf0; border-color: #f2d49b; }
.bildirim.uyari .ikon { color: #d97706; }
.bildirim.bilgi, .bildirim.canli { background: #f3f9fe; border-color: #c9dafa; }
.bildirim.bilgi .ikon, .bildirim.canli .ikon { color: var(--ana); }
.bildirim .kapat { margin-left: auto; background: none; border: 0; color: var(--metin-3); cursor: pointer; padding: 0 0 0 6px; font-size: 18px; line-height: 1; }
@keyframes kay { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes bildirim-gir { from { opacity: 0; transform: translateY(calc(var(--kayma) * -1)) scale(.98); } to { opacity: 1; transform: none; } }
/* Sayfa geçişi: her hareket ayarında kısa bir solma (kayma yok; solma vestibüler hareket sayılmaz). Menü ve üst
   çubuk yerinde kalır. Geçişle açılan sayfada içerik girişi solması kapanır (html.aq-vt, base.html GECIS-VT). */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .12s; }
.menu { view-transition-name: sol-menu; }
.ust { view-transition-name: ust-serit; }
::view-transition-group(sol-menu), ::view-transition-group(ust-serit) { animation-duration: 0s; }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .14s; } }
/* Az hareket: her şeyi kapatmak yerine kayma ve büyüme küçülür; solma ve kısa geçişler kalır (geçiş uçuşu da). */
@media (prefers-reduced-motion: reduce) { .yukleme-cubugu.acik { animation: none; transform: scaleX(.6); } }

/* ---------- Uyarı kutuları ---------- */
.not-kutusu { display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; border-radius: 9px; background: var(--ana-acik); color: #1e3a6e; border: 1px solid var(--ana-cizgi); margin-bottom: 14px; }
.not-kutusu .ikon { color: var(--ana); margin-top: 1px; }
.not-kutusu.sari { background: var(--sari-acik); color: #6b3d00; border-color: #f2d49b; }
.not-kutusu.sari .ikon { color: #d48806; }
.not-kutusu.kirmizi { background: var(--kirmizi-acik); color: #7f1d1d; border-color: #f3c7c7; }
.not-kutusu.kirmizi .ikon { color: var(--kirmizi); }
.not-kutusu.yesil { background: var(--yesil-acik); color: #14532d; border-color: #b8e2c6; }
.not-kutusu.yesil .ikon { color: var(--yesil); }
.not-kutusu p:last-child { margin-bottom: 0; }

/* ---------- Liste öğeleri (pano) ---------- */
.liste { list-style: none; margin: 0; padding: 0; }
.liste > li { display: flex; align-items: center; gap: 12px; padding: 11px 18px; border-bottom: 1px solid #eef1f5; }
.liste > li:last-child { border-bottom: 0; }
.liste .govde { flex: 1; min-width: 0; }
.liste .ust-satir { font-weight: 600; color: var(--metin); display: flex; gap: 8px; align-items: center; min-width: 0; }
.liste .ust-satir a { color: inherit; }
.liste .alt-satir { font-size: 12.5px; color: var(--metin-2); display: flex; gap: 6px 10px; flex-wrap: wrap; align-items: center; margin-top: 1px; }
.liste .sag-blok { text-align: right; flex: none; font-size: 12.5px; }
.ikon-kare { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; flex: none; background: #eef2f7; color: var(--metin-2); }
.ikon-kare.mavi { background: var(--ana-acik); color: var(--ana); }
.ikon-kare.yesil { background: var(--yesil-acik); color: var(--yesil); }
.ikon-kare.kirmizi { background: var(--kirmizi-acik); color: var(--kirmizi); }
.ikon-kare.sari { background: var(--sari-acik); color: #c27400; }
.ikon-kare.mor { background: var(--mor-acik); color: var(--mor); }

/* Takip satırı onay dairesi */
.onay-daire { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #b6c1d1; background: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; padding: 0; color: transparent; transition: all .12s; }
.onay-daire:hover { border-color: var(--yesil); color: var(--yesil); }
.onay-daire.tamam { background: #16a34a; border-color: #16a34a; color: #fff; }
.onay-daire .ikon { width: 13px; height: 13px; stroke-width: 3; }
li.tamamlandi .ust-satir { text-decoration: line-through; color: var(--metin-3); }
.gun-etiketi { font-size: 12px; font-weight: 600; color: var(--metin-2); white-space: nowrap; }
.gun-etiketi.gecikmis { color: var(--kirmizi); }
.gun-etiketi.bugun { color: #c27400; }

/* ---------- Pano çubukları ---------- */
.cubuk-satir { display: grid; grid-template-columns: minmax(120px, 200px) 1fr 34px; gap: 10px; align-items: center; padding: 6px 0; font-size: 13px; }
.cubuk-satir .ad { display: flex; align-items: center; gap: 7px; min-width: 0; }
.cubuk { height: 8px; border-radius: 99px; background: #eef2f7; overflow: hidden; }
.cubuk > span { display: block; height: 100%; border-radius: 99px; background: var(--ana); }

/* ---------- Talep detay ---------- */
.adimlar { display: flex; gap: 4px; margin: 2px 0 18px; }
.adimlar form { flex: 1; margin: 0; }
.adimlar button { width: 100%; height: 36px; border: 0; background: #e9edf3; color: var(--metin-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%); padding: 0 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adimlar form:first-child button { clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%); border-radius: 8px 0 0 8px; }
.adimlar button:hover { background: #dbe3ee; color: var(--metin); }
.adimlar .gecildi button { background: #cfe0fb; color: #1748a6; }
.adimlar .simdi button { background: var(--ana); color: #fff; }
.sonuc-bandi { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 10px; margin-bottom: 18px; font-weight: 600; }
.sonuc-bandi.kazanildi { background: var(--yesil-acik); color: var(--yesil); border: 1px solid #b8e2c6; }
.sonuc-bandi.kaybedildi { background: #f1f3f6; color: #475569; border: 1px solid var(--cizgi); }
.sonuc-bandi form { margin-left: auto; }
.bilgi-listesi { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 9px 12px; font-size: 13.5px; margin: 0; }
.bilgi-listesi dt { color: var(--metin-2); }
.bilgi-listesi dd { margin: 0; font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.iletisim-dugmeleri { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
.mesaj-alintisi { background: #f8fafc; border-left: 3px solid var(--cizgi-koyu); padding: 10px 12px; border-radius: 0 8px 8px 0; color: #334155; white-space: pre-line; font-size: 13.5px; }

.gorusme-kutusu { padding: 16px 18px; border-bottom: 1px solid var(--cizgi); background: #fbfcfe; border-radius: var(--yaricap) var(--yaricap) 0 0; }
.gorusme-kutusu .secim-cipleri { margin-bottom: 10px; }
.sonraki-adim { margin-top: 10px; padding: 12px; border: 1px dashed var(--cizgi-koyu); border-radius: 9px; background: #fff; }
.sonraki-adim .satir { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px; gap: 8px; }
.hizli-tarihler { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.hizli-tarihler button { height: 26px; padding: 0 9px; font-size: 12px; border: 1px solid var(--cizgi-koyu); border-radius: 99px; background: #fff; color: var(--metin-2); cursor: pointer; font-weight: 600; }
.hizli-tarihler button:hover { border-color: var(--ana); color: var(--ana); }

.zaman { list-style: none; margin: 0; padding: 4px 18px 10px; }
.zaman li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 12px 0; position: relative; }
.zaman li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 46px; bottom: -4px; width: 2px; background: #edf0f5; }
.zaman .ikon-kare { width: 32px; height: 32px; border-radius: 50%; }
.zaman .bas { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; font-size: 13px; }
.zaman .bas .kim { font-weight: 650; }
.zaman .bas .ne-zaman { color: var(--metin-3); font-size: 12px; }
.zaman .metin { white-space: pre-line; margin-top: 2px; color: #1e293b; overflow-wrap: anywhere; }
.zaman li.sistem .metin { color: var(--metin-2); font-size: 13px; }
.zaman .sil-formu { margin-left: auto; }
.zaman .sil-formu button { background: none; border: 0; color: var(--metin-3); cursor: pointer; font-size: 12px; padding: 0; }
.zaman .sil-formu button:hover { color: var(--kirmizi); }

/* ---------- Huni ---------- */
.huni { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 12px; align-items: start; }
.sutun { background: #e9edf3; border-radius: 12px; display: flex; flex-direction: column; max-height: calc(100vh - 220px); min-height: 200px; }
.sutun-bas { padding: 11px 12px 9px; }
.sutun-bas .ust-satir { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13.5px; }
.sutun-bas .sayi { background: #fff; border-radius: 99px; padding: 0 8px; font-size: 12px; color: var(--metin-2); }
.sutun-bas .alt-satir { font-size: 12px; color: var(--metin-2); margin-top: 2px; display: flex; justify-content: space-between; gap: 8px; }
.sutun-govde { padding: 0 8px 10px; overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 8px; min-height: 60px; }
.sutun.uzerinde { background: #dbe6f7; outline: 2px dashed #8fb1ea; outline-offset: -4px; }
.sutun.kapali { background: #eef1f5; }
.huni-kart { background: #fff; border: 1px solid #dfe5ee; border-radius: 9px; padding: 10px 11px; box-shadow: 0 1px 2px rgba(15, 23, 42, .06); cursor: grab; display: block; color: var(--metin); text-decoration: none !important; position: relative; }
.huni-kart:hover { border-color: #b8c8e3; box-shadow: 0 3px 10px rgba(15, 23, 42, .08); }
.huni-kart.suruklenen { opacity: .45; }
.huni-kart .no { font-size: 11.5px; color: var(--metin-3); font-weight: 600; }
.huni-kart .bas { font-weight: 650; font-size: 13.5px; line-height: 1.3; margin: 2px 0 3px; }
.huni-kart .firma { font-size: 12.5px; color: var(--metin-2); }
.huni-kart .alt { display: flex; align-items: center; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.huni-kart .tutar { font-weight: 700; font-size: 13px; margin-left: auto; }
.huni-kart .adim { font-size: 12px; display: flex; align-items: center; gap: 5px; margin-top: 7px; padding-top: 7px; border-top: 1px solid #eef1f5; color: var(--metin-2); }
.huni-kart .adim.gecikmis { color: var(--kirmizi); font-weight: 600; }
.huni-kart .adim.yok { color: #c27400; }
.huni-kart .asama-sec { position: absolute; top: 6px; right: 6px; }

/* ---------- Teklif düzenleme ---------- */
.depo-kart { border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: #fff; margin-bottom: 14px; box-shadow: var(--golge); }
.depo-kart .depo-bas { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--cizgi); background: #fbfcfe; border-radius: var(--yaricap) var(--yaricap) 0 0; }
.depo-kart .depo-bas h3 { flex: 1; display: flex; align-items: center; gap: 8px; }
.depo-kart .depo-govde { padding: 14px 16px; }
.olcu-satiri { display: grid; grid-template-columns: 1.4fr .8fr .8fr 1fr .7fr; gap: 10px; align-items: end; }
.olcu-satiri .alan { margin-bottom: 0; }
.girdi-ek { position: relative; }
.girdi-ek .ek { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--metin-3); font-size: 12.5px; pointer-events: none; }
.girdi-ek .girdi { padding-right: 52px; }
.ozet-cipler { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 0; }
.ozet-cip { background: #f1f5fb; border: 1px solid #e1e8f3; border-radius: 8px; padding: 6px 10px; font-size: 12.5px; color: var(--metin-2); }
.ozet-cip b { color: var(--metin); font-size: 14px; display: block; font-variant-numeric: tabular-nums; }
.oneri-kutusu { margin-top: 12px; padding: 12px; background: #f7f9fd; border: 1px solid #e1e8f3; border-radius: 9px; }
.oneri-kutusu .satir { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 8px; align-items: end; }
.oneri-listesi { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin-top: 10px; }
.oneri { text-align: left; border: 1px solid var(--cizgi-koyu); background: #fff; border-radius: 9px; padding: 9px 11px; cursor: pointer; font: inherit; }
.oneri:hover { border-color: var(--ana); box-shadow: 0 0 0 3px var(--ana-acik); }
.oneri b { display: block; font-size: 14px; }
.oneri span { font-size: 12px; color: var(--metin-2); }
.oneri.ilk { border-color: #9cbdf3; background: #f5f9ff; }
.aksesuar-listesi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin-top: 4px; }
.aksesuar { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid #f0f2f6; font-size: 13px; }
.aksesuar .ad { min-width: 0; }
.aksesuar .ad small { display: block; color: var(--metin-3); font-size: 11.5px; }
.aksesuar .fiyat { text-align: right; font-variant-numeric: tabular-nums; color: var(--metin-2); white-space: nowrap; }
.aksesuar.kapali .ad, .aksesuar.kapali .fiyat { color: var(--metin-3); }
.aksesuar .elle-miktar { width: 70px; height: 28px; font-size: 12.5px; padding: 0 6px; }
.panel-tablosu { margin-top: 12px; }
.panel-tablosu summary { cursor: pointer; font-weight: 600; color: var(--ana); font-size: 13px; }
.ek-satir { display: grid; grid-template-columns: minmax(0, 1fr) 90px 100px 130px 34px; gap: 8px; margin-bottom: 8px; align-items: center; }
.saha-kutu { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 10px 12px; margin-bottom: 12px; background: var(--zemin-2, #f6f9fd); border: 1px solid var(--cizgi); border-radius: 10px; }
.saha-bilgi { display: grid; gap: 2px; min-width: 200px; flex: 1 1 240px; }
.saha-eylem { display: flex; gap: 6px; flex-wrap: wrap; }
.urun-satir { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 72px 178px 34px; gap: 8px; margin-bottom: 8px; align-items: center; }
.yapiskan { position: sticky; top: 76px; }
.toplam-kutusu .satir { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.toplam-kutusu .satir.genel { border-top: 1px solid var(--cizgi); margin-top: 6px; padding-top: 12px; font-size: 18px; font-weight: 700; }
.toplam-kutusu .tl { font-size: 12.5px; color: var(--metin-3); text-align: right; }
.maliyet-ozet { background: #f4f7fb; border: 1px solid var(--cizgi); border-radius: 10px; padding: 10px 12px; margin: 10px 0 14px; }
.maliyet-ozet .satir { padding: 3px 0; font-size: 12.5px; color: var(--metin-2); }
.maliyet-ozet .satir.toplam { border-top: 1px solid var(--cizgi); margin-top: 6px; padding-top: 8px; font-size: 13.5px; color: var(--metin); }
.teklif-fiyati-alani label { font-weight: 700; color: var(--metin); }
.teklif-fiyati-alani .girdi { height: 46px; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.toplam-kutusu .satir.kar b { color: #16803c; }
.toplam-kutusu .satir.kar.zarar b { color: var(--kirmizi); }
.hesaplaniyor { opacity: .55; transition: opacity .15s; }

/* ---------- Teklif detay ---------- */
.teklif-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--cizgi); }
.teklif-ozet > div { padding: 12px 18px; border-right: 1px solid var(--cizgi); }
.teklif-ozet > div:last-child { border-right: 0; }
.teklif-ozet .e { font-size: 12px; color: var(--metin-2); }
.teklif-ozet .d { font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
.paylasim-kutusu { display: grid; gap: 8px; }
.baglanti-kutusu { display: flex; gap: 6px; }
.baglanti-kutusu input { flex: 1; font-size: 12.5px; }

/* ---------- Rapor ---------- */
.trend { display: flex; align-items: flex-end; gap: 8px; height: 170px; padding: 10px 4px 0; }
.trend .ay { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; min-width: 0; }
.trend .cubuklar { display: flex; gap: 3px; align-items: flex-end; height: 130px; width: 100%; justify-content: center; }
.trend .cubuklar span { width: 42%; max-width: 18px; border-radius: 4px 4px 0 0; background: #b9cff5; min-height: 2px; position: relative; }
.trend .cubuklar span.kaz { background: #16a34a; }
.trend .ad { font-size: 11.5px; color: var(--metin-2); }
.lejant { display: flex; gap: 14px; font-size: 12.5px; color: var(--metin-2); }
.lejant i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.huni-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.huni-ozet .adim { background: #f6f8fc; border: 1px solid var(--cizgi); border-radius: 10px; padding: 12px 14px; position: relative; }
.huni-ozet .adim .d { font-size: 22px; font-weight: 700; }
.huni-ozet .adim .e { font-size: 12.5px; color: var(--metin-2); }
.huni-ozet .adim .o { font-size: 12px; color: var(--ana); font-weight: 600; margin-top: 2px; }

/* ---------- Modal ---------- */
dialog.modal { border: 0; border-radius: 14px; padding: 0; width: min(520px, calc(100vw - 32px)); box-shadow: 0 24px 60px rgba(15, 23, 42, .25); color: var(--metin);
  transition: opacity .18s ease, transform .24s var(--egri-cik), overlay .24s allow-discrete, display .24s allow-discrete; }
dialog.modal::backdrop { background: rgba(15, 23, 42, .45); transition: background-color .24s ease, overlay .24s allow-discrete, display .24s allow-discrete; }
/* Pencere açılırken hafif büyüyerek gelir, kapanırken solar (az harekette yalnız solar) */
dialog.modal:not([open]) { opacity: 0; transform: translateY(calc(var(--kayma) + 2px)) scale(.97); transition-duration: .14s, .14s, .14s, .14s; transition-timing-function: var(--egri-gir); }
dialog.modal:not([open])::backdrop { background-color: rgba(15, 23, 42, 0); }
@starting-style {
  dialog.modal[open] { opacity: 0; transform: translateY(calc(var(--kayma) + 2px)) scale(.97); }
  dialog.modal[open]::backdrop { background-color: rgba(15, 23, 42, 0); }
}
@media (prefers-reduced-motion: reduce) {
  dialog.modal:not([open]) { transform: none; }
  @starting-style { dialog.modal[open] { transform: none; } }
}
.modal-bas { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--cizgi); }
.modal-bas h2 { flex: 1; }
.modal-bas button { background: none; border: 0; cursor: pointer; color: var(--metin-3); padding: 4px; }
.modal-govde { padding: 18px 20px; }
.modal-alt { display: flex; gap: 8px; justify-content: flex-end; padding: 14px 20px; border-top: 1px solid var(--cizgi); background: #fafbfd; border-radius: 0 0 14px 14px; }

/* ---------- Giriş ---------- */
.giris-sayfasi { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.giris-sol { background: radial-gradient(1200px 600px at 10% 10%, #1b4b9b 0%, var(--menu) 55%); color: #c9d6ec; padding: 48px; display: flex; flex-direction: column; justify-content: space-between; }
.giris-sol img { width: 180px; }
.giris-sol h1 { color: #fff; font-size: 30px; margin: 0 0 12px; max-width: 460px; }
.giris-sol ul { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
.giris-sol li { display: flex; gap: 10px; align-items: center; }
.giris-sol li .ikon { color: #7fb0ff; }
.giris-sag { display: flex; align-items: center; justify-content: center; padding: 32px; background: #fff; }
.giris-kutusu { width: 100%; max-width: 360px; }
.giris-kutusu h2 { font-size: 22px; margin-bottom: 4px; }

/* ---------- Duyarlı ---------- */
@media (max-width: 1280px) {
  .iki-kolon, .iki-kolon.genis-sag { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 1080px) {
  .iki-kolon, .iki-kolon.genis-sag, .iki-esit, .uc-esit { grid-template-columns: minmax(0, 1fr); }
  .yapiskan { position: static; }
  .olcu-satiri { grid-template-columns: 1fr 1fr 1fr; }
  .olcu-satiri .alan:first-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .kabuk { grid-template-columns: minmax(0, 1fr); }
  .menu { position: fixed; left: 0; top: 0; bottom: 0; width: 260px; transform: translateX(-100%); transition: transform .26s var(--egri-cik), visibility 0s .26s; box-shadow: var(--golge-2); visibility: hidden; }
  body.menu-acik .menu { transform: none; visibility: visible; transition: transform .26s var(--egri-cik), visibility 0s; }
  body::after { content: ""; position: fixed; inset: 0; background: rgba(15, 23, 42, .4); z-index: 25; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
  body.menu-acik::after { opacity: 1; pointer-events: auto; }
  .ust { padding: 0 16px; }
  .ust .menu-ac { margin-left: -6px; }
  .icerik { padding: 16px 16px 40px; }
  .kpiler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izgara-3, .izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .giris-sayfasi { grid-template-columns: 1fr; }
  .giris-sol { display: none; }
  .teklif-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .huni-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aksesuar-listesi { grid-template-columns: minmax(0, 1fr); }
  .adimlar button { font-size: 11.5px; padding: 0 14px; }
}
@media (max-width: 600px) {
  .izgara-2, .izgara-3, .izgara-4 { grid-template-columns: minmax(0, 1fr); }
  .ust .btn-metin { display: none; }
  .ust { gap: 8px; }
  .ust .bosluk { display: none; }
  .ust .arama { min-width: 0; }
  .sonraki-adim .satir { grid-template-columns: 1fr; }
  .ek-satir { grid-template-columns: 1fr 1fr; }
  .ek-satir .girdi:first-child { grid-column: 1 / -1; }
  .urun-satir { grid-template-columns: 1fr 1fr 34px; }
  .urun-satir .girdi:nth-child(-n+2) { grid-column: 1 / -1; }
  .oneri-kutusu .satir { grid-template-columns: 1fr 1fr; }
  .bilgi-listesi { grid-template-columns: 110px minmax(0, 1fr); }
  .adimlar { flex-wrap: wrap; }
  .adimlar form { flex: 1 1 30%; }
  .cubuk-satir { grid-template-columns: 110px 1fr 30px; }
}

/* ---------- Üst çubuk: mesaj ve bildirim ---------- */
.ust-ikon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; color: var(--metin-2); text-decoration: none !important; border: 1px solid transparent; background: none; cursor: pointer; }
.ust-ikon:hover { background: #eef3f8; color: var(--metin); }
.ust-ikon .sayac { position: absolute; top: 3px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: #e5484d; color: #fff; font-size: 10.5px; font-weight: 700; line-height: 17px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.ust-ikon .sayac.su { background: var(--su-koyu); }
details.bildirim-menu { position: relative; }
details.bildirim-menu > summary { list-style: none; }
details.bildirim-menu > summary::-webkit-details-marker { display: none; }
.bildirim-paneli { position: absolute; right: 0; top: 46px; width: 380px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid var(--cizgi); border-radius: 14px; box-shadow: 0 24px 48px -12px rgba(11, 29, 58, .3); z-index: 60; overflow: hidden; }
.bildirim-paneli .bas { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--cizgi); }
.bildirim-paneli .bas b { font-size: 14px; }
.bildirim-paneli ul { list-style: none; margin: 0; padding: 4px 0; max-height: 420px; overflow-y: auto; }
.bildirim-paneli li a { display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 9px 14px; color: var(--metin); text-decoration: none; }
.bildirim-paneli li a:hover { background: #f5f8fc; }
.bildirim-paneli li.okunmadi a { background: #f2f9fd; }
.bildirim-paneli li .b, .bildirim-paneli li .m, .bildirim-paneli li .z { display: block; }
.bildirim-paneli li .b { font-weight: 600; font-size: 13px; line-height: 1.35; }
.bildirim-paneli li .m { font-size: 12px; color: var(--metin-2); margin-top: 1px; }
.bildirim-paneli li .z { font-size: 11.5px; color: var(--metin-3); margin-top: 2px; }
.bildirim-paneli .alt { padding: 10px 14px; border-top: 1px solid var(--cizgi); text-align: center; font-size: 13px; }

/* ---------- Pano: satış hattı (imza: panelli su deposu göstergesi) ---------- */
.hat { position: relative; background: radial-gradient(900px 340px at 92% -30%, rgba(19, 169, 207, .30), transparent 60%), linear-gradient(135deg, #0c2a52 0%, #0b1d3a 55%, #0a1a33 100%); color: #d6e3f5; border-radius: 18px; padding: 22px 26px 20px; margin-bottom: 18px; box-shadow: 0 18px 40px -22px rgba(11, 29, 58, .7); overflow: hidden; }
.hat-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.hat h1 { color: #fff; font-size: 24px; }
.hat .alt-yazi { color: #9fb5d6; margin-top: 4px; }
.hat .eylemler { display: flex; gap: 8px; flex-wrap: wrap; }
.hat .eylemler .btn { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); color: #fff; }
.hat .eylemler .btn:hover { background: rgba(255, 255, 255, .16); }
.hat .anahtar-grubu { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18); }
.hat .anahtar-grubu a { color: #b8cbe6; }
.hat .anahtar-grubu a + a { border-color: rgba(255, 255, 255, .14); }
.hat .anahtar-grubu a.secili { background: rgba(127, 220, 245, .18); color: #fff; }
.hat-govde { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, 1fr); gap: 28px; margin-top: 20px; align-items: end; }
.hat-baslik { font-size: 12.5px; color: #9fb5d6; margin-bottom: 10px; display: flex; justify-content: space-between; gap: 10px; }
.hat-baslik b { color: #fff; font-weight: 650; }
.depolar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.depo-gosterge { display: block; text-decoration: none !important; color: inherit; }
.depo-gosterge .govde { position: relative; height: 128px; border-radius: 10px 10px 14px 14px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1.5px rgba(173, 214, 240, .35); overflow: hidden; transition: box-shadow .18s; }
.depo-gosterge:hover .govde { box-shadow: inset 0 0 0 1.5px rgba(173, 214, 240, .75); }
.depo-gosterge .su { position: absolute; left: 0; right: 0; bottom: 0; height: var(--seviye, 0%); background: linear-gradient(180deg, #3fd0ee 0%, #14a6d3 38%, #0b78b6 100%); transition: height .9s cubic-bezier(.16, 1, .3, 1); }
.depo-gosterge .su::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 6px; background: rgba(255, 255, 255, .55); filter: blur(2px); }
.depo-gosterge .panel-izgara { position: absolute; inset: 0; background-image: linear-gradient(rgba(173, 214, 240, .22) 1px, transparent 1px), linear-gradient(90deg, rgba(173, 214, 240, .22) 1px, transparent 1px); background-size: 100% 25%, 33.4% 100%; pointer-events: none; }
.depo-gosterge .sayi { position: absolute; top: 9px; left: 0; right: 0; text-align: center; font-size: 22px; font-weight: 700; color: #fff; text-shadow: 0 1px 8px rgba(5, 20, 40, .55); font-variant-numeric: tabular-nums; }
.depo-gosterge .sayi small { display: block; margin-top: 1px; font-size: 11.5px; font-weight: 600; line-height: 1.2; }
.depo-aciklama { margin-top: 10px; font-size: 12px; color: #8fb0d6; }
.depo-gosterge .ad { margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #e6eefa; line-height: 1.25; }
.depo-gosterge .tutar { font-size: 12px; color: #8fb0d6; margin-top: 1px; }
.hat-olcu { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(173, 214, 240, .16); border-radius: 12px; overflow: hidden; }
.hat-olcu > div { background: rgba(10, 26, 51, .55); padding: 12px 14px; }
.hat-olcu .e { font-size: 12px; color: #8fb0d6; display: flex; gap: 6px; align-items: center; }
.hat-olcu .d { font-size: 21px; font-weight: 700; color: #fff; margin-top: 2px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.hat-olcu .a { font-size: 11.5px; color: #7f9cc2; margin-top: 1px; }
.hat-olcu a { color: inherit; text-decoration: none; display: block; }
.hat-olcu a:hover .d { color: #7fdcf5; }
@media (prefers-reduced-motion: reduce) { .depo-gosterge .su { transition-duration: .45s; } }

/* Huni sütunlarında küçük doluluk göstergesi */
.mini-depo { width: 14px; height: 18px; border-radius: 3px 3px 4px 4px; box-shadow: inset 0 0 0 1.5px #9db6d3; position: relative; overflow: hidden; flex: none; background: #fff; }
.mini-depo span { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(#3fd0ee, #0b78b6); }

/* ---------- Gelen kutusu ---------- */
.kutu-duzeni { display: grid; grid-template-columns: 340px minmax(0, 1fr); height: calc(100vh - 175px); min-height: 520px; background: #fff; border: 1px solid var(--cizgi); border-radius: 14px; overflow: hidden; box-shadow: var(--golge); }
.konusma-listesi { border-right: 1px solid var(--cizgi); display: flex; flex-direction: column; min-height: 0; background: #fbfcfe; }
.konusma-listesi .filtreler { padding: 10px; border-bottom: 1px solid var(--cizgi); display: grid; gap: 8px; }
.konusma-listesi .sekmeler { padding: 0; border: 0; gap: 4px; flex-wrap: wrap; }
.konusma-listesi .sekmeler a { padding: 4px 9px; border: 1px solid var(--cizgi); border-radius: 99px; font-size: 12.5px; }
.konusma-listesi .sekmeler a.secili { background: var(--ana-acik); border-color: var(--ana-cizgi); }
.konusma-listesi ul { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.konusma-listesi li a { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; padding: 11px 12px; border-bottom: 1px solid #eef1f5; color: var(--metin); text-decoration: none; }
.konusma-listesi li a:hover { background: #f2f6fb; }
.konusma-listesi li.secili a { background: #e8f2fd; }
.kanal-rozeti { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; flex: none; }
.kanal-rozeti.whatsapp { background: #1fa855; }
.kanal-rozeti.eposta { background: #4f6fd8; }
.kanal-rozeti.instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 95%); }
.zaman li.yazisma.instagram .ikon-kare { background: #fbe9f3; color: #b0186e; }
.kanal-rozeti.facebook { background: #1877f2; }
.zaman li.yazisma.facebook .ikon-kare { background: #e7f0fe; color: #1460c9; }
.konusma-listesi .ad { font-weight: 650; font-size: 13.5px; }
.konusma-listesi .oz { font-size: 12.5px; color: var(--metin-2); }
.konusma-listesi .zaman { font-size: 11.5px; color: var(--metin-3); text-align: right; }
.konusma-listesi .okunmamis-sayi { display: inline-block; margin-top: 4px; min-width: 19px; padding: 0 6px; border-radius: 99px; background: var(--su-koyu); color: #fff; font-size: 11px; font-weight: 700; text-align: center; line-height: 19px; }
.konusma-listesi li.okunmamis .ad, .konusma-listesi li.okunmamis .oz { color: var(--metin); font-weight: 650; }
.sohbet { display: flex; flex-direction: column; min-height: 0; }
.sohbet-bas { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--cizgi); flex-wrap: wrap; }
.sohbet-bas .bilgi { flex: 1; min-width: 200px; }
.sohbet-bas .bilgi b { display: block; font-size: 15px; }
.sohbet-bas .bilgi span { font-size: 12.5px; color: var(--metin-2); }
.balonlar { flex: 1; overflow-y: auto; padding: 18px 20px; background: linear-gradient(180deg, #f4f8fc, #eef3f8); display: flex; flex-direction: column; gap: 10px; }
.balon { max-width: min(560px, 78%); padding: 9px 12px 7px; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .08); overflow-wrap: anywhere; font-size: 13.5px; }
.balon-metin { white-space: pre-line; }
.konusma-listesi .ara-kutusu { position: relative; }
.konusma-listesi .ara-kutusu .ikon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--metin-3); }
.balon.gelen { align-self: flex-start; border-bottom-left-radius: 4px; }
.balon.giden { align-self: flex-end; border-bottom-right-radius: 4px; background: #dff3fb; }
.balon .konu { font-weight: 650; font-size: 12.5px; margin-bottom: 3px; color: var(--metin-2); }
.balon .alt { display: flex; gap: 8px; justify-content: flex-end; align-items: center; margin-top: 4px; font-size: 11px; color: var(--metin-3); white-space: nowrap; }
.balon .alt .durum.hata { color: var(--kirmizi); }
.balon .alt .durum.okundu { color: var(--su-koyu); }
.gun-ayraci { align-self: center; font-size: 11.5px; color: var(--metin-2); background: rgba(255, 255, 255, .8); border-radius: 99px; padding: 2px 10px; }
.yanit-kutusu { border-top: 1px solid var(--cizgi); padding: 12px 16px; display: grid; gap: 8px; background: #fff; }
.yanit-kutusu .satir { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.yanit-kutusu .satir .bosluk { flex: 1; }
.pencere-notu { font-size: 12px; color: var(--metin-2); display: flex; gap: 6px; align-items: center; }
.pencere-notu.kapali { color: #9a5300; }

/* ---------- Yardımcı ---------- */
.yardimci { background: linear-gradient(180deg, #f3fbfe, #fff 70%); border-color: #c4e8f4; }
.yardimci .kart-bas h2 .ikon { color: var(--su-koyu); }
.yardimci-dugmeleri { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.yardimci-dugmeleri .btn { justify-content: flex-start; height: 34px; font-size: 13px; }
.yardimci-sonuc { margin-top: 12px; font-size: 13.5px; }
.yardimci-sonuc:empty { display: none; }
.yardimci-sonuc ul { margin: 6px 0; padding-left: 18px; }
.yardimci-sonuc .kaynak { font-size: 11.5px; color: var(--metin-3); margin-top: 8px; display: flex; gap: 5px; align-items: center; }
.yardimci-sonuc .oneri-tablo { width: 100%; border-collapse: collapse; margin: 6px 0; font-size: 13px; }
.yardimci-sonuc .oneri-tablo td { padding: 5px 4px; border-bottom: 1px solid #e6eef5; vertical-align: top; }
.yz-rozet { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 99px; background: var(--su-acik); color: var(--su-koyu); }
.yz-rozet.kapali { background: #eef1f5; color: #64748b; }

/* Zaman çizelgesinde yazışma */
.zaman li.yazisma .ikon-kare { background: #e6f7ee; color: #15803d; }
.zaman li.yazisma.eposta .ikon-kare { background: #eaefff; color: #4057c4; }
.zaman li.yazisma.giden .metin { color: #334155; }

/* Bağlantılar */
.durum-satiri { display: flex; align-items: center; gap: 10px; }
.durum-satiri h2 { flex: 1; }
.baglanti-listesi { margin: 0; padding-left: 18px; display: grid; gap: 6px; color: var(--metin-2); }
.kod { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12.5px; background: #f1f5f9; padding: 1px 6px; border-radius: 5px; color: #0f172a; overflow-wrap: anywhere; }

@media (max-width: 1080px) {
  .hat-govde { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .kabuk { background: var(--zemin); }
  .hat-olcu .d { font-size: 17px; }
  .kutu-duzeni { grid-template-columns: minmax(0, 1fr); height: auto; }
  .kutu-duzeni.konusma-acik .konusma-listesi { display: none; }
  .kutu-duzeni:not(.konusma-acik) .sohbet { display: none; }
  .balonlar { min-height: 50vh; }
  .depolar { gap: 8px; }
  .depo-gosterge .govde { height: 96px; }
  .hat { padding: 18px 16px; }
}
@media (max-width: 600px) {
  .depolar { grid-template-columns: repeat(5, minmax(52px, 1fr)); overflow-x: auto; }
  .depo-gosterge .ad { font-size: 11px; }
  .depo-gosterge .tutar { display: none; }
  .depo-gosterge .sayi small span { display: none; }
  .yardimci-dugmeleri { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ Dosyalar */
.dosya-birak { padding: 12px 18px 4px; }
.birak-alani { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 12px 14px; border: 1.5px dashed var(--cizgi-koyu); border-radius: var(--yaricap); color: var(--metin-2); font-size: 13px; cursor: pointer; transition: border-color .15s, background-color .15s; }
.birak-alani .cok-soluk { flex-basis: 100%; font-size: 12px; }
.birak-alani:hover, .birak-alani.uzerinde { border-color: var(--ana); background: var(--ana-acik); color: var(--ana-koyu); }
.dosya-birak.yukleniyor .birak-alani { opacity: .6; pointer-events: none; }
.dosya-listesi > li { padding: 9px 18px; }
.dosya-kucuk { flex: none; width: 40px; height: 40px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 700; letter-spacing: .02em; background: #eef2f7; color: var(--metin-2); overflow: hidden; text-decoration: none; }
.dosya-kucuk.resim { background: #e9eef5; }
.dosya-kucuk img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dosya-kucuk.u-pdf { background: #fdecec; color: #b42318; }
.dosya-kucuk.u-dwg, .dosya-kucuk.u-dxf, .dosya-kucuk.u-step, .dosya-kucuk.u-stp, .dosya-kucuk.u-skp { background: var(--camgobegi-acik); color: var(--camgobegi); }
.dosya-kucuk.u-xls, .dosya-kucuk.u-xlsx, .dosya-kucuk.u-csv { background: var(--yesil-acik); color: var(--yesil); }
.dosya-kucuk.u-doc, .dosya-kucuk.u-docx { background: var(--ana-acik); color: var(--ana-koyu); }
.dosya-listesi .tasma, .silinenler .tasma { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.kanal-etiketi { display: inline-flex; align-items: center; gap: 4px; }
.kanal-etiketi.whatsapp { color: #15803d; }
.kanal-etiketi.instagram { color: #b0186e; }
.kanal-etiketi.facebook { color: #1460c9; }
.silinenler { border-top: 1px solid #eef1f5; }
.silinenler > summary { padding: 10px 18px; font-size: 12.5px; color: var(--metin-2); cursor: pointer; }
.silinenler .liste > li { padding: 8px 18px; }
.balon-ekleri { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.balon-ekleri a { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 12.5px; padding: 4px 8px; border-radius: 8px; background: rgba(15, 23, 42, .05); color: inherit; text-decoration: none; }
.balon-ekleri a img { width: 120px; height: 90px; object-fit: cover; border-radius: 6px; display: block; }
.balon-ekleri a.resim { padding: 0; background: none; }

/* ------------------------------------------------------------------ Hazır yanıtlar */
.hazir-menu { position: relative; }
.hazir-menu > summary { list-style: none; }
.hazir-menu > summary::-webkit-details-marker { display: none; }
.hazir-paneli { position: absolute; bottom: calc(100% + 6px); left: 0; z-index: 30; width: min(380px, 86vw); max-height: 340px; overflow-y: auto; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge-2); padding: 6px; }
.hazir-paneli button { display: grid; gap: 2px; width: 100%; text-align: left; padding: 8px 10px; border: 0; border-radius: 8px; background: none; cursor: pointer; font: inherit; color: var(--metin); }
.hazir-paneli button:hover, .hazir-paneli button:focus-visible { background: var(--ana-acik); outline: none; }
.hazir-paneli button b { font-size: 13px; font-weight: 600; }
.hazir-paneli button span { font-size: 12px; color: var(--metin-2); line-height: 1.4; }
.hazir-duzenle { display: flex; align-items: center; gap: 6px; padding: 8px 10px; margin-top: 4px; border-top: 1px solid #eef1f5; font-size: 12.5px; }
.hazir-ornek { white-space: pre-line; }
.yer-tutucular { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 12px; color: var(--metin-2); margin-bottom: 10px; }
.yer-tutucular code { background: #eef2f7; padding: 1px 5px; border-radius: 4px; color: var(--metin); }
.liste > li.secili-satir { background: var(--ana-acik); }

.tcmb-formu { display: flex; gap: 8px; margin-bottom: 4px; }
.tcmb-formu .girdi { flex: 1; min-width: 0; }

/* ------------------------------------------------------------------ Takvim */
.takvim-kisi .girdi { height: 36px; min-width: 170px; }
.takvim-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 14px 18px; border-bottom: 1px solid var(--cizgi); }
.takvim-gezinti { display: flex; align-items: center; gap: 8px; }
.takvim-gezinti h2 { margin: 0 6px; font-size: 18px; min-width: 9ch; text-align: center; }
.takvim-lejant { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; margin: 0; padding: 0; font-size: 12px; color: var(--metin-2); }
.takvim-lejant li { display: inline-flex; align-items: center; gap: 5px; }
.takvim-lejant li .ikon { width: 14px; height: 14px; }
.takvim-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.takvim-gun-adi { padding: 8px 10px; font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--metin-3); border-bottom: 1px solid var(--cizgi); }
.takvim-gun { min-height: 112px; padding: 6px 6px 8px; border-right: 1px solid #eef1f5; border-bottom: 1px solid #eef1f5; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.takvim-gun:nth-child(7n) { border-right: 0; }
.takvim-gun.baska-ay { background: #fafbfd; }
.takvim-gun.baska-ay .gun-no { color: var(--metin-3); }
.gun-no { font-size: 12.5px; font-weight: 600; color: var(--metin-2); padding: 2px 4px; align-self: flex-start; border-radius: 6px; font-variant-numeric: tabular-nums; }
.takvim-gun.bugun .gun-no { background: var(--ana); color: #fff; }
.takvim-olay { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 3px 6px; border-radius: 6px; font-size: 12px; line-height: 1.3; text-decoration: none; color: var(--metin); background: #f1f4f9; }
.takvim-olay .ikon { width: 13px; height: 13px; flex: none; }
.takvim-olay span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.takvim-olay:hover { filter: brightness(.96); }
.o-takip.takvim-olay { background: var(--ana-acik); color: var(--ana-koyu); }
.o-teklif.takvim-olay { background: var(--sari-acik); color: var(--sari); }
.o-termin.takvim-olay { background: var(--mor-acik); color: var(--mor); }
.o-teslim.takvim-olay { background: var(--yesil-acik); color: var(--yesil); }
.takvim-olay.gecikmis { background: var(--kirmizi-acik); color: var(--kirmizi); }
.takvim-olay.tamam { background: #f3f5f8; color: var(--metin-3); }
.takvim-olay.tamam span { text-decoration: line-through; }
.takvim-lejant .o-takip { color: var(--ana-koyu); }
.takvim-lejant .o-teklif { color: var(--sari); }
.takvim-lejant .o-termin { color: var(--mor); }
.takvim-lejant .o-teslim { color: var(--yesil); }
.takvim-fazla { align-self: flex-start; font: inherit; font-size: 11.5px; color: var(--ana-koyu); padding: 1px 6px; border: 0; border-radius: 6px; background: none; cursor: pointer; }
.takvim-fazla:hover { background: var(--ana-acik); }
.takvim-olay.fazla { display: none; }
.takvim-gun.tumu .takvim-olay.fazla { display: flex; }
.takvim-gundem { display: none; }
.gundem-gun { display: grid; grid-template-columns: 52px 1fr; gap: 10px; padding: 10px 16px; border-bottom: 1px solid #eef1f5; }
.gundem-tarih { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.gundem-tarih b { font-size: 20px; font-variant-numeric: tabular-nums; }
.gundem-tarih span { font-size: 11px; color: var(--metin-2); }
.gundem-gun.bugun .gundem-tarih b { color: var(--ana); }
.gundem-gun ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.gundem-gun .takvim-olay { padding: 7px 9px; font-size: 13px; align-items: flex-start; }
.gundem-gun .takvim-olay span { white-space: normal; }
.gundem-gun .takvim-olay small { display: block; font-size: 11.5px; opacity: .85; }
.abonelik-adresi { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.abonelik-adresi .girdi { flex: 1 1 320px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12.5px; }
.abonelik-yardim { padding-left: 18px; margin: 0 0 10px; display: grid; gap: 4px; }
@media (max-width: 760px) {
  .takvim-izgara { display: none; }
  .takvim-gundem { display: block; }
  .takvim-lejant { display: none; }
}

/* ------------------------------------------------------------------ Satış hedefleri */
.hedef-hucre a { display: flex; gap: 12px; align-items: stretch; }
.hedef-depo { position: relative; flex: none; width: 34px; border-radius: 6px 6px 8px 8px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1.5px rgba(173, 214, 240, .4); overflow: hidden;
  background-image: linear-gradient(rgba(173, 214, 240, .2) 1px, transparent 1px); background-size: 100% 25%; }
.hedef-depo .su { position: absolute; left: 0; right: 0; bottom: 0; height: var(--seviye, 0%); background: linear-gradient(180deg, #3fd0ee 0%, #14a6d3 38%, #0b78b6 100%); transition: height .9s cubic-bezier(.16, 1, .3, 1); }
.hedef-depo.asti .su { background: linear-gradient(180deg, #5eead4 0%, #10b981 45%, #047857 100%); }
.hedef-depo .beklenen { position: absolute; left: -2px; right: -2px; height: 0; border-top: 1.5px dashed rgba(255, 255, 255, .85); }
@media (prefers-reduced-motion: reduce) { .hedef-depo .su { transition-duration: .45s; } }
.hedef-cubuk { display: inline-block; vertical-align: middle; width: 54px; height: 6px; border-radius: 3px; background: #e6ebf2; overflow: hidden; margin-right: 4px; }
.hedef-cubuk span { display: block; height: 100%; background: var(--su); border-radius: 3px; }
.yil-etiketi { font-weight: 700; font-size: 16px; min-width: 4ch; text-align: center; font-variant-numeric: tabular-nums; }
.hedef-tablosu th[scope=row] { position: sticky; left: 0; background: var(--kart); z-index: 1; min-width: 170px; text-align: left; font-weight: 600; }
.hedef-tablosu .hedef-ad { display: inline-flex; align-items: center; gap: 7px; }
.hedef-yay { display: block; margin-top: 3px; padding: 0; border: 0; background: none; font: inherit; font-size: 11.5px; font-weight: 400; color: var(--ana-koyu); cursor: pointer; }
.hedef-yay:hover { text-decoration: underline; }
.hedef-girdi { width: 92px; height: 32px; text-align: right; font-variant-numeric: tabular-nums; padding: 0 8px; }
.hedef-tablosu td.bu-ay { background: var(--ana-acik); }
.hedef-gercek { font-size: 11.5px; color: var(--metin-2); margin-top: 3px; white-space: nowrap; }
.hedef-gercek .oran { font-weight: 600; color: var(--metin-3); }
.hedef-gercek .oran.yakin { color: var(--sari); }
.hedef-gercek .oran.tamam { color: var(--yesil); }
.sirket-satiri th[scope=row], .sirket-satiri td { border-bottom: 2px solid var(--cizgi-koyu); }
.hedef-hucre a > div:last-child { min-width: 0; }
.hedef-hucre .d { white-space: nowrap; font-size: 19px; }

/* ------------------------------------------------------------------ Mükerrer kayıtlar */
.mukerrer-grup { margin-bottom: 14px; }
.mukerrer-kayitlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; padding: 14px 18px 4px; }
.mukerrer-kayit { position: relative; border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 12px 14px; display: grid; gap: 6px; align-content: start; }
.mukerrer-kayit:has(input[name=ana]:checked) { border-color: var(--ana); box-shadow: 0 0 0 1px var(--ana); background: var(--ana-acik); }
.mukerrer-kayit .ana-secim { display: inline-flex; gap: 6px; align-items: center; font-size: 12.5px; font-weight: 600; color: var(--ana-koyu); cursor: pointer; }
.mukerrer-kayit .dahil { position: absolute; top: 10px; right: 12px; font-size: 12px; color: var(--metin-2); }
.mukerrer-kayit dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 2px 0 0; font-size: 12.5px; }
.mukerrer-kayit dt { color: var(--metin-3); }
.mukerrer-kayit dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.mukerrer-sayilar { font-size: 12px; color: var(--metin-2); border-top: 1px solid #eef1f5; padding-top: 6px; }
.ekip-hedef { display: flex; align-items: center; justify-content: flex-end; gap: 5px; margin-top: 3px; font-size: 11.5px; color: var(--metin-2); }
.ekip-hedef .hedef-cubuk { width: 46px; margin: 0; }
.hedef-cubuk.asti span { background: var(--yesil); }

/* ------------------------------------------------------------------ Üretim ve stok */
.rozet.e-sef { background: var(--sari-acik); color: var(--sari); }
.rozet.e-bekle { background: #eef1f5; color: #5b6778; }
.rozet.e-atolye { background: var(--ana-acik); color: var(--ana-koyu); }
.rozet.e-uretimde { background: var(--camgobegi-acik); color: var(--camgobegi); }
.rozet.e-kontrol { background: var(--mor-acik); color: var(--mor); }
.rozet.e-hazir { background: var(--yesil-acik); color: var(--yesil); }
.rozet.e-iptal { background: #eef1f5; color: #8492a6; text-decoration: line-through; }
.erp-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.erp-kutu { display: block; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 12px 14px; text-decoration: none !important; color: var(--metin); box-shadow: var(--golge); }
.erp-kutu .e { font-size: 12px; color: var(--metin-2); display: flex; gap: 6px; align-items: center; }
.erp-kutu .d { font-size: 24px; font-weight: 700; margin-top: 2px; font-variant-numeric: tabular-nums; }
.erp-kutu .a { font-size: 11.5px; color: var(--metin-3); }
.erp-kutu.sari { border-color: #f2d49b; background: var(--sari-acik); }
.erp-kutu.kirmizi { border-color: #f3c7c7; background: var(--kirmizi-acik); }
.erp-kutu.kirmizi .d { color: var(--kirmizi); }
.erp-kutu.yesil .d { color: var(--yesil); }
.emir-kart { border-top: 1px solid var(--cizgi); padding: 14px 18px; display: grid; gap: 10px; }
.emir-kart:first-of-type { border-top: 0; }
.emir-kart.acil { box-shadow: inset 3px 0 0 var(--kirmizi); }
.emir-ust { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.emir-ust .no { font-weight: 700; }
.emir-ust .baslik { font-weight: 600; color: var(--metin); }
.emir-alt { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--metin-2); }
.stok-ozeti { display: flex; align-items: flex-start; gap: 10px; padding: 9px 12px; border-radius: 8px; font-size: 13px; }
.stok-ozeti.yeterli { background: var(--yesil-acik); color: #14532d; }
.stok-ozeti.eksik { background: var(--kirmizi-acik); color: #7f1d1d; }
.stok-ozeti .ikon { flex: none; margin-top: 1px; }
.stok-ozeti ul { margin: 4px 0 0; padding-left: 18px; }
.onay-formu { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px 10px; align-items: end; }
.onay-formu .alan { margin: 0; }
.onay-formu .eylem { display: flex; gap: 8px; flex-wrap: wrap; grid-column: 1 / -1; }
.ilerleme { height: 8px; border-radius: 4px; background: #e6ebf2; overflow: hidden; min-width: 80px; }
.ilerleme span { display: block; height: 100%; background: var(--su); border-radius: 4px; }
.adim-listesi { display: grid; gap: 8px; }
.adim-satiri { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--kart); }
.adim-satiri.devam { border-color: var(--su); background: var(--su-acik); }
.adim-satiri.bitti { background: #f6f8fb; color: var(--metin-2); }
.adim-satiri .sira { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12.5px; background: #eef2f7; }
.adim-satiri.devam .sira { background: var(--su); color: #fff; }
.adim-satiri.bitti .sira { background: var(--yesil); color: #fff; }
.adim-satiri .ad { font-weight: 600; }
.adim-satiri .ustalar { font-size: 12.5px; color: var(--metin-2); }
.adim-dugmeler { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.usta-secimi { position: relative; }
.usta-secimi > summary { list-style: none; cursor: pointer; }
.usta-secimi > summary::-webkit-details-marker { display: none; }
.usta-paneli { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 240px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge-2); padding: 10px; display: grid; gap: 6px; }
.usta-paneli label { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.usta-listesi { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.usta-kart { border: 1px solid var(--cizgi); border-radius: 10px; padding: 9px 11px; font-size: 12.5px; background: var(--kart); }
.usta-kart b { display: block; font-size: 13.5px; }
.usta-kart.bos { color: var(--metin-3); }
.usta-kart .is { color: var(--camgobegi); }
.stok-tablosu td.eksik { color: var(--kirmizi); font-weight: 700; }
.stok-tablosu tr.eksik-satir td:first-child { box-shadow: inset 3px 0 0 var(--kirmizi); }
.kalem-durum { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; background: var(--yesil); }
.kalem-durum.kritik { background: #e0a106; }
.kalem-durum.eksi { background: var(--kirmizi); }
.uyari-listesi { list-style: none; margin: 0; padding: 0; }
.uyari-listesi > li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px 12px; padding: 12px 18px; border-bottom: 1px solid #eef1f5; align-items: start; }
.uyari-listesi > li:last-child { border-bottom: 0; }
.uyari-listesi .metin { font-size: 13px; color: var(--metin-2); margin-top: 2px; }
.uyari-listesi .emirler { font-size: 12px; margin-top: 4px; display: flex; gap: 6px; flex-wrap: wrap; }
.s-kritik { background: var(--kirmizi-acik); color: var(--kirmizi); }
.s-acil { background: var(--sari-acik); color: var(--sari); }
.s-uyari { background: var(--mor-acik); color: var(--mor); }
.s-bilgi { background: var(--ana-acik); color: var(--ana-koyu); }
.ozet-kutusu { padding: 14px 18px; display: grid; gap: 6px; }
.ozet-kutusu ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.cikis-tablosu input.girdi { width: 110px; height: 32px; text-align: right; }
.recete-tablosu td { vertical-align: top; }
.recete-satiri { display: flex; gap: 6px; align-items: center; font-size: 13px; padding: 2px 0; }
.recete-ekle { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.recete-ekle .girdi { height: 30px; font-size: 12.5px; }
.recete-ekle select.girdi { max-width: 230px; }
.recete-ekle input.girdi { width: 90px; }
.satir-kalemler { display: grid; gap: 8px; }
.satir-kalem { display: grid; grid-template-columns: minmax(0, 1fr) 120px 130px 36px; gap: 8px; align-items: center; }
@media (max-width: 760px) {
  .satir-kalem { grid-template-columns: 1fr 1fr; }
  .adim-satiri { grid-template-columns: 28px minmax(0, 1fr); }
  .adim-dugmeler { grid-column: 1 / -1; justify-content: flex-start; }
  .uyari-listesi > li { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .yazdirma-gizle { display: none !important; }
  body { background: #fff; }
}
.uretim-ozeti { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--cizgi); border-bottom: 1px solid var(--cizgi); }
.uretim-ozeti a { background: var(--kart); padding: 10px 12px; text-decoration: none !important; color: var(--metin); display: grid; }
.uretim-ozeti a b { font-size: 20px; font-variant-numeric: tabular-nums; }
.uretim-ozeti a span { font-size: 11.5px; color: var(--metin-2); }
.uretim-ozeti a.sari b { color: var(--sari); }
.uretim-ozeti a.kirmizi b { color: var(--kirmizi); }
.uretim-ozeti a.yesil b { color: var(--yesil); }
.uretim-ozeti a:hover { background: #f7f9fc; }

/* ------------------------------------------------------------------ Sade üretim ekranları */
.sade-liste > li { padding: 14px 18px; gap: 16px; align-items: center; }
.sade-liste .ust-satir { font-size: 14.5px; flex-wrap: wrap; }
.sade-liste .alt-satir { font-size: 13px; margin-top: 2px; }
.satir-eylem { flex: none; display: flex; gap: 8px; align-items: center; }
.malzeme-durumu { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12.5px; font-weight: 600; padding: 3px 9px; border-radius: 99px; }
.malzeme-durumu.tamam { background: var(--yesil-acik); color: var(--yesil); }
.malzeme-durumu.eksik { background: var(--kirmizi-acik); color: var(--kirmizi); cursor: help; }
.malzeme-durumu.bilinmiyor { background: #eef1f5; color: var(--metin-2); }
.kirmizi-metin { color: var(--kirmizi); }
.malzeme-listesi { margin-top: 6px; font-size: 13px; }
.malzeme-listesi > summary { cursor: pointer; color: var(--metin-2); }
.malzeme-listesi ul { margin: 6px 0; padding-left: 18px; display: grid; gap: 2px; }
.malzeme-listesi a { font-size: 12.5px; }
.btn-buyuk { height: 46px; padding: 0 20px; font-size: 15px; border-radius: 10px; }
.is-kart { padding: 16px 18px; display: grid; gap: 12px; margin-bottom: 14px; }
.is-kart.acil { box-shadow: var(--golge), inset 4px 0 0 var(--kirmizi); }
.is-bas { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.is-baslik { font-size: 17px; font-weight: 700; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.is-alt { font-size: 13px; color: var(--metin-2); margin-top: 2px; }
.is-alt .gecikti { color: var(--kirmizi); font-weight: 600; }
.is-alt .bekliyor { color: var(--sari); font-weight: 600; }
.is-not { font-size: 13px; background: var(--ana-acik); color: #1e3a6e; border-radius: 8px; padding: 7px 10px; display: flex; gap: 6px; align-items: center; }
.adim-seridi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.adim-seridi li { display: grid; grid-template-columns: 26px 1fr; gap: 2px 8px; align-items: center; padding: 9px 10px; border-radius: 10px; background: #f3f5f9; color: var(--metin-3); }
.adim-seridi .nokta { grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #e2e7ef; font-weight: 700; font-size: 12.5px; }
.adim-seridi .ad { font-weight: 600; font-size: 13px; line-height: 1.25; }
.adim-seridi .kim { font-size: 11.5px; }
.adim-seridi li.bitti { background: var(--yesil-acik); color: var(--yesil); }
.adim-seridi li.bitti .nokta { background: var(--yesil); color: #fff; }
.adim-seridi li.devam { background: var(--su-acik); color: var(--su-koyu); box-shadow: inset 0 0 0 1.5px var(--su); }
.adim-seridi li.devam .nokta { background: var(--su); color: #fff; }
.is-eylem { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.is-eylem .usta-paneli { left: 0; right: auto; }
.usta-tablosu td { vertical-align: middle; }
.usta-cubuk { display: inline-block; vertical-align: middle; width: 140px; height: 10px; border-radius: 5px; background: #e6ebf2; overflow: hidden; margin-right: 8px; }
.usta-cubuk span { display: block; height: 100%; background: var(--su); border-radius: 5px; }
.usta-sayi { font-size: 15px; font-variant-numeric: tabular-nums; }
.usta-detay td { padding-top: 0 !important; border-top: 0 !important; }
.usta-detay summary { font-size: 12.5px; color: var(--metin-2); cursor: pointer; }
.usta-detay ul { margin: 4px 0 6px; padding-left: 18px; font-size: 12.5px; color: var(--metin-2); }
@media (max-width: 760px) {
  .sade-liste > li { flex-wrap: wrap; }
  .satir-eylem { width: 100%; }
  .btn-buyuk { width: 100%; justify-content: center; }
}

/* ---------------------------------------------------------------- Hızlı fiyat ve 3B (talep sayfası) */
.hizli-fiyat .hf-govde { padding: 14px 16px 16px; }
.hf-alanlar { display: grid; grid-template-columns: 1.3fr .8fr .8fr 1fr .6fr; gap: 10px; align-items: start; }
.hf-alanlar .alan { margin-bottom: 0; }
.hf-ipucu { font-size: 12px; color: var(--metin-3); min-height: 17px; margin-top: 3px; font-variant-numeric: tabular-nums; }
.hf-ipucu.farkli { color: var(--sari); font-weight: 600; }
.hf-3b { margin-top: 8px; }
.hf-sonuc { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 12px; padding: 12px 14px; background: var(--ana-acik);
  border: 1px solid var(--ana-cizgi); border-radius: var(--yaricap); }
.hf-fiyat span { display: flex; gap: 6px; align-items: baseline; font-size: 12.5px; color: var(--metin-2); }
.hf-fiyat span small { font-size: 11.5px; color: var(--metin-3); }
.hf-fiyat b { display: block; font-size: 24px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; color: var(--metin); font-variant-numeric: tabular-nums; }
.hf-ayrinti { flex: 1; min-width: 180px; font-size: 13px; color: var(--metin-2); font-variant-numeric: tabular-nums; line-height: 1.5; }
.hf-dugme { justify-content: center; }
.hf-not { margin: 8px 0 0; }
.hizli-fiyat [data-hf-uyari] .not-kutusu { margin: 8px 0 0; font-size: 12.5px; }
.hizli-fiyat.hesaplaniyor .hf-sonuc b, .hizli-fiyat.hesaplaniyor .hf-ayrinti { opacity: .5; transition: opacity .15s; }
.uc-boyut { margin-top: 12px; }
.uc-boyut > summary { margin-bottom: 8px; }
details.daha.uc-boyut[open] > summary .ikon { transform: none; }
@media (max-width: 760px) {
  .hf-alanlar { grid-template-columns: 1fr 1fr; }
  .hf-alanlar .alan:first-child { grid-column: 1 / -1; }
  .hf-dugme { width: 100%; }
}

/* ---------------------------------------------------------------- ERP 2. aşama: sipariş kartı, sevkiyat, ödeme, kapasite */
.o-sevkiyat.takvim-olay { background: var(--camgobegi-acik); color: var(--camgobegi); }
.o-montaj.takvim-olay, .o-servis.takvim-olay { background: var(--sari-acik); color: var(--sari); }
.takvim-lejant .o-sevkiyat { color: var(--camgobegi); }
.takvim-lejant .o-montaj, .takvim-lejant .o-servis { color: var(--sari); }
.sip-adimlar { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 0; }
.sip-adimlar li { display: flex; align-items: center; gap: 8px; padding: 7px 12px 7px 8px; border-radius: 99px; background: #fff;
  border: 1px solid var(--cizgi); color: var(--metin-3); font-size: 13px; font-weight: 600; }
.sip-adimlar .nokta { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 11.5px;
  background: var(--zemin); color: var(--metin-3); }
.sip-adimlar li.gecti { color: var(--metin); }
.sip-adimlar li.gecti .nokta { background: var(--yesil); color: #fff; }
.sip-adimlar li.simdi { border-color: var(--yesil); box-shadow: 0 0 0 3px var(--yesil-acik); }
.ilerleme-cubuk { height: 6px; background: var(--zemin); border-radius: 99px; overflow: hidden; margin-bottom: 3px; }
.ilerleme-cubuk span { display: block; height: 100%; background: var(--ana); border-radius: 99px; }
.sevk-blok { border-top: 1px solid var(--cizgi); }
.sevk-blok.iptal { opacity: .55; }
.sevk-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 12px 16px; flex-wrap: wrap; }
.sevk-ust .eylem { display: flex; gap: 6px; }
.sevk-form { padding: 0 16px 14px; }
.sevk-bilgi { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 16px; padding: 0 16px 12px; font-size: 13px; }
.sevk-bilgi span { display: block; color: var(--metin-3); font-size: 12px; }
.izgara-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
.nakliyeci-oneri { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 10px; }
.oneri-cip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--ana-cizgi); background: var(--ana-acik);
  color: var(--ana-koyu); border-radius: 99px; padding: 5px 10px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.oneri-cip span { font-weight: 400; color: var(--metin-2); }
.oneri-cip.secili { background: var(--ana); color: #fff; border-color: var(--ana); }
.oneri-cip.secili span { color: #dbe7ff; }
span.oneri-cip { cursor: default; }
.pl-tablo .girdi { height: 32px; }
.odeme-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.odeme-ozet span { display: block; font-size: 12.5px; color: var(--metin-2); }
.odeme-ozet b { font-size: 18px; font-variant-numeric: tabular-nums; }
.odeme-cubuk { height: 8px; background: var(--zemin); border-radius: 99px; overflow: hidden; margin-top: 10px; }
.odeme-cubuk span { display: block; height: 100%; background: var(--yesil); }
.odeme-cubuk.kucuk-cubuk { height: 6px; margin: 0 0 3px; }
.yesil-metin { color: var(--yesil); }
.kirmizi-metin { color: var(--kirmizi); }
.karlilik-tablosu td { padding: 8px 4px; }
.karlilik-tablosu tr.toplam td { border-top: 2px solid var(--metin); font-weight: 700; font-size: 15px; }
.erp-kutu.sari { border-color: #f3d9a4; background: var(--sari-acik); }
.erp-kutu.kirmizi { border-color: #f5c2c2; background: var(--kirmizi-acik); }
a.erp-kutu { color: inherit; text-decoration: none; transition: box-shadow .15s, transform .15s; }
a.erp-kutu:hover { box-shadow: var(--golge-2); transform: translateY(-1px); }
.daha-kart > summary { list-style: none; cursor: pointer; }
.daha-kart > summary::-webkit-details-marker { display: none; }
.stok-panel { display: grid; gap: 6px; }
.stok-panel-satir { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.stok-panel-satir span { flex: 1; }
.stok-panel-satir small { display: block; color: var(--metin-3); }
.stok-panel-satir .girdi { width: 80px; height: 32px; text-align: right; }
.isaretler { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.kalite-listesi { display: grid; gap: 8px; }
.kalite-listesi label { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.kart.vurgulu { border-color: var(--yesil); box-shadow: 0 0 0 3px var(--yesil-acik); }
.doluluk-acik { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 12.5px; color: var(--metin-2); }
.doluluk-acik span { display: inline-flex; align-items: center; gap: 6px; }
.doluluk-acik i { width: 12px; height: 12px; border-radius: 3px; background: var(--zemin); border: 1px solid var(--cizgi); }
.doluluk-acik i.yari { background: var(--ana); border-color: var(--ana); }
.doluluk-acik i.dolu { background: var(--sari); border-color: var(--sari); }
.recete-bolum { margin-bottom: 14px; }
.recete-bolum > summary { cursor: pointer; list-style: none; }
.recete-bolum > summary::-webkit-details-marker { display: none; }
.recete-ekle-kap { margin-top: 6px; }
.recete-ekle-kap > summary { list-style: none; width: fit-content; }
.recete-ekle-kap > summary::-webkit-details-marker { display: none; }
.sira-no { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ana); color: #fff; font-size: 13px; font-weight: 700; margin-right: 4px; }
.doluluk { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 4px; align-items: end; }
.doluluk-gun { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.doluluk-gun .cubuk { width: 100%; height: 90px; background: var(--zemin); border-radius: 6px; display: flex; align-items: flex-end; overflow: hidden; }
.doluluk-gun .cubuk span { width: 100%; background: var(--ana); border-radius: 6px 6px 0 0; }
.doluluk-gun .cubuk span.dolu { background: var(--sari); }
.doluluk-gun small { font-size: 10.5px; color: var(--metin-3); font-variant-numeric: tabular-nums; }
.rozet.s-aktarilacak, .rozet.sv-plan, .rozet.mt-plan, .rozet.sr-acik { background: var(--sari-acik); color: var(--sari); }
.rozet.s-uretimde, .rozet.sr-plan, .rozet.mt-sahada { background: var(--ana-acik); color: var(--ana-koyu); }
.rozet.s-hazir, .rozet.s-sevk, .rozet.sv-yuklendi { background: var(--camgobegi-acik); color: var(--camgobegi); }
.rozet.s-tamamlandi, .rozet.sv-teslim, .rozet.mt-bitti, .rozet.sr-cozuldu { background: var(--yesil-acik); color: var(--yesil); }
.rozet.s-iptal, .rozet.sv-iptal, .rozet.mt-iptal, .rozet.sr-iptal { background: var(--zemin); color: var(--metin-3); }
@media (max-width: 760px) {
  .izgara-3 { grid-template-columns: 1fr 1fr; }
  .doluluk { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .sip-adimlar li { padding: 5px 10px 5px 6px; font-size: 12px; }
}
.sade-liste:not(.liste) { list-style: none; margin: 0; padding: 0; }
.sade-liste:not(.liste) > li { display: flex; border-bottom: 1px solid #eef1f5; }
.sade-liste:not(.liste) > li:last-child { border-bottom: 0; }
.satir-govde { flex: 1; min-width: 0; }
.satir-govde .ikincil { margin-top: 3px; }
.satir-baslik { font-weight: 600; font-size: 14.5px; color: var(--metin); text-decoration: none; }
a.satir-baslik:hover { color: var(--ana); }

/* ------------------------------------------------------------------ Çek ve senet */
.evrak-eylem { display: flex; gap: 6px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.evrak-menu { position: relative; }
.evrak-menu summary { list-style: none; cursor: pointer; }
.evrak-menu summary::-webkit-details-marker { display: none; }
.evrak-menu-ic { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 260px; display: grid; gap: 12px; padding: 12px; text-align: left; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; box-shadow: 0 8px 24px rgba(15, 30, 60, .14); }
.evrak-menu-ic form { display: grid; gap: 6px; }

/* ---------- Telefonda tablolar kart olur: yana kaydırma yok, düğmeler ekranda ---------- */
@media (max-width: 760px) {
  .tablo-kap:not(:has(.hedef-tablosu)) { overflow: visible; }
  .tablo:not(.hedef-tablosu), .tablo:not(.hedef-tablosu) tbody, .tablo:not(.hedef-tablosu) tr { display: block; width: 100%; }
  .tablo:not(.hedef-tablosu) thead { display: none; }
  .tablo:not(.hedef-tablosu) tbody tr { padding: 10px 14px; border-bottom: 1px solid var(--cizgi); }
  .tablo:not(.hedef-tablosu) tbody tr:last-child { border-bottom: 0; }
  .tablo:not(.hedef-tablosu) td { display: block; overflow: hidden; width: auto !important; min-width: 0 !important; max-width: none !important; padding: 3px 0; border: 0; text-align: right; white-space: normal; overflow-wrap: anywhere; }
  .tablo:not(.hedef-tablosu) td::before { content: attr(data-baslik); float: left; max-width: 48%; margin-right: 12px; color: var(--metin-3); font-size: 12.5px; font-weight: 500; text-align: left; }
  .tablo:not(.hedef-tablosu) td:first-child { text-align: left; padding-bottom: 6px; }
  .tablo:not(.hedef-tablosu) td:first-child::before { content: none; }
  .tablo:not(.hedef-tablosu) td:has(.girdi) { text-align: left; }
  .tablo:not(.hedef-tablosu) td:has(.girdi)::before { float: none; display: block; margin-bottom: 3px; }
  .tablo:not(.hedef-tablosu) td .kirp { max-width: 100% !important; white-space: normal; }
}
@media (max-width: 760px) {
  form.filtre:has(.filtre-dugmesi):not(.filtre-acik) select { display: none; }
}
@media (max-width: 600px) {
  .bildirim-paneli { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; max-width: none; }
  .bildirim-paneli ul { max-height: 60vh; }
}
@media (max-width: 900px) {
  .sayfa-bas:has(+ .kutu-duzeni.konusma-acik) { display: none; }
  .kutu-duzeni.konusma-acik { height: calc(100dvh - 92px); min-height: 0; }
  .kutu-duzeni.konusma-acik .sohbet { height: 100%; min-height: 0; }
  .kutu-duzeni.konusma-acik .balonlar { min-height: 0; flex: 1; }
}
.eylemler form { flex-wrap: wrap; max-width: 100%; }

/* ---------- Yazım düzeni: küçük etiketler KOMPLE BÜYÜK (html lang=tr: İ/I doğru çıkar) ---------- */
.tablo th, .erp-kutu .e, .hat-olcu .e, .hat-baslik, .uretim-ozeti span, .depo-gosterge .sayi small,
.teklif-ozet .e, .odeme-ozet span, .sevk-bilgi span, .ozet-cip {
  text-transform: uppercase; letter-spacing: .05em; font-size: 11px; font-weight: 600;
}
.ozet-cip b { text-transform: none; letter-spacing: normal; font-size: 14px; }
.hat-baslik b { font-weight: 700; }
.uretim-ozeti span { color: var(--metin-2); }
@media (max-width: 760px) {
  .tablo:not(.hedef-tablosu) td::before { text-transform: uppercase; letter-spacing: .04em; font-size: 10.5px; font-weight: 600; }
}
.talep-sutun { min-width: 205px; }
@media (max-width: 1320px) {
  .tablo th, .tablo td { padding-left: 8px; padding-right: 8px; }
  .tablo th { letter-spacing: .02em; font-size: 10.5px; }
  .tablo th { white-space: normal; }
  .tablo.sikisik th, .tablo.sikisik td { padding-left: 5px; padding-right: 5px; }
  .iki-esit > *, .iki-kolon > * { min-width: 0; }
  .talep-sutun { min-width: 170px; }
}
@media (min-width: 761px) and (max-width: 1240px) { .kaynak-sutun { display: none; } }

/* ---------- AI Asistan ---------- */
.icerik:has(> .asistan) { padding-bottom: 14px; }
.asistan { display: flex; flex-direction: column; height: calc(100dvh - 96px); min-height: 440px; }
.asistan-bas { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex: none; }
.asistan-simge { width: 40px; height: 40px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; flex: none; color: #fff; background: linear-gradient(135deg, var(--su), var(--ana)); }
.asistan-kim { flex: 1; min-width: 0; }
.asistan-kim h1 { font-size: 20px; }
.asistan-kim p { margin: 1px 0 0; color: var(--metin-2); font-size: 13px; }
.asistan-eylem { display: flex; gap: 8px; align-items: center; flex: none; }
.asistan-gecmis { position: relative; }
.asistan-gecmis summary { list-style: none; cursor: pointer; }
.asistan-gecmis summary::-webkit-details-marker { display: none; }
.asistan-gecmis-liste { position: absolute; right: 0; top: calc(100% + 6px); z-index: 15; width: 340px; max-width: calc(100vw - 32px); max-height: 360px; overflow-y: auto; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; box-shadow: var(--golge-2); padding: 6px; }
.asistan-gecmis-satir { display: flex; align-items: center; border-radius: 7px; }
.asistan-gecmis-satir:hover, .asistan-gecmis-satir.secili { background: var(--ana-acik); }
.asistan-gecmis-satir a { flex: 1; min-width: 0; padding: 7px 9px; color: var(--metin); display: grid; }
.asistan-gecmis-satir a:hover { text-decoration: none; }
.asistan-gecmis-satir small { color: var(--metin-2); font-size: 12px; }
.asistan-gecmis-satir form { flex: none; margin-right: 3px; }
.asistan-gecmis-satir button { border: 0; background: none; color: var(--metin-2); padding: 7px; border-radius: 6px; cursor: pointer; display: flex; }
.asistan-gecmis-satir button:hover { color: var(--kirmizi); background: var(--kirmizi-acik); }
.asistan-kart { flex: 1; min-height: 0; display: flex; flex-direction: column; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge); overflow: hidden; }
.asistan-akis { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.asistan-sutun { max-width: 800px; min-height: 100%; margin: 0 auto; padding: 24px 22px 8px; display: flex; flex-direction: column; }
.asistan-bos { margin: auto 0; padding: 12px 0 24px; text-align: center; }
.asistan-bos[hidden] { display: none; }
.asistan-bos h2 { font-size: 20px; font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.asistan-bos p { color: var(--metin-2); margin: 6px 0 20px; text-wrap: balance; }
.asistan-oneriler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; text-align: left; }
.asistan-oneriler button { font: inherit; line-height: 1.35; color: var(--metin); background: #f7f9fc; border: 1px solid var(--cizgi); border-radius: 9px; padding: 10px 13px; cursor: pointer; text-align: left; transition: background .12s, border-color .12s, color .12s; }
.asistan-oneriler button:hover:not(:disabled) { background: var(--ana-acik); border-color: var(--ana-cizgi); color: #12305f; }
.asistan-oneriler button:disabled { cursor: default; color: var(--metin-2); }
.am { margin-bottom: 20px; min-width: 0; }
.am-ben { display: flex; justify-content: flex-end; }
.am-ben .am-metin { max-width: 80%; padding: 9px 14px; border-radius: 14px 14px 4px 14px; background: var(--ana-acik); color: #12305f; font-size: 14.5px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.am-o { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 11px; }
.am-simge { grid-row: 1 / span 3; width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: var(--ana-acik); color: var(--ana); }
.am-o .am-metin { grid-column: 2; min-width: 0; padding-top: 3px; font-size: 14.5px; line-height: 1.62; overflow-wrap: break-word; }
.am-o .am-metin:empty { display: none; }
.am-metin p { margin: 0 0 10px; }
.am-metin ul, .am-metin ol { margin: 0 0 10px; padding-left: 20px; }
.am-metin li { margin-bottom: 3px; }
.am-metin h3 { font-size: 14.5px; font-weight: 700; margin: 14px 0 6px; }
.am-metin h3:first-child { margin-top: 0; }
.am-metin > :last-child { margin-bottom: 0; }
.am-metin strong { font-weight: 650; }
.am-metin a { font-weight: 600; text-underline-offset: 2px; }
.am-tablo { overflow-x: auto; margin: 0 0 12px; border: 1px solid var(--cizgi); border-radius: 8px; }
.am-tablo table { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.am-tablo th { padding: 7px 11px; background: #f5f8fc; color: var(--metin-2); font-weight: 650; text-align: left; white-space: nowrap; }
.am-tablo td { padding: 7px 11px; border-top: 1px solid var(--cizgi); vertical-align: top; }
.am-tablo .sayi { text-align: right; white-space: nowrap; }
.am-tablo-excel { display: inline-flex; align-items: center; gap: 6px; margin: -6px 0 12px; padding: 4px 8px; border: 0; border-radius: 6px; background: none; color: var(--ana); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.am-tablo-excel:hover { background: var(--ana-acik); }
.am-tablo-excel:disabled { color: var(--metin-2); cursor: default; }
.am-dosya { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; gap: 9px; margin-top: 8px; padding: 9px 13px; max-width: 100%; border: 1px solid var(--ana-cizgi); border-radius: 9px; background: var(--ana-acik); color: #12305f; font-weight: 600; }
.am-dosya:hover { text-decoration: none; border-color: var(--ana); }
.am-dosya span { min-width: 0; overflow-wrap: anywhere; }
.am-dosya small { flex: none; color: var(--metin-2); font-weight: 500; }
.am-kart { grid-column: 2; margin-top: 10px; border: 1px solid var(--cizgi-koyu); border-radius: 10px; background: #fff; overflow: hidden; }
.am-kart.dis { border-color: #e7b75f; }
.am-kart-bas { display: flex; align-items: center; gap: 8px; padding: 9px 13px; background: #f5f8fc; border-bottom: 1px solid var(--cizgi); }
.am-kart-bas b { flex: 1; min-width: 0; font-weight: 650; }
.am-kart-durum { flex: none; color: var(--metin-2); font-size: 12.5px; font-weight: 600; }
.am-kart[data-durum="tamam"] .am-kart-bas { background: var(--yesil-acik); color: var(--yesil); }
.am-kart[data-durum="tamam"] .am-kart-durum { color: inherit; }
.am-kart[data-durum="hata"] .am-kart-bas { background: var(--kirmizi-acik); color: #8f1d1d; }
.am-kart[data-durum="hata"] .am-kart-durum { color: inherit; }
.am-kart dl { display: grid; grid-template-columns: minmax(90px, 140px) minmax(0, 1fr); gap: 5px 12px; margin: 0; padding: 10px 13px; font-size: 14px; }
.am-kart dt { color: var(--metin-2); }
.am-kart dd { margin: 0; white-space: pre-wrap; overflow-wrap: break-word; font-variant-numeric: tabular-nums; }
.am-kart-uyari { margin: 0 13px 10px; padding: 7px 10px; border-radius: 7px; background: var(--sari-acik); color: #6b3d00; font-size: 13px; }
.am-kart-alt { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 13px 12px; }
.am-kart-sonuc { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 0 13px 11px; font-size: 13.5px; }
.am-kart-sonuc a { font-weight: 650; }
.am-durum { grid-column: 2; display: flex; align-items: center; gap: 8px; padding-top: 5px; color: var(--metin-2); font-size: 13.5px; }
.am-durum::before { content: ""; width: 13px; height: 13px; flex: none; border-radius: 50%; border: 2px solid var(--ana-cizgi); border-top-color: var(--ana); animation: donus .7s linear infinite; }
.am-hata { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 4px; padding: 8px 12px; border-radius: 9px; background: var(--kirmizi-acik); color: #8f1d1d; font-size: 13.5px; }
.am-hata button { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.asistan-yazi { flex: none; padding: 12px 22px 8px; border-top: 1px solid var(--cizgi); }
.asistan-giris, .asistan-not, .asistan-kapali { max-width: 756px; margin-left: auto; margin-right: auto; }
.asistan-kapali { margin-bottom: 10px; }
.asistan-giris { display: flex; align-items: flex-end; gap: 8px; padding: 6px 6px 6px 13px; background: #fff; border: 1px solid var(--cizgi-koyu); border-radius: 12px; transition: border-color .12s, box-shadow .12s; }
.asistan-giris:focus-within { border-color: #7aa5ef; box-shadow: 0 0 0 3px var(--ana-acik); }
.asistan-giris textarea { flex: 1; min-width: 0; max-height: 150px; padding: 6px 0; border: 0; outline: 0; resize: none; background: transparent; color: var(--metin); font: inherit; font-size: 14.5px; line-height: 1.5; }
.asistan-giris textarea::placeholder { color: var(--metin-2); }
.asistan-giris textarea:disabled { cursor: not-allowed; }
.asistan-giris .btn { flex: none; height: 36px; }
.asistan-giris .btn-durdur { background: #fff; border-color: var(--cizgi-koyu); color: var(--metin); }
.asistan-not { margin-top: 7px; margin-bottom: 0; color: var(--metin-2); font-size: 12px; text-align: center; }
@media (max-width: 900px) {
  .asistan { height: calc(100dvh - 90px); }
}
@media (max-width: 600px) {
  .asistan { min-height: 360px; }
  .asistan-bas { margin-bottom: 10px; }
  .asistan-kim p, .asistan-eylem .btn-metin, .asistan-giris .btn-metin { display: none; }
  .asistan-oneriler { grid-template-columns: minmax(0, 1fr); }
  .asistan-sutun { padding: 16px 14px 6px; }
  .asistan-yazi { padding: 10px 12px 6px; }
  .am-ben .am-metin { max-width: 88%; }
  .am-kart dl { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .am-kart dd { margin-bottom: 7px; }
  .am-kart-alt .btn { flex: 1; }
  .asistan-not { font-size: 11.5px; }
}

/* ================================================================== Kabuk ve hareket
   Daraltılabilir sol menü, geniş ekran, sayfa bilgisi çekmecesi, geçiş (biten iş nereye gitti) ve sayfa açılışı. */

/* ---------- Sol menü: daraltılmış (dar) hâl yalnız masaüstünde; durum html.menu-dar (sayfa çizilmeden önce eklenir) ---------- */
.menu-logo a { display: block; position: relative; width: fit-content; }
.menu-logo .logo-isaret { display: none; }
.menu-grup-simgesi { display: none; }
@media (min-width: 901px) {
  html.menu-gecis { transition: --menu-gen .26s var(--egri-cik); }
  @media (prefers-reduced-motion: reduce) { html.menu-gecis { transition-duration: .18s; } }
  html.menu-dar { --menu-gen: var(--menu-dar-gen); }
  .menu { width: var(--menu-gen); }
  /* Dar menünün üzerine gelince ya da klavyeyle içine girince menü içeriğin üstüne açılır (içerik kaymaz) */
  html.menu-dar .menu { transition: width .2s var(--egri-cik) .14s, box-shadow .2s ease .14s; }
  html.menu-dar .menu:is(:hover, :has(:focus-visible)) { width: var(--menu-acik-gen); box-shadow: 12px 0 36px -12px rgba(5, 15, 35, .6); transition-delay: .06s; }
  html.menu-gecis .menu { transition: none; }
  html.menu-dar .menu nav { overflow-x: hidden; }
  html.menu-dar .menu a.oge, html.menu-dar .menu-katlama summary { position: relative; padding-left: 17px; white-space: nowrap; }
  html.menu-dar .menu-katlama summary { gap: 11px; }
  html.menu-dar .menu-katlama a.oge { margin-left: 0; }
  html.menu-dar .menu-katlama { margin-top: 6px; padding-top: 2px; border-top: 1px solid rgba(185, 198, 221, .1); }
  html.menu-dar .menu-grup-simgesi { display: block; }
  html.menu-dar .menu-logo .logo-tam { transition: opacity .16s ease; }
  html.menu-dar .menu-logo .logo-isaret { display: block; position: absolute; left: -1px; top: 50%; width: 38px; height: 38px; margin-top: -19px; transition: opacity .16s ease; }
  html.menu-dar .menu-alt { padding-left: 18px; }
  html.menu-dar .menu-alt > * { transition: opacity .16s ease; }
  /* Dar ve kapalı: yalnız simgeler. Yazılar saydamlaşır (açılırken solarak belirir); sayılar simgenin köşesine geçer. */
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) :is(a.oge, .menu-katlama summary) { color: transparent; }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) :is(a.oge, .menu-katlama summary) .ikon { color: var(--menu-metin); }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) a.oge.secili .ikon { color: #7fdcf5; }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) .sayac { position: absolute; top: 2px; left: 33px; min-width: 16px; height: 16px; margin: 0; padding: 0 4px; font-size: 10px; line-height: 16px; text-align: center; box-shadow: 0 0 0 2px var(--menu); }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) .menu-katlama summary > .ikon:last-child { position: absolute; right: 2px; top: 50%; width: 11px; height: 11px; margin: -5.5px 0 0; opacity: .55; }
  /* Dar menüde logo yerine hep “A” işareti kalır; bağlantı yalnız işaret kadar yer kaplar */
  html.menu-dar .menu .logo-tam { opacity: 0; pointer-events: none; }
  html.menu-dar .menu-logo a { width: 38px; }
  /* Açılan dar menü üst çubuğun 60 px'lik bandını örtmez: raydan ☰ düğmesine giden fare logoya değil düğmeye basar.
     Kural her an geçerli (yalnız üzerine gelince uygulansa titrer); sağdaki 48 px açılan menünün gölgesine yer bırakır. */
  html.menu-dar .menu { clip-path: polygon(0 0, var(--menu-gen) 0, var(--menu-gen) 60px, calc(100% + 48px) 60px, calc(100% + 48px) 100%, 0 100%); }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) .menu-alt > :not(:first-child) { opacity: 0; }
  html.menu-dar .menu-alt .menu-kisi-yazi { transition: opacity .16s ease; }
  html.menu-dar .menu:not(:hover, :has(:focus-visible)) .menu-alt .menu-kisi-yazi { opacity: 0; }
}
/* Menü grupları açılıp kapanırken yükseklik yumuşak değişir (destekleyen tarayıcıda; diğerlerinde eskisi gibi anında) */
.menu-katlama, details.daha:not(.uc-boyut), details.silinenler, details.daha-kart, details.recete-bolum { interpolate-size: allow-keywords; }
:is(.menu-katlama, details.daha:not(.uc-boyut), details.silinenler, details.daha-kart, details.recete-bolum)::details-content {
  block-size: 0; overflow-y: clip; overflow-clip-margin: 4px;
  transition: block-size .24s var(--egri-cik), content-visibility .24s allow-discrete;
}
:is(.menu-katlama, details.daha:not(.uc-boyut), details.silinenler, details.daha-kart, details.recete-bolum)[open]::details-content { block-size: auto; }
details.daha > summary .ikon { transition: transform .2s var(--egri-cik); }
/* Sayfa açılırken geri yüklenen açık gruplar ve bölümler anında açılır (kayma ve kaydırma hatası olmasın) */
html.gecis-yok details::details-content { transition: none !important; }
html.gecis-yok .menu-katlama summary > .ikon:last-child { transition: none !important; }

/* ---------- Geniş ekran ---------- */
.sayfa-bas .alt-yazi, .kart-govde > p, .not-kutusu > div, .not-kutusu > p, .hat .alt-yazi, .depo-aciklama { max-width: 82ch; }
@media (min-width: 1700px) {
  .kutu-duzeni { grid-template-columns: clamp(340px, 20vw, 440px) minmax(0, 1fr); }
  .iki-esit, .uc-esit { gap: 22px; }
}
/* Ana sayfa: depolar ekranla biraz uzar; geniş ekranda sağ sütun ikiye bölünür (üç sütun). Eşik içerik genişliğine
   göre: menü açıkken 1880 px, dar menüde 1710 px (ikisinde de içerik ~1.580 px); 1920 px'te sol sütun erken bitmez. */
@media (min-width: 1081px) { .depo-gosterge .govde { height: clamp(128px, calc(4vw + 60px), 170px); } }
@media (min-width: 1880px) {
  .pano-izgara.iki-kolon.genis-sag { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .pano-yan { columns: 2; column-gap: 16px; }
  .pano-yan > .kart { break-inside: avoid; margin: 0 0 16px; }
}
@media (min-width: 1710px) {
  html.menu-dar .pano-izgara.iki-kolon.genis-sag { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  html.menu-dar .pano-yan { columns: 2; column-gap: 16px; }
  html.menu-dar .pano-yan > .kart { break-inside: avoid; margin: 0 0 16px; }
}
/* Sağ taraftaki dar kartlarda tablo başlığı iki satıra iner (“Açık Talep”, “Geciken Takip”); tablo karta sığar, yana kaymaz */
.pano-yan .tablo th { white-space: normal; }
@media print {
  .icerik *, .icerik { animation: none !important; }
  .gecis-yol, .bilgi-dugmesi { display: none !important; }
}

/* ---------- Sayfa bilgisi: başlığın yanında "i", tıklanınca sağdan açıklama çekmecesi ---------- */
.baslik-satiri { display: flex; align-items: center; gap: 4px 8px; min-width: 0; }
.baslik-satiri > h1 { min-width: 0; }
.bilgi-dugmesi { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--metin-3); cursor: pointer; transition: background-color .15s, color .15s, transform .15s var(--egri-cik); }
.bilgi-dugmesi .ikon { width: 20px; height: 20px; }
.bilgi-dugmesi:hover, .bilgi-dugmesi[aria-expanded="true"] { background: var(--ana-acik); color: var(--ana); }
.bilgi-dugmesi:active { transform: scale(.9); }
.hat .bilgi-dugmesi { color: rgba(214, 227, 245, .72); }
.hat .bilgi-dugmesi:hover, .hat .bilgi-dugmesi[aria-expanded="true"] { background: rgba(255, 255, 255, .13); color: #fff; }
.hat .bilgi-dugmesi:focus-visible { outline-color: #7fdcf5; }
dialog.cekmece { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(460px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 16px 0 0 16px; box-shadow: -24px 0 60px -20px rgba(15, 23, 42, .35); background: var(--kart); }
dialog.cekmece[open] { display: flex; flex-direction: column; }
dialog.cekmece:not([open]) { opacity: 1; transform: translateX(calc(100% + 24px)); }
@starting-style { dialog.cekmece[open] { opacity: 1; transform: translateX(calc(100% + 24px)); } }
dialog.cekmece { transition: transform .3s var(--egri-cik), opacity .2s ease, overlay .3s allow-discrete, display .3s allow-discrete; }
dialog.cekmece:not([open]) { transition-duration: .2s; transition-timing-function: var(--egri-gir); }
@media (prefers-reduced-motion: reduce) {
  dialog.cekmece:not([open]) { opacity: 0; transform: translateX(28px); }
  @starting-style { dialog.cekmece[open] { opacity: 0; transform: translateX(28px); } }
}
.cekmece-bas { flex: none; display: flex; align-items: flex-start; gap: 12px; padding: 18px 18px 14px 20px; border-bottom: 1px solid var(--cizgi); }
.cekmece-bas .ikon-kare { width: 38px; height: 38px; border-radius: 11px; }
.cekmece-baslik { flex: 1; min-width: 0; padding-top: 1px; }
.cekmece-baslik .ust-yazi { font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--metin-3); }
.cekmece-baslik h2 { font-size: 18px; margin-top: 2px; overflow-wrap: anywhere; }
.cekmece-govde { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 20px 32px; }
.cekmece-ozet { font-size: 14.5px; line-height: 1.6; color: #1e293b; margin: 0 0 14px; }
.cekmece-govde .not-kutusu { margin: 0 0 6px; }
.cekmece-govde .not-kutusu b { display: block; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 1px; }
.cekmece-bolum { font-size: 11.5px; font-weight: 700; color: var(--metin-3); text-transform: uppercase; letter-spacing: .07em; margin: 22px 0 10px; }
.cekmece-liste { display: grid; gap: 8px; margin: 0; }
.cekmece-liste > div { padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 10px; background: #fbfcfe; }
.cekmece-liste dt { font-weight: 650; font-size: 13.5px; color: var(--metin); }
.cekmece-liste dd { margin: 3px 0 0; font-size: 13px; line-height: 1.55; color: var(--metin-2); }
.cekmece-adimlar { list-style: none; counter-reset: adim; margin: 0; padding: 0; display: grid; gap: 10px; }
.cekmece-adimlar li { counter-increment: adim; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13.5px; line-height: 1.55; color: #1e293b; }
.cekmece-adimlar li::before { content: counter(adim); width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--ana-acik); color: var(--ana-koyu); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cekmece-ipuclari { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cekmece-ipuclari li { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; color: #1e293b; }
.cekmece-ipuclari li .ikon { flex: none; margin-top: 2px; color: var(--su-koyu); }
@media (max-width: 600px) {
  dialog.cekmece { width: 100vw; border-radius: 0; }
  .cekmece-govde { padding: 16px 16px 28px; }
}

/* ---------- Geçiş: biten ya da yer değiştiren iş solarak çıkar, adını taşıyan küçük kart gittiği yere uçar ---------- */
.gecis-yol { position: fixed; left: 0; top: 0; z-index: 400; pointer-events: none; will-change: transform; }
.gecis-cip { display: inline-flex; align-items: center; gap: 7px; max-width: 300px; padding: 6px 12px 6px 6px; border-radius: 99px; background: #fff; color: var(--metin); font-size: 13px; font-weight: 600; line-height: 1.2; white-space: nowrap; box-shadow: 0 14px 32px -10px rgba(11, 29, 58, .45), 0 0 0 1px rgba(15, 23, 42, .08); will-change: transform, opacity; }
.gecis-cip .ikon { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--yesil); color: #fff; stroke-width: 3; }
.gecis-cip span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.gecis-cip.yalniz-ikon { padding: 6px; }
/* Varış: hedef kısa süre parlayan bir halkayla gösterilir */
@keyframes gecis-parla {
  0% { outline: 3px solid rgba(var(--parla-renk), 0); outline-offset: calc(var(--parla-ofset) + var(--kayma)); }
  14% { outline: 3px solid rgba(var(--parla-renk), .75); outline-offset: var(--parla-ofset); background-color: rgba(var(--parla-renk), .07); }
  62% { outline: 3px solid rgba(var(--parla-renk), .5); outline-offset: var(--parla-ofset); }
  100% { outline: 3px solid rgba(var(--parla-renk), 0); outline-offset: var(--parla-ofset); }
}
@keyframes gecis-parla-hucre { 14% { background-color: rgba(var(--parla-renk), .13); } 62% { background-color: rgba(var(--parla-renk), .08); } }
.gecis-parla { --parla-renk: 19, 169, 207; --parla-ofset: 3px; animation: gecis-parla 1.6s ease-out; }
.gecis-parla.parla-yesil { --parla-renk: 22, 163, 74; }
/* Kartın içinde kenara dayanan satırlarda halka içeride kalır (kesilmez) */
:is(.liste > li, .sade-liste > li, .uyari-listesi > li, .konusma-listesi li, .zaman > li).gecis-parla { --parla-ofset: -2px; }
tr.gecis-parla { --parla-renk: 19, 169, 207; animation: none; }
tr.gecis-parla > td { animation: gecis-parla-hucre 1.6s ease-out; }
/* Menüde varış: bağlantı bir kez parlar, simgesi ve sayısı hafifçe zıplar */
@keyframes menu-varis {
  0% { box-shadow: inset 0 0 0 1px rgba(127, 220, 245, 0); background-color: rgba(127, 220, 245, 0); }
  22% { box-shadow: inset 0 0 0 1.5px rgba(127, 220, 245, .8); background-color: rgba(127, 220, 245, .22); }
  100% { box-shadow: inset 0 0 0 1px rgba(127, 220, 245, 0); background-color: rgba(127, 220, 245, 0); }
}
@keyframes ikon-zipla { 35% { transform: scale(var(--zipla, 1.3)); } }
.menu .gecis-varis { animation: menu-varis 1.3s ease-out; }
.menu .gecis-varis > .ikon:first-child { animation: ikon-zipla .55s var(--egri-yay); }
.menu-ac.gecis-varis { animation: dugme-varis 1.1s ease-out; }
@keyframes dugme-varis { 20% { background-color: var(--ana-acik); color: var(--ana); box-shadow: 0 0 0 3px rgba(19, 169, 207, .35); } }
/* Uçan kart hedefe vardığında hedef kısa bir an tepki verir */
.gecis-yakaladi { animation: gecis-yakala .32s var(--egri-yay); }
@keyframes gecis-yakala { 45% { transform: scale(var(--yakala, 1.06)); } }
/* Sayı değişince (bildirim, mesaj, menü sayıları) kısa zıplama */
@keyframes sayac-zipla { 30% { transform: scale(var(--zipla, 1.38)); } 62% { transform: scale(.94); } }
.zipla { animation: sayac-zipla .5s var(--egri-cik); }
/* Takip tamamlanınca onay dairesi tıkla birlikte dolar */
@keyframes onay-dol { 0% { transform: scale(.7); box-shadow: 0 0 0 0 rgba(22, 163, 74, .45); } 55% { transform: scale(var(--zipla, 1.18)); } 100% { transform: none; box-shadow: 0 0 0 9px rgba(22, 163, 74, 0); } }
.onay-daire.nabiz { animation: onay-dol .5s var(--egri-cik); }
@media (prefers-reduced-motion: reduce) {
  :root { --zipla: 1.12; --yakala: 1.03; }
  .menu .gecis-varis > .ikon:first-child { animation-timing-function: ease-out; }
}

/* ---------- Canlı ama sakin: açılır paneller, satırlar, düğmeler ---------- */
:is(details.bildirim-menu, details.usta-secimi, details.evrak-menu, details.hazir-menu, details.asistan-gecmis)::details-content { transition: content-visibility .18s allow-discrete; }
:is(.bildirim-paneli, .usta-paneli, .evrak-menu-ic, .asistan-gecmis-liste, .hazir-paneli) { transition: opacity .16s ease, transform .2s var(--egri-cik); transform-origin: top right; }
.is-eylem .usta-paneli { transform-origin: top left; }
.hazir-paneli { transform-origin: bottom left; }
details:not([open]) > :is(.bildirim-paneli, .usta-paneli, .evrak-menu-ic, .asistan-gecmis-liste) { opacity: 0; transform: translateY(calc(var(--kayma) * -.75)) scale(.98); }
details:not([open]) > .hazir-paneli { opacity: 0; transform: translateY(calc(var(--kayma) * .75)) scale(.98); }
@starting-style {
  details[open] > :is(.bildirim-paneli, .usta-paneli, .evrak-menu-ic, .asistan-gecmis-liste) { opacity: 0; transform: translateY(calc(var(--kayma) * -.75)) scale(.98); }
  details[open] > .hazir-paneli { opacity: 0; transform: translateY(calc(var(--kayma) * .75)) scale(.98); }
}
.tablo td { transition: background-color .14s ease; }
.liste > li { transition: background-color .15s ease; }
.liste > li:has(> .govde a, > .satir-govde a):hover { background: #fafbfd; }
.huni-kart { transition: border-color .15s, box-shadow .15s, opacity .15s; }
.erp-kutu, .kpi, .uretim-ozeti a, .hat-olcu a .d, .depo-gosterge .govde, .oneri, .oneri-cip { transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s, transform .15s var(--egri-cik); }
.sekmeler a, .anahtar-grubu a, .secim-cipleri label { transition: background-color .15s, border-color .15s, color .15s; }
.onay-daire { transition: background-color .15s, border-color .15s, color .15s, transform .15s var(--egri-cik); }

/* ---------- Sayfa açılışı: bloklar sırayla, hafifçe yükselerek gelir. Yalnız CSS: betik çalışmasa da içerik hep görünür. ---------- */
@property --giris-sira { syntax: "<integer>"; inherits: false; initial-value: 0; }
@keyframes aq-giris { from { opacity: 0; transform: translateY(var(--kayma)); } }
.icerik > :not(.iki-kolon, .iki-esit, .uc-esit, .kpiler, .erp-kutular, dialog, script, style, template, input, link),
.icerik > :is(.iki-kolon, .iki-esit, .uc-esit) > :is(.kart, :not(div, aside, dialog, script, template)),
.icerik > :is(.iki-kolon, .iki-esit, .uc-esit) > :is(div, aside):not(.kart) > :not(dialog, script, style, template, input),
.icerik > :is(.kpiler, .erp-kutular) > * {
  animation: aq-giris var(--sure-giris) var(--egri-cik) backwards;
  animation-delay: calc(var(--giris-sira) * var(--giris-aralik));
}
/* Sayfa geçişiyle açılan sayfada (html.aq-vt) giriş solması yok: geçiş zaten solarak getirir, içerik alanı boş kalmaz */
html.aq-vt .icerik { --sure-giris: 0s; --giris-aralik: 0ms; }
@supports (order: sibling-index()) {
  .icerik > * { --giris-sira: min(sibling-index() - 1, 6); }
  .icerik > :is(.kpiler, .erp-kutular) > * { --giris-sira: min(sibling-index(), 7); }
  .icerik > :is(.iki-kolon, .iki-esit, .uc-esit) > * { --giris-sira: min(sibling-index() + 1, 8); }
  .icerik > :is(.iki-kolon, .iki-esit, .uc-esit) > :is(div, aside):not(.kart) > * { --giris-sira: min(sibling-index() + 1, 9); }
  .icerik > :is(.iki-kolon, .iki-esit, .uc-esit) > :is(div, aside):not(.kart):nth-child(2) > * { --giris-sira: min(sibling-index() + 2, 10); }
}

/* ================================================================== Kol blokları
   Aşağıdaki üç blok ayrı çalışan kollara ayrıldı; her kol yalnız kendi bloğunu düzenler. */
/* ===== [AJAN:gecis-baglama] başlangıç ===== */
/* Üretim sayfası: onay > atölye > kalite kontrol yukarıdan aşağı tek sütun; numaralı adım ve aradaki ok akışı anlatır. */
.uretim-akisi > .kart { margin-top: 0; }
.uretim-akisi > .kart + .kart { margin-top: 16px; }
.akis-no { flex: none; width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--ana-acik); color: var(--ana-koyu); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.akis-not { margin: 0; padding: 9px 18px; border-bottom: 1px solid #eef1f5; background: #fafbfd; color: var(--metin-2); font-size: 12.5px; }
.akis-ok { display: grid; place-items: center; height: 30px; color: var(--metin-3); }
.akis-ilerleme { display: grid; gap: 3px; justify-items: end; min-width: 150px; }
.akis-ilerleme .ilerleme { width: 140px; }
.akis-bolum-baslik { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.akis-bolum-baslik .sayi-rozet { background: #e3e9f2; color: var(--metin-2); border-radius: 99px; font-size: 11.5px; font-weight: 600; padding: 0 8px; letter-spacing: 0; }
.akis-kartlari > .kart:last-child { margin-bottom: 16px; }
/* Atölye: geniş ekranda “Bitti, Kalite Kontrol Bekliyor” sağda yapışık durur; son adımı biten iş görünür bir yere uçar. */
.atolye-yan > .kart { margin-bottom: 16px; }
@media (min-width: 1360px) {
  .atolye-duzen { display: grid; grid-template-columns: minmax(0, 1fr) clamp(290px, 22vw, 420px); gap: 18px; align-items: start; }
  .atolye-yan { position: sticky; top: 76px; }
  .atolye-yan > .kart { display: flex; flex-direction: column; max-height: calc(100vh - 96px); margin-bottom: 0; }
  .atolye-yan > .kart > .liste { overflow-y: auto; }
  .atolye-yan .liste > li { flex-wrap: wrap; gap: 6px 12px; }
  .atolye-yan .liste .govde { flex-basis: 100%; }
  .atolye-yan .satir-eylem { margin-left: auto; }
  .akis-kartlari > .kart:last-child { margin-bottom: 0; }
  .atolye-duzen + .kart { margin-top: 16px; }
}
@media (max-width: 760px) {
  .akis-ilerleme { justify-items: start; min-width: 0; }
  .akis-liste > li { flex-wrap: wrap; }
  .akis-liste .akis-ilerleme { width: 100%; }
  .akis-liste .akis-ilerleme .ilerleme { width: 100%; }
  .atolye-yan .liste > li { flex-wrap: wrap; }
  .atolye-yan .liste .govde { flex-basis: 100%; }
}
/* ===== [AJAN:gecis-baglama] bitiş ===== */
/* ===== [AJAN:profil] başlangıç ===== */
/* Profil fotoğrafı: simgedeki fotoğraf, profil kartı, kırpma alanı ve kayıttan sonraki hareket. */
.avatar.fotolu { overflow: hidden; }
.avatar > img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.avatar.dev { width: 112px; height: 112px; font-size: 38px; letter-spacing: .01em; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--cizgi); }
.avatar-baglanti { display: inline-flex; border-radius: 50%; }
.avatar-baglanti:hover { text-decoration: none; }
.avatar-baglanti:hover .avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ana-cizgi); }
.foto-karti [hidden] { display: none !important; }
.foto-karti.foto-birak { outline: 2px dashed var(--ana); outline-offset: -6px; background: var(--ana-acik); }
.foto-duzen { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.foto-onizleme { flex: none; padding: 5px; }
.foto-metin { flex: 1; min-width: 220px; }
.foto-durum { font-weight: 600; margin-bottom: 4px; }
.foto-yardim { font-size: 12.5px; color: var(--metin-3); margin-bottom: 12px; }
.foto-eylemler, .foto-yukle, .foto-kaldir { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.foto-dosya { max-width: 300px; height: auto; padding: 6px 8px; }
.foto-kamera { display: none; }
@media (any-pointer: coarse) { .foto-kamera:not([hidden]) { display: inline-flex; } }
.foto-hata { margin: 14px 0 0; }
.kirpici { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--cizgi); }
.kirpici-alan { position: relative; width: 240px; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #0b1d3a; touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.kirpici.surukleniyor .kirpici-alan { cursor: grabbing; }
.kirpici-alan:has(canvas:focus-visible) { outline: 2px solid var(--ana); outline-offset: 3px; }
.kirpici-alan canvas { display: block; width: 100%; height: 100%; outline: none; }
.kirpici-alan::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .9); box-shadow: 0 0 0 999px rgba(11, 29, 58, .55); pointer-events: none; }
.kirpici-ayar h3 { margin-bottom: 4px; }
.kirpici-ayar .alan { margin: 12px 0 4px; }
.foto-yakinlik { width: 100%; max-width: 320px; accent-color: var(--ana); }
@media (hover: none) and (pointer: coarse) { .kirpici-klavye { display: none; } }
.foto-ucan { position: fixed; z-index: 300; margin: 0; border-radius: 50%; object-fit: cover; pointer-events: none; box-shadow: 0 10px 28px -6px rgba(11, 29, 58, .45); will-change: transform; }
.kullanici-duzen { max-width: 760px; }
.kirpici.aciliyor { animation: foto-acil .24s cubic-bezier(.16, 1, .3, 1); }
.kirpici.kapaniyor { animation: foto-kapan .18s ease-in forwards; }
.avatar.foto-yeni { animation: foto-belir .45s cubic-bezier(.16, 1, .3, 1); }
.avatar.foto-vardi { animation: foto-halka .9s ease-out; }
.form-hata.foto-uyari { animation: foto-acil .2s ease-out; }
@keyframes foto-acil { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes foto-kapan { to { opacity: 0; transform: translateY(-6px); } }
@keyframes foto-belir { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
@keyframes foto-halka { 0% { transform: scale(1.12); box-shadow: 0 0 0 0 rgba(19, 169, 207, .8); } 40% { transform: none; } 100% { box-shadow: 0 0 0 14px rgba(19, 169, 207, 0); } }
@keyframes foto-soluk-acil { from { opacity: 0; } to { opacity: 1; } }
@keyframes foto-soluk-kapan { to { opacity: 0; } }
@keyframes foto-halka-sabit { 0%, 35% { box-shadow: 0 0 0 3px rgba(19, 169, 207, .95); } 100% { box-shadow: 0 0 0 3px rgba(19, 169, 207, 0); } }
@media (prefers-reduced-motion: reduce) {
  /* Kayma ve büyüme yok, yalnız solma; uçuş kısa ve düz (profil.js), fotoğrafın vardığı simge halkayla parlar. */
  .kirpici.aciliyor { animation: foto-soluk-acil .2s ease-out; }
  .kirpici.kapaniyor { animation: foto-soluk-kapan .15s ease-in forwards; }
  .avatar.foto-yeni { animation: foto-soluk-acil .35s ease-out; }
  .avatar.foto-vardi { animation: foto-halka-sabit 1.4s ease-out; }
  .form-hata.foto-uyari { animation: foto-soluk-acil .2s ease-out; }
}
@media (max-width: 600px) {
  .foto-duzen { gap: 16px; }
  .avatar.dev { width: 88px; height: 88px; font-size: 30px; }
  .kirpici { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 16px; }
  .kirpici-alan { width: min(280px, 100%); }
  .kirpici-ayar { width: 100%; }
  .foto-eylemler .btn { flex: 1 1 auto; }
  .foto-eylemler form { flex: 1 1 100%; }
}
/* ===== [AJAN:profil] bitiş ===== */
/* ===== [AJAN:raporlar] başlangıç ===== */
/* Raporlar: merkez kartları, dönem seçimi, göstergeler, CSS çubuk ve çizgi grafikleri, yatay sıralı çubuklar, yazdırma. */
.rapor-gruplar-menu { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 20px; }
.rapor-gruplar-menu a { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--cizgi-koyu); border-radius: 99px; background: #fff; color: var(--metin-2); font-size: 13px; font-weight: 600; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; }
.rapor-gruplar-menu a:hover { background: var(--ana-acik); border-color: var(--ana-cizgi); color: var(--ana-koyu); text-decoration: none; }
.rapor-gruplar-menu .sayi-rozet { background: #eef2f7; color: var(--metin-2); border-radius: 99px; font-size: 11.5px; padding: 0 7px; }
.rapor-grup { margin-bottom: 28px; }
.rapor-grup-bas { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.rapor-grup-bas h2 { font-size: 17px; }
.rapor-grup-bas p { margin: 1px 0 0; font-size: 13px; color: var(--metin-2); }
.rapor-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); gap: 12px; }
.rapor-karti { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 14px 14px 14px 16px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: var(--golge); color: var(--metin); text-decoration: none !important; transition: box-shadow .15s, border-color .15s, transform .15s var(--egri-cik, ease); }
.rapor-karti:hover { box-shadow: var(--golge-2); border-color: var(--ana-cizgi); transform: translateY(-1px); }
.rapor-karti-ikon { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--ana-acik); color: var(--ana); }
#grup-uretim .rapor-karti-ikon { background: var(--mor-acik); color: var(--mor); }
#grup-stok .rapor-karti-ikon { background: var(--sari-acik); color: #c27400; }
#grup-para .rapor-karti-ikon { background: var(--yesil-acik); color: var(--yesil); }
#grup-sevkiyat .rapor-karti-ikon { background: var(--camgobegi-acik); color: var(--camgobegi); }
.rapor-karti-govde { display: grid; gap: 3px; min-width: 0; }
.rapor-karti-govde b { font-size: 14.5px; line-height: 1.3; }
.rapor-karti-govde span { font-size: 13px; line-height: 1.45; color: var(--metin-2); }
.rapor-karti-govde small { margin-top: 3px; font-size: 11.5px; color: var(--metin-3); }
.rapor-karti > .ikon:last-child { margin-top: 10px; color: var(--metin-3); transition: transform .15s var(--egri-cik, ease), color .15s; }
.rapor-karti:hover > .ikon:last-child { color: var(--ana); transform: translateX(2px); }

/* Sayfa başı, dönem seçimi, göstergeler */
.rapor-bas .alt-yazi b { color: var(--metin); font-weight: 650; }
.rapor-kapsam { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.rapor-yazdirma-tarihi { display: none; }
.rapor-filtre { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; padding: 10px 14px; margin-bottom: 16px; }
.rapor-filtre-grup { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.rapor-filtre-etiket { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--metin-2); }
.rapor-filtre .anahtar-grubu { flex-wrap: wrap; }
.rapor-filtre select.girdi { width: auto; min-width: 190px; height: 34px; font-size: 13.5px; }
.rapor-tarih-formu { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.rapor-tarih-formu .girdi { width: 150px; height: 34px; font-size: 13.5px; }
.rapor-tarih-formu.secili .girdi { border-color: var(--ana-cizgi); background: var(--ana-acik); }
.rapor-tarih-formu .arasi { color: var(--metin-3); }
.rapor-kutular { grid-template-columns: repeat(auto-fit, minmax(min(175px, 100%), 1fr)); }
.rapor-kutular .erp-kutu .a { margin-top: 2px; font-size: 12px; }
.erp-kutu.metin-kutu .d { margin-top: 4px; font-size: 18px; line-height: 1.25; overflow-wrap: anywhere; }
.icerik > .rapor-parca { margin: 0 0 16px; }
.rapor-satir { margin-bottom: 16px; }
.rapor-aciklama { margin: 0; padding: 10px 18px 0; font-size: 12.5px; color: var(--metin-2); max-width: 92ch; }
.rapor-parca .bos.kucuk-bos { padding: 26px 18px 30px; }
.rapor-gizlenen { display: flex; align-items: center; gap: 6px; }
.rapor-son-not { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: 12.5px; }
.rapor-tablosu td .ikincil { font-size: 12px; }
.rapor-tablosu td a { font-weight: 600; }

/* Dikey çubuk ve çizgi grafiği: rakamlar HTML yazısıdır, her ekran genişliğinde okunur */
.rg { margin: 0; padding: 4px 18px 14px; container-type: inline-size; }
.rg-kaydir { overflow-x: auto; padding-top: 20px; }
/* Eksen sütunu “2,5 milyon” gibi yazıya yeter (kutulardaki tutar biçimiyle aynı) */
.rg-izgara { display: grid; grid-template-columns: 60px minmax(0, 1fr); grid-template-rows: 210px auto; column-gap: 8px; min-width: calc(var(--rg-sutun, 12) * 18px + 68px); }
.rg-eksen { position: relative; }
.rg-eksen span { position: absolute; right: 0; transform: translateY(50%); font-size: 11px; line-height: 1; color: var(--metin-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rg-alan { position: relative; border-bottom: 1px solid var(--cizgi-koyu); }
.rg-cizgi { position: absolute; left: 0; right: 0; height: 0; border-top: 1px dashed #e1e6ee; pointer-events: none; }
.rg-sutunlar, .rg-cizim { position: absolute; inset: 0; }
.rg-sutunlar { display: flex; }
.rg-sutun { position: relative; flex: 1 1 0; min-width: 0; display: flex; align-items: flex-end; justify-content: center; gap: 3px; padding: 0 5px; border-radius: 6px 6px 0 0; }
.rg-sutun:hover { background: rgba(29, 95, 209, .045); }
.rg-cubuk { position: relative; flex: 1 1 0; max-width: 40px; min-height: 2px; border-radius: 4px 4px 0 0; }
.rg-cubuk.rg-sifir { min-height: 0; }
.rg-cubuk b, .rg-deger { position: absolute; z-index: 1; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 4px; padding: 0 2px; border-radius: 3px; background: rgba(255, 255, 255, .85); font-size: 11px; font-weight: 650; line-height: 1.1; color: var(--metin-2); white-space: nowrap; font-variant-numeric: tabular-nums; pointer-events: none; }
.rg-yigin { position: relative; flex: 1 1 0; max-width: 46px; height: 100%; }
.rg-yigin > span { position: absolute; left: 0; right: 0; }
.rg-yigin > span:last-of-type { border-radius: 4px 4px 0 0; }
.rg-sik .rg-cubuk b { display: none; }
.rg-etiketler { display: flex; padding-top: 7px; }
.rg-etiketler span { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-size: 11.5px; color: var(--metin-2); }
.rg-e-tel { display: none; }
/* Dar grafikte (yarım genişlik, çok ay) çubuk üstündeki tutar iki satıra iner (“12,3” / “milyon”), komşusunun üstüne binmez */
@container (max-width: 900px) {
  .rg-cok .rg-kaydir { padding-top: 30px; }
  .rg-cok .rg-cubuk b, .rg-cok .rg-deger { width: min-content; white-space: normal; text-align: center; line-height: 1.15; }
}
.rg-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.rg-svg polyline { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.rg-nokta { position: absolute; width: 11px; height: 11px; margin: 0 0 -5.5px -5.5px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(15, 23, 42, .14); }
.rg-nokta b { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 5px; font-size: 11px; font-weight: 650; line-height: 1; color: var(--metin); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rg-lejant { flex-wrap: wrap; gap: 6px 16px; padding-top: 12px; }
.rg-birim { margin-left: auto; color: var(--metin-3); }
.rg-r-mavi { background: var(--ana); }
.rg-r-acik { background: #b9cff5; }
.rg-r-su { background: var(--su); }
.rg-r-yesil { background: #16a34a; }
.rg-r-gri { background: #a3afc0; }
.rg-r-kirmizi { background: #e5484d; }
.rg-r-sari { background: #e0a106; }
.rg-r-mor { background: #7c3aed; }
.rg-cizgi-mavi { stroke: var(--ana); }
.rg-cizgi-su { stroke: var(--su); }
.rg-cizgi-yesil { stroke: #16a34a; }
.rg-cizgi-kirmizi { stroke: #e5484d; }

/* Yatay sıralı çubuklar */
.ry { list-style: none; margin: 0; padding: 14px 18px 16px; display: grid; gap: 12px; }
.ry li { display: grid; gap: 5px; min-width: 0; }
.ry-ust { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 13.5px; }
.ry-ad { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.ry-ad a { color: var(--metin); }
.ry-ad a:hover { color: var(--ana); }
.ry-ad .rozet { margin-left: 4px; vertical-align: 1px; }
.ry-deger { flex: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ry-cubuk { height: 9px; border-radius: 99px; background: #eef2f7; overflow: hidden; }
.ry-cubuk span { display: block; height: 100%; min-width: 3px; border-radius: 99px; }
.ry-cubuk span.ry-sifir { min-width: 0; }
.ry-alt { font-size: 12px; color: var(--metin-2); }
.ry li.vurgu .ry-deger { color: var(--kirmizi); }
/* Yaşlandırmaya girmeyen tutar (sevkte ya da teslimde ödenecek) çubukların üstünde ayrı satırdır */
.ry.ry-ayri { margin: 0 18px; padding: 14px 0 12px; border-bottom: 1px dashed var(--cizgi-koyu); }

/* Satış Hedefleri: sağda gizli ay kaldıkça tablonun sağ kenarı solar (betik tabloyu bu aya kaydırarak açar) */
.hedef-kaydir-kap { position: relative; }
.hedef-kaydir-kap::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 56px; pointer-events: none; background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--kart)); opacity: 0; transition: opacity .2s; }
.hedef-kaydir-kap.sagda-devam::after { opacity: 1; }
/* Tablo bu aya kaydırılmış açıldığı için başlıktaki “Kişi” hücresi de isim sütunu gibi solda sabit kalır */
.hedef-tablosu thead th:first-child { position: sticky; left: 0; z-index: 2; }

/* Ana sayfa Üretim ve Stok kutuları: yedinci kutu (Kalite Kontrolde) satırda boşluk bırakmaz, satırın tamamını alır */
.uretim-ozeti > a:last-child:nth-child(3n + 1) { grid-column: 1 / -1; }
/* Ana sayfa “Ekip Bu Ay”: “Açık Talep”, “Geciken Takip” başlıkları dar yan sütunda iki satıra iner, tablo taşmaz */
.ekip-tablosu th { white-space: normal; line-height: 1.3; vertical-align: bottom; }

/* Hareket: çubuklar alttan dolar (su gibi), yatay çubuk soldan uzar; hareket azaltıldıysa yalnız belirir */
@keyframes rg-dol { from { clip-path: inset(100% -40px 0 -40px); } to { clip-path: inset(-40px -40px 0 -40px); } }
@keyframes rg-yayil { from { clip-path: inset(-40px 100% -40px -20px); } to { clip-path: inset(-40px -40px -40px -20px); } }
@keyframes ry-uza { from { width: 0; } }
@keyframes rg-belir { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .rg-sutunlar { animation: rg-dol .8s var(--egri-cik, cubic-bezier(.16, 1, .3, 1)) .12s backwards; }
  .rg-cizim { animation: rg-yayil .9s var(--egri-cik, cubic-bezier(.16, 1, .3, 1)) .12s backwards; }
  .ry-cubuk span { animation: ry-uza .7s var(--egri-cik, cubic-bezier(.16, 1, .3, 1)) .12s backwards; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-sutunlar, .rg-cizim, .ry-cubuk span { animation: rg-belir .4s ease-out .1s backwards; }
}

@media (max-width: 760px) {
  .rapor-filtre { gap: 10px; padding: 10px 12px; }
  .rapor-filtre-grup { width: 100%; }
  .rapor-filtre .anahtar-grubu { display: flex; width: 100%; }
  .rapor-filtre .anahtar-grubu a { flex: 1 1 auto; justify-content: center; padding: 0 8px; }
  .rapor-filtre select.girdi { flex: 1; min-width: 0; }
  .rapor-tarih-formu { width: 100%; }
  .rapor-tarih-formu .girdi { flex: 1 1 120px; width: auto; min-width: 0; }
  .rg { padding: 2px 12px 12px; }
  .rg-izgara { grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: 180px auto; column-gap: 6px; min-width: calc(var(--rg-sutun, 12) * 18px + 58px); }
  .rg-eksen span, .rg-etiketler span { font-size: 10px; }
  .rg-sutun { padding: 0 2px; gap: 2px; }
  .rg-cok .rg-cubuk b, .rg-cok .rg-deger, .rg-cok .rg-nokta b { display: none; }
  /* Telefonda her ikinci ayın adı yazılır (son ay hep görünür); ad komşu sütunun boş yerine taşar, kesilmez */
  .rg-cok .rg-etiketler > span { display: flex; justify-content: center; overflow: visible; text-overflow: clip; }
  .rg-cok .rg-etiketler > span > span { flex: none; overflow: visible; }
  .rg-cok .rg-etiketler > .rg-tel-gizli { visibility: hidden; }
  .rg-cok .rg-e-masa { display: none; }
  .rg-cok .rg-e-tel { display: inline; }
  .ry.ry-ayri { margin: 0 14px; padding: 12px 0 10px; }
  .ry { padding: 12px 14px 14px; }
  .ry-ust { font-size: 13px; }
  .rapor-karti { grid-template-columns: 34px minmax(0, 1fr) auto; padding: 12px; }
  .rapor-karti-ikon { width: 34px; height: 34px; }
  .rapor-kutular { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rapor-kutular .erp-kutu { padding: 10px 12px; }
  .rapor-kutular .erp-kutu .d { font-size: 19px; overflow-wrap: anywhere; }
  .rapor-kutular .erp-kutu.metin-kutu .d { font-size: 15px; }
  /* Ay ay sayı tabloları telefonda karta dönmez: ilk sütun sabit, tablo yana kayar */
  .tablo-kap:has(> .rapor-matris) { overflow-x: auto; }
  .tablo.rapor-matris { display: table; width: max-content; min-width: 100%; }
  .tablo.rapor-matris thead { display: table-header-group; }
  .tablo.rapor-matris tbody { display: table-row-group; }
  .tablo.rapor-matris tr, .tablo.rapor-matris tbody tr { display: table-row; padding: 0; border: 0; }
  .tablo.rapor-matris td, .tablo.rapor-matris th { display: table-cell; padding: 7px 10px; border-bottom: 1px solid #eef1f5; text-align: left; white-space: nowrap; }
  .tablo.rapor-matris td.sag, .tablo.rapor-matris th.sag { text-align: right; }
  .tablo.rapor-matris td::before { content: none; }
  .tablo.rapor-matris td:first-child { padding-bottom: 7px; }
  .tablo.rapor-matris :is(td, th):first-child { position: sticky; left: 0; z-index: 1; background: var(--kart); box-shadow: 1px 0 0 var(--cizgi); }
  .tablo.rapor-matris th:first-child { background: #f8fafc; }
  .tablo.rapor-matris tfoot td:first-child { background: #f8fafc; }
}

/* Yazdırma: menü, üst çubuk ve düğmeler çıkmaz; tablolar telefon kartına dönmez; grafik renkleri basılır */
@media print {
  body:has(.rapor-bas) :is(.menu, .ust, .bildirimler, .rapor-filtre, .rapor-son-not, .rapor-gruplar-menu, .bilgi-dugmesi, .yukleme-cubugu) { display: none !important; }
  body:has(.rapor-bas) .kabuk { display: block; background: none; }
  body:has(.rapor-bas) .icerik { padding: 0; }
  body:has(.rapor-bas) .rapor-yazdirma-tarihi { display: block; margin-top: 4px; font-size: 11px; color: #475569; }
  body:has(.rapor-bas) .rapor-kutular { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
  body:has(.rapor-bas) .rapor-kutular .erp-kutu { padding: 8px 10px; }
  body:has(.rapor-bas) .rapor-kutular .erp-kutu .d { font-size: 17px; }
  body:has(.rapor-bas) :is(.kart, .erp-kutu, .rapor-karti) { box-shadow: none; break-inside: avoid; }
  body:has(.rapor-bas) .rapor-satir { display: block; }
  body:has(.rapor-bas) .rapor-satir > .kart + .kart { margin-top: 12px; }
  body:has(.rapor-bas) :is(.rg, .ry, .erp-kutu, .rozet) { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body:has(.rapor-bas) .rg-kaydir { overflow: visible; }
  body:has(.rapor-bas) .rg-izgara { min-width: 0; }
  body:has(.rapor-bas) :is(.rg-sutunlar, .rg-cizim, .ry-cubuk span) { animation: none !important; }
  body:has(.rapor-bas) .rg-cok .rg-cubuk b { display: block; }
  body:has(.rapor-bas) .tablo-kap { overflow: visible; }
  body:has(.rapor-bas) table.tablo { display: table !important; font-size: 10.5px; }
  body:has(.rapor-bas) table.tablo thead { display: table-header-group !important; }
  body:has(.rapor-bas) table.tablo tbody { display: table-row-group !important; }
  body:has(.rapor-bas) table.tablo tr { display: table-row !important; padding: 0; }
  body:has(.rapor-bas) table.tablo :is(td, th) { display: table-cell !important; padding: 4px 6px !important; }
  body:has(.rapor-bas) table.tablo td::before { content: none !important; }
  body:has(.rapor-bas) table.tablo td:not(.sag) { text-align: left !important; }
  body:has(.rapor-bas) table.tablo td.sag { text-align: right !important; }
  body:has(.rapor-bas) table.tablo tr { break-inside: avoid; }
  body:has(.rapor-bas) .icerik a { color: inherit; text-decoration: none; }
}
/* ===== [AJAN:raporlar] bitiş ===== */
/* ===== [AJAN:gecis-motoru] başlangıç ===== */
/* Gönderim sürerken (yeni sayfa gelene kadar) başka bir işe basılmaz; imleç bekleme gösterir. */
html.aq-gonderiyor, html.aq-gonderiyor :is(a, button, .btn, summary, label) { cursor: progress; }
/* Geri ile dönülen sayfa yenilenirken eski görüntüye basılamaz; içerik hafifçe söner. */
html.aq-yenileniyor body { pointer-events: none; cursor: progress; }
html.aq-yenileniyor .icerik { opacity: .55; transition: opacity .12s ease; }
/* Uçan kart, sayfa değişirken varılan öğeye akar (sayfa geçişini destekleyen tarayıcıda). Kısa ve sade. */
::view-transition-group(aq-ucus) { animation-duration: .32s; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }
::view-transition-old(aq-ucus), ::view-transition-new(aq-ucus) { height: 100%; object-fit: contain; }
::view-transition-old(aq-ucus) { animation-duration: .16s; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(aq-ucus), ::view-transition-new(aq-ucus) { animation-duration: .16s; }
  ::view-transition-old(aq-ucus) { animation-duration: .1s; }
}
/* Yön çipi: aynı sayfaya dönüşte varılan yer ekranda değilse o yöndeki kenarda “↓ … · Göster”. 5 sn sonra solar. */
.gecis-yon { position: fixed; z-index: 95; left: 0; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); display: inline-flex; align-items: center; gap: 7px; max-width: min(460px, calc(100vw - 24px)); padding: 7px 14px 7px 8px; border: 0; border-radius: 99px; background: #fff; color: var(--metin); font: 600 13px/1.2 var(--yazi); white-space: nowrap; cursor: pointer; box-shadow: 0 14px 32px -10px rgba(11, 29, 58, .45), 0 0 0 1px rgba(15, 23, 42, .08); animation: gecis-yon-gir .24s var(--egri-cik) backwards; }
.gecis-yon.yukari { bottom: auto; top: 72px; --yon: -1; }
.gecis-yon .ok { display: inline-grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--ana-acik); color: var(--ana); font-size: 14px; line-height: 1; }
.gecis-yon .yazi { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.gecis-yon .ayrac { color: var(--metin-3); }
.gecis-yon b { color: var(--ana); }
.gecis-yon:hover b { text-decoration: underline; }
.gecis-yon:focus-visible { outline: 3px solid var(--ana-cizgi); outline-offset: 2px; }
@keyframes gecis-yon-gir { from { opacity: 0; transform: translateY(calc(var(--kayma) * var(--yon, 1))); } }
@media print { .gecis-yon { display: none !important; } }
/* ===== [AJAN:gecis-motoru] bitiş ===== */
/* ===== [AJAN:kabuk-2] başlangıç ===== */
/* Kabuk, ikinci tur: bildirimlerin yeri, açık pencerede sağdaki şerit, üretim satırları, sekmelerde kaydırma ipucu,
   telefonda taşan satırlar. (Menü kartı, dar menü bandı ve ana sayfa eşikleri kendi bölümlerinde düzeltildi.) */

/* Bildirimler: masaüstünde sağ altta. Sağ üstteki yapışık başlıkları (atölyede kalite listesi, teklifte Fiyat kartı) ve
   uçan kartın indiği yeri örtmez. En yeni en altta (köşede) durur, aşağıdan yükselerek gelir; öncekiler yumuşakça yukarı
   kayar. Telefonda ve tablette eskisi gibi üstte. */
@keyframes bildirim-gir-alt { from { opacity: 0; transform: translateY(var(--kayma)) scale(.98); } to { opacity: 1; transform: none; } }
@media (min-width: 901px) {
  .bildirimler { top: auto; bottom: 20px; }
  .bildirimler .bildirim { animation-name: bildirim-gir-alt; }
  /* Sayfanın yön çipi (“↓ … · Göster”) alttayken bildirimler onun üstünde durur */
  body:has(.gecis-yon.asagi) .bildirimler { bottom: 68px; }
  /* Alta yapışık kaydet çubuğu olan sayfada (Maliyet Listesi) bildirim çubuğun üstünde ve kaydet düğmesinin sağında durur */
  body:has(.icerik .form-alt[style*="sticky"]) .bildirimler { bottom: 58px; max-width: 340px; }
  /* Altında yazma kutusu olan sayfalarda (Mesajlar, AI Asistan) gönder düğmesi ve son mesaj açık kalsın: bildirim sağ üstte */
  body:has(.yanit-kutusu, .icerik > .asistan) .bildirimler { top: 72px; bottom: auto; }
  body:has(.yanit-kutusu, .icerik > .asistan) .bildirimler .bildirim { animation-name: bildirim-gir; }
}
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .bildirimler { interpolate-size: allow-keywords; transition: bottom .2s var(--egri-cik); }
  .bildirimler .bildirim { overflow: hidden; transition: height .24s var(--egri-cik), padding-block .24s var(--egri-cik), margin-top .24s var(--egri-cik); }
  @starting-style { .bildirimler .bildirim { height: 0; padding-block: 0; margin-top: -8px; } }
  .atolye-yan > .kart { transition: max-height .24s var(--egri-cik); }
}
/* Atölye, geniş ekran: bildirim varken sağdaki yapışık kalite listesi onun üstünde biter (alttaki “Kontrol Et” düğmeleri
   bildirimin altında kalmaz, liste içinde kayar); bildirim kapanırken liste yeniden uzar. 280 px: sayfa başındaki
   konumu (~180 px) ve bildirimin yeri (~100 px). */
@media (min-width: 1360px) {
  body:has(.bildirimler > .bildirim:not([data-kapaniyor])) .atolye-yan > .kart { max-height: calc(100vh - 280px); }
}

/* Açık pencerede sağdaki şerit: kaydırma çubuğunun ayrılmış yerine (Windows'ta ~15 px) hiçbir öğe çizilemez, orada yalnız
   sayfanın kök zemini görünür (çekmeceyi oraya uzatmak içeriğini kırpar). Bu yüzden pencere açıkken kök zemin karartmanın,
   çekmece açıkken çekmecenin rengine geçer: çekmece ve karartma sağ kenara dayanmış görünür, içerik kaymaz. Ortadaki
   pencere ekranın tam ortasına gelir. Kaydırma payı olmayan ekranda (telefon) şerit yoktur, kural görünmez kalır. */
@media screen {
  html { background-color: var(--zemin); transition: background-color .24s ease; }
  html:has(dialog.modal[open]) { background-color: color-mix(in srgb, var(--metin) 45%, var(--zemin)); }
  html:has(dialog.cekmece[open]) { background-color: var(--kart); }
}
dialog.modal:not(.cekmece) { right: calc(100% - 100vw); }

/* Üretim (şef), geniş ekran: bölümler yine alt alta; yalnız bölüm içindeki satırlar 1700 px ve üstünde 2-3 sütunlu
   ızgaraya dizilir. Sütun ayracı her satırın sol çizgisidir; ilk sütunun çizgisi ve son satırın alt çizgisi listenin
   kenarında kırpılır. Kimlikler ve uçuş hedefleri değişmez. */
@media (min-width: 1700px) {
  .uretim-akisi > .kart > .liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 620px), 1fr)); overflow: clip; }
  .uretim-akisi > .kart > .liste > li { margin: 0 0 -1px -1px; border-left: 1px solid #eef1f5; }
  .uretim-akisi > .kart > .liste > li:is(.soluk, :has(> .bos)) { grid-column: 1 / -1; }
  /* Atölye “Ustalar Şu An”: kutular satırın tamamını kullanır (çok geniş ekranda satırın yarısı boş kalmaz) */
  .usta-listesi { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
}

/* Sığmayan sekmeler kaydırılabildiğini belli eder: sağda devamı varsa sağ kenar, solda varsa sol kenar solar.
   Kaydırma zaman çizelgesi yalnız taşan şeritte çalışır; taşmayan şerit eskisi gibi görünür. */
@property --sekme-sol { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --sekme-sag { syntax: "<length>"; inherits: false; initial-value: 0px; }
@keyframes sekme-kaydir { 0% { --sekme-sol: 0px; --sekme-sag: 44px; } 10%, 90% { --sekme-sol: 28px; --sekme-sag: 44px; } 100% { --sekme-sol: 28px; --sekme-sag: 0px; } }
@supports (animation-timeline: scroll()) {
  .sekmeler { mask-image: linear-gradient(90deg, transparent, #000 var(--sekme-sol), #000 calc(100% - var(--sekme-sag)), transparent);
    animation: sekme-kaydir linear both; animation-timeline: scroll(self inline); }
}

/* Telefonda taşan satırlar */
.modal-alt { flex-wrap: wrap; }                  /* pencere alt satırı sığmazsa düğmeler alt satıra geçer, kesilmez */
.kart-bas.durum-satiri { flex-wrap: wrap; }      /* Bağlantılar: durum rozetleri sığmazsa başlığın altına iner */
@media (max-width: 600px) {
  /* Satış Sonrası: satırdaki düğmeler yazının altına iner, üstüne binmez */
  .liste > li:has(> .saha-eylem) { flex-wrap: wrap; }
  .liste > li > .saha-eylem { width: 100%; }
}
/* ===== [AJAN:kabuk-2] bitiş ===== */
