/* Sirius Nova — satış vitrini ve paneli. Renk: Nova yeşil + altın (projeler.json renk.ana / renk.vurgu). */
@font-face { font-family: "Inter"; src: url(font/inter-latin.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url(font/inter-latin-ext.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Playfair"; src: url(font/playfair-latin.woff2) format("woff2"); font-weight: 400 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair"; src: url(font/playfair-latin-ext.woff2) format("woff2"); font-weight: 400 900; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --yesil: #123c30;
  --yesil-koyu: #0b2a21;
  --yesil-orta: #1d5242;
  --yesil-acik: #eef3ee;
  --altin: #c9a45c;
  --altin-acik: #e6cd96;
  --altin-koyu: #9c7a37;
  --krem: #f6f2ea;
  --kagit: #fbf9f4;
  --beyaz: #ffffff;
  --murekkep: #14211c;
  --gri: #5f6b66;
  --gri-acik: #8d9893;
  --cizgi: rgba(18, 60, 48, 0.12);
  --cizgi-koyu: rgba(255, 255, 255, 0.14);

  --musait: #1f9d6a;
  --opsiyon: #e0a126;
  --onay: #3b6fb6;
  --satildi: #c0533f;
  --yok: #a3aca7;
  --kapali: #56645e;

  --golge: 0 1px 2px rgba(11, 42, 33, 0.06), 0 8px 24px rgba(11, 42, 33, 0.08);
  --golge-buyuk: 0 24px 60px rgba(11, 42, 33, 0.22);
  --r: 14px;
  --r-kucuk: 9px;
  --ust-yuk: 68px;
  --serif: "Playfair", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--ust-yuk) + 12px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); color: var(--murekkep); background: var(--kagit); line-height: 1.55; font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.12; margin: 0; letter-spacing: -0.01em; }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); }
h3 { font-size: 1.25rem; }
p { margin: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--altin); outline-offset: 2px; }

.kap { width: min(1240px, 100% - 32px); margin-inline: auto; }
.atla { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--altin); color: var(--yesil-koyu); padding: 8px 14px; border-radius: 8px; }
.atla:focus { left: 8px; }
.ust-baslik { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--altin-acik); margin-bottom: 14px; }
.ust-baslik.koyu { color: var(--altin-koyu); }
.altin { color: var(--altin); }
/* "Temsili görsel": sade, kutusuz ama okunur (ortak kurallar 2026-10-17; sercandeniz.com .tms ile aynı hale) */
.temsili { position: absolute; right: 10px; bottom: 8px; font-size: 0.72rem; font-weight: 500; color: rgba(255, 255, 255, 0.85); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 3px rgba(0, 0, 0, 0.35), 0 0 10px rgba(0, 0, 0, 0.35); pointer-events: none; z-index: 2; }

/* ---------- Düğmeler ---------- */
.dugmeler { display: flex; flex-wrap: wrap; gap: 12px; }
.dugme { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 26px; border-radius: 99px; font-weight: 600; font-size: 0.98rem; text-decoration: none; border: 1px solid transparent; transition: transform 0.15s, background 0.2s, box-shadow 0.2s; white-space: nowrap; }
.dugme:active { transform: scale(0.98); }
.altin-dugme { background: linear-gradient(180deg, #d8b673, var(--altin)); color: var(--yesil-koyu); box-shadow: 0 6px 18px rgba(201, 164, 92, 0.35); }
.altin-dugme:hover { background: var(--altin-acik); }
/* 3D sanal tur kartı: daire çekmecesi ve tanıtım sayfası (/gez/ yeni sekmede) */
.gez-kart { display: grid; grid-template-columns: minmax(0, 1fr); margin: 14px 0; border-radius: 16px; overflow: hidden; background: var(--yesil-koyu); color: var(--krem); text-decoration: none; border: 1px solid rgba(201, 164, 92, 0.55); box-shadow: 0 10px 26px rgba(11, 42, 33, 0.18); }
.gez-kart-gorsel { position: relative; display: block; aspect-ratio: 16 / 8; overflow: hidden; }
.gez-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.gez-kart:hover .gez-kart-gorsel img { transform: scale(1.04); }
.gez-kart-yazi { display: grid; gap: 4px; padding: 14px 16px 16px; }
.gez-kart-yazi small { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--altin-acik); }
.gez-kart-yazi b { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; line-height: 1.15; }
.gez-kart-yazi span { font-size: 0.92rem; line-height: 1.45; color: rgba(246, 242, 234, 0.82); }
.gez-kart-yazi em { justify-self: start; margin-top: 8px; padding: 9px 16px; border-radius: 99px; font-style: normal; font-weight: 700; font-size: 0.9rem; background: linear-gradient(180deg, #d8b673, var(--altin)); color: var(--yesil-koyu); }
.cam-dugme { background: rgba(255, 255, 255, 0.1); color: #fff; border-color: rgba(255, 255, 255, 0.4); backdrop-filter: blur(6px); }
.cam-dugme:hover { background: rgba(255, 255, 255, 0.2); }
.yesil-dugme { background: var(--yesil); color: #fff; }
.yesil-dugme:hover { background: var(--yesil-orta); }
.cizgi-dugme { background: transparent; border-color: var(--cizgi); color: var(--yesil); }
.cizgi-dugme:hover { background: var(--yesil-acik); }
.dugme.kucuk { min-height: 40px; padding: 0 16px; font-size: 0.9rem; }
.dugme.tam { width: 100%; }
.dugme[disabled] { opacity: 0.45; cursor: not-allowed; }
.tehlike { background: #fff; border-color: rgba(192, 83, 63, 0.4); color: var(--satildi); }
.ikon-dugme { width: 42px; height: 42px; display: inline-grid; place-items: center; border-radius: 50%; border: 1px solid var(--cizgi-koyu); background: transparent; color: #fff; }
.ikon-dugme:hover { background: rgba(255, 255, 255, 0.1); }
.ikon-dugme svg, .kapat svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Üst bar ---------- */
.ust { position: fixed; inset: 0 0 auto 0; z-index: 40; height: var(--ust-yuk); background: rgba(11, 42, 33, 0.9); backdrop-filter: saturate(1.4) blur(12px); color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.ust-ic { height: 100%; display: flex; align-items: center; gap: 24px; width: min(1240px, 100% - 32px); margin-inline: auto; }
.logo { display: flex; flex-direction: column; align-items: center; text-decoration: none; line-height: 1; flex-shrink: 0; }
.logo-ust { font-family: var(--serif); font-size: 0.62rem; letter-spacing: 0.42em; padding-left: 0.42em; color: #f2efe7; }
.logo-alt { font-family: var(--serif); font-size: 1.55rem; letter-spacing: 0.06em; color: var(--altin); font-weight: 500; }
.logo-o { position: relative; display: inline-block; }
.logo-o svg { position: absolute; width: 0.42em; height: 0.42em; left: 50%; top: 52%; transform: translate(-50%, -50%); fill: var(--altin); }
.menu { display: flex; gap: 4px; flex: 1; justify-content: center; }
.menu a { padding: 9px 14px; border-radius: 99px; text-decoration: none; font-size: 0.93rem; font-weight: 500; color: rgba(255, 255, 255, 0.78); transition: background 0.2s, color 0.2s; }
.menu a:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
.menu a.aktif { color: var(--yesil-koyu); background: var(--altin); }
.ust-sag { display: flex; align-items: center; gap: 8px; }
.giris-dugme { height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 16px 0 12px; border-radius: 99px; border: 1px solid rgba(201, 164, 92, 0.55); background: transparent; color: var(--altin-acik); font-size: 0.86rem; font-weight: 600; }
.giris-dugme:hover { background: rgba(201, 164, 92, 0.14); }
.giris-dugme svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.menu-rozet { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 4px; border-radius: 99px; background: var(--onay); color: #fff; font-size: 0.72rem; font-weight: 700; }
.cikis-dugme { height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 0 14px 0 11px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; color: #fff; font-size: 0.85rem; font-weight: 600; }
.cikis-dugme:hover { background: rgba(255, 255, 255, 0.1); }
.cikis-dugme svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.kim { height: 38px; padding: 0 14px; border-radius: 99px; border: 1px solid rgba(201, 164, 92, 0.5); background: rgba(201, 164, 92, 0.12); color: var(--altin-acik); font-size: 0.85rem; font-weight: 600; }
main { padding-top: var(--ust-yuk); min-height: 70vh; }

/* ---------- Ofis menüsü ve sunum modu (Sercan 2026-10-21) ---------- */
.ofis { position: relative; }
.ofis[hidden] { display: none; }
.ofis-dugme { height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px 0 15px; border-radius: 99px; border: 1px solid rgba(201, 164, 92, 0.5); background: rgba(201, 164, 92, 0.12); color: var(--altin-acik); font-size: 0.86rem; font-weight: 600; }
.ofis-dugme:hover, .ofis-dugme[aria-expanded="true"] { background: rgba(201, 164, 92, 0.24); }
.ofis-dugme.aktif { background: var(--altin); color: var(--yesil-koyu); border-color: var(--altin); }
.ofis-dugme svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ofis-dugme .menu-rozet { margin-left: 0; }
.ofis-menu { position: absolute; right: 0; top: calc(100% + 10px); width: min(270px, calc(100vw - 32px)); background: #fff; color: var(--murekkep); border-radius: 14px; box-shadow: 0 18px 48px rgba(11, 42, 33, 0.28); padding: 8px; display: grid; gap: 2px; z-index: 60; }
.ofis-menu[hidden], .ofis-menu [hidden] { display: none !important; }
.ofis-menu a, .ofis-menu button { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--yesil-koyu); text-decoration: none; font-size: 0.93rem; font-weight: 600; text-align: left; width: 100%; }
.ofis-menu a:hover, .ofis-menu button:hover { background: var(--krem); }
.ofis-menu a.aktif { background: var(--yesil-acik); box-shadow: inset 3px 0 0 var(--altin); }
.ofis-menu .ofis-kim { min-height: 0; padding: 8px 12px 10px; font-size: 0.8rem; color: var(--gri); font-weight: 600; border-bottom: 1px solid var(--cizgi); border-radius: 0; margin-bottom: 4px; }
.ofis-menu hr { border: 0; border-top: 1px solid var(--cizgi); margin: 4px 0; }
.ofis-menu .cikis-dugme { height: auto; justify-content: flex-start; color: #a3341f; }
.ofis-menu .cikis-dugme span { display: inline !important; } /* dar ekranda üst çubuktaki gizleme kuralı menüde geçerli değil */
.ofis-menu .cikis-dugme svg { stroke: currentColor; }
.sunum-dugme { width: auto; height: 40px; padding: 0 14px 0 11px; gap: 6px; display: inline-flex; align-items: center; border-radius: 99px; }
.sunum-yazi { font-size: 0.84rem; font-weight: 600; }
.misafir .sunum-yazi { display: none; }
.misafir .sunum-dugme { width: 42px; height: 42px; padding: 0; justify-content: center; border-radius: 50%; }
body.sunum .sunum-dugme { border-color: var(--altin); background: var(--altin); color: var(--yesil-koyu); }
body.sunum .ofis, body.sunum .ofis-ozel { display: none !important; }
@media (min-width: 901px) { body.sunum .cekmece .c-govde { grid-template-columns: 1fr; } }
.menu a { white-space: nowrap; }
/* Personel menüsü (5 başlık + Ofis + Sunum) tablet dikeyde tek satıra sığmaz: menü ikinci satıra iner, yatay kayar. */
@media (max-width: 1000px) {
  body:not(.misafir) { --ust-yuk: 108px; }
  body:not(.misafir) .ust-ic { flex-wrap: wrap; gap: 0 12px; align-content: center; }
  body:not(.misafir) .logo { order: 1; }
  body:not(.misafir) .ust-sag { order: 2; margin-left: auto; }
  body:not(.misafir) .menu { order: 3; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; padding: 6px 0 4px; scrollbar-width: none; }
  body:not(.misafir) .menu a { padding: 7px 12px; font-size: 0.9rem; }
}
@media (max-width: 460px) { .sunum-yazi { display: none; } .sunum-dugme { width: 40px; padding: 0; justify-content: center; } body.sunum .sunum-yazi { display: inline; } body.sunum .sunum-dugme { width: auto; padding: 0 12px 0 10px; } }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: calc(100svh - var(--ust-yuk)); display: flex; flex-direction: column; justify-content: flex-end; color: #fff; overflow: hidden; background: var(--yesil-koyu); }
.hero-gorsel { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); animation: yavasYakin 18s ease-out forwards; }
@keyframes yavasYakin { to { transform: scale(1.0); } }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 42, 33, 0.88) 0%, rgba(11, 42, 33, 0.55) 45%, rgba(11, 42, 33, 0.1) 75%), linear-gradient(0deg, rgba(11, 42, 33, 0.9) 0%, rgba(11, 42, 33, 0) 40%); }
.hero .temsili { top: 14px; bottom: auto; }
.hero-ic { position: relative; z-index: 1; padding-block: 64px 36px; }
.hero h1 { font-size: clamp(2.4rem, 5.6vw, 4.6rem); max-width: 15ch; font-weight: 600; }
.hero h1 .altin { white-space: nowrap; }
.hero-alt { font-size: clamp(1.02rem, 1.6vw, 1.25rem); max-width: 560px; margin: 22px 0 30px; color: rgba(255, 255, 255, 0.86); }
.hero-seritler { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.18); margin-bottom: 28px; }
.hero-seritler div { padding: 18px 18px 0 0; display: flex; flex-direction: column; }
.hero-seritler b { font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.6rem); font-weight: 500; color: var(--altin-acik); }
.hero-seritler span { font-size: 0.85rem; color: rgba(255, 255, 255, 0.72); }

/* ---------- Bölümler ---------- */
.bolum { padding-block: clamp(64px, 9vw, 110px); }
.bolum.acik { background: var(--krem); }
.koyu-bolum { background: radial-gradient(1200px 500px at 85% 0%, #1d5242 0%, transparent 60%), var(--yesil-koyu); color: #fff; }
.bolum-bas { max-width: 720px; margin-bottom: 40px; }
.bolum-bas p:not(.ust-baslik) { margin-top: 14px; color: var(--gri); font-size: 1.08rem; }
.koyu-bolum .bolum-bas p:not(.ust-baslik) { color: rgba(255, 255, 255, 0.75); }

/* Vaziyet */
.vaziyet-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.vaziyet { position: relative; border-radius: var(--r); overflow: hidden; box-shadow: var(--golge-buyuk); background: #2c3a33; }
.vaziyet img { width: 100%; height: auto; }
.vaziyet-noktalar { position: absolute; inset: 0; }
.blok-alan { position: absolute; border-radius: 12px; border: 2px solid transparent; background: transparent; padding: 0; display: flex; align-items: flex-end; justify-content: center; transition: background 0.2s, border-color 0.2s, box-shadow 0.2s; }
.blok-alan .blok-cip { transform: translateY(55%); display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 99px; font-size: clamp(0.58rem, 1vw, 0.74rem); font-weight: 700; letter-spacing: 0.02em; white-space: nowrap; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
.blok-alan.satista { border-color: rgba(230, 205, 150, 0.85); background: rgba(201, 164, 92, 0.16); box-shadow: 0 0 0 0 rgba(201, 164, 92, 0.6); animation: nabiz 2.6s infinite; }
.blok-alan.satista .blok-cip { background: var(--musait); color: #fff; }
.blok-alan.ozel .blok-cip { background: var(--opsiyon); color: #2b1d00; }
.blok-alan.kapali .blok-cip { background: rgba(20, 33, 28, 0.78); color: rgba(255, 255, 255, 0.85); }
.blok-alan:hover, .blok-alan:focus-visible { border-color: #fff; background: rgba(255, 255, 255, 0.18); }
.blok-alan.secili { border-color: var(--altin); background: rgba(201, 164, 92, 0.3); }
@keyframes nabiz { 0% { box-shadow: 0 0 0 0 rgba(201, 164, 92, 0.55); } 70% { box-shadow: 0 0 0 14px rgba(201, 164, 92, 0); } 100% { box-shadow: 0 0 0 0 rgba(201, 164, 92, 0); } }
.vaziyet-yan { display: flex; flex-direction: column; gap: 12px; }
.yan-kart { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 18px; text-decoration: none; display: block; box-shadow: var(--golge); transition: transform 0.15s, box-shadow 0.2s; }
.yan-kart:hover { transform: translateY(-2px); box-shadow: var(--golge-buyuk); }
.yan-kart h3 { font-size: 1.5rem; display: flex; align-items: center; justify-content: space-between; }
.yan-kart .ok { font-family: var(--sans); font-size: 1.2rem; color: var(--altin-koyu); }
.yan-kart p { color: var(--gri); font-size: 0.9rem; margin-top: 4px; }
.yan-bar { display: flex; height: 8px; border-radius: 99px; overflow: hidden; background: var(--yesil-acik); margin-top: 12px; }
.yan-bar i { display: block; height: 100%; }
.yan-not { font-size: 0.85rem; color: var(--gri); padding: 4px 4px 0; }
.lejant { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 0.82rem; color: var(--gri); }
.lejant span { display: inline-flex; align-items: center; gap: 6px; }
.lejant i, .nokta { width: 11px; height: 11px; border-radius: 3px; display: inline-block; flex-shrink: 0; }

/* Durum renkleri */
.d-musait { --d: var(--musait); }
.d-opsiyon { --d: var(--opsiyon); }
.d-onay { --d: var(--onay); }
.d-yok { --d: var(--opsiyon); } /* vitrinde "Rezerve" (Sercan 2026-10-16): sakin turuncu, SATILDI kadar bağırmaz */
.d-satildi { --d: var(--satildi); }
.d-kapali { --d: var(--kapali); }
.d-blokKapali { --d: #c7cec9; }
.nokta, .lejant i { background: var(--d); }
.d-blokKapali.nokta, .lejant i.d-blokKapali { background: repeating-linear-gradient(45deg, #c7cec9 0 3px, #e4e8e5 3px 6px); }
.hap { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 99px; font-size: 0.8rem; font-weight: 600; background: color-mix(in srgb, var(--d) 14%, #fff); color: color-mix(in srgb, var(--d) 75%, #000); border: 1px solid color-mix(in srgb, var(--d) 35%, transparent); white-space: nowrap; }
.hap::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--d); }

/* Fayda kartları */
.kartlar { display: grid; gap: 20px; }
.kartlar.uc { grid-template-columns: repeat(3, 1fr); }
.fayda { background: #fff; border-radius: var(--r); padding: 30px; border: 1px solid var(--cizgi); }
.fayda svg { width: 40px; height: 40px; fill: none; stroke: var(--altin-koyu); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 18px; }
.fayda h3 { margin-bottom: 10px; }
.fayda p { color: var(--gri); }
.cipler { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cipler li { padding: 9px 16px; border-radius: 99px; background: #fff; border: 1px solid var(--cizgi); font-size: 0.9rem; font-weight: 500; color: var(--yesil); }
.cipler li::before { content: "✦"; color: var(--altin); margin-right: 8px; font-size: 0.8em; }

/* Güvence */
.guvence { border: 1px solid var(--cizgi-koyu); border-radius: var(--r); padding: 30px; background: rgba(255, 255, 255, 0.03); }
.guvence-no { font-family: var(--serif); font-size: 2.4rem; color: var(--altin); display: block; margin-bottom: 14px; line-height: 1; }
.guvence h3 { margin-bottom: 10px; }
.guvence p { color: rgba(255, 255, 255, 0.76); }
.tapu { margin: 0; display: grid; gap: 8px; }
.tapu div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--cizgi-koyu); padding-bottom: 8px; }
.tapu dt { color: rgba(255, 255, 255, 0.72); }
.tapu dd { margin: 0; font-weight: 600; color: var(--altin-acik); }
.guvence-not { margin-top: 26px; color: rgba(255, 255, 255, 0.62); font-size: 0.92rem; max-width: 820px; }

/* Daire tanıtım */
.daire-tanitim, .konum { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: center; }
.daire-gorsel, .konum-gorsel { position: relative; background: #fff; border-radius: var(--r); overflow: hidden; box-shadow: var(--golge-buyuk); }
.daire-gorsel .sekmeler { position: absolute; left: 12px; top: 12px; z-index: 2; }
.daire-metin > p { color: var(--gri); margin: 14px 0 22px; font-size: 1.05rem; }
.odalar { width: 100%; border-collapse: collapse; margin-bottom: 26px; font-size: 0.95rem; }
.odalar td { padding: 9px 0; border-bottom: 1px solid var(--cizgi); }
.odalar td:last-child { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.odalar tr.toplam td { border-bottom: 0; padding-top: 14px; font-weight: 700; color: var(--yesil); }
.olgular { margin: 24px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.olgular div { background: var(--krem); border-radius: var(--r-kucuk); padding: 14px 16px; }
.olgular dt { font-size: 0.78rem; color: var(--gri); text-transform: uppercase; letter-spacing: 0.08em; }
.olgular dd { margin: 4px 0 0; font-weight: 600; color: var(--yesil); }
.konum p { color: var(--gri); margin-top: 14px; font-size: 1.05rem; }
.konum-harita-dugme { margin-top: 22px; } /* /konum/ harita sayfası (2026-10-19) */
.bolge-video-alt { color: var(--gri); margin-top: 10px; font-size: 1.05rem; }
.bolge-video { margin-top: 24px; border-radius: var(--r); overflow: hidden; box-shadow: var(--golge-buyuk); background: #000; aspect-ratio: 16 / 9; }
.bolge-video video { display: block; width: 100%; height: 100%; }

/* Galeri */
.galeri { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; gap: 12px; }
.galeri button { position: relative; padding: 0; border: 0; border-radius: var(--r-kucuk); overflow: hidden; background: #ddd; }
.galeri img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.galeri button:hover img { transform: scale(1.05); }
.galeri .g-buyuk { grid-column: span 2; grid-row: span 2; }
/* Galeri bölümleri ve görsel penceresi (Sercan 2026-10-19) */
.galeri-bolumler { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.galeri-bolumler button { border: 1px solid var(--cizgi); background: #fff; color: var(--yesil); border-radius: 99px; padding: 8px 16px; font-weight: 600; font-size: 0.9rem; transition: background 0.2s, color 0.2s; }
.galeri-bolumler button[aria-pressed="true"] { background: var(--yesil); color: #fff; border-color: var(--yesil); }
.galeri button[hidden] { display: none; }
.galeri .g-etiket { position: absolute; left: 10px; top: 10px; z-index: 2; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; background: rgba(11, 42, 33, 0.6); padding: 3px 9px; border-radius: 99px; pointer-events: none; }
.galeri-not { margin-top: 12px; color: var(--gri); font-size: 0.85rem; }
.galeri-pencere { position: relative; }
.galeri-pencere .g-resim { position: relative; }
.galeri-pencere img { display: block; width: 100%; max-height: calc(100svh - 90px); object-fit: contain; }
.galeri-pencere .kapat { position: absolute; right: 10px; top: 10px; z-index: 3; background: rgba(0, 0, 0, 0.5); }
.galeri-pencere .g-ok { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, 0.45); color: #fff; font-size: 28px; line-height: 1; }
.galeri-pencere .g-geri { left: 10px; }
.galeri-pencere .g-ileri { right: 10px; }
.galeri-pencere .g-sayac { position: absolute; left: 12px; top: 14px; z-index: 3; color: #fff; font-size: 0.8rem; background: rgba(0, 0, 0, 0.45); padding: 3px 10px; border-radius: 99px; }
.galeri-pencere .g-yazi { color: #fff; text-align: center; margin: 10px 0 2px; font-size: 0.92rem; }

/* Çağrı */
.cagri { background: linear-gradient(120deg, var(--yesil) 0%, var(--yesil-koyu) 100%); color: #fff; padding-block: 56px; }
.cagri-ic { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.cagri p { color: rgba(255, 255, 255, 0.75); margin-top: 8px; }

/* Alt bilgi */
.alt { background: #08201a; color: rgba(255, 255, 255, 0.78); padding-block: 40px 22px; font-size: 0.92rem; }
.alt-ic { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.alt p { margin: 3px 0; }
.alt a { color: var(--altin-acik); text-decoration: none; }
.alt-ofis { font-family: var(--serif); font-size: 1.2rem; color: #fff; }
.imza-kilit { display: flex; flex-direction: column; align-items: center; }
.imza-kilit img { width: 170px; height: auto; }
.imza-kilit span { letter-spacing: 0.5em; padding-left: 0.5em; font-size: 0.68rem; color: #fff; margin-top: -2px; }
.imza-kilit small { margin-top: 6px; color: var(--altin-acik); }
.alt-not { border-top: 1px solid rgba(255, 255, 255, 0.08); margin-top: 26px; padding-top: 16px; font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }

/* ---------- Blok sayfası ---------- */
.blok-sayfa, .odeme-sayfa, .panel-sayfa { padding-block: 28px 80px; }
.yol { display: flex; align-items: center; gap: 8px; font-size: 0.88rem; color: var(--gri); margin-bottom: 14px; }
.yol a { color: var(--yesil); text-decoration: none; font-weight: 600; }
.blok-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.blok-bas h1 { font-size: clamp(2rem, 4vw, 3rem); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.blok-sec { display: flex; flex-wrap: wrap; gap: 6px; }
.blok-sec a { width: 42px; height: 42px; display: grid; place-items: center; position: relative; border-radius: 10px; text-decoration: none; font-weight: 700; border: 1px solid var(--cizgi); background: #fff; color: var(--gri-acik); }
.blok-sec a.satista, .blok-sec a.ozel { color: var(--yesil); border-color: rgba(31, 157, 106, 0.45); }
.blok-sec a.satista::after { content: ""; position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border-radius: 50%; background: var(--musait); }
.blok-sec a.ozel::after { content: ""; position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border-radius: 50%; background: var(--opsiyon); }
.blok-sec a.aktif { background: var(--yesil); color: #fff; border-color: var(--yesil); }
.sayac-satir { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.uyari { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border-radius: var(--r-kucuk); background: #fff7e6; border: 1px solid #f1d9a6; color: #6b4b0c; margin-bottom: 18px; font-size: 0.95rem; }
.uyari.gri { background: #f1f3f2; border-color: #dde2df; color: var(--gri); }
.blok-duzen { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 22px; align-items: start; }
.bina { background: var(--yesil-koyu); border-radius: var(--r); padding: 16px 12px 12px; color: #fff; position: sticky; top: calc(var(--ust-yuk) + 14px); box-shadow: var(--golge-buyuk); }
.bina-bas { display: flex; justify-content: space-between; align-items: baseline; padding: 0 6px 10px; }
.bina-bas b { font-family: var(--serif); font-size: 1.15rem; font-weight: 500; }
.bina-bas small { color: rgba(255, 255, 255, 0.6); font-size: 0.78rem; }
.cati { height: 10px; margin: 0 22px 6px; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, rgba(201, 164, 92, 0.5), rgba(201, 164, 92, 0.15)); }
.kat-satir { width: 100%; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 9px 10px; margin-bottom: 4px; border-radius: 10px; border: 1px solid transparent; background: rgba(255, 255, 255, 0.05); text-align: left; color: #fff; transition: background 0.15s, border-color 0.15s; }
.kat-satir:hover { background: rgba(255, 255, 255, 0.11); }
.kat-satir.aktif { background: rgba(201, 164, 92, 0.2); border-color: var(--altin); }
.kat-no { font-family: var(--serif); font-size: 1.35rem; color: var(--altin-acik); text-align: center; }
.kat-bilgi { display: flex; flex-direction: column; min-width: 0; }
.kat-bilgi b { font-size: 0.86rem; font-weight: 600; }
.kat-bilgi small { font-size: 0.72rem; color: rgba(255, 255, 255, 0.6); }
.kat-noktalar { display: grid; grid-template-columns: repeat(4, 9px); gap: 3px; }
.kat-noktalar .nokta { width: 9px; height: 9px; border-radius: 2px; }
.kat-mini { display: none; }
.zemin-cizgi { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, 0.15); margin: 8px 6px 0; }
.kat-ana { min-width: 0; }
.kat-bas { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.kat-bas h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.kat-bas p { color: var(--gri); margin-top: 4px; }
.kat-fiyat { text-align: right; }
.kat-fiyat small { display: block; color: var(--gri); font-size: 0.8rem; }
.kat-fiyat b { font-family: var(--serif); font-size: 1.5rem; color: var(--yesil); font-weight: 600; }
.plan-sahne { position: relative; background: #fff; border-radius: var(--r); box-shadow: var(--golge); border: 1px solid var(--cizgi); padding: 10px; }
.plan-ic { position: relative; }
.plan-ic img { width: 100%; height: auto; user-select: none; }
.plan-ic svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.daire-sekil { fill: var(--d); fill-opacity: 0.3; stroke: var(--d); stroke-width: 2; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill-opacity 0.15s; outline: none; }
.daire-sekil:hover, .daire-sekil:focus { fill-opacity: 0.5; }
.daire-sekil.secili { stroke: var(--altin-koyu); stroke-width: 4; fill-opacity: 0.55; }
.daire-sekil.d-blokKapali { fill: #9aa39e; fill-opacity: 0.25; stroke: #9aa39e; }
.daire-sekil.d-yok, .daire-sekil.d-satildi, .daire-sekil.d-kapali { fill-opacity: 0.42; }
.plan-etiket { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 10px; border-radius: 10px; border: 0; background: rgba(255, 255, 255, 0.94); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18); font-weight: 700; color: var(--murekkep); line-height: 1.1; min-width: 64px; }
.plan-etiket b { font-family: var(--serif); font-size: clamp(0.85rem, 1.6vw, 1.2rem); }
.plan-etiket small { font-size: clamp(0.55rem, 0.9vw, 0.68rem); font-weight: 600; color: color-mix(in srgb, var(--d) 75%, #000); display: inline-flex; align-items: center; gap: 4px; }
.plan-etiket small::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--d); }
.plan-etiket:hover { background: #fff; transform: translate(-50%, -50%) scale(1.05); }
.plan-alt { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; padding: 0 4px; }
.daire-liste { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; } /* 1fr = min-content: 1024 px tablette 4. kart sayfayı taşırıyordu */
.daire-kart { min-width: 0; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-left: 4px solid var(--d); border-radius: var(--r-kucuk); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; transition: box-shadow 0.15s, transform 0.15s; }
.daire-kart:hover { box-shadow: var(--golge); transform: translateY(-1px); }
.daire-kart > span:first-child { flex-wrap: wrap; } /* "Daire 57" + durum hapı dar kartta alta iner (1024 px tablet) */
.daire-kart b { font-family: var(--serif); font-size: 1.1rem; }
.daire-kart small { color: var(--gri); font-size: 0.8rem; }
.daire-kart .fiyat { font-weight: 700; color: var(--yesil); font-variant-numeric: tabular-nums; }

/* ---------- Çekmece ---------- */
.cekmece-arka { position: fixed; inset: 0; background: rgba(8, 24, 19, 0.45); z-index: 50; backdrop-filter: blur(2px); }
.cekmece { position: fixed; top: 0; right: 0; bottom: 0; width: min(540px, 100%); background: var(--kagit); z-index: 51; overflow-y: auto; box-shadow: -20px 0 60px rgba(0, 0, 0, 0.25); animation: kay 0.25s ease-out; overscroll-behavior: contain; }
@keyframes kay { from { transform: translateX(40px); opacity: 0; } }
.c-bas { position: sticky; top: 0; z-index: 3; background: var(--yesil-koyu); color: #fff; padding: 20px 22px 18px; display: flex; justify-content: space-between; gap: 12px; }
.c-bas small { color: rgba(255, 255, 255, 0.7); font-size: 0.85rem; }
.c-bas h2 { font-size: 2rem; margin: 2px 0 8px; }
.kapat { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.25); background: transparent; color: #fff; display: grid; place-items: center; }
.c-govde { padding: 20px 22px 32px; display: flex; flex-direction: column; gap: 18px; }
.fiyat-kutu { background: linear-gradient(135deg, #fff 0%, #fbf6ea 100%); border: 1px solid rgba(201, 164, 92, 0.45); border-radius: var(--r); padding: 18px 20px; }
.fiyat-kutu small { color: var(--gri); font-size: 0.82rem; display: block; }
.fiyat-kutu .buyuk { font-family: var(--serif); font-size: 2.1rem; color: var(--yesil); font-weight: 600; line-height: 1.15; }
.fiyat-kutu .ek { font-size: 0.85rem; color: var(--altin-koyu); font-weight: 600; margin-top: 2px; }
.fiyat-kutu .ayrac { border-top: 1px dashed rgba(201, 164, 92, 0.45); margin: 12px 0; }
.olcu { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.olcu div { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 10px; text-align: center; }
.olcu b { display: block; font-family: var(--serif); font-size: 1.15rem; color: var(--yesil); }
.olcu small { font-size: 0.72rem; color: var(--gri); }
.c-plan { position: relative; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); overflow: hidden; }
.c-plan .sekmeler { position: absolute; top: 10px; left: 10px; z-index: 2; }
.ic-gorseller { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ic-gorseller button { position: relative; padding: 0; border: 0; border-radius: var(--r-kucuk); overflow: hidden; aspect-ratio: 3 / 4; background: #ddd; }
.ic-gorseller img { width: 100%; height: 100%; object-fit: cover; }
.ic-gorseller .temsili { font-size: 0.58rem; right: 5px; bottom: 5px; }
.kutu { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 18px; }
.kutu h3 { font-size: 1.1rem; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.kutu.personel { border-color: rgba(201, 164, 92, 0.55); background: #fffdf7; }
.kutu.yonetim { border-color: rgba(18, 60, 48, 0.4); background: #f6faf7; }
.kutu.onay-kutusu { border: 2px solid var(--onay); background: #f3f7fd; }
.kutu.iptal-kutusu { border-color: rgba(192, 83, 63, 0.35); background: #fdf7f6; }
.c-govde > .kutu + .kutu, .c-islem > .kutu + .kutu { margin-top: 0; }
.c-bilgi, .c-islem { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.c-bilgi > *, .c-islem > * { flex-shrink: 0; } /* sütun kayarken plan görseli ezilmesin */
/* Sercan 18.10.2026: daire penceresi masaüstünde ortada; işlem sütunu (rezerve, satıldı bildir, teklif) kaydırmadan görünür. */
@media (min-width: 901px) {
  .cekmece { inset: 0; margin: auto; width: min(1120px, calc(100vw - 48px)); height: min(900px, calc(100svh - 40px)); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--golge-buyuk); animation: belir 0.2s ease-out; }
  .cekmece[hidden] { display: none; }
  .cekmece .c-bas { position: static; flex: none; padding: 16px 22px 14px; }
  .cekmece .c-bas h2 { font-size: 1.7rem; margin: 0 0 6px; }
  .cekmece .c-govde { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0; padding: 0; }
  .c-bilgi, .c-islem { overflow-y: auto; overscroll-behavior: contain; padding: 20px 22px 28px; }
  .c-islem { background: #f7f4ec; border-left: 1px solid var(--cizgi); }
}
/* Telefonda ve dar ekranda tek sütun: fiyat, sonra işlemler, sonra plan ve görseller. */
@media (max-width: 900px) {
  .c-bilgi, .c-islem { display: contents; }
  .c-bilgi > * { order: 3; }
  .c-bilgi > .fiyat-kutu, .c-bilgi > .satildi-kutu, .c-bilgi > .c-odeme { order: 1; }
  .c-islem > * { order: 2; }
}
.rozet { font-family: var(--sans); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; background: var(--yesil); color: #fff; }
.rozet.altin { background: var(--altin); color: var(--yesil-koyu); }
.bilgi-satir { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--cizgi); font-size: 0.92rem; }
.bilgi-satir:last-child { border-bottom: 0; }
.bilgi-satir span { color: var(--gri); }
.bilgi-satir b { text-align: right; }

/* Sekmeler */
.sekmeler { display: inline-flex; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--cizgi); border-radius: 99px; padding: 3px; gap: 2px; box-shadow: var(--golge); }
.sekmeler button { border: 0; background: transparent; padding: 8px 16px; border-radius: 99px; font-weight: 600; font-size: 0.88rem; color: var(--gri); }
.sekmeler button[aria-selected="true"] { background: var(--yesil); color: #fff; }
.sekmeler.kucuk button { padding: 6px 12px; font-size: 0.8rem; }

/* Form */
.alan { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.alan > span, .alan-baslik { font-size: 0.8rem; font-weight: 600; color: var(--gri); letter-spacing: 0.02em; }
input[type="text"], input[type="password"], input[type="number"], input[type="search"], select, textarea { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
textarea { min-height: 80px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--altin); outline-offset: 0; border-color: var(--altin); }
.para { position: relative; }
.para input { padding-right: 46px; font-weight: 600; font-variant-numeric: tabular-nums; }
.para::after { content: "TL"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--gri); font-weight: 600; pointer-events: none; }
.secenekler { display: flex; flex-wrap: wrap; gap: 6px; }
.secenek { border: 1px solid var(--cizgi); background: #fff; border-radius: 99px; padding: 8px 14px; font-size: 0.86rem; font-weight: 600; color: var(--yesil); }
.secenek[aria-pressed="true"] { background: var(--yesil); color: #fff; border-color: var(--yesil); }
.ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.uclu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.onay-kutu { display: flex; gap: 10px; align-items: flex-start; font-size: 0.92rem; margin: 6px 0 12px; }
.onay-kutu input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--yesil); }
.hata-metin { color: var(--satildi); font-size: 0.88rem; font-weight: 600; min-height: 1.2em; }

/* ---------- Ödeme sayfası ---------- */
.sayfa-bas { margin-bottom: 26px; }
.sayfa-bas h1 { font-size: clamp(2rem, 4vw, 3rem); }
.sayfa-bas p { color: var(--gri); margin-top: 8px; font-size: 1.05rem; max-width: 720px; }

/* ---------- Sirius Destek (personel) ---------- */
/* Sercan 18.10.2026: iç kullanım sayfası beyaz, Sirius paneliyle aynı sade görünüm */
.sayfa[data-sayfa="sirius"] { background: #fff; }
.sayfa[data-sayfa="sirius"] .yan-kart, .sayfa[data-sayfa="sirius"] .dosya-satir { box-shadow: none; border-color: #e3dcce; }
.sayfa[data-sayfa="sirius"] .dosya-satir:hover { background: #f7f4ec; }
.destek-kartlar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.destek-kart h3 { font-size: 1.35rem; }
.destek-kart .dugmeler { margin-top: 14px; gap: 8px; }
.destek-kart.konum-kart { grid-column: 1 / -1; background: linear-gradient(120deg, var(--yesil-acik), var(--krem)); border-left: 4px solid var(--altin); } /* Konum Rehberi (2026-10-19) */
.destek-belge-baslik { margin-top: 40px; }
.dosya-liste { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 10px; }
.dosya-satir { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); text-decoration: none; color: var(--yesil); }
.dosya-satir:hover { background: var(--yesil-acik); }
.dosya-satir b { display: block; font-weight: 600; }
.dosya-satir small { display: block; color: var(--gri); font-size: 0.82rem; margin-top: 2px; }
.dosya-ac { flex: none; font-size: 0.85rem; font-weight: 700; color: var(--altin-koyu); }
@media (max-width: 760px) {
  .destek-kartlar, .dosya-liste { grid-template-columns: 1fr; }
}
.odeme-duzen { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 24px; align-items: start; }
.odeme-form { position: sticky; top: calc(var(--ust-yuk) + 14px); background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 20px; box-shadow: var(--golge); }
.secim-ozet { background: var(--yesil-koyu); color: #fff; border-radius: var(--r-kucuk); padding: 14px 16px; margin-bottom: 16px; }
.secim-ozet small { color: rgba(255, 255, 255, 0.65); font-size: 0.78rem; }
.secim-ozet b { display: block; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; }
/* Teklif penceresinde ödeme tarihleri (2026-10-20) */
.tk-tarih-ozet { margin: 0 0 16px; font-size: 0.85rem; }
/* Banka ekstresi gibi tarihli plan (teklif belgesi): ödeme · tarih · tutar */
.t-plan th { text-align: left; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); font-weight: 600; padding: 0 0 4px; border-bottom: 1px solid var(--cizgi); }
.t-plan th:last-child { text-align: right; }
.t-plan td:first-child { font-weight: 600; padding-right: 10px; white-space: nowrap; }
.t-plan td:nth-child(2) { color: var(--gri); padding-right: 10px; }
.t-plan td:last-child { white-space: nowrap; }
@media (max-width: 640px) { .t-plan td:first-child, .t-plan td:last-child { white-space: normal; } }
.sonuclar { display: flex; flex-direction: column; gap: 26px; }
.grup-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.grup-bas h2 { font-size: 1.6rem; }
.grup-bas p { color: var(--gri); font-size: 0.9rem; }
.pesin-kart { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; background: linear-gradient(120deg, var(--yesil) 0%, var(--yesil-koyu) 100%); color: #fff; border-radius: var(--r); padding: 24px 26px; box-shadow: var(--golge-buyuk); }
.pesin-kart small { color: rgba(255, 255, 255, 0.7); }
/* Peşin kartındaki "Teklif hazırla · Sözleşmeye geç" (2026-10-29 gece, taşma): dar ekranda düğmeler fiyatın altına iner ve eşit genişlikte durur. */
@media (max-width: 640px) {
  .pesin-kart { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .pesin-kart .dugmeler .dugme { flex: 1 1 140px; padding: 0 14px; }
}
.pesin-kart .buyuk { font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 2.8rem); color: var(--altin-acik); font-weight: 600; line-height: 1.1; }
.pesin-kart .durum-not { margin-top: 6px; font-size: 0.9rem; color: rgba(255, 255, 255, 0.82); }
.plan-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.plan-kart { position: relative; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 18px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow 0.15s, opacity 0.2s; }
.plan-kart:hover { box-shadow: var(--golge); }
.plan-kart.uygunsuz { opacity: 0.5; background: #f7f8f7; }
.plan-kart.one-cikan { border: 2px solid var(--altin); }
.plan-kart h3 { font-family: var(--sans); font-size: 0.86rem; font-weight: 700; color: var(--gri); letter-spacing: 0.06em; text-transform: uppercase; }
.plan-kart .aylik { font-family: var(--serif); font-size: 1.85rem; color: var(--yesil); font-weight: 600; line-height: 1.05; }
.plan-kart .aylik small { font-family: var(--sans); font-size: 0.85rem; color: var(--gri); font-weight: 500; }
.plan-kart .satirlar { font-size: 0.88rem; }
.plan-kart .satirlar div { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; border-bottom: 1px dashed var(--cizgi); }
.plan-kart .satirlar span { color: var(--gri); }
.plan-kart .satirlar b { font-variant-numeric: tabular-nums; }
.plan-kart .not { font-size: 0.8rem; color: var(--altin-koyu); font-weight: 600; }
.plan-kart .rozetler { display: flex; gap: 6px; flex-wrap: wrap; min-height: 22px; }
.plan-kart .dugme { margin-top: auto; }
.dilim { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.dilim td { padding: 5px 0; border-bottom: 1px dashed var(--cizgi); }
.dilim td:last-child { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.eminevim { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 22px; }
.adimlar { counter-reset: adim; list-style: none; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.adimlar li { counter-increment: adim; position: relative; padding: 12px 14px 12px 46px; background: var(--krem); border-radius: var(--r-kucuk); font-size: 0.9rem; }
.adimlar li::before { content: counter(adim); position: absolute; left: 12px; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--yesil); color: #fff; font-weight: 700; font-size: 0.8rem; display: grid; place-items: center; }
.dipnot { font-size: 0.82rem; color: var(--gri); }

/* ---------- Pencere ---------- */
.pencere-arka { position: fixed; inset: 0; z-index: 60; background: rgba(8, 24, 19, 0.6); display: grid; place-items: center; padding: 16px; backdrop-filter: blur(3px); overflow-y: auto; }
.pencere { background: var(--kagit); border-radius: var(--r); width: min(460px, 100%); box-shadow: var(--golge-buyuk); max-height: calc(100svh - 32px); overflow-y: auto; animation: belir 0.2s ease-out; }
.pencere.genis { width: min(860px, 100%); }
.pencere.gorsel { width: min(1200px, 100%); background: #000; }
@keyframes belir { from { transform: translateY(10px); opacity: 0; } }
.p-bas { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 18px 22px; background: var(--yesil-koyu); color: #fff; position: sticky; top: 0; z-index: 2; }
.p-bas h2 { font-size: 1.35rem; }
.p-govde { padding: 22px; }
.p-alt { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; padding: 0 22px 22px; }

/* SATILDI damgası ve satış sayacı (Sercan kararı 2026-10-16) */
:root { --kirmizi: #d32f2f; --kirmizi-koyu: #a51f1f; }
.d-satildi { --d: var(--kirmizi); }
.blok-alan { flex-direction: column; align-items: center; justify-content: flex-end; gap: 3px; }
.blok-alan .satildi-cip { background: var(--kirmizi); color: #fff; letter-spacing: 0.04em; transform: translateY(55%) rotate(-3deg); }
.satis-sayac { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; padding: 14px 16px; border-radius: var(--r); background: linear-gradient(135deg, #fff 0%, #fdeeee 100%); border: 1px solid rgba(211, 47, 47, 0.28); }
.satis-sayac b { grid-row: span 2; font-family: var(--serif); font-size: 2.6rem; line-height: 1; color: var(--kirmizi); }
.satis-sayac span { font-weight: 700; color: var(--murekkep); }
.satis-sayac small { color: var(--gri); font-size: 0.75rem; }
.satildi-rozet { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 6px; background: var(--kirmizi); color: #fff; font-weight: 800; font-size: 0.8rem; letter-spacing: 0.05em; box-shadow: 0 3px 10px rgba(211, 47, 47, 0.3); }
.daire-sekil.d-satildi { fill: var(--kirmizi); fill-opacity: 0.55; stroke: var(--kirmizi-koyu); stroke-width: 2.5; }
.plan-etiket.damga { background: var(--kirmizi); color: #fff; border: 2px solid #fff; transform: translate(-50%, -50%) rotate(-9deg); box-shadow: 0 6px 18px rgba(165, 31, 31, 0.45); padding: 6px 12px; }
.plan-etiket.damga span { font-family: var(--sans); font-weight: 900; font-size: clamp(0.72rem, 1.5vw, 1.05rem); letter-spacing: 0.06em; }
.plan-etiket.damga small { color: rgba(255, 255, 255, 0.9); font-size: clamp(0.5rem, 0.85vw, 0.66rem); }
.plan-etiket.damga small::before { display: none; }
.plan-etiket.damga:hover { background: var(--kirmizi-koyu); transform: translate(-50%, -50%) rotate(-9deg) scale(1.05); }
.daire-kart.d-satildi { background: linear-gradient(135deg, #fff 0%, #fdf0f0 100%); border-color: rgba(211, 47, 47, 0.3); border-left-color: var(--kirmizi); }
.kart-damga { display: inline-block; padding: 3px 9px; border: 2px solid var(--kirmizi); border-radius: 5px; color: var(--kirmizi); font-weight: 900; font-size: 0.78rem; letter-spacing: 0.06em; transform: rotate(-6deg); background: #fff; }
.kart-damga.buyuk-damga { font-size: 1rem; padding: 4px 12px; background: var(--kirmizi); color: #fff; border-color: #fff; }
.daire-kart .davet { color: var(--musait); font-weight: 600; }
.daire-kart .sahibini { color: var(--kirmizi); font-weight: 700; }
.satildi-kutu { position: relative; overflow: hidden; border-radius: var(--r); padding: 20px; background: linear-gradient(135deg, #fff 0%, #fdeeee 100%); border: 2px solid var(--kirmizi); }
.satildi-kutu p { margin-top: 6px; }
.satildi-kutu .secenekler { margin-top: 10px; }
.satildi-damga { display: inline-block; font-weight: 900; font-size: 2rem; letter-spacing: 0.08em; color: var(--kirmizi); border: 4px solid var(--kirmizi); border-radius: 10px; padding: 4px 16px; transform: rotate(-7deg); margin-bottom: 8px; }
@media (max-width: 760px) {
  .plan-etiket.damga { padding: 3px 6px; }
  .plan-etiket.damga small { display: none; }
  .blok-alan .satildi-cip { font-size: 0.5rem; padding: 2px 5px; }
}

/* Yerleşim planı olmayan blok */
.plansiz-kart { background: #fff; border: 1px dashed rgba(18, 60, 48, 0.3); border-radius: var(--r); padding: 32px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.plansiz-kart h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.plansiz-kart p { color: var(--gri); max-width: 560px; }
.blok-sec a.plansiz { color: #c2c9c5; border-style: dashed; background: #fafbfa; }

/* Pusula ve cephe */
.pusula { position: absolute; left: 3%; top: 4%; width: clamp(44px, 6vw, 70px); aspect-ratio: 1; pointer-events: auto; }
.pusula svg { width: 100%; height: 100%; overflow: visible; }
.pusula circle { fill: rgba(255, 255, 255, 0.92); stroke: var(--yesil); stroke-width: 1.2; }
.pusula .pusula-ok { transform: rotate(var(--aci)); transform-origin: 20px 20px; }
.pusula path { fill: #c7cec9; }
.pusula path.kuzey { fill: var(--satildi); }
.pusula text { font: 800 8px var(--sans); fill: var(--satildi); text-anchor: middle; }
.daire-kart b { white-space: nowrap; }
.cephe-satir { display: flex; align-items: center; gap: 10px; background: var(--yesil-acik); border-radius: var(--r-kucuk); padding: 10px 14px; font-size: 0.95rem; color: var(--yesil); }
.cephe-satir svg { width: 22px; height: 22px; fill: none; stroke: var(--yesil); stroke-width: 1.6; flex-shrink: 0; }
.cephe-satir svg path { fill: var(--satildi); stroke: none; }

/* Özel peşinat */
.ozel-kart { background: #fff; border: 2px solid var(--altin); border-radius: var(--r); padding: 18px 20px; }
.ozel-kart.bos-ozel { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-style: dashed; }
.ozel-kart h2 { font-size: 1.45rem; }
.ozel-kart p { color: var(--gri); }
.ozel-kart .tablo-kap { border: 0; }
/* Ödeme ekranı (2026-10-17): üstte daire özeti + iskonto, altında sekmeler */
.odeme-ust { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 18px 20px; box-shadow: var(--golge); display: grid; gap: 14px; margin-bottom: 18px; }
.odeme-secici { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.odeme-secici .alan { margin-bottom: 0; }
.daire-ozet { display: flex; flex-wrap: wrap; gap: 10px; }
.daire-ozet > div { background: var(--krem); border-radius: var(--r-kucuk); padding: 10px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 120px; }
.daire-ozet small { color: var(--gri); font-size: 0.76rem; }
.daire-ozet b { color: var(--yesil-koyu); font-size: 1.02rem; }
.daire-ozet .do-ad { background: var(--yesil-koyu); color: #fff; flex: 1 1 200px; }
.daire-ozet .do-ad small { color: rgba(255, 255, 255, 0.65); }
.daire-ozet .do-ad b { color: #fff; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.daire-ozet .do-ad .hap { align-self: flex-start; margin-top: 4px; }
.daire-ozet .do-fiyat { background: #fff; border: 2px solid var(--altin); margin-left: auto; }
.daire-ozet .do-fiyat b { font-family: var(--serif); font-size: 1.45rem; font-weight: 600; }
.iskonto-alan { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: 6px 14px; align-items: end; border-top: 1px dashed var(--cizgi); padding-top: 12px; }
.iskonto-alan[hidden] { display: none; }
.iskonto-alan .alan { margin-bottom: 0; }
.iskonto-not { grid-column: 1 / -1; margin: 0; font-size: 0.86rem; color: var(--gri); }
.iskonto-not b { color: #1d7a4f; }
/* Ödeme planı ekranı (2026-10-20, #198): solda dört adım, sağda müşterinin ödeme planı canlı. */
.op2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 20px; align-items: start; margin-bottom: 18px; }
.op2-sol { display: grid; gap: 14px; min-width: 0; }
.op2-adim { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 16px 18px; display: grid; gap: 12px; min-width: 0; }
.op2-adim[hidden] { display: none; }
.op2-adim h2 { font-family: var(--sans); font-size: 1rem; font-weight: 700; color: var(--yesil); display: flex; align-items: center; gap: 10px; }
.op2-adim h2 b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--yesil-acik); font-size: 0.82rem; }
.op2-adim .alan { margin-bottom: 0; }
.op2-adim .odeme-secici { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.op2-sekil { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.op2-sekil button { border: 0; background: #fff; padding: 11px 6px; font-weight: 700; color: var(--gri); }
.op2-sekil button + button { border-left: 1px solid var(--cizgi); }
.op2-sekil button[aria-pressed="true"] { background: var(--yesil-acik); color: var(--yesil); box-shadow: inset 0 -3px 0 var(--altin); }
.op2-satir { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.op2-vade { display: inline-flex; align-items: center; gap: 6px; font-size: 0.86rem; color: var(--gri); font-weight: 600; }
.op2-vade input { width: 72px; padding: 7px 10px; }
.op2-ek { display: grid; gap: 14px; border-top: 1px dashed var(--cizgi); padding-top: 12px; }
.op2-ek[hidden] { display: none; }
.op2-ek .dipnot { margin: 2px 0 8px; }
.op2-liste { display: grid; gap: 8px; }
.op2-sira { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 40px; gap: 10px; align-items: end; }
/* Ödeme planını oluştur (2026-10-21) */
.po-sekil { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 4px 0 12px; }
.po-sekil > span { font-size: 0.85rem; font-weight: 700; color: var(--gri); }
.po-bas { font-family: var(--sans); font-size: 0.95rem; font-weight: 700; color: var(--yesil); margin: 18px 0 8px; display: flex; gap: 8px; align-items: center; }
.po-bas span { font-size: 0.75rem; background: var(--yesil-acik); border-radius: 99px; padding: 1px 8px; }
.po-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.po-ozet > div { background: var(--krem); border-radius: var(--r-kucuk); padding: 10px 12px; min-width: 0; }
.po-ozet small { display: block; font-size: 0.74rem; color: var(--gri); }
.po-ozet b { font-variant-numeric: tabular-nums; font-size: 1.05rem; color: var(--yesil-koyu); }
.po-ozet .iyi { background: #e7f4ec; }
.po-ozet .kirmizi { background: #fdecea; }
.po-ozet .kirmizi small:last-child { color: #a3341f; font-weight: 700; }
.po-hata { grid-column: 1 / -1; margin: 0; color: #8a5a0b; background: #fff7e6; border-radius: var(--r-kucuk); padding: 8px 12px; font-weight: 600; font-size: 0.88rem; }
#poKap input[type="date"] { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.po-liste { display: grid; gap: 6px; }
/* Elle yazılan tarih hafta sonuna düşerse yanında küçük uyarı (Sercan 2026-10-23); tarih değişmez. */
.po-tarih { min-width: 0; }
.po-hs { display: block; margin-top: 2px; font-size: 0.72rem; font-weight: 600; color: #8a5a0b; line-height: 1.2; }
.po-hs[hidden] { display: none; }
/* Özel planda 990.000 TL altı peşinat notu: yalnız Master Admin görür, sunum modunda gizli (.ofis-ozel). */
.op-master-not { margin: 0 0 10px; color: #8a5a0b; font-weight: 600; }
.po-sira { display: grid; grid-template-columns: 30px minmax(0, 1fr) minmax(0, 1fr) 36px; gap: 8px; align-items: center; }
.po-sira-bas span { font-size: 0.74rem; font-weight: 600; color: var(--gri); }
.po-no { font-size: 0.8rem; color: var(--gri); text-align: right; font-variant-numeric: tabular-nums; }
#poKap .po-sira input { min-height: 40px; padding-top: 7px; padding-bottom: 7px; }
.po-sil { width: 36px; height: 36px; border: 1px solid var(--cizgi); border-radius: 8px; background: #fff; color: var(--gri); font-size: 1.1rem; line-height: 1; }
.po-sil:hover { color: #a3341f; border-color: #a3341f; }
.po-tamam { background: #e7f4ec; border-radius: var(--r-kucuk); padding: 14px 16px; color: #1d5a3c; }
.po-tamam p { margin: 6px 0 0; font-size: 0.92rem; }
.po-alfa { margin-top: 12px; }
@media (max-width: 640px) {
  .po-ozet { grid-template-columns: 1fr 1fr; }
  .po-sira { grid-template-columns: 18px minmax(0, 1.1fr) minmax(0, 1fr) 30px; gap: 5px; }
  #poKap .po-sira input { padding-left: 7px; padding-right: 4px; font-size: 0.9rem; }
  #poKap .po-sira input[type="date"]::-webkit-calendar-picker-indicator { margin-left: 0; padding: 0; width: 14px; }
  .po-sira .para::after { display: none; }
  .po-sil { width: 30px; height: 34px; }
}
.op2-doldur { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 0.9rem; color: var(--gri); font-weight: 600; }
.op2-doldur input[type="number"] { width: 64px; padding: 7px 8px; }
.op2-doldur .para { width: 150px; }
.op2-ekle { justify-self: start; margin-top: 8px; border: 1px dashed var(--cizgi); background: none; border-radius: var(--r-kucuk); padding: 8px 12px; font-weight: 700; color: var(--yesil); }
.op2-ekle[hidden] { display: none; }
.op2-sag { position: sticky; top: calc(var(--ust-yuk) + 12px); min-width: 0; }
.op2-sonuc { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); overflow: hidden; box-shadow: var(--golge); }
.op2-bas { background: var(--yesil-koyu); color: #fff; padding: 16px 18px; display: grid; gap: 6px; }
.op2-etiket { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--altin-acik); font-weight: 700; }
.op2-buyuk { font-family: var(--serif); font-size: clamp(1.7rem, 3.4vw, 2.3rem); font-weight: 600; font-variant-numeric: tabular-nums; }
.op2-buyuk small { font-family: var(--sans); font-size: 0.9rem; font-weight: 500; opacity: 0.8; }
.op2-ozet3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.op2-ozet3 div { background: rgba(255, 255, 255, 0.08); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.op2-ozet3 small { display: block; font-size: 0.72rem; opacity: 0.75; }
.op2-ozet3 b { font-variant-numeric: tabular-nums; }
.op2-ipucu { display: grid; gap: 6px; padding: 12px 18px 0; }
.op2-ipucu:empty { display: none; }
.op2-ipucu p { margin: 0; font-size: 0.86rem; border-radius: 10px; padding: 8px 11px; background: #e7f4ec; color: #1d7a4f; }
.op2-ipucu p.op2-uyar { background: #fff7e6; color: #8a5a0b; }
.op2-plan { padding: 12px 18px 6px; }
.op2-tablo { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.op2-tablo th { text-align: left; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); font-weight: 600; padding: 6px 0; border-bottom: 1px solid var(--cizgi); }
.op2-tablo td { padding: 8px 0; border-bottom: 1px solid var(--cizgi); vertical-align: top; }
.op2-tablo td + td, .op2-tablo th + th { padding-left: 10px; }
.op2-tablo .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.op2-tablo td small { display: block; color: var(--gri); font-weight: 500; font-size: 0.78rem; }
.op2-ad { font-weight: 600; width: 34%; }
.op2-tarih { color: var(--gri); width: 34%; }
.op2-toplam td { border-bottom: 0; border-top: 2px solid var(--yesil); font-weight: 800; color: var(--yesil); font-size: 1rem; padding-top: 10px; }
.op2-bolum td { padding-top: 16px; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--altin-koyu); font-weight: 700; }
.op2-bilgi td { color: var(--gri); }
.op2-plan .dipnot { margin: 8px 0 0; }
.op2-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; padding: 12px 18px 18px; }
@media (max-width: 980px) {
  .op2 { grid-template-columns: minmax(0, 1fr); }
  .op2-sag { position: static; }
}
@media (max-width: 560px) {
  .op2-satir { grid-template-columns: 1fr 1fr; }
  .op2-satir .alan:last-child { grid-column: 1 / -1; }
  .op2-adim .odeme-secici { grid-template-columns: 1fr 1fr; }
}
.odeme-sekmeler { position: sticky; top: var(--ust-yuk); z-index: 5; display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0 12px; margin-bottom: 14px; background: var(--kagit); border-bottom: 1px solid var(--cizgi); }
.odeme-sekmeler button { border: 1px solid var(--cizgi); background: #fff; padding: 10px 18px; border-radius: 99px; font-weight: 700; font-size: 0.92rem; color: var(--yesil); }
.odeme-sekmeler button[aria-selected="true"] { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.odeme-panel { display: flex; flex-direction: column; gap: 16px; margin-bottom: 18px; }
.odeme-panel[hidden] { display: none; }
.odeme-panel > .grup-bas { margin-bottom: 0; }
.pesinat-gir { display: grid; grid-template-columns: minmax(200px, 300px) 1fr; gap: 6px 14px; align-items: end; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 14px 16px; }
.pesinat-gir .alan { margin-bottom: 0; }
.plan-kart .satirlar .indirim span, .plan-kart .satirlar .indirim b { color: #1d7a4f; }
.t-tablo tr.indirim td { color: #1d7a4f; }
.tablo tr.secili td { background: var(--yesil-acik); }
#ozelPlanForm { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 14px 16px; }
.op-hedef { flex: 1 1 260px; }
.op-ipucu { flex: 1 1 300px; margin: 0 0 4px; }
.op-ozet > div.vurgu { background: #fff; border: 2px solid var(--altin); }
@media (max-width: 760px) {
  .odeme-secici { grid-template-columns: 1fr 1fr; }
  .odeme-secici .alan:last-child { grid-column: 1 / -1; }
  .daire-ozet > div { flex: 1 1 calc(50% - 10px); min-width: 0; }
  .daire-ozet .do-ad, .daire-ozet .do-fiyat { margin-left: 0; flex: 1 1 100%; }
  .iskonto-alan, .pesinat-gir { grid-template-columns: 1fr; }
  .odeme-sekmeler { overflow-x: auto; flex-wrap: nowrap; }
  .odeme-sekmeler button { white-space: nowrap; padding: 9px 14px; font-size: 0.86rem; }
}
/* Özel ödeme planı (vade ≤ 36, artan taksit, ara ödeme) */
.op-form { display: flex; flex-direction: column; gap: 4px; }
.op-satir { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; margin-bottom: 8px; }
.op-satir .alan { margin-bottom: 0; }
.op-vade { width: 110px; }
.op-artan { display: flex; gap: 10px; }
.op-artan[hidden] { display: none; }
.op-artan .alan { width: 110px; }
.op-artan .alan:last-child { width: 150px; }
.op-ara { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
#opAraListe { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.op-ara-satir { display: grid; grid-template-columns: 110px minmax(0, 1fr) 40px; gap: 10px; align-items: end; }
.op-ara-satir .alan { margin-bottom: 0; }
.op-sil { width: 40px; height: 44px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; color: var(--gri); display: grid; place-items: center; }
.op-sil svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; }
.op-sonuc { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--cizgi); padding-top: 14px; }
.op-ozet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.op-ozet > div { background: var(--krem, #f7f5ef); border-radius: var(--r-kucuk); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.op-ozet small { color: var(--gri); font-size: 0.78rem; }
.op-ozet b { font-size: 1.2rem; color: var(--yesil); font-variant-numeric: tabular-nums; }
.op-ozet small.iyi { color: #1d7a4f; font-weight: 600; }
@media (max-width: 760px) {
  .op-ozet { grid-template-columns: 1fr; }
}
.tablo tr.soluk td { color: var(--gri-acik); }
.onay-alani { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.onay-alani select { min-height: 36px; width: auto; padding: 4px 8px; font-size: 0.85rem; }

/* Teklif belgesi */
.t-onay { padding: 9px 26px; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.02em; }
.t-onay.bekliyor { background: #fff7e6; color: #7a5410; }
.t-onay.onayli { background: #e8f5ee; color: #17633f; }
.t-onay.red { background: #fbeceb; color: var(--satildi); }
.t-ek { background: #fbf8f1; border-style: dashed; }
.t-kurum { display: flex; flex-direction: column; align-items: flex-end; text-align: right; line-height: 1; }
.t-kurum-ad { font-family: var(--serif); font-size: 1.7rem; letter-spacing: 0.32em; color: var(--yesil-koyu); }
.t-kurum-alt { font-size: 0.7rem; letter-spacing: 0.34em; color: var(--altin-koyu); margin-top: 6px; font-weight: 700; }
.teklif { background: #fff; color: var(--murekkep); border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden; }
.t-bas { background: var(--yesil-koyu); color: #fff; padding: 22px 26px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.t-bas .logo-alt { font-size: 1.9rem; }
.t-bas .logo-ust { font-size: 0.7rem; }
.t-bas-sag { text-align: right; font-size: 0.82rem; color: rgba(255, 255, 255, 0.75); }
.t-bas-sag b { display: block; font-family: var(--serif); font-size: 1.3rem; color: var(--altin-acik); font-weight: 500; }
.t-govde { padding: 22px 26px; display: grid; gap: 18px; }
.t-iki { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.t-kutu { border: 1px solid var(--cizgi); border-radius: 8px; padding: 14px 16px; }
.t-kutu h4 { margin: 0 0 8px; font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--altin-koyu); }
.t-tablo { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.t-tablo td { padding: 8px 0; border-bottom: 1px solid var(--cizgi); }
.t-tablo td:last-child { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.t-tablo tr.toplam td { font-weight: 800; color: var(--yesil); border-bottom: 0; font-size: 1.02rem; }
.t-daire td:first-child { color: var(--gri); }
.t-not { border: 1.5px solid var(--yesil-koyu); }
.t-not p { margin: 0 0 4px; font-size: 0.95rem; white-space: pre-line; overflow-wrap: anywhere; }
/* Elle yazma çizgileri (pazarlık, "bu tarihe kadar", ek indirim); ekranda yazılan not varsa altında kalır. */
.t-cizgiler i { display: block; height: 26px; border-bottom: 1px solid #b9c2bd; }
/* Teklif belgesi: müşteri satırı, daire şeridi, iki sütunlu uzun plan (Sercan 18.10.2026: tek A4) */
.t-musteri { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; padding-bottom: 10px; border-bottom: 1px solid var(--cizgi); }
.t-musteri span { font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--altin-koyu); font-weight: 700; }
.t-musteri b { font-family: var(--serif); font-size: 1.3rem; color: var(--yesil-koyu); font-weight: 600; overflow-wrap: anywhere; }
.t-musteri small { color: var(--gri); font-size: 0.9rem; }
.t-daire { display: grid; grid-template-columns: 0.8fr 0.9fr 0.8fr 1.3fr 1.8fr; border: 1px solid var(--cizgi); border-radius: 8px; overflow: hidden; }
.t-hucre { padding: 8px 12px; border-left: 1px solid var(--cizgi); min-width: 0; }
.t-hucre:first-child { border-left: 0; }
.t-hucre.genis { grid-column: span 3; }
.t-hucre small { display: block; font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gri); }
.t-hucre b { display: block; font-size: 0.95rem; color: var(--yesil-koyu); overflow-wrap: anywhere; }
.t-tablo-iki { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; align-items: start; }
.t-ozet { border-top: 1.5px solid var(--yesil-koyu); margin-top: 4px; }
.t-alt-sol { min-width: 0; overflow-wrap: anywhere; }
/* Teklif penceresi: adım şeridi ve altta sabit işlem çubuğu */
.t-adimlar { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.t-adimlar li { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--cizgi); font-size: 0.88rem; font-weight: 600; color: var(--gri); }
.t-adimlar i { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 0.8rem; background: var(--yesil-acik); color: var(--yesil); }
.t-adimlar li.tamam { color: var(--yesil); }
.t-adimlar li.tamam i { background: var(--yesil); color: #fff; }
.t-adimlar li.aktif { border: 2px solid var(--altin); color: var(--yesil-koyu); background: #fffdf7; }
.t-adimlar li.aktif i { background: var(--altin); color: var(--yesil-koyu); }
.t-adimlar li.red { color: var(--satildi); border-color: rgba(192, 83, 63, 0.4); }
.p-alt.teklif-alt { position: sticky; bottom: 0; z-index: 2; background: var(--kagit); border-top: 1px solid var(--cizgi); padding: 14px 22px; justify-content: space-between; align-items: flex-end; }
.adim-alan { flex: 1 1 380px; min-width: 0; }
.adim-alan .alan { margin-bottom: 8px; }
.adim-alan textarea { min-height: 0; }
.adim-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; }
.adim-form .alan { flex: 1 1 260px; margin: 0; }
.adim-bilgi { margin: 0 0 8px; font-size: 0.92rem; color: var(--yesil-koyu); }
.adim-not { margin: 0 0 8px; font-size: 0.88rem; color: var(--gri); }
.adim-onay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 0.92rem; }
.adim-kapat .dugme { width: 100%; }
.belge-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; }
.t-indirim-rozet { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 99px; background: #e8f5ee; color: #17633f; letter-spacing: 0.02em; text-transform: none; font-size: 0.78rem; }
.t-yetkili { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 6px 0 2px; color: var(--yesil-koyu); }
.t-liste { margin: 0; padding-left: 18px; font-size: 0.84rem; color: var(--gri); display: grid; gap: 4px; }
.t-alt { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 16px 26px 22px; border-top: 1px solid var(--cizgi); font-size: 0.84rem; color: var(--gri); }
.t-alt .imza-kilit span { color: var(--yesil-koyu); }
.t-alt .imza-kilit img { width: 140px; }
.t-alt .imza-kilit small { color: var(--altin-koyu); }

/* ---------- Panel (yönetim / opsiyonlar) ---------- */
.panel-sekmeler { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 22px; border-bottom: 1px solid var(--cizgi); padding-bottom: 12px; }
.panel-sekmeler a { padding: 9px 16px; border-radius: 99px; text-decoration: none; font-weight: 600; font-size: 0.92rem; color: var(--gri); }
.panel-sekmeler a.aktif { background: var(--yesil); color: #fff; }
.kpi { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 22px; }
.kpi.kpi-uc { grid-template-columns: repeat(3, 1fr); }
.kpi.kpi-alti { grid-template-columns: repeat(6, 1fr); }
.bolum-baslik { font-size: 1.45rem; margin: 28px 0 12px; display: flex; align-items: center; gap: 10px; }
.bolum-baslik span { font-family: var(--sans); font-size: 0.8rem; font-weight: 700; background: var(--yesil-acik); color: var(--yesil); border-radius: 99px; padding: 2px 10px; }
.bekleyen-kutu { border: 2px solid var(--onay); border-radius: var(--r); padding: 4px 16px 16px; background: #f3f7fd; margin-bottom: 22px; }
.bekleyen-kutu.bos { border-width: 1px; border-color: var(--cizgi); background: #fff; padding: 14px 16px; color: var(--gri); }
.bekleyen-kutu .bolum-baslik { margin-top: 14px; }
.bekleyen-kutu h3 { font-family: var(--sans); font-size: 0.95rem; font-weight: 700; color: var(--yesil); margin: 16px 0 8px; }
.bekleyen-kutu .dipnot { margin: -2px 0 8px; }
.onay-serit { border: 2px solid var(--onay); border-radius: var(--r); padding: 4px 16px 16px; background: #f3f7fd; margin-bottom: 22px; }
.onay-serit .bolum-baslik { margin-top: 14px; }
code.pin { font-family: ui-monospace, Consolas, monospace; font-size: 1rem; letter-spacing: 0.12em; background: var(--krem); padding: 3px 8px; border-radius: 6px; }
.kpi div { background: #fff; border: 1px solid var(--cizgi); border-top: 4px solid var(--d, var(--yesil)); border-radius: var(--r-kucuk); padding: 16px; }
.kpi b { display: block; font-family: var(--serif); font-size: 2rem; font-weight: 600; line-height: 1.1; color: var(--murekkep); font-variant-numeric: tabular-nums; }
.kpi span { font-size: 0.82rem; color: var(--gri); }
.tablo-kap { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); overflow-x: auto; }
.tablo { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.tablo th { text-align: left; font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gri); font-weight: 700; padding: 12px 14px; background: #f5f7f6; border-bottom: 1px solid var(--cizgi); white-space: nowrap; position: sticky; top: 0; }
.tablo td { padding: 10px 14px; border-bottom: 1px solid var(--cizgi); vertical-align: middle; }
.tablo tr:last-child td { border-bottom: 0; }
.tablo tr.tikla { cursor: pointer; }
.tablo tr.tikla:hover td { background: #f7faf8; }
.tablo .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tablo td:first-child { white-space: nowrap; }
.tablo input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--yesil); }
/* Satış tablolarında işlem düğmeleri alt alta (2026-10-25): yan yana dururken tablo 1240 px'i aşıyordu. */
.islem-dugmeler { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.islem-dugmeler .dugme { white-space: nowrap; }
.toplu-cubuk select { min-height: 36px; width: auto; padding: 4px 8px; font-size: 0.85rem; color: var(--murekkep); }
.cubuk { display: flex; height: 12px; border-radius: 99px; overflow: hidden; background: #eef1ef; min-width: 160px; }
.cubuk i { display: block; height: 100%; }
.arac-satir { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 14px; }
.arac-satir .alan { margin-bottom: 0; min-width: 130px; }
.toplu-cubuk { position: sticky; bottom: 12px; z-index: 5; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--yesil-koyu); color: #fff; padding: 12px 16px; border-radius: var(--r); margin-top: 14px; box-shadow: var(--golge-buyuk); }
.fiyat-izgara { border-collapse: separate; border-spacing: 4px; width: 100%; font-size: 0.82rem; }
.fiyat-izgara th { font-size: 0.72rem; color: var(--gri); font-weight: 700; padding: 4px; }
.fiyat-izgara td { padding: 0; }
.fiyat-izgara button { width: 100%; border: 1px solid var(--cizgi); border-left: 4px solid var(--d); background: #fff; border-radius: 8px; padding: 8px 8px; text-align: left; display: flex; flex-direction: column; gap: 1px; }
.fiyat-izgara button b { font-variant-numeric: tabular-nums; }
.fiyat-izgara button small { color: var(--gri); font-size: 0.7rem; }
.fiyat-izgara .kat-hucre { text-align: center; font-family: var(--serif); font-size: 1.1rem; color: var(--yesil); white-space: nowrap; }
.log { list-style: none; padding: 0; margin: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); }
.log li { padding: 11px 16px; border-bottom: 1px solid var(--cizgi); display: flex; gap: 14px; font-size: 0.9rem; }
.log li:last-child { border-bottom: 0; }
.log time { color: var(--gri); font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 92px; }
.bos { padding: 28px; text-align: center; color: var(--gri); }
.ayar-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

/* Bildirim */
.bildirim { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 80; background: var(--murekkep); color: #fff; padding: 12px 20px; border-radius: 99px; font-weight: 600; font-size: 0.92rem; box-shadow: var(--golge-buyuk); max-width: calc(100% - 32px); }
.bildirim.hata { background: var(--satildi); }
.bildirim.uyari { background: var(--opsiyon); color: var(--yesil-koyu); width: max-content; max-width: min(560px, calc(100vw - 32px)); border-radius: var(--r); line-height: 1.4; } /* uzun ileti (tek kart) tek sütuna sıkışmasın */

/* ---------- Duyarlı ---------- */
@media (max-width: 1080px) {
  .vaziyet-duzen { grid-template-columns: 1fr; }
  .vaziyet-yan { flex-direction: row; flex-wrap: wrap; }
  .vaziyet-yan .yan-kart { flex: 1 1 240px; }
  .odeme-duzen { grid-template-columns: 1fr; }
  .odeme-form { position: static; }
  .kpi, .kpi.kpi-alti { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .blok-duzen { grid-template-columns: 1fr; }
  .bina { position: static; padding: 12px; }
  .bina .cati, .bina .zemin-cizgi { display: none; }
  .katlar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .kat-satir { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 0; padding: 8px 4px; margin: 0; }
  .kat-satir .kat-bilgi, .kat-satir .kat-noktalar { display: none; }
  .kat-mini { display: block; font-size: 0.7rem; color: rgba(255, 255, 255, 0.7); }
  .kat-fiyat { text-align: left; }
  .kartlar.uc { grid-template-columns: 1fr; }
  .daire-tanitim, .konum { grid-template-columns: minmax(0, 1fr); gap: 28px; } /* uzun düğme yazısı telefonda sayfayı taşırmasın (2026-11-01) */
  .konum-harita-dugme .dugme { white-space: normal; text-align: center; padding: 10px 22px; }
  .galeri { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .daire-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* uzun durum etiketi telefonda sayfayı taşırmasın */
  .daire-kart { min-width: 0; }
  .daire-kart > span:first-child { flex-wrap: wrap; }
  .ayar-izgara { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  :root { --ust-yuk: 108px; }
  .ust { height: var(--ust-yuk); }
  .ust-ic { flex-wrap: wrap; gap: 0 12px; align-content: center; }
  .logo { order: 1; }
  .ust-sag { order: 2; margin-left: auto; }
  .menu { order: 3; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; padding: 6px 0 4px; scrollbar-width: none; }
  .menu a { padding: 7px 12px; font-size: 0.88rem; white-space: nowrap; }
  .hero-seritler { grid-template-columns: repeat(2, 1fr); }
  .hero-seritler div { padding-bottom: 6px; }
  .kpi, .kpi.kpi-alti, .kpi.kpi-uc { grid-template-columns: repeat(2, 1fr); }
  .adimlar { grid-template-columns: 1fr; }
  .olcu { grid-template-columns: repeat(2, 1fr); }
  .t-iki, .t-tablo-iki { grid-template-columns: 1fr; }
  .t-daire { grid-template-columns: repeat(3, 1fr); }
  .t-hucre:nth-child(4) { border-left: 0; }
  .t-hucre:nth-child(n + 4) { border-top: 1px solid var(--cizgi); }
  .t-hucre:nth-child(5) { grid-column: span 2; }
  .t-adimlar { grid-template-columns: 1fr; }
  .plan-etiket { min-width: 0; padding: 3px 6px; }
  .plan-etiket small { display: none; }
  .blok-alan .blok-cip { font-size: 0.55rem; padding: 2px 6px; }
}
@media (max-width: 460px) {
  .galeri { grid-template-columns: 1fr; }
  .galeri .g-buyuk { grid-column: span 1; grid-row: span 1; }
  .ikili, .uclu { grid-template-columns: 1fr; }
  .kim { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .giris-dugme span { display: none; }
  .giris-dugme { padding: 0 11px; }
}

/* ---------- Canlı kazanç ekranı ve liste geçiş kartı (Sercan 2026-10-18) ---------- */
.op-vade-sec { align-self: flex-end; }
#kazancSahne { scroll-margin-top: calc(var(--ust-yuk) + 72px); } /* yapışkan üst çubuk + sekmeler altında kalmasın */
.gecis-kart { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 18px; align-items: center; margin: 14px 0 18px; padding: 18px 20px; border-radius: var(--r); background: linear-gradient(135deg, #fff7e6, #fff 60%); border: 1.5px solid var(--altin); }
.gk-rozet { display: inline-block; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--yesil-koyu); background: var(--altin); padding: 4px 10px; border-radius: 99px; animation: nabiz 2.4s infinite; }
.gecis-kart h3 { font-family: var(--sans); font-size: 1.05rem; font-weight: 700; margin: 10px 0 4px; color: var(--yesil); }
.gk-sayac { margin-top: 8px; font-size: 0.9rem; color: var(--gri); }
.gk-sayac b { font-size: 1.3rem; color: var(--yesil); font-variant-numeric: tabular-nums; }
.gk-rakamlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gk-rakamlar > div { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.gk-rakamlar small { font-size: 0.74rem; color: var(--gri); }
.gk-rakamlar b { font-size: 1.15rem; color: var(--yesil); font-variant-numeric: tabular-nums; }
.gk-rakamlar span { font-size: 0.78rem; color: var(--gri); }
.gk-rakamlar .gk-vurgu { background: var(--yesil); border-color: var(--yesil); }
.gk-vurgu small, .gk-vurgu span { color: rgba(255, 255, 255, 0.8) !important; }
.gk-vurgu b { color: var(--altin-acik) !important; font-size: 1.35rem !important; }

.kz { margin: 16px 0 22px; display: flex; flex-direction: column; gap: 14px; }
.kz-hero, .kz-davet { position: relative; overflow: hidden; border-radius: var(--r); padding: 22px 24px; background: var(--yesil-koyu); color: #fff; }
.kz-hero::after, .kz-davet::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 18%, rgba(201, 164, 92, 0.32), transparent 55%); pointer-events: none; }
.kz-hero > *, .kz-davet > * { position: relative; z-index: 1; }
.kz-parilti { display: inline-block; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--yesil-koyu); padding: 4px 11px; border-radius: 99px; background: linear-gradient(110deg, var(--altin) 35%, #f8ebc9 50%, var(--altin) 65%); background-size: 250% 100%; animation: kzParilti 2.8s linear infinite; }
@keyframes kzParilti { from { background-position: 100% 0; } to { background-position: -150% 0; } }
.kz-hero small { display: block; margin-top: 12px; font-size: 0.86rem; color: rgba(255, 255, 255, 0.75); }
.kz-buyuk { display: block; font-family: var(--serif); font-size: clamp(2.4rem, 6vw, 3.7rem); line-height: 1.05; color: var(--altin-acik); font-variant-numeric: tabular-nums; }
.kz-hero p { margin-top: 8px; color: rgba(255, 255, 255, 0.88); max-width: 62ch; }
.kz-hero p b { color: #fff; }
.kz-nabiz { animation: kzVurgu 1s ease-out; }
@keyframes kzVurgu { from { box-shadow: 0 0 0 0 rgba(201, 164, 92, 0.75); } to { box-shadow: 0 0 0 20px rgba(201, 164, 92, 0); } }

.kz-secim { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kz-kart { position: relative; text-align: left; display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: var(--r); border: 1.5px solid var(--cizgi); background: #fff; transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s; }
.kz-kart:hover:not(:disabled) { transform: translateY(-2px); box-shadow: var(--golge); }
.kz-kart[aria-pressed="true"] { border: 2px solid var(--altin); box-shadow: 0 0 0 4px rgba(201, 164, 92, 0.18); }
.kz-kart[aria-pressed="true"]::after { content: "Seçili"; position: absolute; top: 14px; right: 14px; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--yesil); }
.kz-kart:disabled { opacity: 0.5; cursor: default; }
.kz-kart .rozet { position: absolute; top: -10px; left: 16px; }
.kz-kart-bas { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.kz-kart > b { font-family: var(--serif); font-size: 1.75rem; color: var(--yesil); line-height: 1.1; font-weight: 600; }
.kz-kart > b small { font-family: var(--sans); font-size: 0.85rem; color: var(--gri); }
.kz-kart > span { font-size: 0.87rem; color: var(--gri); }
.kz-kart > span b { color: var(--yesil); }
.kz-kazanc { margin-top: auto; padding-top: 8px; border-top: 1px dashed var(--cizgi); color: #1d7a4f !important; font-weight: 700; }
.kz-kazanc b { font-size: 1.15rem; color: #1d7a4f !important; font-variant-numeric: tabular-nums; }

.kz-kutu { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 16px 18px; }
.kz-kutu h4 { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); margin: 0 0 10px; }
.kz-cizgi { position: relative; height: 18px; border-radius: 99px; background: repeating-linear-gradient(135deg, var(--yesil-acik) 0 7px, #fff 7px 14px); border: 1px solid var(--cizgi); }
.kz-dolu { position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 99px; background: linear-gradient(90deg, var(--yesil-orta), var(--yesil)); animation: kzDol 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
@keyframes kzDol { from { width: 0; } }
.kz-erken-alan { position: absolute; top: 50%; transform: translate(8px, -50%); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; color: var(--altin-koyu); text-transform: uppercase; white-space: nowrap; animation: belir 0.6s 0.9s both; }
.kz-nokta { position: absolute; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--altin); border: 2px solid #fff; box-shadow: 0 0 0 2px var(--altin); animation: belir 0.5s 0.6s both; }
.kz-zaman-alt { position: relative; display: flex; justify-content: space-between; font-size: 0.76rem; color: var(--gri); margin-top: 8px; min-height: 18px; }
.kz-bitis { position: absolute; top: 0; transform: translateX(-50%); font-weight: 800; color: var(--yesil); white-space: nowrap; background: #fff; padding: 0 6px; }
.kz-acik { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 0.82rem; color: var(--yesil); font-weight: 600; }
.kz-nokta-k { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--altin); margin-right: 6px; vertical-align: 1px; }
.kz-satir { display: grid; grid-template-columns: 56px minmax(0, 1fr) 124px; gap: 10px; align-items: center; padding: 5px 0; font-size: 0.88rem; }
.kz-cubuk { height: 14px; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.kz-cubuk i { display: block; height: 100%; width: var(--w); border-radius: 99px; background: var(--yesil-orta); animation: kzDol 1s cubic-bezier(0.2, 0.8, 0.2, 1) both; animation-delay: var(--g, 0s); }
.kz-satir.aktif span, .kz-satir.aktif b { color: var(--altin-koyu); font-weight: 800; }
.kz-satir.aktif .kz-cubuk i { background: var(--altin); }
.kz-satir b { text-align: right; font-variant-numeric: tabular-nums; color: var(--yesil); }
.kz-not { font-size: 0.86rem; color: var(--altin-koyu); font-weight: 700; margin-top: 8px; }
.kz-mini-izgara, .kz-firsatlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.kz-mini { text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; transition: border-color 0.15s, transform 0.15s; }
.kz-mini:hover { border-color: var(--altin); transform: translateY(-1px); }
.kz-mini span { font-size: 0.8rem; color: var(--gri); font-weight: 600; }
.kz-mini b { font-size: 1.05rem; color: var(--yesil); }
.kz-mini small { font-size: 0.76rem; color: #1d7a4f; font-weight: 600; }
.kz-davet h3 { font-family: var(--serif); font-size: 1.6rem; color: #fff; margin: 10px 0 6px; }
.kz-davet p { color: rgba(255, 255, 255, 0.86); max-width: 64ch; }
.kz-firsatlar { margin-top: 14px; }
.kz-firsat { text-align: left; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(201, 164, 92, 0.6); color: #fff; border-radius: var(--r-kucuk); padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; transition: background 0.15s, transform 0.15s; animation: belir 0.5s var(--g, 0s) both; }
.kz-firsat:hover { background: rgba(201, 164, 92, 0.18); transform: translateY(-2px); }
.kz-firsat span { font-size: 0.82rem; color: rgba(255, 255, 255, 0.8); font-weight: 600; }
.kz-firsat b { font-family: var(--serif); font-size: 1.5rem; color: var(--altin-acik); font-variant-numeric: tabular-nums; }
.kz-firsat small { font-size: 0.78rem; color: rgba(255, 255, 255, 0.75); }
@media (max-width: 760px) {
  .gecis-kart, .gk-rakamlar, .kz-secim { grid-template-columns: 1fr; }
  .kz-hero, .kz-davet { padding: 18px; }
  .kz-satir { grid-template-columns: 46px minmax(0, 1fr) 104px; font-size: 0.82rem; }
}
@media print { #gecisKart, #kazancSahne, #musteriSerit, #kodKart, #kodAlan { display: none !important; } }

/* ---------- İndirim kodu: eski fiyat (Sercan 2026-10-26) ---------- */
.eski-fiyat { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(176, 58, 46, 0.75); color: var(--gri); font-weight: 500; font-size: 0.72em; margin-right: 4px; white-space: nowrap; }
.kod-alan { border-top: 1px dashed var(--cizgi); padding-top: 12px; }
.kod-alan[hidden] { display: none; }
.kod-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.kod-form .alan { margin-bottom: 0; flex: 0 1 260px; }
.kod-form input { text-transform: uppercase; letter-spacing: 0.08em; }
.kod-aktif { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: var(--r-kucuk); background: #e8f5ee; border: 1px solid #b9dcc7; animation: belir 0.4s both; }
.kod-aktif > div { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.kod-aktif b { color: #17633f; }
.kod-aktif small { color: var(--gri); font-size: 0.8rem; }
.kod-tik { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #1d7a4f; color: #fff; font-weight: 800; flex: none; }
.daire-ozet .do-fiyat.kodlu { border-color: #1d7a4f; background: #f3faf6; }
.daire-ozet .do-fiyat.kodlu b { color: #17633f; }
.kod-kart { background: linear-gradient(135deg, #e8f5ee, #fff 62%); border-color: #1d7a4f; animation: belir 0.5s both; }
.kod-kart .gk-rozet { background: #1d7a4f; color: #fff; animation: kodNabiz 2.4s infinite; }
.kod-kart h3 { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.kod-kart .gk-rakamlar b { font-size: 1.1rem; }
.kod-kart .gk-rakamlar .eski-fiyat { display: block; font-size: 0.8rem; margin: 0 0 1px; }
.kod-kart .gk-rakamlar span { color: #17633f; font-weight: 600; }
.kod-kart .gk-vurgu { background: linear-gradient(140deg, #1d7a4f, var(--yesil)); border-color: #1d7a4f; }
@keyframes kodNabiz { 0% { box-shadow: 0 0 0 0 rgba(29, 122, 79, 0.5); } 70% { box-shadow: 0 0 0 14px rgba(29, 122, 79, 0); } 100% { box-shadow: 0 0 0 0 rgba(29, 122, 79, 0); } }
.rozet.kazanc { background: #1d7a4f; color: #fff; }
.plan-kart.kodlu { box-shadow: 0 0 0 1px #b9dcc7, var(--golge); }
.plan-kart .satirlar .liste-toplam span, .plan-kart .satirlar .liste-toplam b { color: var(--gri); font-weight: 500; }
.plan-kart .satirlar b s, .plan-kart .satirlar .indirim b { white-space: nowrap; }
.kod-form input::placeholder { text-transform: none; letter-spacing: 0; }
.kod-form input.gizli-yazi { -webkit-text-security: disc; text-security: disc; } /* müşteri ekranı görür: kampanya kodu gizli yazılır */
.plan-kart .aylik .eski-fiyat { font-family: var(--sans); }
.pesin-kart.kodlu .eski-fiyat { color: rgba(255, 255, 255, 0.6); text-decoration-color: rgba(255, 180, 160, 0.85); }
.pesin-kart .kazanc-not b { color: #9fe0bd; }
.kazanc-yazi { color: #1d7a4f; }
.t-tablo tr.liste-toplam td { color: var(--gri); }
.t-tablo tr.liste-toplam td:last-child { text-decoration: line-through; text-decoration-color: rgba(176, 58, 46, 0.75); }
.kod-ayar { margin-bottom: 18px; }
@media (prefers-reduced-motion: reduce) { .kod-kart, .kod-aktif, .kod-kart .gk-rozet { animation: none; } }

/* ---------- Müşteri kartı, görüşme notu ve Leadgen (Sercan 2026-10-19) ---------- */
.kim-ad { display: block; padding: 10px 0 4px; color: var(--yesil); font-size: 1.02rem; }
.secili-musteri { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--yesil-acik); border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 10px 14px; margin-bottom: 12px; }
.secili-musteri div { display: flex; flex-direction: column; }
.secili-musteri small { color: var(--gri); font-size: 0.78rem; }
.secili-musteri b { color: var(--yesil); font-size: 1.05rem; }
.musteri-serit { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: var(--yesil); color: #fff; }
.musteri-serit span { opacity: 0.8; font-size: 0.86rem; }
.musteri-serit b { color: var(--altin-acik); }
.musteri-serit small { opacity: 0.8; }
.musteri-serit .dugme { margin-left: auto; background: #fff; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Yazdırma: yalnız teklif ya da fiyat listesi ---------- */
@media print {
  @page { size: A4; margin: 10mm; }
  body { background: #fff; }
  body.yazdir-teklif > *:not(#pencere), body.yazdir-teklif .p-bas, body.yazdir-teklif .p-alt { display: none !important; }
  body.yazdir-teklif #pencere { position: static; background: none; padding: 0; display: block; backdrop-filter: none; }
  body.yazdir-teklif .pencere { width: 100%; max-height: none; box-shadow: none; overflow: visible; animation: none; }
  body.yazdir-teklif .p-govde { padding: 0; }
  body.yazdir-teklif .yazdirma-gizle { display: none !important; }
  body.yazdir-teklif .teklif { border: 0; border-radius: 0; font-size: 10pt; }
  body.yazdir-teklif .t-bas { padding: 10px 16px; }
  body.yazdir-teklif .t-bas .logo-alt { font-size: 1.45rem; }
  body.yazdir-teklif .t-bas-sag { font-size: 8.5pt; }
  body.yazdir-teklif .t-bas-sag b { font-size: 13pt; }
  body.yazdir-teklif .t-onay { padding: 5px 16px; font-size: 8.5pt; }
  body.yazdir-teklif .t-govde { padding: 10px 16px; gap: 9px; }
  body.yazdir-teklif .t-musteri { padding-bottom: 6px; }
  body.yazdir-teklif .t-musteri b { font-size: 13pt; }
  body.yazdir-teklif .t-musteri small { font-size: 9pt; }
  body.yazdir-teklif .t-daire { grid-template-columns: 0.8fr 0.9fr 0.8fr 1.3fr 1.8fr; }
  body.yazdir-teklif .t-hucre { padding: 5px 9px; border-top: 0; }
  body.yazdir-teklif .t-hucre:nth-child(4) { border-left: 1px solid var(--cizgi); }
  body.yazdir-teklif .t-hucre:nth-child(5) { grid-column: auto; }
  body.yazdir-teklif .t-hucre small { font-size: 6.5pt; }
  body.yazdir-teklif .t-hucre b { font-size: 9pt; }
  body.yazdir-teklif .t-kutu { padding: 7px 11px; }
  body.yazdir-teklif .t-kutu h4 { font-size: 7.5pt; margin-bottom: 4px; }
  body.yazdir-teklif .t-tablo { font-size: 9pt; }
  body.yazdir-teklif .t-tablo td { padding: 3.5px 0; }
  body.yazdir-teklif .t-tablo tr.toplam td { font-size: 10pt; }
  body.yazdir-teklif .t-iki, body.yazdir-teklif .t-tablo-iki { grid-template-columns: 1fr 1fr; }
  body.yazdir-teklif .t-iki { gap: 10px; }
  body.yazdir-teklif .t-not p { font-size: 9pt; }
  body.yazdir-teklif .t-cizgiler i { height: 22px; border-bottom-color: #9aa59f; }
  body.yazdir-teklif .t-liste { font-size: 7.8pt; gap: 2px; }
  body.yazdir-teklif .t-alt { padding: 8px 16px 4px; font-size: 7.8pt; }
  body.yazdir-teklif .t-kurum-ad { font-size: 13pt; }
  body.yazdir-teklif .t-kurum-alt { font-size: 6pt; }
  body.yazdir-teklif .teklif, body.yazdir-teklif .t-kutu, body.yazdir-teklif .t-daire { break-inside: avoid; }
  body.yazdir-liste .ust, body.yazdir-liste .alt, body.yazdir-liste .panel-sekmeler, body.yazdir-liste .yon-gruplar, body.yazdir-liste .yon-sekmeler, body.yazdir-liste .arac-satir, body.yazdir-liste .yazdirma-gizle { display: none !important; }
  body.yazdir-liste main { padding-top: 0; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Sercan 18.10.2026: girişsiz ziyaretçi (misafir) proje tanıtımını görür; daire, fiyat ve ödeme planı personel girişinden sonra. */
.misafir [data-personel] { display: none !important; }
body:not(.misafir) [data-misafir] { display: none !important; }

/* ---------- Komisyon ve hak ediş (Sercan 18.10.2026) ---------- */
.kutu.komisyon-kutusu { border-color: rgba(201, 164, 92, 0.6); background: #fffcf4; }
.prim-cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.prim-cip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 99px; border: 1px solid rgba(201, 164, 92, 0.55); background: #fff8e8; color: var(--yesil-koyu); font-size: 0.82rem; font-weight: 600; white-space: nowrap; }
.prim-cip i { font-style: normal; font-weight: 500; color: #8a5a10; }
.prim-cip.odendi { background: #e8f5ee; border-color: rgba(23, 99, 63, 0.35); }
.prim-cip.odendi i { color: #17633f; }
/* Komisyon tablosunda durum alt satırda (2026-10-25): tek satırda tablo 1240 px'i aşıyor, "Düzenle" kesiliyordu. */
.tablo .prim-cip { flex-direction: column; align-items: flex-start; gap: 0; border-radius: 12px; padding: 4px 10px; line-height: 1.3; }
.tablo .prim-cip i { font-size: 0.74rem; }
.iptal-satir td { color: var(--gri); }
@media (max-width: 460px) {
  .cikis-dugme span { display: none; }
  .cikis-dugme { padding: 0 10px; }
}

/* ---------- Misafir proje sitesi (Sercan 2026-10-19) ---------- */
#yasam, #daire, #konum, #bolge, #guvence, #iletisim { scroll-margin-top: var(--ust-yuk); }
.koyu-bolum .bolum-bas p:not(.ust-baslik) { max-width: 640px; }
.cagri .ust-baslik { margin-bottom: 8px; }
.cagri-adres { margin-top: 14px; font-size: 0.95rem; line-height: 1.5; opacity: 0.92; }

/* ---------- Sirius Destek · Paylaşım (Sercan 2026-10-19) ---------- */
.paylas-kit { margin: 10px 0 24px; }
.paylas-kit h3 { font-size: 1.25rem; margin-bottom: 4px; }
.paylas-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 12px; }
.paylas-kart { background: #fff; border: 1px solid #e3dcce; border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; }
.paylas-gorsel { background: #f3efe7; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; }
.paylas-gorsel img, .paylas-gorsel video { width: 100%; height: 100%; object-fit: contain; }
.paylas-pdf { font-weight: 800; color: var(--gri); letter-spacing: 0.1em; }
.paylas-govde { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.paylas-govde small { color: var(--gri); font-size: 0.8rem; }
.paylas-metin { font-size: 0.86rem; color: var(--murekkep); white-space: pre-line; max-height: 7.5em; overflow: auto; background: #faf8f3; border-radius: 8px; padding: 8px 10px; }
.paylas-govde .dugmeler { gap: 8px; margin-top: auto; }
.paylas-not { font-size: 0.82rem; color: #7a5410; background: #fff7e6; border: 1px solid #f1d9a6; border-radius: 8px; padding: 6px 9px; }
.paylas-govde small a { color: var(--yesil); font-weight: 600; }


/* Yönetim → Rakipler (yalnız Master Admin, 2026-10-19) */
.rakip-ekran .rakip-bas { margin-bottom: 14px; }
.rakip-izgara { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 18px; align-items: start; margin-bottom: 22px; }
.rakip-harita { height: 470px; border-radius: var(--r); overflow: hidden; box-shadow: var(--golge); background: #efeadf; isolation: isolate; } /* Leaflet panelleri (z-index 400-1000) üst menüyü ve Ofis menüsünü örtmesin */
.rakip-form { display: grid; gap: 10px; background: #fff; border-radius: var(--r); padding: 16px; box-shadow: var(--golge); min-width: 0; }
.rakip-form label { display: grid; gap: 4px; font-size: 0.85rem; font-weight: 600; color: var(--gri); }
.rakip-form input, .rakip-form select, .rakip-form textarea { min-width: 0; width: 100%; box-sizing: border-box; font-weight: 400; color: var(--murekkep); border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 9px 10px; background: var(--kagit); }
.rakip-iki { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px; }
.rakip-foto img { max-width: 100%; max-height: 180px; border-radius: var(--r-kucuk); display: block; margin-bottom: 6px; }
.rakip-pin, .rakip-imlec, .rakip-yer { background: transparent; border: 0; }
.rakip-pin div { position: absolute; transform: translate(-50%, -100%); display: grid; justify-items: center; cursor: pointer; }
.rakip-pin i { width: 18px; height: 18px; border-radius: 50%; background: #6b5b95; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); }
.rakip-pin span { margin-top: 2px; white-space: nowrap; font-size: 11px; font-weight: 700; color: #fff; background: rgba(60, 50, 90, 0.92); padding: 2px 7px; border-radius: 6px; }
.rakip-imlec div { width: 22px; height: 22px; transform: translate(-50%, -50%); border-radius: 50%; border: 3px solid #c0533f; background: rgba(192, 83, 63, 0.25); }
.rakip-yer span { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5f6b66; text-shadow: 0 0 3px #fff, 0 0 5px #fff; }
.rakip-yer.bizim span { letter-spacing: 0.02em; text-transform: none; color: var(--yesil); font-size: 11.5px; }
.leaflet-tooltip.rakip-bizim { background: var(--altin); color: var(--yesil-koyu); border: 0; font-weight: 700; font-size: 11px; box-shadow: none; }
@media (max-width: 900px) { .rakip-izgara { grid-template-columns: 1fr; } .rakip-harita { height: 360px; } }
.rakip-alan { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--soluk, #667); }
.rakip-alan span { flex: 1 1 auto; }

/* ---- Puantaj (Sercan 2026-10-20): asistan yoklama ve puan girer, ay sonu havuz puana göre (public/js/puantaj.js) */
.pt-ay { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-bottom: 14px; }
.pt-ay .alan { margin: 0; min-width: 170px; }
.pt-ay .dugme { min-width: 44px; padding: 0 12px; font-size: 1.2rem; }
.pt-ay .hap { align-self: center; }
.pt-lejant { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.pt-lejant li { padding: 6px 12px; border-radius: 99px; background: #fff; border: 1px solid var(--cizgi); font-size: 0.82rem; color: var(--gri); }
.pt-lejant b { color: var(--yesil); margin-left: 4px; }
.pt-kutu { margin-bottom: 18px; }
.pt-kutu h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pt-gun-bilgi { margin: 0 0 4px; font-size: 0.92rem; color: var(--gri); line-height: 1.45; }
.pt-gun-bilgi b { color: var(--murekkep); }
.pt-kisiler { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 10px; }
.pt-kisi { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 64px; padding: 10px 14px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; font: inherit; font-weight: 600; color: var(--murekkep); text-align: left; cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.pt-kisi small { font-weight: 500; font-size: 0.78rem; color: var(--gri); }
.pt-kisi[aria-pressed="true"] { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.pt-kisi[aria-pressed="true"] small { color: var(--altin-acik); }
.pt-kisi[disabled] { opacity: 0.6; cursor: wait; }
.pt-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
.pt-form .pt-not { grid-column: 1 / -1; }
.pt-form .alan[hidden] { display: none; }
.pt-hizli { gap: 8px; }
.pt-havuz .kpi { margin-bottom: 12px; }
.pt-havuz .kpi b { font-size: 1.6rem; }
.pt-ek { margin-top: 12px; }
.pt-ek .alan { min-width: 200px; }
.pt-tablo td:nth-child(2) { white-space: nowrap; }
.pt-odendi { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; white-space: nowrap; cursor: pointer; }
.pt-payim { margin-bottom: 18px; }
.pt-arsiv { margin-top: 18px; font-size: 0.86rem; color: var(--gri); }
.pt-arsiv summary { cursor: pointer; font-weight: 600; color: var(--yesil); }
.pt-arsiv ul { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 4px; }
@media (max-width: 760px) {
  .pt-form { grid-template-columns: 1fr; }
  .pt-kisiler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-ay .alan { min-width: 0; flex: 1; }
}
.pt-benim, .pt-ozet { margin-bottom: 18px; }
.pt-benim b small, .pt-ozet b small { font-size: 1rem; color: var(--gri); font-weight: 500; }
.pt-bugun { display: block; padding: 12px 0 4px; font-weight: 600; }

/* ---- Ödeme ekstresi ve Tahsilat takvimi (Sercan 2026-10-20; public/js/tahsilat.js) */
.ekstre .t-daire { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ek-ozet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.ek-ozet > div { background: var(--krem); border-radius: var(--r-kucuk); padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; }
.ek-ozet small { color: var(--gri); font-size: 0.74rem; }
.ek-ozet b { color: var(--yesil-koyu); font-variant-numeric: tabular-nums; }
.ek-ozet .kirmizi b { color: var(--satildi); }
.ek-tablo-kap { overflow-x: auto; }
.ek-tablo { width: 100%; }
.ek-tablo th { text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gri); padding: 6px 8px; border-bottom: 1px solid var(--cizgi); }
.ek-tablo td { padding: 6px 8px; vertical-align: middle; }
.ek-tablo .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ek-tablo tfoot td { border-top: 2px solid var(--yesil); padding-top: 8px; }
.ek-islem { white-space: nowrap; }
.ek-islem .dugme + .dugme { margin-left: 6px; }
tr.ek-gecik td { background: #fdf0ec; }
.ek-satir-form td { background: #fffaf0; }
.ek-satir-form .arac-satir { margin: 4px 0; }
.ek-kur, .ek-arac { margin-top: 18px; display: grid; gap: 14px; }
.ek-form { border: 1px solid var(--cizgi); border-radius: var(--r); padding: 16px; background: #fff; }
.ek-form h4 { font-family: var(--sans); font-size: 1rem; color: var(--yesil); margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ek-form h4 small { font-weight: 500; color: var(--gri); }
.ek-izgara, .ek-ara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
.ek-ara { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.kirmizi-yazi { color: var(--satildi); }
.th-kpi { margin-bottom: 18px; }
.th-kpi b { font-size: 1.5rem; }
.th-takvim { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 12px; margin-bottom: 22px; }
.th-baslik, .th-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.th-baslik span { font-size: 0.74rem; font-weight: 700; color: var(--gri); text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 6px; }
.th-gun { min-height: 74px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fafbfa; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 6px 8px; font: inherit; text-align: left; color: var(--murekkep); }
.th-gun.bos { border: 0; background: none; }
.th-gun[disabled] { cursor: default; }
.th-gun:not([disabled]) { cursor: pointer; background: #fff; }
.th-no { font-size: 0.78rem; font-weight: 700; color: var(--gri); }
.th-gun b { font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.th-gun small { font-size: 0.72rem; color: var(--gri); }
.th-gun.bekliyor { border-color: color-mix(in srgb, var(--onay) 45%, transparent); background: color-mix(in srgb, var(--onay) 8%, #fff); }
.th-gun.tamam { border-color: color-mix(in srgb, var(--musait) 45%, transparent); background: color-mix(in srgb, var(--musait) 9%, #fff); }
.th-gun.gec { border-color: color-mix(in srgb, var(--satildi) 55%, transparent); background: color-mix(in srgb, var(--satildi) 10%, #fff); }
.th-gun.bugun .th-no { color: #fff; background: var(--yesil); border-radius: 99px; padding: 0 7px; }
.th-gun.secili { outline: 2px solid var(--altin); outline-offset: 1px; }
@media (max-width: 760px) {
  .ekstre .t-daire, .ek-ozet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ek-izgara, .ek-ara { grid-template-columns: 1fr 1fr; }
  .th-gun { min-height: 54px; padding: 4px; }
  .th-gun b { font-size: 0.68rem; }
  .th-gun small { display: none; }
  .th-baslik, .th-izgara { gap: 3px; }
}
@media print {
  body.yazdir-teklif .ek-ozet > div { background: #f4f1ea; }
  body.yazdir-teklif tr.ek-gecik td { background: none; }
}

/* ---------- Özel teklif (Sercan 2026-10-22; yalnız Master Admin; public/js/ozel-teklif.js) ---------- */
/* Sayfa: solda form, sağda canlı A4 önizleme; 1080 px altında (tablet, telefon) alt alta. */
.ot-arac { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 18px; }
.ot-arac .ot-yazdir { margin-left: auto; }
.ot-duzen { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 28px; align-items: start; }
.ot-form { display: grid; gap: 14px; min-width: 0; }
.ot-kart { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 16px 18px 6px; box-shadow: var(--golge); min-width: 0; }
.ot-kart h3 { font-family: var(--sans); font-size: 0.95rem; font-weight: 700; color: var(--yesil); margin: 0 0 12px; }
.ot-kart .ikili > .alan { min-width: 0; }
.ot-ipucu { margin: -4px 0 12px; }
.ot-taslak-kaydet { display: flex; gap: 8px; margin-bottom: 10px; }
.ot-taslak-kaydet input { flex: 1; min-width: 0; }
.ot-taslak-kaydet .dugme { min-height: 46px; }
.ot-taslaklar { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
.ot-taslaklar li { display: flex; align-items: center; gap: 8px; padding: 6px 8px 6px 12px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: var(--kagit); }
.ot-taslaklar li > span { flex: 1; min-width: 0; display: grid; }
.ot-taslaklar b { font-size: 0.92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ot-taslaklar .dipnot { font-size: 0.74rem; }
#otTaslaklar > .dipnot { margin-bottom: 10px; }
.ot-sil { width: 36px; height: 36px; flex: none; border: 1px solid var(--cizgi); border-radius: 8px; background: #fff; color: var(--gri); font-size: 1.1rem; line-height: 1; }
.ot-sil:hover { color: #a3341f; border-color: #a3341f; }
.ot-satirlar { display: grid; gap: 10px; }
.ot-satir { border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: 8px 12px 2px; background: var(--kagit); min-width: 0; }
.ot-satir-bas { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 6px; } /* 375 px: tür + peşinat + 3 düğme tek satıra sığmıyordu */
.ot-satir-bas > b { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--yesil-acik); color: var(--yesil); font-size: 0.78rem; }
.ot-pes { display: inline-flex; align-items: center; gap: 6px; font-size: 0.88rem; font-weight: 600; color: var(--yesil-koyu); cursor: pointer; }
.ot-pes input { width: 18px; height: 18px; accent-color: var(--yesil); }
.ot-satir-dugme { margin-left: auto; display: flex; gap: 4px; }
.ot-satir-dugme button { width: 34px; height: 34px; border: 1px solid var(--cizgi); border-radius: 8px; background: #fff; color: var(--yesil); font-size: 1rem; line-height: 1; }
.ot-satir-dugme button[disabled] { opacity: 0.35; cursor: default; }
.ot-satir-dugme .ot-sil { color: var(--gri); }
.ot-satir-alan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 10px; }
.ot-satir-alan .alan { margin-bottom: 8px; min-width: 0; }
.ot-satir-alan input, .ot-satir-alan select { min-height: 42px; padding-top: 8px; padding-bottom: 8px; }
.ot-satir-ozet { margin: -2px 0 8px; }
.ot-satir-ozet:empty { display: none; }
.ot-ozet { margin-bottom: 12px; }
.ot-ozet .po-ozet { margin-top: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ot-form input[type="date"] { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.ot-uyari { margin: 8px 0 0; font-size: 0.86rem; border-radius: 10px; padding: 8px 11px; background: #fff7e6; color: #8a5a0b; }
.ot-kosul-dugme { margin: -4px 0 12px; }
.ot-sag { position: sticky; top: calc(var(--ust-yuk) + 12px); min-width: 0; }
.ot-onizleme { position: relative; overflow: hidden; }
.ot-sayfa { position: absolute; top: 4px; left: 0; width: 210mm; min-height: 297mm; padding: 10mm; background: #fff; box-shadow: 0 1px 3px rgba(11, 42, 33, 0.12), 0 12px 32px rgba(11, 42, 33, 0.14); transform-origin: 0 0; }
.ot-sayfa-sonu { position: absolute; left: 0; right: 0; top: 287mm; border-top: 2px dashed var(--satildi); pointer-events: none; }
.ot-sayfa-sonu span { position: absolute; right: 8mm; top: 3px; padding: 0 4px; background: #fff; color: var(--satildi); font-size: 9pt; font-weight: 700; }
.ot-alt-satir { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.ot-sigma { font-size: 0.86rem; font-weight: 600; color: #17633f; }
.ot-sigma.tasma { color: var(--satildi); }
@media (max-width: 1080px) {
  .ot-duzen { grid-template-columns: 1fr; }
  .ot-sag { position: static; }
}
@media (max-width: 460px) {
  .ot-kart { padding: 14px 12px 4px; }
  .ot-satir { padding: 8px 9px 2px; }
  .ot-satir-alan { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0 8px; }
  .ot-satir-alan .alan:nth-child(-n + 2) { grid-column: 1 / -1; }
  .ot-satir-alan .para input { padding-left: 10px; padding-right: 32px; }
  .ot-satir-alan .para::after { right: 10px; }
  .ot-satir-alan select { padding-left: 8px; padding-right: 4px; }
  .ot-taslak-kaydet { flex-wrap: wrap; }
  .ot-taslak-kaydet .dugme { width: 100%; }
  .ot-arac .ot-yazdir { margin-left: 0; }
}

/* Belge: 22 Ekim'de elle hazırlanıp onaylanan özel teklifle aynı ölçüler (Satis-Ofisi/cikti/ozel-teklif);
   pt/mm ile ekranda ve baskıda aynı. Genel .t-* kurallarını ve 760 px altındaki dar ekran kurallarını ezer (baskıda sayfa 190 mm ≈
   718 px olduğu için o kurallar baskıda da çalışır); bu yüzden bu blok dosyanın sonunda durur. */
.teklif.ot-belge { width: 190mm; margin: 0; border: 0; border-radius: 0; overflow: visible; font-family: var(--sans); font-size: 10pt; line-height: normal; color: var(--murekkep); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ot-belge .t-bas { padding: 12px 18px; }
.ot-belge .t-bas-sol { min-width: 0; }
.ot-belge .t-bas-sol b { display: block; font-family: var(--serif); font-size: 15pt; color: var(--altin-acik); font-weight: 500; overflow-wrap: anywhere; }
.ot-belge .t-bas-sol span { font-size: 8.5pt; color: rgba(255, 255, 255, 0.75); }
.ot-belge .t-bas .logo { flex-shrink: 0; }
.ot-belge .t-bas .logo-ust { font-size: 7.5pt; }
.ot-belge .t-bas .logo-alt { font-size: 19pt; margin-top: 3px; }
.ot-belge .t-onay { padding: 6px 18px; font-size: 8.6pt; }
.ot-belge .t-govde { padding: 12px 18px 10px; gap: 10px; } /* resmî hesap şeridi için sıkıldı (2026-10-22) */
.ot-belge .t-musteri { padding-bottom: 7px; }
.ot-belge .t-musteri span { font-size: 7.5pt; }
.ot-belge .t-musteri b { font-size: 14pt; }
.ot-belge .t-daire .t-hucre { padding: 5px 10px; border-top: 0; border-left: 1px solid var(--cizgi); grid-column: auto; }
.ot-belge .t-daire .t-hucre:first-child { border-left: 0; }
.ot-belge .t-hucre small { font-size: 6.5pt; }
.ot-belge .t-hucre b { font-size: 9.3pt; }
.ot-belge .t-kutu { padding: 9px 13px 10px; }
.ot-belge .t-kutu h4 { margin: 0 0 6px; font-size: 7.5pt; }
.ot-belge .t-tablo { font-size: 9pt; }
.ot-belge .t-tablo td { padding: 5px 0; vertical-align: middle; }
.ot-belge .t-iki { grid-template-columns: 0.85fr 1.15fr; gap: 10px; }
.ot-belge .t-iki.tek { grid-template-columns: 1fr; }
.ot-belge .t-not p { margin: 0 0 2px; font-size: 9pt; }
.ot-belge .t-cizgiler i { height: 25px; }
.ot-belge .t-liste { padding-left: 15px; font-size: 7.9pt; gap: 2.5px; }
.ot-belge .t-liste b { color: var(--yesil-koyu); }
.ot-belge .t-alt { padding: 8px 18px 2px; font-size: 7.8pt; }
.ot-belge .t-yetkili { gap: 3px 16px; margin: 4px 0 2px; }
.ot-belge .t-kurum-ad { font-size: 13pt; }
.ot-belge .t-kurum-alt { font-size: 6pt; margin-top: 5px; }
/* Yeni belge parçaları: üç rakam kutusu, ödeme takvimi şeridi, oran çubuğu, dört sütunlu ödeme planı */
.t-rakamlar { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 8px; }
.t-rakamlar.k2 { grid-template-columns: 1.15fr 1fr; }
.t-rakamlar.k1 { grid-template-columns: 1fr; }
.t-rakam { border: 1px solid var(--cizgi); border-radius: 8px; padding: 10px 13px 11px; min-width: 0; }
.t-rakam small { display: block; font-size: 6.8pt; letter-spacing: 0.12em; text-transform: uppercase; color: var(--altin-koyu); font-weight: 700; }
.t-rakam b { display: block; font-size: 16pt; font-weight: 800; color: var(--yesil-koyu); letter-spacing: -0.01em; margin: 3px 0 1px; font-variant-numeric: tabular-nums; }
.t-rakam span { font-size: 8pt; color: var(--gri); }
.t-rakam.ana { background: var(--yesil-koyu); border-color: var(--yesil-koyu); }
.t-rakam.ana small { color: var(--altin-acik); }
.t-rakam.ana b { color: #fff; }
.t-rakam.ana span { color: rgba(255, 255, 255, 0.72); }
.t-akis { --n: 5; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); grid-template-rows: repeat(4, auto); position: relative; margin-top: 2px; }
.t-akis::before { content: ""; position: absolute; left: calc(50% / var(--n)); right: calc(50% / var(--n)); top: 8px; height: 2px; background: var(--altin-acik); }
/* Adımlar ortak satırlara oturur (subgrid): uzun "ne zaman" yazısı iki satıra inse de tutarlar aynı hizada kalır. */
.t-adim { position: relative; text-align: center; padding: 0 4px; min-width: 0; display: grid; grid-row: span 4; grid-template-rows: subgrid; align-content: start; }
.t-adim small { align-self: end; }
.t-adim i { display: block; position: relative; width: 18px; height: 18px; margin: 0 auto 5px; border-radius: 50%; background: #fff; border: 2px solid var(--altin); }
.t-adim.pes i { background: var(--altin); }
.t-adim.ilk i { background: var(--yesil-koyu); border-color: var(--yesil-koyu); box-shadow: 0 0 0 3px #fff7e6; }
.t-adim small { display: block; font-size: 7pt; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); font-weight: 600; }
.t-adim b { display: block; font-size: 10.5pt; color: var(--yesil-koyu); margin-top: 1px; font-variant-numeric: tabular-nums; }
.t-adim span { display: block; font-size: 7.4pt; color: var(--gri); margin-top: 1px; }
.t-oran { display: flex; height: 7px; border-radius: 99px; overflow: hidden; margin: 10px 0 4px; }
.t-oran div { height: 100%; }
.t-oran .p1 { background: var(--yesil-koyu); }
.t-oran .p2 { background: var(--altin); }
.t-oran .p2 + .p2 { border-left: 2px solid #fff; }
.t-oran .y { background: var(--yesil-orta); opacity: 0.85; border-left: 2px solid #fff; }
.t-oran .y.y2 { opacity: 0.6; }
.t-oran .y.y3 { opacity: 0.4; }
.t-oran-yazi { display: flex; justify-content: space-between; gap: 12px; font-size: 7.2pt; color: var(--gri); }
.t-tablo-dort th { font-size: 6.6pt; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gri); font-weight: 600; text-align: left; padding: 0 0 4px; border-bottom: 1.5px solid var(--yesil-koyu); }
.t-tablo-dort th.sag, .t-tablo-dort td.sag { text-align: right; }
.t-tablo-dort td.sag { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.t-tablo-dort td.zaman { color: var(--gri); }
.t-tablo-dort td.daire-basi { color: var(--yesil-orta); }
.t-tablo-dort td:first-child { padding-right: 8px; }
.t-tablo-dort td:nth-child(3), .t-tablo-dort th:nth-child(3) { padding-left: 10px; }
.t-tablo-dort tr.ara td { background: #fbf8f1; font-weight: 700; color: var(--yesil-koyu); }
.t-tablo-dort tr.ara td:first-child { padding-left: 8px; }
.t-tablo-dort tr.toplam td { font-weight: 800; color: var(--yesil); border-bottom: 0; border-top: 1.5px solid var(--yesil-koyu); font-size: 10.5pt; padding-top: 7px; }
.t-tablo-dort tr.bos td { height: 25px; }
/* Özel teklif 2026-10-28: aylık taksit satırı, liste bedeli + indirim şeridi, "Diğer seçenekler" tablosu; formda tür seçimi ve hızlı satırlar */
.t-adim b em { font-style: normal; font-size: 7.5pt; font-weight: 600; color: var(--gri); margin-left: 1px; }
.t-tablo-dort .t-alt-tutar { display: block; font-size: 7.2pt; font-weight: 500; color: var(--gri); margin-top: 1px; }
.t-liste-bedel { display: grid; grid-template-columns: 1fr auto 1.25fr; align-items: center; gap: 4px 14px; padding: 8px 14px; border-radius: 8px; background: #eef6f0; border: 1px solid #cfe5d7; break-inside: avoid; }
.t-liste-bedel small { display: block; font-size: 6.8pt; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gri); font-weight: 700; }
.t-liste-bedel s { display: block; font-size: 12pt; font-weight: 700; color: var(--gri); text-decoration-thickness: 1.5px; font-variant-numeric: tabular-nums; margin: 1px 0; }
.t-liste-bedel span { font-size: 7.6pt; color: var(--gri); }
.t-liste-bedel .t-lb-ok { font-size: 14pt; color: #17633f; }
.t-liste-bedel .ind small { color: #17633f; }
.t-liste-bedel .ind b { display: block; font-size: 14pt; font-weight: 800; color: #17633f; font-variant-numeric: tabular-nums; margin: 1px 0; }
.t-liste-bedel .ind span { color: #17633f; }
.t-tablo-dort td:nth-child(4), .t-tablo-dort th:nth-child(4) { padding-left: 12px; }
.t-tablo-sec td + td, .t-tablo-sec th + th { padding-left: 12px; }
.t-tablo-sec td b { font-weight: 700; color: var(--yesil-koyu); }
.t-tablo-sec .t-kunye { color: var(--gri); font-size: 8pt; }
.t-tablo-sec td.ind { color: #17633f; }
.t-tablo-sec tr.ana td { background: #fbf8f1; }
.t-tablo-sec tr.ana td:first-child { padding-left: 8px; box-shadow: inset 3px 0 0 var(--altin); }
.t-tablo-sec tr.ana td:last-child { padding-right: 8px; }
.t-sec-not { margin: 5px 0 0; font-size: 7.3pt; color: var(--gri); }
.ot-tur { width: auto; min-height: 34px !important; padding: 4px 26px 4px 10px !important; font-size: 0.86rem; font-weight: 600; border-radius: 8px; }
.ot-satir.taksit { background: #f4f8f5; border-color: #cfe5d7; }
.ot-satir-alan .ot-ay { grid-column: 1 / -1; }
.ot-ekle-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ot-ekle-dugmeler .op2-ekle { margin-top: 0; }
.ot-ornekler { margin: -6px 0 16px; max-width: 460px; }
.ot-sec-ad { font-size: 0.9rem; font-weight: 700; color: var(--yesil-koyu); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ot-sec-alan .alan:nth-child(-n + 2) { grid-column: auto !important; }
.ot-satir-ozet.ot-uyari { padding: 6px 10px; }

/* Yazdır / PDF: yalnız belge, tek A4 (yazdir-teklif düzeninin eşi; sınıf yalnız baskıda etkili, ekranda iz bırakmaz) */
@media print {
  body.yazdir-ozel > *:not(main), body.yazdir-ozel main > .sayfa:not([data-sayfa="ozel-teklif"]), body.yazdir-ozel .yazdirma-gizle, body.yazdir-ozel .ot-sayfa-sonu { display: none !important; }
  body.yazdir-ozel { background: #fff; }
  body.yazdir-ozel main { padding: 0; min-height: 0; }
  body.yazdir-ozel #ozelTeklifSayfa { width: auto; margin: 0; padding: 0; }
  body.yazdir-ozel .ot-duzen { display: block; }
  body.yazdir-ozel .ot-sag { position: static; }
  body.yazdir-ozel .ot-onizleme { height: auto !important; overflow: visible; }
  body.yazdir-ozel .ot-sayfa { position: static; transform: none !important; width: auto; min-height: 0; padding: 0; box-shadow: none; }
  body.yazdir-ozel .ot-belge .t-kutu, body.yazdir-ozel .ot-belge .t-daire, body.yazdir-ozel .ot-belge .t-rakamlar { break-inside: avoid; }
}

/* ---- Resmî banka hesabı (Sercan 2026-10-22): teklif, özel teklif, ekstre şeridi + Ödeme seçenekleri kartı (veri.js → RESMI_HESAP) */
.t-hesap { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 2px 14px; padding: 9px 14px; border-radius: 8px; background: #fbf8f1; border: 1px solid var(--altin-acik); break-inside: avoid; }
.t-hesap small { font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--altin-koyu); font-weight: 700; white-space: nowrap; }
.t-hesap b { font-size: 1.02rem; color: var(--yesil-koyu); letter-spacing: 0.05em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.t-hesap span { font-size: 0.82rem; color: var(--gri); text-align: right; white-space: nowrap; }
.ot-belge .t-hesap { padding: 6px 12px; }
.ot-belge .t-hesap small { font-size: 6.8pt; }
.ot-belge .t-hesap b { font-size: 10.5pt; }
.ot-belge .t-hesap span { font-size: 8pt; }
.hesap-kart { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; margin-top: 18px; padding: 14px 18px; border-radius: var(--r-kucuk); background: #fff; border: 1px solid var(--altin-acik); }
.hesap-kart div { display: grid; gap: 2px; min-width: 0; }
.hesap-kart small { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--altin-koyu); font-weight: 700; }
.hesap-kart b { font-size: 1.1rem; color: var(--yesil-koyu); letter-spacing: 0.05em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hesap-kart span { font-size: 0.88rem; color: var(--gri); }
/* Dar ekranda alt alta; baskıda (A4 ~718 px) ve ölçekli özel teklif önizlemesinde tek satır kalır. */
@media screen and (max-width: 760px) {
  .teklif:not(.ot-belge) .t-hesap, .ekstre .t-hesap { grid-template-columns: 1fr; }
  .teklif:not(.ot-belge) .t-hesap span { text-align: left; white-space: normal; }
  .teklif:not(.ot-belge) .t-hesap b { white-space: normal; overflow-wrap: anywhere; }
}
@media print {
  body.yazdir-teklif .t-hesap { padding: 5px 11px; }
  body.yazdir-teklif .t-hesap small { font-size: 6.5pt; }
  body.yazdir-teklif .t-hesap b { font-size: 9.5pt; }
  body.yazdir-teklif .t-hesap span { font-size: 7.8pt; }
}

/* ---- Prim sistemi (Sercan 2026-10-25): #/prim sayfası, kapı bandı, kural v2 bayrakları ve önizleme (public/js/prim.js) */
.prim-bant { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; padding: 14px 18px; border-radius: var(--r-kucuk); margin-bottom: 18px; border: 1px solid; }
.prim-bant > div { display: grid; gap: 4px; min-width: 0; flex: 1 1 300px; }
.prim-bant b { font-size: 1rem; }
.prim-bant span { font-size: 0.9rem; line-height: 1.45; }
.prim-bant.taslak { background: #fff7e6; border-color: #f1d9a6; color: #6b4b0c; }
.prim-bant.acik { background: var(--yesil-acik); border-color: color-mix(in srgb, var(--musait) 40%, transparent); color: var(--yesil-koyu); }
.prim-bant .dugme { flex: 0 0 auto; }
.prim-gorunum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 20px; }
.prim-gorunum .sekmeler { max-width: 100%; }
.prim-metin { max-width: 860px; }
.prim-metin .prim-h { margin-top: 26px; }
.prim-metin .prim-h:first-child { margin-top: 0; }
.prim-p { margin: 0 0 10px; }
.prim-liste, .prim-kurallar { margin: 0 0 14px; padding-left: 22px; display: grid; gap: 8px; line-height: 1.5; }
.prim-kurallar li::marker { font-weight: 700; color: var(--altin-koyu); }
.prim-liste li::marker { color: var(--altin); }
.prim-tablo-kap { margin-bottom: 8px; }
.prim-tablo td.sag b { font-size: 1rem; color: var(--yesil-koyu); }
.prim-tablo td:first-child { white-space: normal; }
.prim-puan { margin-top: 4px; }
.prim-ayar { margin-top: 28px; max-width: 860px; }
.prim-ayar summary { cursor: pointer; font-weight: 700; }
.prim-ayar[open] summary { margin-bottom: 14px; }
.prim-ayar-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.prim-ayar-liste { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 6px; }
.prim-ayar-liste li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--cizgi); padding: 4px 0; font-size: 0.92rem; }
@media (max-width: 640px) {
  .prim-tablo thead { display: none; }
  .prim-tablo, .prim-tablo tbody, .prim-tablo tr, .prim-tablo td { display: block; width: 100%; }
  .prim-tablo tr { padding: 12px 14px; border-bottom: 1px solid var(--cizgi); }
  .prim-tablo tr:last-child { border-bottom: 0; }
  .prim-tablo td { padding: 0; border: 0; }
  .prim-tablo td:first-child { font-weight: 600; margin-bottom: 6px; }
  .prim-tablo td.sag { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; text-align: right; white-space: normal; }
  .prim-tablo td.sag::before { content: attr(data-etiket); color: var(--gri); font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; text-align: left; }
  .prim-ayar-izgara { grid-template-columns: 1fr; }
  .prim-bant .dugme { width: 100%; }
}
/* Satış onayı ve Komisyon penceresi: kural v2 bayrakları ve hesap önizlemesi */
.prim-bayrak { margin: 4px 0 14px; padding: 12px 14px; border-radius: var(--r-kucuk); background: #f7faf8; border: 1px solid var(--cizgi); }
.prim-bayrak .onay-kutu { margin: 4px 0 8px; }
.prim-uyari90 { margin: 4px 0 8px; padding: 10px 12px; font-size: 0.88rem; }
.prim-onizleme { margin-top: 8px; padding-top: 10px; border-top: 1px dashed var(--cizgi-koyu); }
.prim-onizleme-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin-bottom: 6px; }
.prim-onizleme-bas small { font-weight: 700; color: var(--gri); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72rem; }
.prim-onizleme ul { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 4px; }
.prim-onizleme li { display: flex; justify-content: space-between; gap: 12px; font-size: 0.92rem; }
.prim-onizleme li b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.prim-onizleme .dipnot { margin: 4px 0 0; }
.prim-isaret { display: inline-block; margin: 4px 4px 0 0; }

/* Ödeme ekranı: açılır "İskonto ve yönetim kodu" bölmesi (Sercan 2026-10-28). Kapalı gelir; müşteri tutar görmez. */
.indirim-ac { border-top: 1px dashed var(--cizgi); padding-top: 10px; }
.indirim-ac[hidden] { display: none; }
.indirim-ac > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-weight: 600; font-size: 0.92rem; color: var(--yesil); padding: 4px 0; user-select: none; }
.indirim-ac > summary::-webkit-details-marker { display: none; }
.indirim-ac > summary::after { content: "▾"; margin-left: auto; color: var(--gri); transition: transform 0.2s; }
.indirim-ac[open] > summary::after { transform: rotate(180deg); }
.indirim-ac > summary small { color: #17633f; font-weight: 600; font-size: 0.82rem; }
.indirim-ac > summary:focus-visible { outline: 2px solid var(--altin); outline-offset: 3px; border-radius: 4px; }
.indirim-govde { display: grid; gap: 14px; padding-top: 12px; }
.indirim-govde .iskonto-alan, .indirim-govde .kod-alan { border-top: 0; padding-top: 0; }
@media (prefers-reduced-motion: reduce) { .indirim-ac > summary::after { transition: none; } }

/* Hızlı satış (Sercan 2026-10-28): yönetim tek dokunuşla "Satıldı"; bilgiler sonra. */
.hizli-kutu { border-color: #b9dcc7; background: #f2f9f5; }
.hizli-kutu.eksik { border-color: var(--altin-acik); background: #fdf8ec; }
.hizli-satir { display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; padding: 10px 14px; border-radius: var(--r-kucuk); background: #f2f9f5; border: 1px solid #b9dcc7; font-size: 0.88rem; color: var(--gri); }
.hizli-satir[hidden] { display: none; }

/* Satış sözleşmesi formu (Sercan 2026-10-28, public/js/sozlesme.js): tel, e-posta ve tarih de diğer alanlar gibi. */
.sozlesme-form input[type="tel"], .sozlesme-form input[type="email"], .sozlesme-form input[type="date"] { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }

/* Satışlar: satış ofisi / Sirius (Orhan) seçimi ve ciro özeti (Sercan 2026-10-28). */
.satis-grup { margin-bottom: 16px; }
.kpi.ciro-kpi { grid-template-columns: repeat(4, 1fr); }
.kpi.ciro-kpi b { font-size: 1.35rem; }
.kpi.ciro-kpi div:first-child b { font-size: 2rem; }
.tablo tr.ciro-toplam td { border-top: 2px solid var(--yesil); background: var(--yesil-acik); }
@media (max-width: 720px) { .kpi.ciro-kpi { grid-template-columns: repeat(2, 1fr); } }

/* Sözleşme adımı (Sercan 2026-10-28): müşteriyle birlikte doldurulan ekran; ödeme kartlarında "Sözleşmeye geç". */
/* 2026-10-29 gece (Sercan: "Eminevim ödeme planı olan yerde sözleşme yap, teklif ver butonları taşıyor"): sabit iki sütun dar kartta (230 px)
   nowrap düğmeleri dışarı taşırıyordu; yan yana sığmayınca alt alta, tam genişlikte. */
.plan-dugmeler { margin-top: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.plan-dugmeler .dugme { width: 100%; min-width: 0; padding: 6px 10px; white-space: normal; text-align: center; line-height: 1.2; }
.plan-kart .plan-dugmeler .dugme { margin-top: 0; }
.sz-adimlar { list-style: none; display: flex; gap: 8px; flex-wrap: wrap; padding: 0; margin: 0 0 18px; }
.sz-adimlar li { display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 99px; background: #fff; border: 1px solid var(--cizgi); font-weight: 600; font-size: 0.86rem; color: var(--gri); }
.sz-adimlar li span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--krem); font-size: 0.78rem; }
.sz-adimlar li.tamam span { background: var(--musait); color: #fff; }
.sz-adimlar li.aktif { color: var(--yesil); border-color: var(--altin); }
.sz-adimlar li.aktif span { background: var(--yesil); color: #fff; }
.sozlesme-sayfa .kutu { margin-bottom: 16px; }
.sozlesme-sayfa .kutu h3 { margin: 0 0 12px; }
.sz-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 18px; } /* minmax: dar ekranda ödeme tablosu kutuyu taşırmasın, tablo kendi içinde kayar (2026-10-29) */
.sozlesme-sayfa input[type="tel"], .sozlesme-sayfa input[type="email"], .sozlesme-sayfa input[type="date"] { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.sz-bos p { margin: 0 0 14px; }
@media (max-width: 520px) { .plan-dugmeler { grid-template-columns: 1fr; } }

/* Sözleşme ekranı tasarımı (Sercan 2026-10-28: "adımlara basınca geri gideyim; ikna dili; alttaki kapanış kısmı güzel olsun, görsel"). */
.sz-adimlar li a { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.sz-adimlar li:has(a) { cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; }
.sz-adimlar li:has(a):hover { border-color: var(--altin); box-shadow: var(--golge); }
.sz-alt { margin: -6px 0 14px; color: var(--gri); font-size: 0.9rem; }
.sz-kart { display: grid; grid-template-columns: minmax(200px, 320px) 1fr; gap: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); box-shadow: var(--golge); overflow: hidden; margin-bottom: 18px; }
.sz-gorsel { position: relative; background: var(--krem); min-height: 200px; }
.sz-gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sz-bilgi { padding: 20px 24px; display: flex; flex-direction: column; gap: 10px; }
.sz-bilgi > small, .sz-plan small { color: var(--gri); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; }
.sz-bilgi h2 { font-size: 1.9rem; }
.sz-cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.sz-cipler span { padding: 5px 12px; border-radius: 99px; background: var(--yesil-acik); color: var(--yesil); font-weight: 600; font-size: 0.85rem; }
.sz-plan { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--cizgi); display: flex; flex-direction: column; gap: 2px; }
.sz-plan b { font-family: var(--serif); font-size: 1.15rem; color: var(--murekkep); }
.sz-plan span { color: var(--gri); font-size: 0.9rem; }
.sz-kapanis { background: linear-gradient(160deg, var(--yesil) 0%, var(--yesil-koyu) 100%); color: #f2efe7; border-radius: var(--r); padding: 30px 32px; text-align: center; box-shadow: var(--golge); margin: 4px 0 24px; }
.sz-kapanis .ust-baslik { color: var(--altin-acik); margin: 0 0 6px; }
.sz-kapanis h2 { color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.4rem); margin-bottom: 10px; }
.sz-ozet-satir { margin: 0 0 18px; color: #d9e4dd; line-height: 1.6; }
.sz-ozet-satir b { color: var(--altin-acik); font-family: var(--serif); font-size: 1.15rem; }
.sz-guvence { list-style: none; padding: 0; margin: 0 auto 22px; display: grid; gap: 8px; max-width: 560px; text-align: left; }
.sz-guvence li { position: relative; padding-left: 30px; color: #e8efe9; font-size: 0.95rem; }
.sz-guvence li::before { content: "✓"; position: absolute; left: 0; top: -1px; width: 21px; height: 21px; border-radius: 50%; background: rgba(201, 164, 92, 0.22); color: var(--altin-acik); display: grid; place-items: center; font-size: 0.75rem; font-weight: 700; }
.sz-buyuk { min-height: 58px; padding: 14px 34px; font-size: 1.08rem; border-radius: 99px; width: min(100%, 460px); justify-content: center; }
.sz-kucuk { margin: 12px 0 0; color: #b9c8bf; font-size: 0.8rem; }
.sz-tebrik { position: relative; border-radius: var(--r); overflow: hidden; min-height: 260px; display: flex; align-items: flex-end; margin-bottom: 18px; box-shadow: var(--golge); }
.sz-tebrik img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sz-tebrik::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 42, 33, 0.15) 0%, rgba(11, 42, 33, 0.55) 45%, rgba(11, 42, 33, 0.92) 100%); }
.sz-tebrik > div { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); }
.sz-tebrik > div { position: relative; z-index: 1; padding: 26px 30px; color: #fff; }
.sz-tebrik .ust-baslik { color: var(--altin-acik); margin: 0 0 4px; }
.sz-tebrik h1 { color: #fff; font-size: clamp(2rem, 5vw, 3rem); }
.sz-tebrik p { margin: 6px 0 0; color: #e8efe9; }
.sz-tebrik .temsili { top: 12px; bottom: auto; z-index: 2; }
.sz-ilk b { color: var(--altin-acik); }
@media (max-width: 720px) { .sz-kart { grid-template-columns: 1fr; } .sz-gorsel { min-height: 180px; } .sz-kapanis { padding: 24px 18px; } }

/* Müşteriler (Sercan 2026-10-28, Faz 1; public/js/musteriler.js) */
.mus-yeni { min-height: 44px; padding: 0 20px; font-size: 0.98rem; } /* 2026-11-01: araç satırında; ana iş üstteki Bekleyen cevaplar */
@media (max-width: 720px) { .crm-arac .mus-yeni { flex: 1 1 100%; } }
.mus-form { margin-bottom: 18px; border: 1.5px solid var(--altin); background: #fffdf7; }
.mus-form h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.mus-form .dugmeler { margin-top: 4px; }
.mus-form .dipnot { margin-top: 12px; }
.mus-kaynak .secenek { min-height: 44px; padding: 10px 16px; font-size: 0.95rem; }
.mus-say { display: inline-block; min-width: 22px; margin-left: 4px; padding: 0 6px; border-radius: 99px; background: var(--yesil-acik); color: var(--yesil); font-size: 0.78rem; text-align: center; }
.secenek[aria-pressed="true"] .mus-say { background: rgba(255, 255, 255, 0.22); color: #fff; }
.mus-ara { display: flex; flex-wrap: wrap; gap: 10px; }
.mus-ara input[type="search"] { flex: 1 1 240px; width: auto; }
.mus-ara select { flex: 0 1 220px; width: auto; }
.mus-bilgi { margin: 0 0 8px; }
.mus-liste { display: flex; flex-direction: column; gap: 8px; }
.mus-liste-bas, .mus-satir { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(110px, 1.1fr) minmax(130px, 1.2fr) minmax(130px, 1.3fr) minmax(90px, 0.9fr); gap: 12px; align-items: center; }
.mus-liste-bas.genis, .mus-satir.genis { grid-template-columns: minmax(180px, 2fr) minmax(110px, 1.1fr) minmax(130px, 1.2fr) minmax(130px, 1.3fr) minmax(90px, 0.9fr) minmax(100px, 1fr); }
.mus-liste-bas { padding: 0 16px; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gri); }
.mus-satir { width: 100%; min-height: 64px; padding: 10px 16px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); cursor: pointer; transition: border-color 0.15s, background 0.15s; }
.mus-satir:hover { border-color: var(--altin); background: #fffdf7; }
.mus-satir .hap { justify-self: start; }
.mus-ad { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mus-ad b { color: var(--murekkep); overflow-wrap: anywhere; }
.mus-ad small, .mus-son, .mus-sahip-y, .mus-kaynak-y { color: var(--gri); font-size: 0.86rem; }
.mus-sonraki { font-size: 0.9rem; }
.mus-sonraki.gecmis { color: var(--satildi); font-weight: 700; }
.mus-daha { display: flex; margin: 14px auto 0; }

.mus-kart input[type="date"], .mus-kart input[type="datetime-local"] { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.mus-sn-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.mus-sn-form .mus-sn-not, .mus-sn-form .dugmeler { grid-column: 1 / -1; }
.mus-zaman { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mus-zaman li { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.mus-zaman li.bos { padding: 14px; color: var(--gri); text-align: center; }
.mus-zaman small { color: var(--gri); font-size: 0.76rem; }
.mus-zaman span { color: var(--gri); font-size: 0.9rem; }
.mus-zaman p { margin: 4px 0 0; white-space: pre-wrap; }
.mus-alt { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; padding-top: 16px; border-top: 1px dashed var(--cizgi); }
.mus-alt .dugme { min-height: 54px; }
@media (max-width: 720px) {
  .mus-liste-bas { display: none; }
  .mus-satir, .mus-satir.genis { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px 14px; }
  .mus-satir .mus-ad { flex: 1 1 100%; }
  .mus-satir .mus-yok { display: none; }
  .mus-sn-form { grid-template-columns: 1fr; }
  .mus-ara select { flex: 1 1 100%; }
}

/* Takip hatırlatması (Faz 5, 2026-10-29): sol altta küçük şerit; sunum modunda gizli (.ofis-ozel). */
.takip-serit { position: fixed; left: 16px; bottom: 16px; z-index: 35; max-width: calc(100vw - 32px); }
.takip-serit[hidden] { display: none; }
.takip-serit a { display: block; padding: 10px 18px; border-radius: 99px; background: #fdf8ec; border: 1px solid var(--altin-acik); color: var(--murekkep); box-shadow: var(--golge); font-size: 0.9rem; text-decoration: none; }
.takip-serit a:hover { border-color: var(--altin); }

/* Müşteri yolculuğu, Leadgen satırı, sekme grupları, Ofis menüsü grupları, otomatik puan (Sercan 2026-10-29). Sunum modunda iç bilgi
   olanlar .ofis-ozel işaretlidir (body.sunum .ofis-ozel gizler). */
.mus-yolculuk { margin-bottom: 16px; padding: 16px 14px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); }
.mus-adimlar { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mus-adimlar li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 0.78rem; font-weight: 600; line-height: 1.2; color: var(--gri-acik); }
.mus-adimlar li::before { content: ""; position: absolute; top: 13px; right: 50%; width: 100%; height: 3px; background: var(--cizgi); } /* önceki adımın ortasından bu adımın ortasına */
.mus-adimlar li:first-child::before { display: none; }
.mus-adimlar li.tamam::before { background: var(--yesil); }
.mus-adimlar li.atlandi::before { background: color-mix(in srgb, var(--yesil) 30%, #fff); }
.mus-adimlar i { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 0.82rem; font-weight: 700; background: #fff; border: 2px solid var(--cizgi); color: var(--gri-acik); }
.mus-adimlar li.tamam { color: var(--yesil); }
.mus-adimlar li.tamam i { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.mus-adimlar li.atlandi i { background: var(--krem); }
.mus-adimlar li.siradaki { color: var(--yesil-koyu); }
.mus-adimlar li.siradaki i { background: var(--altin); border-color: var(--altin); color: var(--yesil-koyu); box-shadow: 0 0 0 4px rgba(201, 164, 92, 0.28); }
.mus-sira { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; padding: 12px 14px; background: #fffdf7; border: 1px solid var(--altin-acik); border-radius: var(--r-kucuk); }
.mus-sira p { margin: 0; display: flex; flex-direction: column; gap: 2px; flex: 1 1 220px; min-width: 0; }
.mus-sira small { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.mus-sira b { color: var(--yesil-koyu); }
.mus-sira span { color: var(--gri); font-size: 0.9rem; }
.mus-sira .dugme { flex: 0 0 auto; min-height: 48px; }
.mus-sira.tamam { background: var(--yesil-acik); border-color: rgba(31, 157, 106, 0.4); }
.mus-sira.tamam b { color: var(--yesil); }
.mus-lg { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 10px; font-size: 0.86rem; color: var(--gri); }
.mus-lg-yazi.ok { color: var(--yesil); font-weight: 600; }
.mus-lg-yazi.hata { color: var(--satildi); font-weight: 700; }
.mus-lg-yazi.gri { color: var(--gri-acik); }
.mus-lg .dugme.kucuk { min-height: 34px; padding: 0 12px; font-size: 0.82rem; }
.mus-ipucu { margin: 8px 0 0; }
.mus-ad-ust { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.mus-lg-rozet { flex: none; padding: 1px 6px; border-radius: 99px; font-style: normal; font-size: 0.64rem; font-weight: 700; letter-spacing: 0.06em; background: var(--yesil-acik); color: var(--yesil); }
.mus-lg-rozet.hata { min-width: 18px; text-align: center; letter-spacing: 0; background: var(--satildi); color: #fff; }
@media (max-width: 460px) {
  .mus-yolculuk { padding: 14px 10px 12px; }
  .mus-adimlar li { font-size: 0.7rem; }
  .mus-sira .dugme { width: 100%; }
}

/* Yönetim sekme grupları: üstte grup, altında seçili grubun sekmeleri (tek sekmeli grupta ikinci sıra yok). */
.panel-sekmeler.ara { margin-bottom: 10px; padding-bottom: 0; border-bottom: 0; }
.panel-sekmeler.alt-sekme { gap: 4px; padding-bottom: 10px; }
.panel-sekmeler.alt-sekme a { padding: 6px 14px; font-size: 0.86rem; background: #fff; border: 1px solid var(--cizgi); }
.panel-sekmeler.alt-sekme a.aktif { background: var(--yesil-acik); color: var(--yesil); border-color: var(--yesil); }

/* Ofis menüsü grupları: aşağıdaki "Menü v2" bölümünde. */

/* Puantaj: ofise gelen müşteriler, otomatik rozet. */
.pt-ipucu { margin: -4px 0 12px; }
.pt-oto { padding: 2px 9px; font-size: 0.74rem; }
/* Ofise gelen müşteriler: satır kartları (telefonda düğmeler yana taşmaz). */
.pt-gelen-liste { display: flex; flex-direction: column; gap: 8px; }
.pt-gelen { display: grid; grid-template-columns: 76px minmax(150px, 2fr) minmax(110px, 1fr) minmax(130px, 1.2fr) auto; gap: 8px 14px; align-items: center; padding: 10px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.pg-saat { display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }
.pg-saat small, .pg-kisi small { color: var(--gri); font-size: 0.76rem; }
.pg-kisi { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pg-kisi b { overflow-wrap: anywhere; }
.pg-eylem .dugmeler { gap: 8px; }
.pg-eylem:empty { display: none; }
@media (max-width: 720px) {
  .pt-gelen { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
  .pg-saat { flex-direction: row; align-items: baseline; gap: 6px; }
  .pg-kisi { flex: 1 1 calc(100% - 100px); }
  .pg-eylem { flex: 1 1 100%; }
  .pg-eylem .dugme { flex: 1 1 0; }
}

/* ---- Primlerim (Sercan 2026-10-29: danışmanın prim ekranı; motive edici, tutarlar açılana kadar ★) ---- */
.pr-kahraman { display: grid; grid-template-columns: minmax(240px, 1fr) 1.6fr; gap: 18px; align-items: center; margin: 4px 0 18px; padding: 22px 24px; border-radius: var(--r); color: #fff;
  background: radial-gradient(120% 140% at 0% 0%, var(--yesil-orta) 0%, var(--yesil) 45%, var(--yesil-koyu) 100%); box-shadow: var(--golge); }
.pr-k-sol small { display: block; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--altin-acik); }
.pr-k-sol b { display: block; margin: 6px 0 4px; font-family: var(--serif); font-size: 2.6rem; font-weight: 600; line-height: 1.05; color: #fff; font-variant-numeric: tabular-nums; }
.pr-k-sol > span { font-size: 0.85rem; color: rgba(255, 255, 255, 0.72); }
.pr-gaz { margin: 0 0 10px; font-size: 1.12rem; line-height: 1.45; }
.pr-gaz b { color: var(--altin-acik); }
.pr-adim { margin: 0; padding: 10px 12px; border-radius: var(--r-kucuk); background: rgba(255, 255, 255, 0.08); font-size: 0.92rem; color: rgba(255, 255, 255, 0.88); }
.pr-adim span { display: inline-block; margin-right: 6px; padding: 2px 8px; border-radius: 99px; background: var(--altin); color: var(--yesil-koyu); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.pr-adim b { color: var(--altin-acik); }
.pr-yildiz { letter-spacing: 0.08em; color: var(--altin); }
.pr-yildiz.buyuk { color: var(--altin-acik); }
.pr-bant { margin-bottom: 8px; }
.pr-no { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; margin-right: 6px; border-radius: 50%; background: var(--altin); color: var(--yesil-koyu); font-family: var(--sans); font-size: 0.75em; font-weight: 700; vertical-align: 0.15em; }
.bolum-baslik .pr-no { color: var(--yesil-koyu); }
.kpi.pr-kpi { grid-template-columns: repeat(4, 1fr); margin-bottom: 8px; }
.kpi.pr-kpi b .pr-yildiz { font-size: 1.4rem; }
.pr-havuz { display: flex; gap: 22px; align-items: center; margin-bottom: 8px; padding: 18px 20px; border-radius: var(--r); background: #fff; border: 1px solid var(--cizgi); border-left: 5px solid var(--altin); }
.pr-havuz > b { font-family: var(--serif); font-size: 2.2rem; font-weight: 600; white-space: nowrap; color: var(--murekkep); }
.pr-havuz p { margin: 0 0 4px; }
.pr-bonuslar { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-bottom: 8px; }
.pr-bonus { position: relative; padding: 16px 18px; border-radius: var(--r); background: #fff; border: 1px solid var(--cizgi); box-shadow: var(--golge); }
.pr-bonus.tamam { border-color: var(--musait); background: linear-gradient(180deg, #effaf4 0%, #fff 60%); }
.pr-bonus.bitti { opacity: 0.6; }
.pr-b-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pr-b-ust small { color: var(--gri); font-size: 0.8rem; }
.pr-bonus h3 { margin: 10px 0 2px; font-size: 1.05rem; }
.pr-odul { margin: 0 0 10px; font-family: var(--serif); font-size: 1.5rem; font-weight: 600; color: var(--altin-koyu); }
.pr-cubuk { height: 10px; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.pr-cubuk i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--altin) 0%, var(--musait) 100%); transition: width 0.6s ease; }
.pr-bonus.tamam .pr-cubuk i { background: var(--musait); }
.pr-b-sayi { margin: 8px 0 2px; font-size: 0.95rem; }
.pr-b-durum { margin: 0; color: var(--gri); font-size: 0.9rem; }
.pr-b-durum.tamam { color: var(--musait); font-weight: 700; }
.pr-b-liste { margin-top: 8px; }
.pr-bonus .dugmeler { margin-top: 10px; }
.pr-isler li b { color: var(--musait); }
.pr-kosullar { margin-top: 26px; background: #f7f8f7; }
.pr-kosullar h3 { margin: 0 0 8px; font-size: 1rem; }
.pr-kosullar ol { margin: 0; padding-left: 20px; color: var(--gri); font-size: 0.9rem; line-height: 1.55; }
.pr-yonetim { margin-bottom: 18px; }
.pr-yonetim .pr-durum { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; align-self: end; padding-bottom: 6px; }
.pr-bonus-form { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--cizgi); }
.pr-bonus-ac { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--cizgi); }
.pr-bonus-ac summary { cursor: pointer; font-weight: 700; color: var(--yesil); }
.pr-bonus-ac .pr-bonus-form { margin-top: 10px; padding-top: 0; border-top: 0; }
.pr-bag { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin: 0 0 18px; padding: 14px 18px; border-radius: var(--r-kucuk); background: var(--yesil); color: #fff; text-decoration: none; }
.pr-bag b { font-family: var(--serif); font-size: 1.2rem; color: var(--altin-acik); }
.pr-bag span { color: rgba(255, 255, 255, 0.85); }
@media (max-width: 760px) {
  .pr-kahraman { grid-template-columns: 1fr; padding: 18px; }
  .pr-k-sol b { font-size: 2.1rem; }
  .kpi.pr-kpi { grid-template-columns: repeat(2, 1fr); }
  .pr-havuz { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* ---- Primler panosu (Sercan 2026-10-29: Sercan ve Oğulcan; satışı kime yazıldığını düzeltir) ---- */
.pl-duzelt-kutu { border-left: 5px solid #e0a526; background: #fff9ec; }
.pl-duzelt-kutu h3 { margin: 0 0 10px; font-size: 1rem; }
.pl-duzelt { display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 10px 0; border-top: 1px solid var(--cizgi); }
.pl-duzelt:first-of-type { border-top: 0; }
.pl-duzelt > div { min-width: 0; flex: 1 1 260px; }
.pl-duzelt p { margin: 4px 0 0; color: #6b4b0c; font-size: 0.92rem; }
.pl-liste { display: grid; gap: 10px; margin-bottom: 8px; }
.pl-satis { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(0, 2.2fr) minmax(0, 1.6fr) auto; gap: 12px 16px; align-items: center; padding: 14px 16px; border-radius: var(--r-kucuk); background: #fff; border: 1px solid var(--cizgi); }
.pl-satis.uyarili { border-color: #f1d9a6; background: #fffdf6; }
.pl-s-bas { display: grid; gap: 2px; min-width: 0; }
.pl-s-bas b { font-size: 1.05rem; }
.pl-s-bas span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-s-bas small { color: var(--gri); }
.pl-s-bas .hap { justify-self: start; margin-top: 4px; }
.pl-s-bas span.hap { white-space: normal; overflow: visible; max-width: 100%; line-height: 1.3; } /* 2026-11-01: uzun vazgeçme rozeti yandaki "Satışı yapan" seçicisinin üstüne taşmasın */
.pl-s-kisi { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; min-width: 0; }
.pl-s-kisi .alan { margin: 0; flex: 1 1 150px; min-width: 0; }
.pl-s-kisi .alan select { width: 100%; }
.pl-s-kisi > span { font-size: 0.92rem; color: var(--gri); }
.pl-s-kisi > span b { color: var(--murekkep); }
.pl-ortak { display: flex; gap: 6px; align-items: center; font-size: 0.88rem; color: var(--gri); white-space: nowrap; }
.pl-s-cip { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
@media (max-width: 900px) {
  .pl-satis { grid-template-columns: 1fr; }
}

/* ---- Bugün (Prim ve Puantaj v2 Faz 2, Sercan 2026-10-29: danışmanın tek ekranı; public/js/bugun.js) ---- */
.bg-bant { margin-bottom: 12px; display: block; } /* düz metin + <b>: flex'te parçalara bölünüyordu (gölge mod bandı) */
.bg-hero .bg-kazanc { margin: 10px 0 0; font-size: 0.92rem; color: rgba(255, 255, 255, 0.85); }
.bg-hero .bg-kazanc small { margin-left: 4px; color: rgba(255, 255, 255, 0.6); }
.bg-hero .bg-kazanc .pr-yildiz { color: var(--altin-acik); }
.bg-kutular { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.bg-kutu { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bg-kutu h3 { margin: 0; flex-wrap: wrap; }
.bg-kutu h3 small, .bg-hafta h3 small { font-family: var(--sans); font-size: 0.78rem; font-weight: 500; color: var(--gri); }
.bg-kutu p { margin: 0; }
.bg-buyuk { font-family: var(--serif); font-size: 2rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bg-buyuk small { font-family: var(--sans); font-size: 1rem; font-weight: 500; color: var(--gri); }
.bg-tamam { color: var(--musait); }
.bg-kutu .dugme { align-self: flex-start; }
.bg-neden { margin: 0; padding-left: 18px; display: grid; gap: 3px; color: var(--gri); font-size: 0.9rem; }
.bg-hafta { margin-bottom: 14px; border-left: 5px solid var(--musait); }
.bg-hafta.kacan { border-left-color: var(--opsiyon); background: #fffdf6; }
.bg-hafta h3 { margin-bottom: 8px; flex-wrap: wrap; }
.bg-hafta p { margin: 0 0 4px; }
.bg-kacan { color: #a8660a; }
.bg-ikili { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.bg-ikili:empty { display: none; }
.bg-tarama { margin: 4px 0 14px; }
.bg-onizleme { margin-bottom: 14px; }
.bg-primlerim { margin-top: 10px; }
.bg-primlerim > summary { cursor: pointer; padding: 12px 16px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; font-weight: 700; color: var(--yesil); }
.bg-primlerim[open] > summary { margin-bottom: 8px; }
.bg-tarama-satir { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: -4px 0 10px; font-size: 0.9rem; color: var(--gri); }
.bg-saglik { display: inline-block; width: 64px; height: 8px; margin-right: 4px; vertical-align: middle; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.bg-saglik i { display: block; height: 100%; background: var(--musait); }
.bg-saglik.orta i { background: var(--opsiyon); }
.bg-saglik.kotu i { background: var(--satildi); }
.yesil-yazi { color: var(--musait); }
@media (max-width: 900px) { .bg-kutular { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .bg-kutular, .bg-ikili { grid-template-columns: 1fr; } }

/* ---- Ofisteyim ve Günlük kapanış (Prim ve Puantaj v2 Faz 3, 2026-10-29; public/js/puantaj.js) ---- */
.pt-kisi.bekliyor { border-color: var(--opsiyon); background: #fffaf0; }
.pt-kisi.bekliyor small { color: #a8660a; }
.pt-bekleyen { margin: 0 0 14px; padding: 12px 14px; border-radius: var(--r-kucuk); background: #fffaf0; border: 1px solid #f1d9a6; }
.pt-bekleyen-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.pt-bekleyen ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pt-bekleyen li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.pt-bekleyen li small { color: var(--gri); }
.pt-neden { margin: 0 0 4px; padding-left: 18px; display: grid; gap: 3px; color: var(--gri); font-size: 0.9rem; }
.pt-ag { margin-top: 12px; }

/* ---- Gün gezinme, puan talebi, talep onayı, takip dökümü (2026-10-30 gece; public/js/puantaj-gun.js, puantaj-talep.js, puantaj-takip.js) ---- */
.pt-icerik.bekle { opacity: 0.5; pointer-events: none; transition: opacity 0.15s; }
.pt-gun { margin-bottom: 18px; padding: 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); }
.pt-gun-ust { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pt-gun-ust .dugme { min-width: 48px; min-height: 48px; padding: 0 12px; font-size: 1.3rem; }
.pt-gun-baslik { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; line-height: 1.3; }
.pt-gun-baslik b { font-size: 1.1rem; }
.pt-gun-baslik small { color: var(--gri); font-size: 0.8rem; }
.pt-hafta { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.pt-gunduz { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 64px; padding: 6px 2px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; font: inherit; color: var(--murekkep); cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.pt-gunduz small { font-size: 0.72rem; font-weight: 600; color: var(--gri); text-transform: capitalize; }
.pt-gunduz b { font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.pt-gunduz.bugun { border-color: var(--altin); }
.pt-gunduz[aria-pressed="true"] { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.pt-gunduz[aria-pressed="true"] small { color: var(--altin-acik); }
.pt-gunduz.soluk { opacity: 0.38; cursor: not-allowed; }
.pt-nokta { width: 7px; height: 7px; border-radius: 50%; background: var(--musait); }
.pt-gunduz[aria-pressed="true"] .pt-nokta { background: var(--altin-acik); }
.pt-nokta.yok { visibility: hidden; }
.pt-gun-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: 10px; }
.pt-tarih { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; font-weight: 600; color: var(--gri); }
.pt-tarih input { width: auto; min-height: 40px; padding: 6px 10px; }
.pt-git { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 12px; border-radius: 99px; border: 1px solid #f1d9a6; background: #fffaf0; font: inherit; font-size: 0.85rem; color: #a8660a; cursor: pointer; }
.pt-gec, .pt-yer { padding: 2px 9px; font-size: 0.74rem; }
/* Puan talebi */
.pt-talep { margin-top: 18px; }
.pt-talep .secenekler { margin-bottom: 4px; }
.pt-talep .secenek { min-height: 44px; padding: 8px 16px; font-size: 0.9rem; }
.pt-talep .secenek small { margin-left: 4px; opacity: 0.7; white-space: nowrap; }
.pt-talep .pt-turler { margin-bottom: 14px; }
.pt-gun-sec { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pt-gun-sec input { width: auto; flex: 1 1 150px; }
.pt-mus-sonuc { display: grid; gap: 6px; max-height: 280px; overflow: auto; }
.pt-mus { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; min-height: 52px; padding: 8px 14px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; font: inherit; color: var(--murekkep); text-align: left; cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.pt-mus:hover { background: var(--yesil-acik); border-color: var(--yesil); }
.pt-mus small, .pt-secili small { color: var(--gri); font-size: 0.78rem; }
.pt-secili { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 8px 14px; border-radius: var(--r-kucuk); border: 1px solid var(--yesil); background: var(--yesil-acik); }
.pt-secili > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pt-degistir { border: 0; background: none; padding: 8px 4px; font: inherit; font-size: 0.85rem; font-weight: 600; color: var(--yesil); cursor: pointer; }
.pt-talep-not { margin: 10px 0 0; }
.pt-taleplerim { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.pt-taleplerim h4, .pt-dokum h4 { display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; font-size: 0.95rem; }
.pt-taleplerim h4 { margin-top: 0; }
.pt-dokum h4 span { font-size: 0.78rem; font-weight: 600; color: var(--gri); }
/* Talep listesi ve onay kutusu */
.pt-t-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pt-t { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 10px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.pt-t-ana { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pt-t-ana b, .pt-t-ana span { overflow-wrap: anywhere; }
.pt-t-ana small { color: var(--gri); font-size: 0.78rem; }
.pt-t-neden { grid-column: 1 / -1; margin: 0; font-size: 0.85rem; color: var(--satildi); }
.pt-onay-kutu { border: 2px solid var(--opsiyon); background: #fffaf0; }
.pt-onay-kutu .pt-t { grid-template-columns: minmax(0, 1fr) auto; background: #fff; }
.pt-onay-kutu .dugme { min-height: 44px; }
.pt-t-eylem { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pt-red-form { display: grid; gap: 8px; min-width: min(100%, 320px); }
.pt-red-form .dugmeler { justify-content: flex-end; }
/* Takip dökümü */
.pt-dokum { margin-top: 18px; }
.pt-dok-gun { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.pt-dok-gun > div { display: flex; flex-direction: column; align-items: center; text-align: center; line-height: 1.3; }
.pt-dok-gun small { color: var(--gri); font-size: 0.8rem; }
.pt-dok-gun .dugme { min-width: 48px; min-height: 48px; padding: 0 12px; font-size: 1.3rem; }
.pt-dok-kisi { max-width: 360px; }
.pt-dok-sayi { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; margin-bottom: 8px; }
.pt-dok-sayi b { font-size: 1.15rem; }
.pt-dok-sayi small { color: var(--gri); }
.pt-dok-bar { height: 12px; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.pt-dok-bar i { display: block; height: 100%; border-radius: 99px; background: var(--musait); transition: width 0.25s; }
.pt-dok-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pt-dok-liste li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; padding: 8px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.pt-dok-liste li > span { min-width: 0; overflow-wrap: anywhere; }
.pt-dok-liste small { color: var(--gri); font-size: 0.8rem; }
@media (max-width: 720px) {
  .pt-gun { padding: 10px 8px; }
  .pt-hafta { gap: 4px; }
  .pt-gunduz { min-height: 60px; }
  .pt-t { grid-template-columns: 1fr; }
  .pt-t-eylem { align-items: stretch; }
  .pt-onay-kutu .dugmeler .dugme { flex: 1 1 0; }
  .pt-gun-alt { justify-content: stretch; }
  .pt-tarih { flex: 1 1 auto; }
  .pt-tarih input { flex: 1; }
}

/* ---------- Teklif sayfası ve teklif → sözleşme hattı (2026-10-29: #/teklif/<no>; adım şeridi, tek ana düğme, geri bağlantılar) ---------- */
.tk-geri { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: -6px 0 14px; font-size: 0.9rem; }
.tk-geri a { color: var(--yesil); font-weight: 600; text-decoration: none; }
.tk-geri a:hover { text-decoration: underline; }
.tk-hat { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.tk-hat li { border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; color: var(--gri); min-width: 0; }
.tk-hat li > a, .tk-hat li > button { all: unset; }
.tk-hat li > a, .tk-hat li > button { display: flex; align-items: center; gap: 8px; padding: 9px 11px; width: 100%; box-sizing: border-box; cursor: pointer; border-radius: 12px; }
.tk-hat li:not(:has(a, button)) { display: flex; align-items: center; gap: 8px; padding: 9px 11px; }
.tk-hat li > a:hover, .tk-hat li > button:hover { background: var(--krem); }
.tk-hat i { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 0.8rem; font-weight: 700; background: var(--krem); color: var(--yesil); }
.tk-hat span { display: flex; flex-direction: column; min-width: 0; }
.tk-hat b { font-size: 0.86rem; color: inherit; }
.tk-hat small { font-size: 0.72rem; color: var(--gri); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-hat li.tamam { color: var(--yesil); }
.tk-hat li.tamam i { background: var(--musait); color: #fff; }
.tk-hat li.aktif { border: 2px solid var(--altin); color: var(--yesil-koyu); background: #fffdf7; }
.tk-hat li.aktif i { background: var(--altin); color: var(--yesil-koyu); }
.tk-hat li.red { color: var(--satildi); border-color: rgba(192, 83, 63, 0.4); }
.tk-hat li.red i { background: var(--satildi); color: #fff; }
.tk-sonraki { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 16px 18px; margin-bottom: 18px; box-shadow: var(--golge); }
.tk-sonraki .adim-bilgi { margin-bottom: 12px; }
.tk-sonraki .dugme + .dugme { margin-left: 8px; }
.tk-belge .teklif { margin: 0 auto; }
.tk-belge-dugme { justify-content: flex-end; margin: 12px 0 18px; }
button.baglanti { all: unset; color: var(--yesil); font-weight: 600; text-decoration: underline; cursor: pointer; }
button.baglanti:focus-visible { outline: 2px solid var(--altin); outline-offset: 2px; }
.mus-zaman .baglanti { display: inline-block; margin-top: 2px; font-size: 0.82rem; }
.sz-teklif-bag { margin: -8px 0 12px; }
.sz-sartlar { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
@media (max-width: 900px) { .tk-hat { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tk-hat li:last-child { grid-column: 1 / -1; } }

/* ---------- Özel sözleşme (2026-10-29: Sercan + Oğulcan; elle tarihli ödeme satırları) ---------- */
.oz-satir { display: grid; grid-template-columns: 150px 170px 150px minmax(0, 1fr) 32px; gap: 8px; align-items: center; margin-bottom: 8px; }
.oz-satir input, .oz-satir select { width: 100%; min-width: 0; box-sizing: border-box; }
.oz-satir-bas { color: var(--gri); font-size: 0.76rem; font-weight: 600; margin-bottom: 4px; }
.oz-taksit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 10px; align-items: end; background: var(--krem); border-radius: var(--r-kucuk); padding: 12px; margin: 10px 0; }
.oz-fark b { color: var(--satildi) !important; }
.oz-sorun { list-style: none; margin: 0 0 14px; padding: 12px 14px; border-radius: var(--r-kucuk); background: rgba(255, 255, 255, 0.12); text-align: left; display: grid; gap: 4px; font-size: 0.9rem; }
.oz-sorun li::before { content: "• "; color: var(--altin-acik); }
.oz-tamam { margin: 0 0 14px; color: var(--altin-acik); font-weight: 700; }
.oz-alt { justify-content: center; margin-top: 10px; }
@media (max-width: 760px) {
  .oz-satir { grid-template-columns: 1fr 1fr; padding: 8px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
  .oz-satir > input[data-oz-s="a"] { grid-column: 1 / -1; }
  .oz-satir-bas { display: none; }
  .oz-taksit { grid-template-columns: 1fr 1fr; }
  .oz-form .uclu { grid-template-columns: 1fr; }
}
.oz-form .alan { min-width: 0; }
.oz-form select, .oz-form input, .oz-form textarea { max-width: 100%; min-width: 0; box-sizing: border-box; }
.oz-form select { width: 100%; }
.oz-form { grid-template-columns: minmax(0, 1fr); }
.oz-uyari { background: rgba(230, 205, 150, 0.18); }
.oz-toplam { margin: 6px 0 10px; text-align: right; font-size: 0.95rem; color: var(--yesil-koyu); }
.oz-fark-yazi { color: var(--satildi); font-weight: 700; }
.oz-sabit { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.sz-ozel-kapi { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--cizgi); }
.tk-iz { margin: -6px 0 12px; }

/* Ön karşılama (Sercan 2026-10-29, PLAN-on-karsilama.md; public/js/karsilama.js): Bahar'ın tablet ekranı, danışman şeridi, yönetim Bugün kutusu.
   Düğmeler tablette rahat dokunulsun diye büyük; telefon genişliğinde (375 px) taşma yok. */
.kpi.kar-kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kar-tarih { margin: 0 0 10px; color: var(--gri); }
.kar-tarih b { color: var(--murekkep); font-size: 1.05rem; }
.kar-arac { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin: -8px 0 18px; }
/* Kapı danışma durum şeridi (Faz 7 öneri 9): formun altında tek satır; dar ekranda sarılır, yatay kaymaz */
.kar-durum { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 18px; padding: 10px 14px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fff; font-size: 0.9rem; color: var(--gri); }
.kar-durum b { color: var(--murekkep); }
.kar-durum .kar-gunsonu { font-size: 0.8rem; }
.kar-durum .baglanti { margin-left: auto; font-size: 0.88rem; }
.kar-arac .dipnot { flex: 1 1 240px; }
.kar-form { margin-bottom: 18px; border: 1.5px solid var(--altin); background: #fffdf7; }
.kar-form h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.kar-form .secenekler { gap: 8px; }
.kar-form .secenek { min-height: 52px; padding: 12px 20px; font-size: 1rem; }
.kar-form input[type="text"] { min-height: 54px; font-size: 1.05rem; }
.kar-form .dipnot { margin-top: 12px; }
.kar-gonder-satir { margin-top: 4px; }
.kar-gonder { flex: 1 1 220px; min-height: 60px; font-size: 1.1rem; }
.kar-izler { margin: -4px 0 12px; }
.kar-izler .uyari { margin-bottom: 0; }
.kar-liste { display: flex; flex-direction: column; gap: 8px; }
.kar-satir { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.kar-satir.gec { border-color: color-mix(in srgb, var(--kirmizi) 55%, transparent); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.kar-satir.silindi { opacity: 0.55; }
.kar-satir.silindi .kar-musteri b { text-decoration: line-through; }
.kar-bilgi { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.kar-saat { min-width: 44px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--gri); }
.kar-musteri { display: flex; flex-direction: column; flex: 1 1 180px; min-width: 0; }
.kar-musteri b { color: var(--murekkep); overflow-wrap: anywhere; }
.kar-musteri small { color: var(--gri); font-size: 0.86rem; }
.kar-hedef { font-weight: 600; color: var(--yesil); }
.kar-hap::before { display: none; }
.kar-meta { margin: 0; font-size: 0.84rem; color: var(--gri); overflow-wrap: anywhere; }
.kar-not { margin: 0; font-size: 0.92rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.kar-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.kar-sonuc { align-items: center; }
.kar-sonuc .secenek { min-height: 40px; padding: 6px 14px; }
.kar-eylem { display: flex; flex-wrap: wrap; gap: 6px; }
.kar-alt-baslik { margin: 18px 0 10px; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.kar-alt-baslik .dipnot { letter-spacing: 0; text-transform: none; font-weight: 500; }
.kar-alt-not { margin: -6px 0 10px; }
.kar-suz { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 260px); gap: 0 12px; }
.kar-ozet td:first-child { white-space: normal; }
.kar-ayar { margin-top: 22px; }
.kar-pano { margin: 0 0 22px; }
.kar-pano h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.kar-pano .kpi { margin-bottom: 12px; }
.kar-gec-liste { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 4px; }
.kar-gec-liste li { padding: 8px 12px; border-radius: var(--r-kucuk); background: color-mix(in srgb, var(--kirmizi) 7%, #fff); border: 1px solid color-mix(in srgb, var(--kirmizi) 30%, transparent); font-size: 0.92rem; overflow-wrap: anywhere; }
.kar-gec-liste li.dipnot { background: none; border: 0; padding: 0 2px; }
/* Danışman şeridi (Ofise gelenler sayfasının başı) */
.kar-serit { margin-bottom: 16px; border: 1.5px solid var(--opsiyon); background: #fff9ec; }
.kar-serit.gec { border-color: var(--kirmizi); background: #fdf0ee; }
.kar-serit h3 { margin-bottom: 10px; font-size: 1.05rem; }
.kar-serit-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.kar-serit-liste li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.kar-serit-liste li.gec { border-color: color-mix(in srgb, var(--kirmizi) 50%, transparent); }
.kar-serit-ad { display: flex; flex-direction: column; flex: 1 1 200px; min-width: 0; }
.kar-serit-ad b { overflow-wrap: anywhere; }
.kar-serit-ad small { color: var(--gri); font-size: 0.84rem; }
.kar-serit-eylem { display: flex; flex-wrap: wrap; gap: 6px; }
.kar-bagli { margin: 0 0 12px; padding: 8px 12px; border-radius: var(--r-kucuk); background: #fff9ec; border: 1px solid var(--altin-acik); font-size: 0.9rem; }
/* Köşedeki hatırlatma şeridine ikinci satır */
.takip-serit a + a { margin-top: 6px; }
.takip-serit a.kar-sat.gec { background: #fdecea; border-color: var(--kirmizi); color: var(--kirmizi-koyu); }
@media (max-width: 640px) {
  .kpi.kar-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kar-form .ikili { grid-template-columns: 1fr; }
  .kar-form .secenek { padding: 12px 16px; }
  .kar-suz { grid-template-columns: 1fr; }
  .kar-musteri { flex-basis: 100%; }
  .kar-serit-eylem { width: 100%; }
  .kar-serit-eylem .dugme { flex: 1 1 140px; }
}

/* ---- Sirius CRM pano (Sercan 2026-10-29 gece, İş Panosu #327; public/js/musteriler.js) ----
   Sütunlar yan yana, pano kabı kendi içinde yatay kayar (sayfa taşmaz). Telefonda (<640 px) çiplerle tek sütun. */
.crm-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 14px; }
.crm-arac .secenek { min-height: 44px; padding: 10px 16px; font-size: 0.95rem; }
.crm-arac .mus-ara { flex: 1 1 280px; min-width: 0; }

/* Tek akış v3 Faz 2: eski "Bugün" şeridi (.crm-bugun*) kalktı; yerini Bekleyen cevaplar şeridi aldı (.crm-cevap*, dosyanın sonunda). */
.crm-sutun-bas { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }

/* ---- Pano v2 (Sercan 2026-10-29 gece; PLAN-sirius-crm-v2 §1-§3; public/js/crm-pano.js) ----
   K1: sütunlar sabit yükseklikte, kart listesi kendi içinde dikey kayar (sütun başlığı sabit); sütun çipleri ve ‹ › okları üstte ve yapışık:
   sayfa nerede olursa olsun yatay gezinti elin altındadır (ta aşağı inmek gerekmez). Pano yatayda scroll-snap. Telefonda (<640 px) çiplerle tek sütun. */
[data-pano-kok] { --crm-ust: 96px; }
.crm-satir { position: sticky; top: var(--ust-yuk); z-index: 6; display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 8px 0; background: var(--kagit); }
.crm-cipler { flex: 1 1 auto; min-width: 0; flex-wrap: nowrap; margin: 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.crm-cipler::-webkit-scrollbar { display: none; }
.crm-cipler .secenek { flex: none; min-height: 40px; padding: 8px 12px; font-size: 0.9rem; white-space: nowrap; }
.crm-ok { flex: none; width: 44px; height: 44px; padding: 0 0 3px; border-radius: 50%; border: 1px solid var(--cizgi); background: #fff; color: var(--yesil); font-size: 1.6rem; line-height: 1; }
.crm-ok:active { background: var(--yesil-acik); }
.crm-bos-ipucu { margin: 0 0 10px; }
.crm-pano, .crm-satir { user-select: none; -webkit-user-select: none; } /* sürüklerken sütun başlıkları ve çipler seçilmesin */
.crm-pano { position: relative; display: flex; align-items: stretch; gap: 12px; padding: 2px 2px 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding: 0 2px; }
.suruklenir .crm-pano { scroll-snap-type: none; } /* sürüklerken otomatik yatay kaydırma snap ile çakışmasın */
.crm-sutun { --sutun: var(--cizgi); flex: 0 0 236px; min-width: 0; display: flex; flex-direction: column; min-height: 260px; max-height: calc(100vh - var(--ust-yuk) - var(--crm-ust)); max-height: calc(100dvh - var(--ust-yuk) - var(--crm-ust)); padding: 10px; background: var(--krem); border-top: 3px solid var(--sutun); border-radius: var(--r); scroll-snap-align: start; }
.crm-s-bahar { --sutun: var(--altin-koyu); background: #fbf6e9; }
.crm-s-yeni { --sutun: var(--onay); }
.crm-s-ai { --sutun: #8a6fc0; } /* AI'dan atanan (arşivden) */
.crm-s-ulasilamadi { --sutun: var(--kapali); }
.crm-s-randevu { --sutun: var(--opsiyon); }
.crm-s-geldi { --sutun: var(--musait); }
.crm-s-sicak { --sutun: var(--kirmizi); }
.crm-s-karar { --sutun: var(--altin); }
.crm-s-uzun { --sutun: var(--gri-acik); }
.surukle-bahar .crm-s-geldi { outline: 2px dashed var(--musait); outline-offset: 2px; } /* Bahar kartının gideceği tek sütun */
.crm-sutun-bas { flex: none; justify-content: space-between; margin-bottom: 10px; padding: 0 2px; font-size: 0.9rem; letter-spacing: 0; text-transform: none; color: var(--yesil-koyu); }
.crm-say { min-width: 24px; padding: 1px 8px; border-radius: 99px; background: #fff; color: var(--yesil); font-size: 0.78rem; text-align: center; }
.crm-kartlar { display: flex; flex-direction: column; gap: 8px; min-height: 96px; }
.crm-sutun > .crm-kartlar { flex: 1 1 auto; margin: 0 -4px; padding: 2px 4px 4px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.crm-kartlar:empty::before { content: attr(data-bos); display: block; padding: 14px 8px; text-align: center; color: var(--gri-acik); font-size: 0.86rem; }
.crm-kart { flex: none; position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; min-height: 44px; padding: 10px 12px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; transition: border-color 0.15s; }
.crm-kart:hover { border-color: var(--altin); }
.crm-kart.durgun { border-color: var(--kirmizi); box-shadow: inset 3px 0 0 var(--kirmizi); }
.crm-kart.durgun .crm-son { color: var(--kirmizi); font-weight: 600; }
.crm-ad { display: flex; align-items: baseline; gap: 6px; max-width: 100%; }
.crm-ad b { color: var(--murekkep); overflow-wrap: anywhere; }
.crm-uyari { flex: none; font-style: normal; font-size: 0.82rem; color: var(--kirmizi); }
.crm-son, .crm-alt { color: var(--gri); font-size: 0.82rem; }
.crm-sn { font-size: 0.86rem; }
.crm-sn.gecmis { color: var(--kirmizi); font-weight: 700; }
.crm-alt { display: flex; flex-wrap: wrap; gap: 2px 8px; }
.crm-sahip { color: var(--yesil-orta); font-weight: 600; }
.crm-oneri { max-width: 100%; padding: 4px 10px; border-radius: 99px; border: 1px dashed var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); color: var(--kirmizi-koyu); font-size: 0.76rem; font-weight: 600; line-height: 1.25; text-align: left; }
.crm-daha { align-self: center; }
/* kart altındaki dört küçük düğme: 📞 ara · 💬 WhatsApp · 📝 hızlı not · ⋯ taşı / kartı aç */
.crm-kart-eylem { display: flex; gap: 6px; width: 100%; margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--cizgi); }
.crm-e { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--krem); color: var(--yesil); font-size: 1.05rem; line-height: 1; text-decoration: none; }
.crm-e:hover, .crm-e:active { background: var(--yesil-acik); border-color: var(--altin); }
.crm-e.kapali { opacity: 0.3; cursor: default; }
/* Bahar'dan sütunundaki sözde kart: kesik kenar, 🛎; yalnız bana yönlenen kayıt sürüklenir */
.crm-bahar { border: 1.5px dashed var(--altin-koyu); background: #fffdf7; cursor: default; }
.crm-bahar.gec { border-color: var(--kirmizi); background: #fdf0ee; }
.crm-bahar.soluk { border-style: solid; border-color: var(--cizgi); background: var(--krem); opacity: 0.6; }
.crm-bahar-ik { font-style: normal; }
.crm-bahar-not { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.84rem; color: var(--murekkep); overflow-wrap: anywhere; }
.crm-bahar-gec { font-size: 0.8rem; font-weight: 700; color: var(--kirmizi); }
.crm-bahar-eylem { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; margin-top: 4px; }
.crm-bahar-eylem .dugme { flex: 1 1 100%; white-space: normal; }
.crm-bahar-eylem .cizgi-dugme { min-height: 32px; font-size: 0.78rem; }
.crm-soru-eylem { align-items: center; }
.crm-soru-eylem b { flex: 1 1 100%; font-size: 0.82rem; color: var(--yesil-koyu); }
.crm-soru-eylem .dugme { flex: 1 1 0; min-width: 0; min-height: 40px; font-size: 0.84rem; }
.crm-bahar-ayrac { margin: 8px 0 0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gri-acik); }
/* sürükleme */
@media (min-width: 640px) { .crm-kart[data-surukle] { cursor: grab; } }
.crm-hayalet { opacity: 0.35; border-style: dashed; }
.crm-secili { box-shadow: 0 0 0 2px var(--altin); }
.crm-kopya { opacity: 0.96; box-shadow: var(--golge-buyuk); cursor: grabbing; }
.crm-birak-vazgecti, .crm-birak-ipucu { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 45; box-shadow: var(--golge-buyuk); } /* alt kenardan uzak: sayfa otomatik aşağı kaymasın */
.crm-birak-vazgecti { display: flex; align-items: center; justify-content: center; gap: 10px; width: min(520px, calc(100% - 32px)); min-height: 64px; padding: 10px 16px; border-radius: var(--r); border: 2px dashed var(--kirmizi); background: rgba(253, 240, 238, 0.97); color: var(--kirmizi-koyu); }
.crm-birak-vazgecti b { font-size: 1.05rem; }
.crm-birak-vazgecti small { opacity: 0.8; }
.crm-birak-vazgecti:has(.crm-hayalet) { border-style: solid; background: var(--kirmizi); color: #fff; }
.crm-birak-vazgecti .crm-kart { position: absolute; width: 0; height: 0; min-height: 0; padding: 0; border: 0; overflow: hidden; opacity: 0; pointer-events: none; } /* şeride düşen kart görünmez; sonuç çekmecede sorulur */
.crm-birak-ipucu { max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 99px; background: var(--murekkep); color: #fff; font-size: 0.92rem; text-align: center; }

.crm-kapanan { margin-top: 6px; }
.crm-kapanan-bas { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 8px 14px; text-align: left; background: var(--krem); border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); font-weight: 600; color: var(--gri); }
.crm-kapanan-bas i { font-style: normal; }
.crm-kapanan-bas small { margin-left: auto; font-weight: 500; font-size: 0.8rem; }
.crm-kapanan-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); margin-top: 8px; min-height: 0; }
.crm-kapanan-liste:empty::before { grid-column: 1 / -1; }

/* alt çekmece: bırakınca sorular, Taşı, hızlı not, akıllı dönüş (tek dokunuş; "Atla" her zaman var) */
.crm-cekmece-arka { position: fixed; inset: 0; z-index: 70; display: flex; align-items: flex-end; justify-content: center; background: rgba(8, 24, 19, 0.45); }
.crm-cekmece { width: min(560px, 100%); max-height: min(88vh, 680px); overflow-y: auto; overscroll-behavior: contain; background: var(--kagit); border-radius: 18px 18px 0 0; box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.28); padding-bottom: env(safe-area-inset-bottom); animation: crmYuksel 0.22s ease-out; }
@keyframes crmYuksel { from { transform: translateY(40px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .crm-cekmece { animation: none; } }
.crm-cekmece.mesgul { opacity: 0.6; pointer-events: none; }
.crm-ck-bas { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px 10px; background: var(--kagit); }
.crm-ck-bas h3 { font-size: 1.1rem; overflow-wrap: anywhere; }
.crm-ck-kapat { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--cizgi); background: #fff; color: var(--gri); font-size: 1rem; }
.crm-ck-govde { display: grid; gap: 10px; padding: 4px 18px 20px; }
.crm-ck-soru { margin: 6px 0 0; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gri); }
.crm-ck-cipler .secenek { min-height: 46px; padding: 10px 16px; font-size: 0.95rem; }
.crm-ck-ozet { margin: 4px 0 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: #fffdf7; border: 1px solid var(--altin-acik); font-weight: 600; color: var(--yesil-koyu); }
.crm-ck-dugmeler, .crm-ck-form { display: flex; flex-wrap: wrap; gap: 8px; }
.crm-ck-dugmeler .dugme, .crm-ck-form .dugme { flex: 1 1 140px; min-height: 52px; padding: 0 14px; white-space: normal; text-align: center; }
.crm-ck-form input { flex: 1 1 200px; width: auto; }
.crm-cekmece input[type="datetime-local"], .crm-cekmece input[type="date"] { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.crm-ck-liste { display: grid; gap: 8px; }
.crm-ck-satir { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 54px; padding: 10px 16px; text-align: left; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fff; color: var(--yesil-koyu); font-size: 1rem; font-weight: 600; }
.crm-ck-satir:hover { border-color: var(--altin); }
.crm-ck-satir[disabled] { opacity: 0.5; cursor: default; }
.crm-ck-satir small { font-weight: 500; color: var(--gri); }
/* 🗑 Sil: Taşı listesinden ayrı ve sönük (yanlışlıkla dokunulmasın), ama büyük dokunma alanı */
.crm-ck-sil { width: 100%; min-height: 48px; margin-top: 6px; padding: 8px 16px; border: 0; border-radius: var(--r-kucuk); background: none; color: var(--gri); font-size: 0.95rem; font-weight: 600; text-align: center; }
.crm-ck-sil:hover, .crm-ck-sil:active { background: color-mix(in srgb, var(--kirmizi) 8%, #fff); color: var(--kirmizi-koyu); }
.dugme.crm-sil { background: var(--kirmizi); border-color: var(--kirmizi); color: #fff; }
.crm-snack { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 66; display: flex; align-items: center; gap: 14px; max-width: calc(100% - 32px); padding: 8px 8px 8px 18px; border-radius: 99px; background: var(--murekkep); color: #fff; font-size: 0.92rem; font-weight: 600; box-shadow: var(--golge-buyuk); }
.crm-snack button { flex: none; min-height: 40px; padding: 0 16px; border: 0; border-radius: 99px; background: var(--altin); color: var(--yesil-koyu); font-weight: 700; }

@media (max-width: 639px) {
  .crm-pano { display: block; padding: 0 0 8px; overflow: visible; }
  .crm-sutun { display: none; min-height: 0; max-height: none; padding: 0; background: none; border-top: 0; }
  .crm-sutun.aktif { display: flex; }
  .crm-sutun > .crm-kartlar { margin: 0; padding: 0; overflow: visible; }
  .crm-sutun-bas { display: none; }
  .crm-e { min-height: 46px; }
  .crm-kapanan-bas small { display: none; }
  .crm-kapanan-liste { grid-template-columns: 1fr; }
}

/* ---------- Menü v2, Yönetim sekmeleri, görev, eksik bilgi, yedekleme (Sercan 2026-10-30 gece: "Apple mantığı: iPhone gibi basit, sade, kullanışlı") ----------
   Kurallar: büyük dokunma alanları (≥44 px), az metin, tek ana eylem, boşlukla gruplama, renk yalnız anlam için (kırmızı: gecikme/hata, sarı: uyarı, yeşil: tamam). */

/* Hesap menüsü (eski Ofis menüsü; Tek arayüz v4 Faz 1'den beri yalnız kişi, sunum ve çıkış: sayfalar bölüm menüsünde). */
.ofis-menu { width: min(300px, calc(100vw - 32px)); max-height: calc(100vh - var(--ust-yuk) - 20px); max-height: calc(100dvh - var(--ust-yuk) - 20px); overflow-y: auto; overscroll-behavior: contain; }

/* Yönetim sayfası: üstte grup çipleri, altta seçili grubun sekmeleri (tek sekmeli grupta ikinci sıra yok). */
.yon-gruplar { position: relative; display: flex; gap: 8px; margin: 0 0 12px; padding: 2px 2px 4px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.yon-gruplar::-webkit-scrollbar, .yon-sekmeler::-webkit-scrollbar { display: none; }
.yon-gruplar.tek { margin-bottom: 22px; }
.yon-gruplar a { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border-radius: 99px; border: 1px solid var(--cizgi); background: #fff; color: var(--yesil); font-weight: 600; font-size: 0.95rem; text-decoration: none; white-space: nowrap; }
.yon-gruplar a.aktif { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.yon-sekmeler { position: relative; display: flex; gap: 2px 18px; margin: 0 0 22px; padding: 0 2px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--cizgi); -webkit-overflow-scrolling: touch; }
.yon-sekmeler a { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-bottom: -1px; border-bottom: 3px solid transparent; color: var(--gri); font-weight: 600; font-size: 0.93rem; text-decoration: none; white-space: nowrap; }
.yon-sekmeler a.aktif { color: var(--yesil-koyu); border-bottom-color: var(--altin); }

/* Eksik müşteri bilgisi şeridi (Satışlar ve Tahsilat'ın üstü) */
.eksik-serit { flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 16px; }
.eksik-liste { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.eksik-liste a { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; color: #6b4b0c; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.eksik-liste small { color: #6b4b0c; }
.eksik-yer:not(:empty) { padding-top: 20px; }
.eksik-yer:not(:empty) + .panel-sayfa { padding-top: 8px; }
.eksik-yer .eksik-serit { margin-bottom: 0; }

/* Yönetimden görev (Faz 1b) */
.takip-serit a.gv-serit-a { background: #fff7e6; border-color: var(--altin); }
.takip-serit a.gv-serit-a.gec { background: #fdecea; border-color: var(--kirmizi); color: var(--kirmizi-koyu); }
.takip-serit a.gv-serit-a + a { margin-top: 6px; }
/* panoda kart şeridi: bugün ve gecikmiş kırmızı, ileri tarihli sarı */
.crm-gorev { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 36px; padding: 6px 10px; border: 0; border-radius: 8px; background: color-mix(in srgb, var(--kirmizi) 11%, #fff); color: var(--kirmizi-koyu); font-size: 0.82rem; font-weight: 700; text-align: left; }
.crm-gorev.yakin { background: #fff7e6; color: #6b4b0c; }
.crm-gorev span { min-width: 0; overflow-wrap: anywhere; }
.crm-gorev b { font-weight: 800; }
.crm-gorev i { flex: none; font-style: normal; font-weight: 600; opacity: 0.8; }
.crm-kart.gorevli { border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); }
/* çekmecedeki görev tanımı ve seçili satırı */
.crm-ck-gorev { margin: 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: #fffdf7; border: 1px solid var(--altin-acik); color: var(--yesil-koyu); }
.crm-ck-gorev span { display: block; margin-top: 2px; color: var(--gri); font-size: 0.9rem; overflow-wrap: anywhere; }
.crm-ck-secili { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: var(--yesil-acik); color: var(--yesil-koyu); }
.crm-cekmece input[type="time"], .crm-cekmece input[type="search"] { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.crm-ck-form input[type="time"] { flex: 1 1 140px; width: auto; }
.crm-cekmece .secenek[disabled] { opacity: 0.4; cursor: default; }
/* görev listeleri (Bugün kutusu, kart penceresi, Yönetim kutusu) */
.gv-kutu { margin: 0 0 16px; border-color: var(--altin); background: #fffdf7; }
.gv-kutu h3 { margin-bottom: 10px; }
.gv-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gv-sat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.gv-sat.bugun { border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); }
.gv-sat.gec { border-color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.gv-sat.yapildi { opacity: 0.6; }
.gv-ne { font-weight: 700; white-space: nowrap; }
.gv-mus { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
a.gv-mus { color: var(--yesil); text-decoration: underline; text-underline-offset: 3px; }
.gv-sat em { grid-column: 1 / -1; font-style: normal; font-size: 0.84rem; color: var(--gri); }
.gv-sat.bugun em, .gv-sat.gec em { color: var(--kirmizi-koyu); font-weight: 700; }
.gv-sat p { grid-column: 1 / -1; margin: 0; font-size: 0.9rem; color: var(--murekkep); overflow-wrap: anywhere; }
.gv-sat .dugme { grid-column: 3; grid-row: 1; align-self: center; }
.gv-kart { margin: 16px 0 4px; }
.gv-kart .gv-liste { margin-bottom: 10px; }
.gv-kart .gv-sat { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.gv-kart .gv-ne { display: flex; flex-direction: column; gap: 0; white-space: normal; }
.gv-kart .gv-ne em { grid-column: auto; }
.gv-kart .gv-eylem { margin-left: auto; }
.gv-kart .gv-sat p { flex: 1 1 100%; }
.gv-eylem { display: flex; gap: 6px; }
.gv-ver { width: 100%; }
.gv-yon { margin-bottom: 22px; }
.gv-yon-bas { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.gv-yon-bas h3 { margin: 0; }
.gv-say { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.gv-say div { display: flex; flex-direction: column; padding: 10px 14px; border-radius: var(--r-kucuk); background: var(--krem); }
.gv-say b { font-family: var(--serif); font-size: 1.6rem; line-height: 1.1; color: var(--yesil-koyu); }
.gv-say span { font-size: 0.8rem; color: var(--gri); }
.gv-say .gec { background: color-mix(in srgb, var(--kirmizi) 8%, #fff); }
.gv-say .gec b { color: var(--kirmizi); }
.gv-kisi { border-top: 1px solid var(--cizgi); }
.gv-kisi-bas { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 8px 2px; border: 0; background: none; text-align: left; }
.gv-kisi-bas b { flex: 0 1 auto; }
.gv-kisi-bas span { flex: 1 1 auto; color: var(--gri); font-size: 0.88rem; }
.gv-kisi-bas span em { font-style: normal; color: var(--kirmizi); font-weight: 700; }
.gv-kisi-bas i { flex: none; font-style: normal; color: var(--gri-acik); }
.gv-kisi .gv-liste { margin: 0 0 12px; }
@media (max-width: 560px) {
  .gv-sat { grid-template-columns: minmax(0, 1fr) auto; }
  .gv-sat .gv-ne { grid-column: 1 / -1; }
  .gv-sat .dugme { grid-column: 2; grid-row: 2; }
  .gv-sat .gv-mus { grid-column: 1; }
}

/* Yedekleme ve güvenlik (public/js/yedek.js) */
.yd { max-width: 760px; }
.yd .bolum-baslik { margin-top: 4px; }
.yd-durum { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.yd-durum b { font-size: 1.02rem; }
.yd-durum span { color: var(--gri); font-size: 0.9rem; }
.yd-durum.tamam { border-color: rgba(31, 157, 106, 0.45); background: #f1faf5; }
.yd-durum.tamam b { color: var(--yesil); }
.yd-durum.uyari-renk { border-color: #f1d9a6; background: #fff7e6; }
.yd-durum.uyari-renk b { color: #6b4b0c; }
.yd-not { margin: 8px 2px 14px; color: var(--gri); font-size: 0.9rem; }
.yd-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.yd-dugmeler .dugme { flex: 1 1 220px; }
.yd-boyut { margin-bottom: 18px; padding: 12px 16px; border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.yd-boyut-yazi { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; font-size: 0.9rem; color: var(--gri); }
.yd-boyut-yazi b { color: var(--murekkep); }
.yd-boyut.uyari-renk { border-color: #f1d9a6; background: #fff7e6; }
.yd-boyut.uyari-renk .pr-cubuk i { background: var(--opsiyon); }
.yd-baslik { margin: 26px 0 10px; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.yd-liste, .yd-giris { list-style: none; margin: 0 0 8px; padding: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); overflow: hidden; }
.yd-liste li { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(0, 2fr) auto; align-items: center; gap: 4px 12px; min-height: 56px; padding: 8px 14px; border-top: 1px solid var(--cizgi); }
.yd-liste li:first-child, .yd-giris li:first-child { border-top: 0; }
.yd-t { display: flex; flex-direction: column; }
.yd-t small, .yd-o { color: var(--gri); font-size: 0.84rem; }
.yd-geri { margin-top: 26px; border: 1.5px solid var(--kirmizi); border-radius: var(--r); background: #fff; overflow: hidden; }
.yd-geri-bas { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 8px 16px; border: 0; background: none; text-align: left; color: var(--kirmizi-koyu); }
.yd-geri-bas span { font-weight: 700; }
.yd-geri-bas small { flex: 1 1 auto; color: var(--gri); }
.yd-geri-bas i { flex: none; font-style: normal; }
.yd-geri-ic { display: grid; gap: 12px; padding: 4px 16px 18px; }
.yd-adim { margin: 8px 0 0; display: flex; align-items: center; gap: 10px; font-weight: 600; }
.yd-adim b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--yesil-acik); font-size: 0.82rem; }
.yd-adim small { font-weight: 500; color: var(--gri); }
.yd-sec { display: flex; flex-wrap: wrap; gap: 10px; }
.yd-sec select { flex: 1 1 240px; min-height: 48px; padding: 0 12px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; font-size: 1rem; }
.yd-dosya { flex: 1 1 200px; cursor: pointer; }
.yd-kaynak { margin: 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: var(--krem); font-size: 0.92rem; overflow-wrap: anywhere; }
.yd-hata { margin: 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: #fdecea; color: var(--kirmizi-koyu); font-weight: 600; }
.yd-fark .azalir, .yd-silinecek.azalir { color: var(--kirmizi); font-weight: 700; }
.yd-silinecek { margin: 0; font-size: 0.9rem; color: var(--gri); }
.yd-onay { display: flex; flex-wrap: wrap; gap: 10px; }
.yd-onay input { flex: 1 1 200px; min-height: 52px; padding: 0 14px; border-radius: 10px; border: 1.5px solid var(--kirmizi); background: #fff; font-size: 1.05rem; font-weight: 700; letter-spacing: 0.04em; }
.dugme.yd-tehlike { flex: 1 1 160px; min-height: 52px; background: var(--kirmizi); color: #fff; }
.dugme.yd-tehlike[disabled] { background: var(--kirmizi); }
.yd-giris li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(5.6rem, auto) auto; align-items: center; gap: 4px 12px; min-height: 48px; padding: 6px 14px; border-top: 1px solid var(--cizgi); }
.yd-giris li.hatali { background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.yd-g-ikon { width: 24px; text-align: center; font-style: normal; font-size: 1.05rem; }
.yd-g-kim { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.yd-g-kim b { overflow-wrap: anywhere; }
.yd-g-kim small, .yd-g-t { color: var(--gri); font-size: 0.84rem; white-space: nowrap; }
.yd-g-hata { font-style: normal; font-size: 0.8rem; font-weight: 700; color: var(--kirmizi); white-space: nowrap; }
.yd-g-iz { color: var(--gri-acik); font-size: 0.72rem; }
.yd-kvkk { margin: 22px 2px 0; color: var(--gri); font-size: 0.82rem; }
@media (max-width: 560px) {
  .yd-liste li { grid-template-columns: minmax(0, 1fr) auto; }
  .yd-liste .yd-o { grid-column: 1 / -1; grid-row: 2; }
  .yd-giris li { grid-template-columns: auto minmax(0, 1fr) auto; }
  .yd-giris .yd-g-hata, .yd-giris .yd-g-iz { grid-column: 2 / -1; }
  .yd-g-hata:empty { display: none; }
}

/* ---------- Nasıl kullanılır yardım merkezi (Sercan 2026-10-30 gece: "Apple mantığı: basit, sade, kullanışlı; bir çocuk bile kullanabilsin"; public/js/nasil.js) ----------
   Izgara: telefonda tek, tablette iki, masaüstünde üç sütun. Detay: iPhone Ayarlar gibi sağdan kayar. Canlandırmalar saf CSS (transform/opacity);
   taban stil "tamamlanmış" görünümdür, hareket azaltma tercihinde animasyon durur ve bu görünüm kalır. */
.nasil-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nasil-kay-ileri { animation: nasil-k-ileri 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
.nasil-kay-geri { animation: nasil-k-geri 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
@keyframes nasil-k-ileri { from { opacity: 0; transform: translateX(36px); } to { opacity: 1; transform: none; } }
@keyframes nasil-k-geri { from { opacity: 0; transform: translateX(-36px); } to { opacity: 1; transform: none; } }

/* arama ve ilerleme */
.nasil-ara { display: flex; align-items: center; gap: 10px; max-width: 560px; min-height: 52px; margin: 0 0 18px; padding: 0 20px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; box-shadow: var(--golge); }
.nasil-ara:focus-within { border-color: var(--altin); box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.28); }
.nasil-ara input { flex: 1 1 auto; min-width: 0; min-height: 48px; border: 0; outline: 0; background: transparent; font-size: 1rem; }
.nasil-ilerleme { max-width: 560px; margin: 0 0 24px; }
.nasil-ilerleme p { margin: 0 0 8px; color: var(--yesil-koyu); font-size: 0.95rem; font-weight: 600; }
.nasil-cubuk { height: 8px; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.nasil-cubuk i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--altin) 0%, var(--musait) 100%); transition: width 0.5s ease; }
.nasil-bos { padding: 28px 8px; color: var(--gri); text-align: center; overflow-wrap: anywhere; }

/* konu ızgarası */
.nasil-izgara { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 640px) { .nasil-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .nasil-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nasil-kart { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 22px 18px; border: 1px solid var(--cizgi); border-radius: 20px; background: #fff; box-shadow: var(--golge); color: inherit; text-decoration: none; transition: transform 0.18s, box-shadow 0.18s; }
.nasil-kart:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(11, 42, 33, 0.06), 0 16px 34px rgba(11, 42, 33, 0.14); }
.nasil-kart:active { transform: scale(0.985); }
.nasil-ikon { display: grid; place-items: center; flex: none; width: 56px; height: 56px; margin-bottom: 6px; border-radius: 16px; background: var(--yesil-acik); font-size: 1.9rem; line-height: 1; }
.nasil-ikon.buyuk { width: 72px; height: 72px; margin: 0; border-radius: 22px; font-size: 2.4rem; }
.nasil-kart strong { padding-right: 34px; color: var(--yesil-koyu); font-size: 1.12rem; line-height: 1.25; }
.nasil-ozet { color: var(--gri); font-size: 0.95rem; line-height: 1.45; }
.nasil-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; }
.nasil-sure { padding: 3px 10px; border-radius: 99px; background: var(--krem); color: var(--gri); font-size: 0.82rem; font-weight: 600; }
.nasil-etiket { padding: 3px 10px; border: 1px solid #f1d9a6; border-radius: 99px; background: #fff7e6; color: #6b4b0c; font-size: 0.78rem; font-weight: 600; }
.nasil-tik { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--musait); color: #fff; font-size: 0.9rem; font-weight: 800; }

/* sık sorulanlar */
.nasil-sss { max-width: 760px; margin-top: 36px; }
.nasil-sss h2 { margin-bottom: 12px; font-family: var(--sans); font-size: 1.3rem; font-weight: 700; letter-spacing: 0; }
.nasil-sss details { margin-bottom: 8px; border: 1px solid var(--cizgi); border-radius: 16px; background: #fff; overflow: hidden; }
.nasil-sss summary { position: relative; display: flex; align-items: center; min-height: 52px; padding: 10px 52px 10px 18px; font-weight: 600; cursor: pointer; list-style: none; }
.nasil-sss summary::-webkit-details-marker { display: none; }
.nasil-sss summary::after { content: "+"; position: absolute; right: 20px; color: var(--altin-koyu); font-size: 1.5rem; font-weight: 500; line-height: 1; transition: transform 0.2s; }
.nasil-sss details[open] summary::after { transform: rotate(45deg); }
.nasil-sss details p { padding: 0 18px 16px; color: var(--gri); }

/* konu detayı */
.nasil-detay { max-width: 760px; margin-inline: auto; }
.nasil-geri-bag { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 4px; color: var(--yesil); font-weight: 600; text-decoration: none; }
.nasil-geri-bag:hover { text-decoration: underline; text-underline-offset: 3px; }
.nasil-bas { display: flex; align-items: center; gap: 16px; margin: 4px 0 24px; }
.nasil-bas h1 { font-size: clamp(1.7rem, 4.4vw, 2.4rem); }
.nasil-bas p { margin-top: 6px; color: var(--gri); }
.nasil-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.nasil-adimlar { display: grid; gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.nasil-adim { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px 16px; padding: 18px; border: 1px solid var(--cizgi); border-radius: 20px; background: #fff; box-shadow: var(--golge); }
.nasil-no { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--yesil); color: #fff; font-weight: 800; }
.nasil-adim-ic h3 { margin: 6px 0 4px; font-family: var(--sans); font-size: 1.04rem; font-weight: 700; letter-spacing: 0; line-height: 1.3; overflow-wrap: anywhere; }
.nasil-adim-ic p { color: var(--gri); font-size: 0.96rem; overflow-wrap: anywhere; }
.nasil-git { display: inline-flex; align-items: center; min-height: 44px; color: var(--yesil); font-weight: 700; text-decoration: none; }
.nasil-git:hover { text-decoration: underline; text-underline-offset: 3px; }
.nasil-adim .nasil-anim { grid-column: 2; }
@media (min-width: 640px) {
  .nasil-adim { grid-template-columns: 36px minmax(0, 1fr) 112px; }
  .nasil-adim .nasil-anim { grid-column: 3; grid-row: 1; align-self: center; }
}
.nasil-ipucu { display: flex; gap: 12px; margin: 0 0 22px; padding: 16px 18px; border: 1px solid #f1d9a6; border-radius: 18px; background: #fffaf0; font-size: 1.3rem; line-height: 1.3; }
.nasil-ipucu p { color: #6b4b0c; font-size: 0.96rem; overflow-wrap: anywhere; }
.nasil-bitir { display: flex; flex-wrap: wrap; gap: 10px; }
.nasil-bitir .dugme { flex: 1 1 220px; padding-block: 8px; white-space: normal; line-height: 1.25; text-align: center; }
.nasil-bitir .dugme.okundu { border-color: rgba(31, 157, 106, 0.45); background: #f1faf5; color: var(--musait); }

/* Bugün'de alt bağlantı ve Sirius CRM başlığındaki "?" */
.nasil-bag { margin: 26px 0 0; text-align: center; }
.nasil-bag a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--yesil); font-size: 0.92rem; font-weight: 600; text-decoration: none; }
.nasil-bag a:hover { background: var(--yesil-acik); }
.nasil-soru { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: 10px; border: 1.5px solid var(--cizgi); border-radius: 50%; background: #fff; color: var(--yesil); font-family: var(--sans); font-size: 1.05rem; font-weight: 700; text-decoration: none; vertical-align: middle; transition: background 0.15s, color 0.15s; }
.nasil-soru:hover { background: var(--yesil); color: #fff; }

/* canlandırmalar (adım kartının sağında; 112x84) */
.nasil-anim { position: relative; flex: none; width: 112px; height: 84px; border: 1px solid var(--cizgi); border-radius: 16px; background: var(--yesil-acik); overflow: hidden; }
.nasil-anim i { position: absolute; display: block; font-style: normal; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
.nasil-anim b { animation-fill-mode: both; }

/* dokun: parmak düğmeye iner, dalga yayılır */
.nasil-d-dugme { left: 50%; top: 50%; width: 64px; height: 30px; margin: -15px 0 0 -32px; border-radius: 15px; background: var(--yesil); box-shadow: 0 4px 10px rgba(18, 60, 48, 0.25); animation-name: nasil-k-dugme; animation-duration: 2.6s; }
.nasil-d-halka { left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border: 2px solid var(--altin); border-radius: 50%; opacity: 0; animation-name: nasil-k-dalga; animation-duration: 2.6s; }
.nasil-d-parmak { left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border: 2px solid #fff; border-radius: 50%; background: rgba(20, 33, 28, 0.38); transform: translate(4px, 4px); animation-name: nasil-k-parmak; animation-duration: 2.6s; }
@keyframes nasil-k-dugme { 0%, 38%, 56%, 100% { transform: scale(1); } 46% { transform: scale(0.92); } }
@keyframes nasil-k-dalga { 0%, 40% { opacity: 0; transform: scale(0.3); } 44% { opacity: 0.9; } 80%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes nasil-k-parmak { 0% { opacity: 0; transform: translate(36px, 30px) scale(1); } 24% { opacity: 1; } 40% { opacity: 1; transform: translate(4px, 4px) scale(1); } 46% { transform: translate(4px, 4px) scale(0.8); } 56% { transform: translate(4px, 4px) scale(1); } 84% { opacity: 1; transform: translate(4px, 4px) scale(1); } 100% { opacity: 0; transform: translate(4px, 4px) scale(1); } }

/* surukle: kart soldaki sütundan sağdakine geçer */
.nasil-s-sutun { top: 10px; width: 40px; height: 64px; border: 2px dashed rgba(18, 60, 48, 0.28); border-radius: 10px; background: rgba(255, 255, 255, 0.6); animation: none; }
.nasil-s-sutun:nth-child(1) { left: 10px; }
.nasil-s-sutun:nth-child(2) { left: 62px; }
.nasil-s-kart { left: 16px; top: 18px; width: 28px; height: 18px; border-radius: 6px; background: var(--altin); box-shadow: 0 2px 5px rgba(11, 42, 33, 0.25); animation-name: nasil-k-tasi; animation-duration: 3.2s; }
@keyframes nasil-k-tasi { 0% { opacity: 0; transform: translate(0, 0); } 8% { opacity: 1; transform: translate(0, 0); } 18% { transform: translate(0, -3px) scale(1.12) rotate(-3deg); box-shadow: 0 8px 14px rgba(11, 42, 33, 0.3); } 56% { transform: translate(52px, 8px) scale(1.12) rotate(3deg); box-shadow: 0 8px 14px rgba(11, 42, 33, 0.3); } 64%, 88% { opacity: 1; transform: translate(52px, 8px) scale(1) rotate(0); box-shadow: 0 2px 5px rgba(11, 42, 33, 0.25); } 96%, 100% { opacity: 0; transform: translate(52px, 8px); } }

/* cip: çipler sırayla seçilir */
.nasil-a-cip { display: flex; align-items: center; justify-content: center; gap: 7px; }
.nasil-a-cip i { position: static; width: 28px; height: 22px; border: 2px solid rgba(18, 60, 48, 0.25); border-radius: 99px; background: #fff; animation-name: nasil-k-cip; animation-duration: 3s; }
.nasil-a-cip i:nth-child(2) { animation-delay: 1s; }
.nasil-a-cip i:nth-child(3) { animation-delay: 2s; }
@keyframes nasil-k-cip { 0%, 36%, 100% { transform: scale(1); border-color: rgba(18, 60, 48, 0.25); background: #fff; } 6%, 30% { transform: scale(1.14); border-color: var(--yesil); background: var(--yesil); } }

/* form: alanlar sırayla dolar */
.nasil-a-form { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 0 16px; }
.nasil-a-form i { position: relative; height: 16px; border: 2px solid rgba(18, 60, 48, 0.22); border-radius: 8px; background: #fff; overflow: hidden; animation: none; }
.nasil-a-form b { position: absolute; left: 0; top: 0; bottom: 0; display: block; background: var(--altin-acik); transform-origin: left center; animation: nasil-k-yaz 3.4s ease-in-out infinite both; }
.nasil-a-form i:nth-child(1) b { width: 62%; }
.nasil-a-form i:nth-child(2) b { width: 82%; animation-delay: 0.5s; }
.nasil-a-form i:nth-child(3) b { width: 46%; animation-delay: 1s; }
@keyframes nasil-k-yaz { 0% { opacity: 1; transform: scaleX(0); } 22%, 84% { opacity: 1; transform: scaleX(1); } 96%, 100% { opacity: 0; transform: scaleX(1); } }

/* bildirim: rozet yanar, kart sallanır */
.nasil-b-kart { left: 50%; top: 50%; width: 58px; height: 40px; margin: -20px 0 0 -29px; border: 1px solid var(--cizgi); border-radius: 10px; background: #fff; box-shadow: 0 4px 10px rgba(11, 42, 33, 0.14); animation-name: nasil-k-sal; animation-duration: 2.8s; }
.nasil-b-kart::before { content: ""; position: absolute; left: 10px; top: 11px; width: 32px; height: 5px; border-radius: 3px; background: rgba(18, 60, 48, 0.22); box-shadow: 0 10px 0 rgba(18, 60, 48, 0.12); }
.nasil-b-rozet { left: calc(50% + 14px); top: 10px; width: 22px; height: 22px; border-radius: 50%; background: var(--kirmizi); color: #fff; font-size: 0.75rem; font-weight: 800; line-height: 22px; text-align: center; animation-name: nasil-k-rozet; animation-duration: 2.8s; }
@keyframes nasil-k-sal { 0%, 22%, 100% { transform: rotate(0); } 8% { transform: rotate(-4deg); } 12% { transform: rotate(4deg); } 16% { transform: rotate(-3deg); } 20% { transform: rotate(2deg); } }
@keyframes nasil-k-rozet { 0% { transform: scale(0); box-shadow: 0 0 0 0 rgba(211, 47, 47, 0.5); } 8% { transform: scale(1.35); } 14% { transform: scale(1); } 40% { box-shadow: 0 0 0 9px rgba(211, 47, 47, 0); } 88% { transform: scale(1); } 100% { transform: scale(0); box-shadow: 0 0 0 0 rgba(211, 47, 47, 0); } }

/* liste: satırlar sırayla gelir */
.nasil-a-liste { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 0 14px; }
.nasil-a-liste i { position: relative; height: 13px; border: 1px solid var(--cizgi); border-radius: 7px; background: #fff; animation-name: nasil-k-satir; animation-duration: 3.6s; }
.nasil-a-liste i::before { content: ""; position: absolute; left: 4px; top: 3px; width: 5px; height: 5px; border-radius: 50%; background: var(--musait); }
.nasil-a-liste i::after { content: ""; position: absolute; left: 15px; right: 8px; top: 4px; height: 3px; border-radius: 2px; background: rgba(18, 60, 48, 0.2); }
.nasil-a-liste i:nth-child(2) { animation-delay: 0.35s; }
.nasil-a-liste i:nth-child(3) { animation-delay: 0.7s; }
.nasil-a-liste i:nth-child(4) { animation-delay: 1.05s; }
@keyframes nasil-k-satir { 0% { opacity: 0; transform: translateX(-16px); } 10%, 82% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: none; } }

/* onay: daire açılır, ✓ iki kolla çizilir */
.nasil-o-daire { left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: var(--musait); box-shadow: 0 5px 12px rgba(31, 157, 106, 0.35); animation-name: nasil-k-daire; animation-duration: 2.8s; }
.nasil-o-kisa, .nasil-o-uzun { height: 4px; border-radius: 2px; background: #fff; transform-origin: 0 50%; }
.nasil-o-kisa { left: calc(50% - 11px); top: calc(50% - 2px); width: 11px; transform: rotate(45deg); animation-name: nasil-k-kisa; animation-duration: 2.8s; }
.nasil-o-uzun { left: calc(50% - 3px); top: calc(50% + 5px); width: 21px; transform: rotate(-45deg); animation-name: nasil-k-uzun; animation-duration: 2.8s; }
@keyframes nasil-k-daire { 0% { opacity: 0; transform: scale(0.4); } 12% { opacity: 1; transform: scale(1.08); } 18%, 86% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1); } }
@keyframes nasil-k-kisa { 0%, 18% { opacity: 1; transform: rotate(45deg) scaleX(0); } 32%, 86% { opacity: 1; transform: rotate(45deg) scaleX(1); } 100% { opacity: 0; transform: rotate(45deg) scaleX(1); } }
@keyframes nasil-k-uzun { 0%, 32% { opacity: 1; transform: rotate(-45deg) scaleX(0); } 52%, 86% { opacity: 1; transform: rotate(-45deg) scaleX(1); } 100% { opacity: 0; transform: rotate(-45deg) scaleX(1); } }

/* takvim: günlerden biri işaretlenir */
.nasil-a-takvim { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 0 18px; }
.nasil-t-bas { position: static; height: 14px; border-radius: 6px 6px 3px 3px; background: var(--yesil); animation: none; }
.nasil-t-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.nasil-t-izgara i { position: static; height: 16px; border: 1.5px solid rgba(18, 60, 48, 0.16); border-radius: 5px; background: #fff; animation: none; }
.nasil-t-izgara i:nth-child(5) { border-color: var(--altin-koyu); background: var(--altin); animation: nasil-k-gun 3s ease-in-out infinite both; }
@keyframes nasil-k-gun { 0%, 24% { transform: scale(1); border-color: rgba(18, 60, 48, 0.16); background: #fff; box-shadow: 0 0 0 0 rgba(201, 164, 92, 0.6); } 34% { transform: scale(1.3); border-color: var(--altin-koyu); background: var(--altin); } 44% { transform: scale(1); box-shadow: 0 0 0 8px rgba(201, 164, 92, 0); } 88% { transform: scale(1); border-color: var(--altin-koyu); background: var(--altin); } 100% { transform: scale(1); border-color: rgba(18, 60, 48, 0.16); background: #fff; } }

/* hareket azaltma: her şey durur, tamamlanmış görünüm kalır (çiplerden biri seçili) */
@media (prefers-reduced-motion: reduce) {
  .nasil-kay-ileri, .nasil-kay-geri, .nasil-anim, .nasil-anim *, .nasil-anim *::before, .nasil-anim *::after { animation: none !important; }
  .nasil-kart, .nasil-cubuk i, .nasil-sss summary::after { transition: none; }
  .nasil-a-cip i:nth-child(2) { border-color: var(--yesil); background: var(--yesil); }
}

/* === FAZ2-EKRANLARI-BAS === */
/* ---------- Faz 2 ekranları (Sercan 2026-10-30 gece, PLAN-sirius-crm-v2 §6, §7, §5.5; PLAN-inceleme-2026-10-30): Takvim (tkv-), Sirius CRM özeti (oz-),
   "Geldi mi?", danışmanı değiştir, yedek şeridi, Bahar'ın Ön karşılama bağlantısı, Nasıl kullanılır "yakında" rozeti. Büyük dokunma alanları, az renk: kırmızı yalnız gecikme. */

/* teklif sayfasında tek satır: müşteri kartında aç */
.tk-kart-bag { margin: 18px 0 0; font-size: 0.92rem; color: var(--gri); }
.tk-kart-bag a { color: var(--yesil); font-weight: 600; }

/* Bahar'ın Bugün ekranı: Ön karşılama büyük bağlantı */
.bg-karsilama { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; min-height: 64px; margin: 0 0 16px; padding: 18px 22px; border-radius: var(--r); background: var(--altin); color: var(--yesil-koyu); text-decoration: none; box-shadow: var(--golge); }
.bg-karsilama b { font-family: var(--serif); font-size: 1.4rem; }
.bg-karsilama span { font-size: 0.95rem; opacity: 0.85; }
.bg-karsilama:hover { background: var(--altin-acik); }

/* panoda randevu geçen kart: sarı "Geldi mi?" şeridi */
.crm-geldi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; width: 100%; padding: 8px 10px; border-radius: 10px; background: #fff7e6; border: 1px solid var(--altin); color: #6b4b0c; font-size: 0.9rem; }
.crm-geldi span { display: flex; flex: 1 1 auto; justify-content: flex-end; gap: 6px; }
.crm-geldi .dugme.kucuk { min-height: 40px; padding: 0 16px; font-size: 0.86rem; }

/* kart penceresi: takvime ekle */
.mus-takvim { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mus-takvim .dugme { min-height: 44px; text-decoration: none; }
.crm-ck-satir[aria-pressed="true"] { border-color: var(--yesil); background: var(--yesil-acik); }
.crm-ck-satir.simdi { background: var(--krem); }
.crm-ck-satir b { color: var(--musait); }

/* Takvim sayfası (#/takvim): tabletten itibaren hafta, telefonda gün listesi */
.tkv-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 8px; }
.tkv-gezin { display: flex; align-items: center; gap: 8px; }
.tkv-hafta-yazi { flex: 1 1 160px; min-width: 0; margin: 0; font-family: var(--sans); font-size: 1.1rem; font-weight: 700; letter-spacing: 0; color: var(--yesil-koyu); }
.tkv-arac select { flex: 0 1 220px; min-height: 44px; padding: 8px 12px; border-radius: 10px; border: 1px solid #cfd8d3; background: #fff; }
.tkv-lejant { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 4px 0 6px; font-size: 0.82rem; color: var(--gri); }
.tkv-lejant i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 50%; }
.tkv-ozet { margin: 6px 0 12px; }
.tkv-hafta { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; align-items: start; }
.tkv-gun { min-width: 0; padding: 8px 6px 10px; background: var(--krem); border-top: 3px solid var(--cizgi); border-radius: var(--r-kucuk); }
.tkv-gun.bugun { background: #fffdf7; border-top-color: var(--altin); box-shadow: 0 0 0 1px var(--altin-acik); }
.tkv-gun-bas { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 5px; margin: 0 2px 8px; font-family: var(--sans); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gri); }
.tkv-gun-bas b { font-size: 1.1rem; letter-spacing: 0; color: var(--yesil-koyu); }
.tkv-gun-bas em { margin-left: auto; padding: 1px 7px; border-radius: 99px; background: var(--altin); color: var(--yesil-koyu); font-style: normal; font-size: 0.66rem; }
.tkv-gun-uzun { display: none; }
.tkv-olaylar { display: flex; flex-direction: column; gap: 6px; }
.tkv-yok { margin: 0; text-align: center; color: var(--gri-acik); }
.tkv-olay { border: 1px solid var(--cizgi); border-left: 4px solid var(--tc, var(--yesil)); border-radius: 8px; background: #fff; overflow: hidden; }
.tkv-olay.gec { border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); border-left-color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 7%, #fff); }
.tkv-olay.bahar { border-style: dashed; border-left-style: solid; background: #fffdf7; }
.tkv-ic { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%; padding: 6px 7px; text-align: left; border: 0; background: none; font-size: 0.8rem; }
button.tkv-ic:hover { background: var(--yesil-acik); }
button.tkv-ic:disabled { cursor: default; background: none; }
.tkv-ic time { font-size: 0.78rem; font-weight: 700; color: var(--yesil); }
.tkv-ic time.tum { font-weight: 600; color: var(--gri-acik); }
.tkv-ic b { line-height: 1.2; color: var(--murekkep); overflow-wrap: anywhere; }
.tkv-ic small { font-size: 0.74rem; color: var(--gri); }
.tkv-olay.gec .tkv-ic time { color: var(--kirmizi); }
.tkv-ekle { display: flex; gap: 4px; padding: 0 6px 6px; }
.tkv-ekle button, .tkv-ekle a { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0; min-height: 30px; padding: 2px 4px; border: 1px solid var(--cizgi); border-radius: 7px; background: var(--krem); color: var(--yesil); font-size: 0.7rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.tkv-ekle button:hover, .tkv-ekle a:hover { border-color: var(--altin); }
/* 2026-11-01 sadelik: fareli ekranda "Ekle · Google" yalnız olayın üstüne gelince (her kutuda iki düğme kalabalık ediyordu); dokunmatikte hep görünür */
@media (hover: hover) { .tkv-olay .tkv-ekle { visibility: hidden; } .tkv-olay:hover .tkv-ekle, .tkv-olay:focus-within .tkv-ekle { visibility: visible; } }
/* tablet: sütunlar dar; Takvime ekle düğmeleri alt alta, Bugün etiketi satırın altına */
@media (min-width: 640px) and (max-width: 959px) {
  .tkv-hafta { gap: 6px; }
  .tkv-ekle { flex-direction: column; }
  .tkv-gun-bas em { margin-left: 0; }
}
@media (max-width: 639px) {
  .tkv-hafta { display: block; }
  .tkv-gun { margin-bottom: 10px; padding: 10px 10px 12px; }
  .tkv-gun.bos:not(.bugun) { display: none; }
  .tkv-gun-bas > span:first-child, .tkv-gun-bas > b { display: none; }
  .tkv-gun-uzun { display: inline; order: 1; font-size: 0.92rem; letter-spacing: 0; text-transform: none; color: var(--yesil-koyu); }
  .tkv-gun-bas em { order: 2; margin-left: 4px; }
  .tkv-ic { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding: 10px 12px; font-size: 0.95rem; }
  .tkv-ic small { flex: 1 1 100%; font-size: 0.8rem; }
  .tkv-ekle { padding: 0 10px 10px; }
  .tkv-ekle button, .tkv-ekle a { min-height: 40px; font-size: 0.84rem; }
}

/* Sirius CRM özeti (Yönetim › Bugün) */
.oz-kutu { margin-bottom: 22px; }
.oz-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 10px; }
.oz-bas h3 { margin: 0; }
.oz-alt { margin: 0 0 10px; }
.oz-huni { list-style: none; display: grid; gap: 8px; margin: 0 0 8px; padding: 0; }
.oz-huni li { display: grid; grid-template-columns: 84px minmax(0, 1fr) 44px 48px; align-items: center; gap: 10px; }
.oz-ad { font-size: 0.9rem; font-weight: 600; color: var(--yesil-koyu); }
.oz-cubuk { height: 14px; border-radius: 99px; background: var(--yesil-acik); overflow: hidden; }
.oz-cubuk i { display: block; height: 100%; min-width: 3px; border-radius: 99px; background: var(--yesil); }
.oz-huni li:last-child .oz-cubuk i { background: var(--altin-koyu); }
.oz-huni b { text-align: right; font-size: 1.05rem; color: var(--yesil-koyu); }
.oz-huni small { text-align: right; font-size: 0.76rem; color: var(--gri); }
.oz-alt-baslik { margin: 18px 0 8px; font-family: var(--sans); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.oz-alt-baslik small { margin-left: 6px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.oz-kisiler { display: grid; gap: 6px; }
.oz-kisi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; width: 100%; min-height: 52px; padding: 8px 12px; text-align: left; background: var(--krem); border: 1px solid transparent; border-radius: var(--r-kucuk); }
.oz-kisi:hover { border-color: var(--altin); }
.oz-kisi-ad { flex: 1 1 140px; color: var(--yesil-koyu); }
.oz-say { display: grid; grid-template-columns: repeat(6, 54px); gap: 4px; text-align: center; }
.oz-say span { display: flex; flex-direction: column; }
.oz-say b { font-size: 1rem; color: var(--murekkep); }
.oz-say small { font-size: 0.66rem; color: var(--gri); }
.oz-kaynak { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.oz-cip { padding: 4px 12px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--gri); font-size: 0.84rem; }
.oz-cip b { margin-left: 4px; color: var(--yesil-koyu); }
.oz-dikkatler { display: grid; gap: 6px; }
.oz-dikkat-bas { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 8px 14px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); font-weight: 600; color: var(--gri); }
.oz-dikkat-bas span { flex: 1 1 auto; }
.oz-dikkat-bas[disabled] { cursor: default; opacity: 0.7; }
.oz-dikkat.var .oz-dikkat-bas { color: var(--murekkep); }
.oz-rozet { min-width: 28px; padding: 1px 9px; border-radius: 99px; background: var(--krem); color: var(--gri); font-size: 0.82rem; text-align: center; }
.oz-dikkat.var .oz-rozet { background: var(--kirmizi); color: #fff; }
.oz-liste { display: grid; gap: 4px; margin: 6px 0 4px 8px; }
.oz-sat { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; width: 100%; min-height: 44px; padding: 8px 12px; text-align: left; background: var(--krem); border: 1px solid transparent; border-radius: var(--r-kucuk); }
.oz-sat:hover { border-color: var(--altin); }
.oz-sat b { overflow-wrap: anywhere; }
.oz-sat span { font-size: 0.84rem; color: var(--gri); }
@media (max-width: 639px) {
  .oz-huni li { grid-template-columns: 68px minmax(0, 1fr) 34px 40px; gap: 8px; }
  .oz-say { flex: 1 1 100%; grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* yedek: haftalık indirme hatırlatması ve geri yükleme uyarısı */
.yd-serit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin: 0 0 12px; padding: 8px 14px; border: 1px solid #f1d9a6; border-radius: var(--r-kucuk); background: #fff7e6; color: #6b4b0c; font-size: 0.86rem; text-decoration: none; }
a.yd-serit:hover { border-color: var(--altin); }
.yd-uyari { margin: 8px 0; padding: 10px 14px; border: 1px solid var(--kirmizi); border-radius: var(--r-kucuk); background: #fdecea; color: var(--kirmizi-koyu); font-size: 0.92rem; }

/* Nasıl kullanılır: ekranı henüz çıkmamış adım */
.nasil-yakinda { display: inline-block; margin-left: 6px; padding: 1px 8px; border: 1px solid var(--cizgi); border-radius: 99px; background: var(--krem); color: var(--gri); font-family: var(--sans); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; vertical-align: middle; }
.nasil-adim.yakinda .nasil-adim-ic p, .nasil-adim.yakinda .nasil-anim { opacity: 0.55; }
/* === FAZ2-EKRANLARI-SON === */

/* 2026-10-30 gece (telefon taşmaları): düz metinli gri uyarılar flex'te <b> parçalarına bölünüp 375 px'te taşıyordu; Nasıl kullanılır
   detayının kayma canlandırması sayfaya yatay kaydırma eklemesin. */
.uyari.gri:not(.bg-bant):not(.pr-bant) { display: block; }
#nasilSayfa { overflow-x: clip; }

/* === KART-PANEL (2026-10-30 gece, PLAN-inceleme #18, #14) ===
   Müşteri kartı penceresi tek panel ("iPhone kişi kartı"): üst özet, tek Sıradaki adım kutusu, tek sıra hızlı eylem, kaydırmalı aşama çipleri,
   katlanır bölümler, telefonda yapışık alt çubuk. Danışman Bugün ekranında Sirius CRM satırları (bg-sat). 375 px tek sütun. */
.pencere.kp-pencere { width: min(680px, 100%); }
.kp-bas { padding: 14px 20px; }
.kp-bas h2 { font-size: 1.6rem; overflow-wrap: anywhere; }
.kp { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px 24px; }
.kp > * { margin: 0; }
.kp-ust { display: flex; flex-direction: column; gap: 10px; }
.kp-tel { align-self: flex-start; font-family: var(--serif); font-size: 1.65rem; font-weight: 600; line-height: 1.15; color: var(--yesil-koyu); text-decoration: none; }
.kp-tel:hover { text-decoration: underline; text-underline-offset: 4px; }
.kp-tel.yok { font-family: var(--sans); font-size: 1.05rem; font-weight: 500; color: var(--gri-acik); }
.kp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0; font-size: 0.95rem; }
.kp-meta > span:not(.hap) { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; overflow-wrap: anywhere; }
.kp-meta small { color: var(--gri); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.kp-ilk { margin: 0; padding: 8px 12px; border: 1px solid #f1d9a6; border-radius: var(--r-kucuk); background: #fff7e6; color: #6b4b0c; font-size: 0.88rem; }
.kp-gorev { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.kp-gv { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; padding: 10px 12px; border: 1px solid #f1d9a6; border-radius: var(--r-kucuk); background: #fff7e6; }
.kp-gv.bugun, .kp-gv.gec { border-color: var(--kirmizi); background: color-mix(in srgb, var(--kirmizi) 8%, #fff); color: var(--kirmizi-koyu); font-weight: 600; }
.kp-gv-ne { min-width: 0; overflow-wrap: anywhere; }
.kp-gv-eylem { display: flex; gap: 8px; margin-left: auto; }
.kp-gv p { flex: 1 1 100%; margin: 0; color: var(--murekkep); font-size: 0.88rem; font-weight: 500; overflow-wrap: anywhere; }
.kp .mus-yolculuk { margin: 0; }
.kp .mus-sira .dugme { min-height: 54px; font-size: 1.02rem; }
.kp-sn { display: flex; flex-direction: column; gap: 6px; }
.kp-sn-ozet { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; font-size: 1.02rem; }
.kp-sn-ozet.gecmis { color: var(--satildi); font-weight: 700; }
.kp-sn-ozet span { flex: 1 1 100%; color: var(--gri); font-size: 0.88rem; font-weight: 500; }
.kp-sn .mus-takvim { margin-top: 0; }
.kp-detay > summary, .kp-bol > summary { cursor: pointer; list-style: none; }
.kp-detay > summary::-webkit-details-marker, .kp-bol > summary::-webkit-details-marker { display: none; }
.kp-detay > summary { display: inline-flex; align-items: center; min-height: 44px; color: var(--yesil); font-size: 0.95rem; font-weight: 600; }
.kp-detay > summary::after { content: "▸"; margin-left: 8px; color: var(--gri); transition: transform 0.15s; }
.kp-detay[open] > summary::after { transform: rotate(90deg); }
.kp-detay[open] > summary { margin-bottom: 8px; }
.kp-hizli { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.kp-h { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 68px; padding: 8px 2px; border: 1px solid var(--cizgi); border-radius: 16px; background: #fff; color: var(--yesil); font-size: 0.76rem; font-weight: 600; line-height: 1.1; text-decoration: none; text-align: center; }
.kp-h:hover { background: var(--yesil-acik); }
.kp-h:active { transform: scale(0.97); }
.kp-h i { font-style: normal; font-size: 1.55rem; line-height: 1; }
.kp-h.kapali { opacity: 0.4; pointer-events: none; }
.kp-etiket { margin: 4px 0 -6px; font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.kp-asama { display: flex; flex-wrap: nowrap; gap: 8px; margin: 0 -2px; padding: 2px 2px 8px; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.kp-asama .secenek { flex: none; min-height: 44px; padding: 8px 16px; font-size: 0.95rem; white-space: nowrap; scroll-snap-align: start; }
.kp .mus-ipucu { margin: -6px 0 0; }
.kp-bolumler { display: flex; flex-direction: column; gap: 10px; }
.kp-bol { border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.kp-bol > summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; color: var(--yesil-koyu); font-weight: 700; }
.kp-bol > summary > span:first-child { flex: 1 1 auto; }
.kp-bol > summary::after { content: "▸"; flex: none; color: var(--gri); transition: transform 0.15s; }
.kp-bol[open] > summary::after { transform: rotate(90deg); }
.kp-bol .mus-say { margin: 0; }
.kp-bol-ic { padding: 2px 16px 16px; }
.kp-nokta { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 99px; background: var(--krem); color: var(--gri); font-size: 0.78rem; font-style: normal; font-weight: 700; }
.kp-nokta.ok { background: var(--yesil-acik); color: var(--musait); }
.kp-nokta.hata { background: var(--satildi); color: #fff; }
.kp-nokta.yaziyor { background: #fff7e6; color: #6b4b0c; }
.mus-lg-son { flex: 1 1 100%; color: var(--gri-acik); font-size: 0.8rem; }
.kp .kp-zaman { gap: 0; }
.kp .kp-zaman li { flex-direction: row; align-items: flex-start; gap: 12px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--cizgi); border-radius: 0; background: none; }
.kp .kp-zaman li:last-child { border-bottom: 0; }
.kp .kp-zaman li.bos { justify-content: center; }
.kp-ik { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--krem); font-size: 1rem; font-style: normal; }
.kp-zaman li > div { display: flex; flex-direction: column; flex: 1 1 auto; gap: 2px; min-width: 0; }
.kp-zaman b { overflow-wrap: anywhere; }
.kp-zaman p { font-size: 0.94rem; }
/* Not düzelt / sil (2026-11-01): notun altında küçük bağlantılar; düzeltirken yazı kutusu */
.kp-zaman .kp-not-eylem { display: flex; gap: 16px; font-size: 0.82rem; }
.kp-zaman .kp-not-sil { color: var(--satildi); }
.kp-zaman .kp-nd { color: var(--gri); font-size: 0.75rem; font-weight: 400; }
.kp-not-duz { display: grid; gap: 8px; margin-top: 4px; }
.kp-not-duz textarea { width: 100%; font: inherit; font-size: 0.94rem; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); resize: vertical; }
.kp-not-duz span { display: flex; gap: 8px; }
.kp button.baglanti { display: inline-flex; align-items: center; min-height: 36px; }
.kp-tek-dugme { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.kp-tek-dugme .dugme { min-height: 52px; padding: 0 12px; }
.kp-tek-liste { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kp-tek { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: var(--r-kucuk); background: var(--krem); }
.kp-tek-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; }
.kp-tek > span { color: var(--gri); font-size: 0.9rem; overflow-wrap: anywhere; }
.kp-tek-bag { display: flex; flex-wrap: wrap; gap: 0 18px; }
.kp-yon { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.kp-yon .dugme { flex: 1 1 200px; min-height: 52px; }
/* Kartı sil (Sercan 2026-10-31 gece: yanlışlıkla girilmiş deneme kartı): pencerenin en altında küçük, kırmızı çizgili; panodaki 🗑 Sil çekmecesini açar. */
.kp-sil { display: flex; justify-content: center; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.kp-sil-d { min-height: 40px; padding: 6px 18px; border: 1px solid color-mix(in srgb, var(--kirmizi) 55%, #fff); border-radius: 99px; background: #fff; color: var(--kirmizi-koyu); font-size: 0.86rem; font-weight: 600; cursor: pointer; }
.kp-sil-d:hover, .kp-sil-d:focus-visible { background: color-mix(in srgb, var(--kirmizi) 8%, #fff); border-color: var(--kirmizi); }
.kp-sil-not { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--cizgi); text-align: center; }
.kp-alt { display: none; }
@media (max-width: 640px) {
  .pencere-arka:has(.kp-pencere) { padding: 8px; }
  .pencere.kp-pencere { max-height: calc(100svh - 16px); }
  .kp-bas { padding: 12px 16px; }
  .kp-bas h2 { font-size: 1.4rem; }
  .kp { gap: 12px; padding: 16px 16px 20px; }
  .kp-ana-ic { display: none; } /* ana düğme alt çubukta */
  .kp .mus-sira .dugme.kp-ana-ic.kp-ana-tel { display: inline-flex; } /* eylem hızlı düğmelerde de var: alt çubukta yalnız Kapat (Faz 7 öneri 5) */
  .kp-h { font-size: 0.72rem; }
  .kp-alt { position: sticky; bottom: 0; z-index: 3; display: flex; gap: 8px; padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--cizgi); background: var(--kagit); box-shadow: 0 -8px 20px rgba(11, 42, 33, 0.08); }
  .kp-alt .dugme { min-height: 42px; padding: 0 18px; font-size: 0.92rem; }
  .kp-alt .kp-ana { flex: 1 1 auto; }
  .kp-alt .kp-kapat { flex: 0 0 auto; }
  .kp-alt .kp-kapat:only-child { flex: 1 1 auto; }
  .kp-tek-dugme { grid-template-columns: 1fr; }
}
/* danışman Bugün: Sirius CRM'den bugünün ilk 5 işi */
.bg-liste { display: flex; flex-direction: column; gap: 6px; }
.bg-sat { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 10px; min-height: 48px; padding: 8px 12px; border: 1px solid transparent; border-radius: var(--r-kucuk); background: var(--krem); color: var(--murekkep); text-decoration: none; }
.bg-sat:hover { border-color: var(--altin); }
.bg-sat b { overflow-wrap: anywhere; }
.bg-sat span { grid-column: 1; color: var(--gri); font-size: 0.86rem; }
.bg-sat em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--satildi); font-size: 0.78rem; font-style: normal; font-weight: 700; text-align: right; }
.bg-sat.gecmis { border-color: color-mix(in srgb, var(--kirmizi) 30%, transparent); background: color-mix(in srgb, var(--kirmizi) 5%, #fff); }
.bg-tumu { align-self: flex-start; display: inline-flex; align-items: center; min-height: 40px; color: var(--yesil); font-weight: 700; text-decoration: none; }
.bg-tumu:hover { text-decoration: underline; text-underline-offset: 3px; }
.bg-aranacak .bg-lg { margin: 0; }
/* Bugün: kapı danışmadan yönlendirilenler ve AI görüşü (Sercan 2026-10-31) */
.bg-kar { margin: 0 0 16px; border-color: var(--altin); background: #fffdf7; }
.bg-kar.gec { border-color: color-mix(in srgb, var(--kirmizi) 45%, transparent); background: color-mix(in srgb, var(--kirmizi) 4%, #fff); }
.bg-kar h3 { margin-bottom: 6px; }
.bg-kar-neden { margin: 0 0 10px; color: var(--gri); font-size: 0.9rem; line-height: 1.45; }
.bg-kar-liste { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bg-kar-sat { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 8px 12px; border-radius: var(--r-kucuk); background: var(--krem); }
.bg-kar-sat span { display: flex; flex-direction: column; min-width: 0; }
.bg-kar-sat b { overflow-wrap: anywhere; }
.bg-kar-sat small { color: var(--gri); font-size: 0.82rem; }
.bg-kar-sat.gec { background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.bg-kar-sat .dugme { flex: none; }
/* Tek kart (2026-10-31): "Görüştünüz mü?" satırı; telefonda düğmeler alta iner, yatay taşma yok. */
.bg-kar-sat.soru { flex-wrap: wrap; background: #fffdf7; border: 1px dashed var(--altin-koyu); }
.bg-kar-sat.soru > span:first-child { flex: 1 1 220px; }
.bg-kar-sat.soru em { font-style: normal; font-weight: 700; color: var(--yesil-koyu); font-size: 0.9rem; }
.bg-kar-sat .bg-kar-eylem { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; } /* .bg-kar-sat span sütun kuralını ezer */
.bg-kar-ac { font-size: 0.84rem; color: var(--gri); }
@media (max-width: 639px) {
  .bg-kar-sat .bg-kar-eylem { flex: 1 1 100%; }
  .bg-kar-sat .bg-kar-eylem .dugme { flex: 1 1 0; min-width: 0; white-space: normal; }
}
.bg-gorus { margin: 16px 0; }
.bg-gorus h3 small { color: var(--gri); font-weight: 400; }
.bg-gr-ozet { margin: 4px 0 8px; font-weight: 600; }
.bg-gr-ai { margin: 0 0 10px; padding: 8px 12px; border-left: 3px solid var(--altin); background: #fffdf7; font-size: 0.92rem; line-height: 1.45; }
.bg-gr-sat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; min-height: 48px; padding: 8px 12px; border: 1px solid transparent; border-radius: var(--r-kucuk); background: var(--krem); color: var(--murekkep); text-decoration: none; }
.bg-gr-sat:hover { border-color: var(--altin); }
.bg-gr-sat b { overflow-wrap: anywhere; }
.bg-gr-sat span { color: var(--satildi); font-size: 0.84rem; font-weight: 700; }
.bg-gr-sat small { color: var(--gri); font-size: 0.84rem; }
.bg-gr-diger { margin-top: 8px; }
.bg-gr-diger summary { cursor: pointer; color: var(--gri); font-size: 0.9rem; }
/* === KART-PANEL-SON === */

/* Teklif tabloları (2026-10-30 sabah, Sercan: "bu iki ekranda taşma var"): numara + tarih tek hücre, toplam notu satıra sığar, onay alanı tek sütunda
   (onaylayan seçimi tam genişlik, altında Onayla · Reddet); tablo bilgisayar ekranına sığar, dar ekranda kendi içinde kayar. */
.teklif-tablo td, .teklif-tablo th { padding: 10px 10px; }
.teklif-tablo .t-no { white-space: nowrap; }
.teklif-tablo .t-plan { min-width: 90px; max-width: 160px; }
.teklif-tablo .t-toplam { white-space: nowrap; }
.teklif-tablo .t-toplam small { white-space: normal; display: inline-block; max-width: 180px; }
.teklif-tablo .t-islem { width: 1%; min-width: 176px; }
.teklif-tablo .t-islem > .dugme { width: 100%; }
.teklif-tablo .onay-alani { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 6px; width: 176px; }
.teklif-tablo .onay-alani select { grid-column: 1 / -1; width: 100%; max-width: 100%; }
.teklif-tablo .onay-alani .dugme { padding: 0 8px; }

/* Telif ve gizlilik altbilgisi (2026-10-30): telif satırı herkese, uyarı yalnız ekibe (data-personel, sunumda gizli); yazdırılmaz. */
.alt-hukuk { border-top: 1px solid rgba(255, 255, 255, 0.08); margin-top: 14px; padding-top: 12px; font-size: 0.76rem; color: rgba(255, 255, 255, 0.5); }
.alt-hukuk p { margin: 0 0 6px; }
.alt-hukuk b { color: rgba(255, 255, 255, 0.72); font-weight: 600; }
.alt-uyari { margin-top: 6px; color: rgba(255, 255, 255, 0.62); }
.alt-uyari summary { cursor: pointer; list-style: none; line-height: 1.5; }
.alt-uyari summary::-webkit-details-marker { display: none; }
.alt-uyari summary u { color: var(--altin-acik); text-underline-offset: 2px; white-space: nowrap; }
.alt-uyari[open] summary u { display: none; }
.alt-uyari ol { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 6px; line-height: 1.55; max-width: 980px; }
.giris-uyari { margin-top: 8px; color: var(--gri, #6e6874); }
@media print { .alt-hukuk { display: none !important; } }

/* ---- Müşteri merkezi (Sercan 2026-10-31; public/js/merkez.js): Yönetim › Müşteri merkezi. Apple sadeliği: büyük arama, danışman çipleri,
   beş dikkat kutucuğu, tek sütun liste (satır = kart penceresi; en çok iki küçük düğme). 375 px'te tek sütun, yatay kaydırma yok. */
.mz { display: grid; gap: 14px; min-width: 0; }
.mz-ara { position: relative; min-width: 0; }
.mz-ara::before { content: "🔍"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-size: 1rem; opacity: 0.5; pointer-events: none; }
.mz-ara input { display: block; width: 100%; min-width: 0; min-height: 56px; padding: 0 52px 0 46px; border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; font-size: 1.1rem; color: var(--murekkep); box-shadow: var(--golge); -webkit-appearance: none; appearance: none; }
.mz-ara input::placeholder { color: var(--gri-acik); }
.mz-ara input:focus { outline: none; border-color: var(--altin); box-shadow: 0 0 0 3px color-mix(in srgb, var(--altin) 30%, transparent); }
.mz-ara input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.mz-temizle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--krem); color: var(--gri); font-size: 1.3rem; line-height: 1; }
.mz-cipler { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.mz-cip { min-height: 40px; padding: 6px 14px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--yesil); font-size: 0.9rem; font-weight: 600; }
.mz-cip b { margin-left: 2px; color: var(--gri); font-weight: 700; font-variant-numeric: tabular-nums; }
.mz-cip.mz-sifir { opacity: 0.55; }
.mz-cip[aria-pressed="true"] { background: var(--yesil); border-color: var(--yesil); color: #fff; opacity: 1; }
.mz-cip[aria-pressed="true"] b { color: var(--altin-acik); }
.mz-kutucuklar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.mz-kutucuk { display: grid; align-content: start; gap: 2px; min-width: 0; min-height: 76px; padding: 10px 12px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-top: 4px solid var(--d, var(--yesil)); border-radius: var(--r-kucuk); color: var(--murekkep); transition: background 0.15s, box-shadow 0.15s; }
.mz-kutucuk:hover { box-shadow: var(--golge); }
.mz-kutucuk b { font-family: var(--serif); font-size: 1.6rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.mz-kutucuk span { font-size: 0.8rem; font-weight: 600; line-height: 1.25; color: var(--gri); overflow-wrap: anywhere; }
.mz-kutucuk.mz-sifir b { color: var(--gri-acik); }
.mz-kutucuk[aria-pressed="true"] { background: var(--yesil); border-color: var(--yesil); border-top-color: var(--d, var(--altin)); color: #fff; }
.mz-kutucuk[aria-pressed="true"] b { color: #fff; }
.mz-kutucuk[aria-pressed="true"] span { color: var(--altin-acik); }
.mz-durum { margin: 0; min-height: 1.2em; font-size: 0.86rem; color: var(--gri); }
.mz-durum.mz-hata { color: var(--satildi); font-weight: 600; }
.mz-liste { display: grid; gap: 8px; min-width: 0; }
.mz-sat { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 10px; min-width: 0; padding: 4px 10px 4px 4px; background: #fff; border: 1px solid var(--cizgi); border-left: 4px solid var(--d, var(--cizgi)); border-radius: var(--r-kucuk); }
.mz-sat.mz-o1 { --d: var(--satildi); }
.mz-sat.mz-o2 { --d: var(--opsiyon); }
.mz-sat.mz-o3 { --d: var(--kapali); }
.mz-sat.mz-kapali { opacity: 0.72; }
.mz-sat.mz-kar { background: #fffdf6; }
.mz-sat.mz-kar.mz-gec { background: color-mix(in srgb, var(--kirmizi) 5%, #fff); }
.mz-sat-ana { display: grid; gap: 3px; min-width: 0; min-height: 56px; padding: 10px; text-align: left; background: transparent; border: 0; border-radius: var(--r-kucuk); color: var(--murekkep); }
button.mz-sat-ana:hover { background: var(--kagit); }
.mz-sat-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.mz-sat-ust b { font-size: 1.02rem; overflow-wrap: anywhere; }
.mz-sat-ust .hap { font-size: 0.74rem; padding: 2px 9px; }
.mz-sat-alt { font-size: 0.84rem; color: var(--gri); overflow-wrap: anywhere; }
.mz-neden { font-size: 0.86rem; font-weight: 700; color: var(--gri); overflow-wrap: anywhere; }
.mz-o1 .mz-neden { color: var(--satildi); }
.mz-o2 .mz-neden { color: #a8660a; }
.mz-neden small { font-weight: 500; color: var(--gri); }
.mz-oneri { display: block; min-width: 0; font-size: 0.82rem; color: var(--gri); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mz-sat-eylem { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; min-width: 0; }
.mz-sat-eylem .dugme { min-height: 44px; min-width: 0; padding: 0 14px; overflow: hidden; text-overflow: ellipsis; }
.mz-sat-eylem .dugme.mz-onayla { background: var(--satildi); border-color: var(--satildi); color: #fff; }
.mz-bos { margin: 0; padding: 18px; display: grid; justify-items: center; gap: 10px; text-align: center; color: var(--gri); background: #fff; border: 1px dashed var(--cizgi); border-radius: var(--r-kucuk); }
.mz-daha { justify-self: center; }
.mz-ai { display: grid; gap: 10px; min-width: 0; }
.mz-ai-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.mz-ai-bas p { margin: 0; color: var(--gri); }
.mz-ai-bas b { color: var(--murekkep); }
.mz-ai-genel { margin: 0; padding: 10px 14px; border-left: 3px solid var(--altin); border-radius: 0 var(--r-kucuk) var(--r-kucuk) 0; background: #fffdf7; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.mz-ai-kisi { min-width: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.mz-ai-kisi > summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; cursor: pointer; list-style: none; }
.mz-ai-kisi > summary::-webkit-details-marker { display: none; }
.mz-ai-kisi > summary b { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.mz-ai-kisi > summary::after { content: "▸"; color: var(--gri); }
.mz-ai-kisi[open] > summary::after { content: "▾"; }
.mz-ai-n { padding: 2px 10px; border-radius: 99px; background: var(--kirmizi); color: #fff; font-size: 0.8rem; font-weight: 700; white-space: nowrap; }
.mz-ai-n.mz-tamam { background: var(--yesil-acik); color: var(--musait); }
.mz-ai-ic { display: grid; gap: 8px; padding: 0 14px 14px; min-width: 0; }
.mz-ai-ozet { margin: 0; font-weight: 600; }
.mz-ai-not { margin: 0; padding: 8px 12px; border-left: 3px solid var(--altin); background: #fffdf7; font-size: 0.92rem; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.mz-ai-liste { display: grid; gap: 6px; }
.mz-ai-sat { display: grid; gap: 2px; min-width: 0; min-height: 48px; padding: 8px 12px; text-align: left; background: var(--krem); border: 1px solid transparent; border-radius: var(--r-kucuk); color: var(--murekkep); }
.mz-ai-sat:hover { border-color: var(--altin); }
.mz-ai-sat b { overflow-wrap: anywhere; }
.mz-ai-sat span { color: var(--satildi); font-size: 0.84rem; font-weight: 700; overflow-wrap: anywhere; }
.mz-ai-sat small { color: var(--gri); font-size: 0.84rem; }
.mz-ai-sat em { font-style: normal; color: var(--yesil-orta); font-size: 0.84rem; overflow-wrap: anywhere; }
@media (max-width: 639px) {
  .mz-kutucuklar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mz-sat { grid-template-columns: minmax(0, 1fr); padding: 2px; }
  .mz-sat-eylem { justify-content: stretch; padding: 0 8px 8px; }
  .mz-sat-eylem .dugme { flex: 1 1 0; }
}
@media (max-width: 380px) {
  .mz-kutucuk { min-height: 68px; padding: 8px 10px; }
  .mz-kutucuk b { font-size: 1.35rem; }
  .mz-ara input { font-size: 1rem; }
}
/* Müşteri merkezi v2 · Faz 1B (Sercan 2026-10-31 gece; PLAN-musteri-merkezi-v2 §5.1): dönem çipleri, 8 sayı (dokun = liste süzülür), katlanır
   Süreç / Danışmanlar / Bugün ne oldu, satır rozetleri, çift kart grupları (salt okuma). Telefonda sayılar 4×2, tablo satırı kart düzeninde,
   dönem çipleri kendi içinde yatay kayar; sayfa yatay taşmaz (her kapsayıcıda min-width: 0). */
.mz [data-mz-govde] { display: grid; gap: 12px; min-width: 0; }
.mz-donem { display: flex; align-items: center; gap: 6px; min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
.mz-donem::-webkit-scrollbar { display: none; }
.mz-donem-cip { flex: 0 0 auto; scroll-snap-align: start; min-height: 40px; padding: 6px 16px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--yesil); font-size: 0.92rem; font-weight: 700; }
.mz-donem-cip[aria-pressed="true"] { background: var(--yesil-koyu); border-color: var(--yesil-koyu); color: #fff; }
.mz-ay { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; margin-left: 4px; scroll-snap-align: end; }
.mz-ay b { white-space: nowrap; font-size: 0.92rem; color: var(--murekkep); }
.mz-ay-ok { width: 40px; height: 40px; border: 1px solid var(--cizgi); border-radius: 50%; background: #fff; color: var(--yesil); font-size: 1.2rem; line-height: 1; }
.mz-ay-ok[disabled] { opacity: 0.35; cursor: default; }
.mz-sayilar { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.mz-sayi { display: grid; align-content: start; gap: 2px; min-width: 0; min-height: 72px; padding: 10px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); color: var(--murekkep); transition: background 0.15s, box-shadow 0.15s; }
.mz-sayi:hover:not([disabled]) { box-shadow: var(--golge); }
.mz-sayi b { font-family: var(--serif); font-size: 1.6rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.mz-sayi span { font-size: 0.78rem; font-weight: 600; line-height: 1.25; color: var(--gri); overflow-wrap: anywhere; }
.mz-sayi.mz-sifir b { color: var(--gri-acik); }
.mz-sayi[aria-pressed="true"] { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.mz-sayi[aria-pressed="true"] b { color: #fff; }
.mz-sayi[aria-pressed="true"] span { color: var(--altin-acik); }
.mz-bolumler { display: grid; gap: 8px; min-width: 0; }
.mz-bolum { min-width: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.mz-bolum > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-height: 48px; padding: 12px 14px; cursor: pointer; list-style: none; }
.mz-bolum > summary::-webkit-details-marker { display: none; }
.mz-bolum > summary::before { content: "▸"; color: var(--gri); }
.mz-bolum[open] > summary::before { content: "▾"; }
.mz-bolum > summary span { font-weight: 700; color: var(--yesil-koyu); }
.mz-bolum > summary small { min-width: 0; color: var(--gri); font-size: 0.82rem; overflow-wrap: anywhere; }
.mz-bolum-ic { display: grid; gap: 10px; min-width: 0; padding: 0 14px 14px; }
.mz-bolum-ic .oz-huni, .mz-bolum-ic .oz-alt-baslik { margin: 0; }
.mz-tablo { display: grid; gap: 6px; min-width: 0; }
.mz-tablo-sat { display: grid; grid-template-columns: minmax(96px, 1.4fr) repeat(7, minmax(0, 1fr)); align-items: center; gap: 4px 8px; min-width: 0; min-height: 52px; padding: 8px 10px; text-align: left; background: var(--kagit); border: 1px solid transparent; border-radius: var(--r-kucuk); color: var(--murekkep); }
.mz-tablo-sat:hover { border-color: var(--altin); }
.mz-tablo-sat[aria-pressed="true"] { background: #fff; border-color: var(--yesil); box-shadow: inset 3px 0 0 var(--yesil); }
.mz-tablo-ad { min-width: 0; font-size: 0.95rem; overflow-wrap: anywhere; }
.mz-hucre { display: grid; justify-items: center; min-width: 0; text-align: center; }
.mz-hucre b { font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.mz-hucre small { font-size: 0.68rem; line-height: 1.2; color: var(--gri); overflow-wrap: anywhere; }
.mz-hucre.mz-kirmizi b { color: var(--satildi); }
.mz-akis { list-style: none; display: grid; gap: 2px; min-width: 0; margin: 0; padding: 0; }
.mz-akis-sat { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 2px 10px; width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; text-align: left; background: transparent; border: 0; border-radius: var(--r-kucuk); color: var(--murekkep); }
button.mz-akis-sat:hover { background: var(--kagit); }
.mz-akis-sat time { font-size: 0.88rem; font-weight: 700; color: var(--yesil-koyu); font-variant-numeric: tabular-nums; }
.mz-akis-ne { min-width: 0; font-size: 0.9rem; overflow-wrap: anywhere; }
.mz-akis-sat small { grid-column: 2; min-width: 0; color: var(--gri); font-size: 0.82rem; overflow-wrap: anywhere; }
.mz-rozet { display: inline-flex; align-items: center; padding: 1px 8px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--gri); font-size: 0.72rem; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.mz-rozet.mz-lg { border-color: color-mix(in srgb, var(--musait) 45%, #fff); color: var(--musait); }
.mz-rozet.mz-lg-yok { border-style: dashed; color: var(--gri-acik); }
.mz-rozet.mz-kapi { border-color: #f1d9a6; background: #fff7e6; color: #6b4b0c; }
.mz-rozet.mz-ik { color: var(--yesil-orta); }
.mz-rozet.mz-ik-yok { border-color: #f1d9a6; color: #9a6a10; }
.mz-rozet.mz-bekle { border-color: var(--opsiyon); color: #a8660a; }
.mz-rozet.mz-uyari { border-color: var(--satildi); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); color: var(--satildi); }
.mz-ciftler { display: grid; gap: 10px; min-width: 0; }
.mz-cift { display: grid; gap: 6px; min-width: 0; padding: 10px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.mz-cift h4 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
/* Faz 1C (PLAN §5.1): satır = kalacak kartı seç (●) + "Kartı aç" + öbür kartlarda "Birleştir"; onay çekmecesi crm-pano.js birlestirAc. */
.mz-cift-liste { display: grid; gap: 6px; min-width: 0; }
.mz-cift-kart { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; min-width: 0; padding: 2px 10px 2px 0; background: var(--kagit); border: 1px solid transparent; border-radius: var(--r-kucuk); color: var(--murekkep); }
.mz-cift-kart:hover { border-color: var(--altin); }
.mz-cift-kart.mz-cift-hedef { border-color: var(--yesil); background: var(--yesil-acik); }
.mz-cift-sec { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; min-width: 0; min-height: 44px; padding: 6px 4px 6px 10px; text-align: left; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; }
.mz-cift-kart i { font-style: normal; color: var(--gri); }
.mz-cift-kart.mz-cift-oneri i { color: var(--altin-koyu); }
.mz-cift-kart.mz-cift-hedef i { color: var(--yesil); }
.mz-cift-kart span { min-width: 0; font-size: 0.88rem; overflow-wrap: anywhere; }
.mz-cift-kart small { color: var(--yesil); font-size: 0.76rem; font-weight: 700; }
.mz-cift-kart small.mz-cift-not { color: var(--altin-koyu); }
.mz-cift-eylem { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 14px; min-width: 0; }
.mz-cift-eylem .baglanti { display: inline-flex; align-items: center; min-height: 36px; font-size: 0.86rem; }
/* Birleştir çekmecesi: Kalır / Silinir satırları, taşınacak sayılar, Leadgen uyarısı (§8 risk 1). */
.crm-ck-bg { display: grid; gap: 8px; }
.crm-ck-bg-sat { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 2px 10px; min-height: 48px; padding: 8px 14px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fff; }
.crm-ck-bg-sat span:last-child { min-width: 0; overflow-wrap: anywhere; }
.crm-ck-bg-sat.kalir { border-color: var(--yesil); background: var(--yesil-acik); color: var(--yesil-koyu); }
.crm-ck-bg-sat.gider { border-style: dashed; color: var(--gri); }
.crm-ck-bg-et { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.crm-ck-sayilar { display: flex; flex-wrap: wrap; gap: 6px; }
.crm-ck-say { padding: 6px 10px; border-radius: 999px; background: var(--kagit); border: 1px solid var(--cizgi); font-size: 0.86rem; }
.crm-ck-say.sifir { color: var(--gri-acik); }
.crm-ck-uyari { margin: 0; padding: 10px 12px; border: 1px solid var(--opsiyon); border-radius: var(--r-kucuk); background: color-mix(in srgb, var(--opsiyon) 10%, #fff); color: #7a4b00; font-size: 0.9rem; font-weight: 600; }
.kp-zaman .kp-onay { color: var(--yesil-orta); font-weight: 600; }
/* Hızlı düzeltmeler (Sercan 2026-10-31 gece): gün okları arasındaki tarih (üstünde saydam tarih alanı: dokununca takvim), Ne yaptılar satırları
   (danışman → işlem sayıları → müşteriler), sayfanın en altındaki Bugün ne oldu ve Tümünü göster. */
.mz-donem-cip[disabled] { opacity: 0.4; cursor: default; }
.mz-tarih { position: relative; display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 10px; border-radius: 99px; cursor: pointer; }
.mz-tarih:hover { background: var(--kagit); }
.mz-tarih:focus-within { outline: 2px solid var(--altin); outline-offset: 1px; }
.mz-tarih i { font-style: normal; font-size: 0.8rem; color: var(--gri); }
.mz-tarih input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; font-size: 16px; }
.mz-ekipler { display: grid; gap: 6px; min-width: 0; }
.mz-ekip { min-width: 0; background: var(--kagit); border: 1px solid transparent; border-radius: var(--r-kucuk); }
.mz-ekip[open] { background: #fff; border-color: var(--cizgi); }
.mz-ekip > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-height: 48px; padding: 8px 10px; cursor: pointer; list-style: none; }
.mz-ekip > summary::-webkit-details-marker { display: none; }
.mz-ekip > summary::before { content: "▸"; color: var(--gri); }
.mz-ekip[open] > summary::before { content: "▾"; }
.mz-ekip > summary > b, .mz-ekip-bos > b { min-width: 0; font-size: 0.95rem; overflow-wrap: anywhere; }
.mz-ekip > summary > small, .mz-ekip-bos > small { margin-left: auto; color: var(--gri); font-size: 0.8rem; white-space: nowrap; }
.mz-ekip-bos { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px 8px 26px; color: var(--gri); }
.mz-ekip-say { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.mz-ekip-cip { display: inline-flex; align-items: center; gap: 3px; padding: 1px 8px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--murekkep); font-size: 0.78rem; line-height: 1.6; white-space: nowrap; }
.mz-ekip-cip b { font-variant-numeric: tabular-nums; }
.mz-ekip-cip.mz-ekip-satis { border-color: var(--yesil); color: var(--yesil-koyu); }
.mz-ekip-liste { display: grid; gap: 2px; min-width: 0; padding: 0 8px 8px; }
.mz-ekip-mus { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 10px; width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; text-align: left; background: transparent; border: 0; border-radius: var(--r-kucuk); color: var(--murekkep); }
.mz-ekip-mus:hover { background: var(--kagit); }
.mz-ekip-mus b { min-width: 0; font-size: 0.9rem; overflow-wrap: anywhere; }
.mz-ekip-mus small { color: var(--gri); font-size: 0.8rem; white-space: nowrap; }
.mz-akis-bolum { margin-top: 4px; }
.mz-akis-tum { justify-self: start; }
@media (max-width: 1023px) {
  .mz-sayilar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .mz-sayi { min-height: 62px; padding: 8px; }
  .mz-sayi b { font-size: 1.3rem; }
  .mz-sayi span { font-size: 0.72rem; }
  .mz-tablo-sat { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mz-tablo-ad { grid-column: 1 / -1; }
  .mz-cift-kart { grid-template-columns: minmax(0, 1fr); padding: 2px 10px 8px 0; }
  .mz-cift-sec { grid-template-columns: 18px minmax(0, 1fr); }
  .mz-cift-sec small { grid-column: 2; }
  .mz-cift-eylem { justify-content: flex-start; padding-left: 36px; }
  .mz-ekip-mus { grid-template-columns: minmax(0, 1fr); }
  .mz-ekip-mus small { white-space: normal; }
}

/* ---- İlk kaynak (Sercan 2026-10-31: "Satış kanalı takibi zorunlu olsun, ilk kaynak önemli"; public/js/ilk-kaynak.js) ---- */
/* Satışta sorulan tek soru: açık pencerenin üstünde ayrı katman (altındaki satış formu bozulmaz). */
.ik-sor { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 16px; background: rgba(8, 24, 19, 0.55); backdrop-filter: blur(2px); overflow-y: auto; }
.ik-sor-kutu { width: min(480px, 100%); background: var(--kagit); border-radius: var(--r); box-shadow: var(--golge-buyuk); padding: 20px 22px; animation: belir 0.2s ease-out; }
.ik-sor-kutu h3 { margin: 0 0 6px; font-size: 1.15rem; color: var(--yesil-koyu); }
.ik-sor-kutu .dipnot { margin: 0 0 14px; }
.ik-cipler { display: flex; flex-wrap: wrap; gap: 8px; }
.ik-cipler .secenek, .kp-ilkk .secenek, .mus-gelis .secenek { min-height: 44px; padding: 10px 16px; font-size: 0.95rem; }
.ik-sor-kutu .dugmeler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ik-sor-kutu .dugme[disabled] { opacity: 0.5; cursor: not-allowed; }
/* Kart penceresi: boşsa tek soru, doluysa ayrıntı satırı; Sercan/Oğulcan "Düzelt". */
.kp-ilkk { display: grid; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid #f1d9a6; border-radius: var(--r-kucuk); background: #fff7e6; }
.kp-ilkk.duzelt { border-color: var(--cizgi); background: #fff; }
.kp-ilkk p { margin: 0; display: grid; gap: 2px; }
.kp-ilkk p b { color: #6b4b0c; }
.kp-ilkk.duzelt p b { color: var(--yesil-koyu); }
.kp-ilkk p span { color: var(--gri); font-size: 0.84rem; }
.kp-ilkk .secenekler { display: flex; flex-wrap: wrap; gap: 8px; }
.kp-ilkk-alt { margin: -4px 0 0; color: var(--gri); font-size: 0.84rem; overflow-wrap: anywhere; }
.kp-ilkk-bos { color: #9a6a10; font-weight: 700; }
.kp-meta .kp-ilkk-duzelt { display: inline; min-height: 0; margin-left: 6px; font-size: 0.82rem; }
/* Pano kutusu ve liste: ilk kaynak yoksa sade uyarı. */
.crm-ik-yok, .mus-kaynak-y.ik-yok { color: #9a6a10; font-weight: 600; }
.oz-cip.ik-bos { border-color: #f1d9a6; background: #fff7e6; color: #6b4b0c; }
.mus-gelis .alan-baslik small { color: var(--gri); font-weight: 500; }
/* Tek akış v3 · Faz 1 (PLAN-tek-akis-v3 §3.3, §3.4): Ön karşılama "❗ Danışman girdi, sizin kaydınız yok" kutusu, takvimde teklif son günü,
   kütüphanesiz grafikler (public/js/grafik.js). 375 px: satır tek sütun, düğmeler alt alta ve tam genişlik; yatay taşma yok (min-width: 0). */
.kar-eksik { margin: 0 0 22px; border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); background: color-mix(in srgb, var(--kirmizi) 5%, #fff); }
.kar-eksik h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; font-family: var(--sans); font-size: 1.02rem; font-weight: 700; }
.kar-eksik h3 span { min-width: 24px; padding: 1px 8px; border-radius: 99px; background: var(--satildi); color: #fff; font-size: 0.8rem; text-align: center; }
.kar-eksik > .dipnot { margin-bottom: 10px; }
.kar-eksik-liste { display: flex; flex-direction: column; gap: 8px; }
.kar-eksik-satir { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; min-width: 0; padding: 10px 12px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.kar-eksik-satir.gec { border-color: color-mix(in srgb, var(--kirmizi) 55%, transparent); }
.kar-eksik-bilgi { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; flex: 1 1 260px; min-width: 0; }
.kar-eksik-bilgi b { overflow-wrap: anywhere; }
.kar-eksik-bilgi > span:not(.hap) { color: var(--gri); font-size: 0.9rem; overflow-wrap: anywhere; }
.kar-eksik-soru { flex: 1 1 100%; min-width: 0; margin: 0; }
/* Kartta ilk kaynak yazılıysa küçük not (2026-11-01): Kaydı tamamla satırında tam satır, formda "Bizi ilk nereden duydu?" altında. */
.kar-eksik-satir > .kar-ik-not { flex: 1 1 100%; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.kar-form .alan > .kar-ik-not:not([hidden]) { display: block; margin-top: 6px; overflow-wrap: anywhere; }
.kar-eksik-eylem { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 560px) {
  .kar-eksik-eylem { flex-direction: column; align-items: stretch; width: 100%; }
  .kar-eksik-eylem .dugme { width: 100%; min-height: 44px; }
}
.tkv-olay.teklif { border-style: dotted; border-left-style: solid; background: #f7f9fd; }
/* Grafikler: renkler sırayla (pasta dilimleri, çubuklar); iz = boş zemin. */
:root { --gr-1: #1f9d6a; --gr-2: #3b6fb6; --gr-3: #e0a126; --gr-4: #c0533f; --gr-5: #7a4fa0; --gr-6: #2a8f99; --gr-7: #9c7a37; --gr-8: #a3aca7; }
.gr { display: block; max-width: 100%; }
.gr .gr-iz { fill: none; stroke: color-mix(in srgb, var(--murekkep) 10%, transparent); }
.gr-pasta .gr-iz, .gr-cubuk .gr-iz { fill: color-mix(in srgb, var(--murekkep) 8%, transparent); stroke: none; }
.gr-orta { font: 700 9px var(--sans); fill: var(--murekkep); }
.gr-cubuk { width: 100%; height: auto; }
.gr-yazi { font: 500 11px var(--sans); fill: var(--gri); }
.gr-sayi { font: 700 11px var(--sans); fill: var(--murekkep); font-variant-numeric: tabular-nums; }
.gr-lejant { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: 0.86rem; }
.gr-lejant li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; min-width: 0; }
.gr-lejant i { width: 10px; height: 10px; border-radius: 3px; }
.gr-lejant span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gr-lejant small { color: var(--gri); min-width: 36px; text-align: right; }

/* === TEK-AKIS-FAZ2 (2026-10-31 gece, PLAN-tek-akis-v3 §3.1, §3.2, §7, §8) ===
   Danışmanın tek ekranı: üstte Bekleyen cevaplar, ortada pano, altında takvim bölümü. Kart penceresinde tek ana eylem "Ne oldu?", bekleyen cevap satırı,
   "Ben yokken devret" ve Satış sonrası. 375/768/1280 px'te yatay taşma yok: satırlar flex-wrap, çekmece altı yapışık. */
.crm-cevap { margin: 0 0 14px; padding: 12px 14px; background: #fffdf7; border: 1px solid var(--altin-acik); border-radius: var(--r); }
.crm-cevap.gec { border-color: color-mix(in srgb, var(--kirmizi) 40%, transparent); background: color-mix(in srgb, var(--kirmizi) 4%, #fff); }
.crm-cevap h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.crm-cevap-liste { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.crm-cevap-sat { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; min-height: 48px; padding: 8px 10px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
.crm-cevap-sat.gec { border-color: color-mix(in srgb, var(--kirmizi) 45%, transparent); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.crm-cevap-ik { flex: none; font-size: 1.1rem; }
.crm-cevap-metin { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; }
.crm-cevap-metin b { overflow-wrap: anywhere; }
.crm-cevap-metin small { color: var(--gri); font-size: 0.84rem; overflow-wrap: anywhere; }
.crm-cevap-sat.gec .crm-cevap-metin small { color: var(--kirmizi-koyu); }
.crm-cevap-eylem { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.crm-cevap-eylem .dugme { min-height: 40px; white-space: normal; }
.crm-cevap-daha { display: inline-flex; align-items: center; min-height: 44px; margin-top: 2px; }
.crm-cevap-bos { margin: 0 0 12px; color: var(--musait); font-weight: 600; font-size: 0.9rem; }
@media (max-width: 639px) {
  .crm-cevap-eylem { flex: 1 1 100%; margin-left: 0; }
  .crm-cevap-eylem .dugme { flex: 1 1 0; min-height: 44px; }
}

/* sayfa altındaki takvim bölümü (telefonda kapalı başlar) */
.crm-takvim-yer { margin-top: 18px; }
.crm-takvim { border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.crm-takvim > summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; cursor: pointer; list-style: none; color: var(--yesil-koyu); font-weight: 700; }
.crm-takvim > summary::-webkit-details-marker { display: none; }
.crm-takvim > summary > span { flex: 1 1 auto; min-width: 0; }
.crm-takvim > summary small { margin-left: 8px; color: var(--gri); font-weight: 500; }
.crm-takvim > summary::after { content: "▸"; flex: none; color: var(--gri); transition: transform 0.15s; }
.crm-takvim[open] > summary::after { transform: rotate(90deg); }
.crm-takvim .mus-say { margin: 0; }
.crm-takvim-ic { padding: 4px 14px 16px; overflow-x: clip; }
.crm-takvim-ic .tkv-arac { margin-top: 0; }

/* kart penceresi: tek ana eylem (Ne oldu?), bekleyen cevap satırı, Ben yokken devret */
.kp-hizli.sonuclu { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kp-hizli.sonuclu .kp-h-ana { grid-column: 1 / -1; flex-direction: row; gap: 10px; min-height: 58px; border-color: var(--altin); background: var(--altin); color: var(--yesil-koyu); font-size: 1.05rem; }
.kp-hizli.sonuclu .kp-h-ana i { font-size: 1.3rem; }
.kp-hizli.sonuclu .kp-h-ana:hover { background: var(--altin-koyu); color: #fff; }
/* tek ana eylem: kartta en belirgin düğme "Ne oldu?"; Sıradaki adım kutusunun düğmesi (yolculuk önerisi) çizgili kalır */
.kp .mus-sira .dugme.kp-ana-ic { background: #fff; color: var(--yesil); border: 1.5px solid var(--yesil); }
.kp .mus-sira .dugme.kp-ana-ic:hover { background: var(--yesil-acik); }
.kp-bekle { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--kirmizi) 40%, transparent); border-radius: var(--r-kucuk); background: color-mix(in srgb, var(--kirmizi) 6%, #fff); }
.kp-bekle p { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 2px; margin: 0; }
.kp-bekle p b { color: var(--kirmizi-koyu); }
.kp-bekle p span { color: var(--murekkep); font-size: 0.9rem; overflow-wrap: anywhere; }
.kp-bekle .dugme { flex: none; min-height: 44px; }
.kp-devret { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 4px; }
.kp-devret .dugme { min-height: 48px; }
.kp-devret small { color: var(--gri); }

/* Ne oldu? çekmecesi: bağlam satırı, "Ulaşamadım" bağlantısı, altta yapışık Kaydet */
.crm-ck-baglam { margin: 0; padding: 10px 14px; border-radius: var(--r-kucuk); background: #fffdf7; border: 1px solid var(--altin-acik); color: var(--yesil-koyu); font-size: 0.9rem; overflow-wrap: anywhere; }
.crm-ck-bag { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.92rem; }
.crm-ck-buyuk .secenek { min-height: 54px; padding: 12px 18px; font-size: 1rem; font-weight: 600; }
.crm-ck-ne { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; color: var(--gri); }
.crm-ck-ne b { color: var(--yesil-koyu); }
.crm-ck-ne .baglanti, .crm-ck-secili .baglanti { display: inline-flex; align-items: center; min-height: 40px; }
.crm-ck-yapisik { position: sticky; bottom: 0; z-index: 1; margin: 0 -18px; padding: 10px 18px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--kagit); border-top: 1px solid var(--cizgi); }
.crm-ck-liste .crm-ck-satir.secili { border-color: var(--yesil); background: var(--yesil-acik); }

/* Satış sonrası (kapanış kutuları, vazgeçme süresi, ödeme durumu, bağlantılar; TL yok) */
.kp-kapanis { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0 0 10px; padding: 0; list-style: none; }
.kp-kapanis li { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 12px; border: 1px solid var(--cizgi); border-radius: 99px; background: var(--krem); color: var(--gri); font-size: 0.9rem; }
.kp-kapanis li.tamam { border-color: var(--musait); background: var(--yesil-acik); color: var(--yesil-koyu); font-weight: 600; }
.kp-kapanis i { font-style: normal; font-weight: 800; }
.kp-ss-sat { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0 0 8px; padding: 8px 12px; border-radius: var(--r-kucuk); background: var(--krem); }
.kp-ss-sat span { color: var(--gri); }
.kp-ss-bag { display: flex; flex-wrap: wrap; gap: 0 18px; }

/* danışman Bugün: Bekleyen cevaplarınız bağlantısı */
.bg-cevap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--altin); border-radius: var(--r); background: #fffdf7; color: var(--yesil-koyu); text-decoration: none; }
.bg-cevap:hover { border-color: var(--altin-koyu); }
.bg-cevap span { color: var(--yesil); font-weight: 600; }
/* === TEK-AKIS-FAZ2-SON === */
/* === TEK-AKIS-FAZ4 (2026-11-01, PLAN-tek-akis-v3 §3.4, K3, K8, K9, K10) ===
   Müşteri merkezi: ilk bakışta üç şey (bugün ne geldi · ekip ne yaptı · neye dikkat). Danışman kartları (halka + 4 sayı + dikkat cümlesi), ekip
   pastaları (ilk kaynak), "Eksik giriş" alt yazısı, dış destek teklifleri, ✅ Satış satırında 5 kapanış kutusu; Primler "Ödenebilir" rozeti;
   Tahsilat geciken satırında sistem görevi. 375/768/1280 px'te yatay taşma yok: ızgaralar minmax(0, …), telefonda kartlar tek sütun, pastalar alt alta. */
:root { --gr-9: #5d6f8f; }
.mz-sayi small { font-size: 0.72rem; line-height: 1.2; color: var(--satildi); font-weight: 700; overflow-wrap: anywhere; }
.mz-sayi.mz-sifir small { color: var(--gri); font-weight: 600; }
.mz-sayi[aria-pressed="true"] small { color: #fff; }
.mz-baslik { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 4px 0 8px; font-family: var(--sans); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.mz-baslik small { letter-spacing: 0; text-transform: none; font-weight: 500; font-size: 0.82rem; }
.mz-ekip-kartlar { min-width: 0; }
.mz-kisiler { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; min-width: 0; }
.mz-kisi { display: grid; gap: 8px; min-width: 0; padding: 12px 14px; text-align: left; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); color: var(--murekkep); font: inherit; cursor: pointer; transition: box-shadow 0.15s, border-color 0.15s; }
.mz-kisi:hover { border-color: var(--altin); box-shadow: var(--golge); }
.mz-kisi[aria-pressed="true"] { border-color: var(--yesil); box-shadow: inset 0 0 0 1px var(--yesil); }
.mz-kisi-bas { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.mz-kisi-bas > b { min-width: 0; font-size: 1.08rem; overflow-wrap: anywhere; color: var(--yesil-koyu); }
.mz-kisi-halka { display: grid; justify-items: center; gap: 0; flex: none; }
.mz-kisi-halka small { font-size: 0.66rem; color: var(--gri); }
.mz-kisi-say { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; min-width: 0; }
.mz-kisi-say > span { display: grid; justify-items: center; min-width: 0; padding: 6px 2px; border-radius: var(--r-kucuk); background: var(--kagit); text-align: center; }
.mz-kisi-say b { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.mz-kisi-say small { font-size: 0.7rem; line-height: 1.2; color: var(--gri); overflow-wrap: anywhere; }
.mz-kisi-say .mz-kisi-satis { background: var(--yesil-acik); }
.mz-kisi-say .mz-kisi-satis b { color: var(--yesil-koyu); }
.mz-kisi-not { min-width: 0; font-size: 0.86rem; font-weight: 600; color: var(--musait); overflow-wrap: anywhere; }
.mz-kisi.mz-kisi-dikkat .mz-kisi-not { color: var(--satildi); }
.mz-sakin { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin: 8px 0 0; color: var(--gri); font-size: 0.86rem; }
.mz-sakin .baglanti { display: inline-flex; align-items: center; min-height: 40px; font-size: 0.9rem; }
.mz-kisi .gr-yay { animation: mz-yay 0.9s ease-out both; }
@keyframes mz-yay { from { stroke-dasharray: 0 100; } }
.mz-pastalar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; margin: 10px 0 0; }
.mz-pasta { min-width: 0; margin: 0; padding: 12px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); }
.mz-pasta figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.mz-pasta figcaption b { min-width: 0; color: var(--yesil-koyu); overflow-wrap: anywhere; }
.mz-pasta figcaption small { color: var(--gri); font-variant-numeric: tabular-nums; }
.mz-pasta-ic { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 14px; min-width: 0; }
.mz-pasta-ic .gr-lejant { margin: 0; }
.mz-pasta .gr-pasta { animation: mz-don 0.7s ease-out both; transform-origin: 50% 50%; }
@keyframes mz-don { from { transform: rotate(-120deg) scale(0.7); opacity: 0; } }
.mz-pasta .mz-bos { margin: 0; }
.mz-kutular { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 4px; min-width: 0; }
.mz-kutu { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border: 1px solid var(--cizgi); border-radius: 99px; background: var(--krem); color: var(--gri); font-size: 0.72rem; font-weight: 700; line-height: 1.6; }
.mz-kutu i { font-style: normal; }
.mz-kutu.tamam { border-color: var(--musait); background: var(--yesil-acik); color: var(--yesil-koyu); }
.mz-kutu.mz-kapandi { border-color: var(--yesil); background: var(--yesil); color: #fff; }
.mz-vazgecme { display: block; margin-top: 2px; color: var(--gri); font-size: 0.78rem; }
.mz-tkler { list-style: none; display: grid; gap: 4px; min-width: 0; margin: 0; padding: 0; }
.mz-tk-sat { display: grid; gap: 2px; min-width: 0; min-height: 48px; padding: 8px 10px; border-radius: var(--r-kucuk); background: var(--kagit); color: var(--murekkep); text-decoration: none; }
.mz-tk-sat:hover { background: #fff; box-shadow: inset 0 0 0 1px var(--altin); }
.mz-tk-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; min-width: 0; }
.mz-tk-ust b { min-width: 0; overflow-wrap: anywhere; }
.mz-tk-alt { min-width: 0; color: var(--gri); font-size: 0.84rem; overflow-wrap: anywhere; }
.mz-tk-alt em { font-style: normal; color: var(--yesil); font-weight: 600; }
.tk-suz { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 14px; margin: 10px 0 4px; min-width: 0; }
.tk-suz .alan { min-width: 0; max-width: 100%; }
.tk-suz select { max-width: 100%; }
.pl-rozet-not { margin: -4px 0 10px; }
.th-gorev { color: var(--yesil-koyu); font-weight: 600; }
.th-gorev.tamam { color: var(--musait); }
@media (max-width: 639px) {
  .mz-kisiler { grid-template-columns: minmax(0, 1fr); }
  .mz-pastalar { grid-template-columns: minmax(0, 1fr); }
  .mz-pasta-ic { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  .mz-pasta-ic .gr-pasta { width: 96px; height: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .mz-kisi .gr-yay, .mz-pasta .gr-pasta { animation: none; }
}
/* === TEK-AKIS-FAZ4-SON === */

/* === KART-V4 (Sercan 2026-11-01: "ekranı ince kare gibi değil, kullanışlı hale getir"; PLAN-musteri-karti-v4) ===
   Müşteri kartı geniş ekranda neredeyse tam sayfa, üç sütun: solda müşteri bilgileri ve teklifler, ortada Kim ne yaptı + son not + geçmiş,
   sağda yapılacak iş. Sütunlar ayrı kayar. 641–1099 px iki sütun (pencere kayar); 640 px ve altı tek sütun, sıra: acil → kim ne yaptı →
   sıradaki adım → bilgiler → teklifler → geçmiş → Leadgen. */
.pencere-arka:has(.kp4-pencere) { padding: 12px; }
.pencere.kp4-pencere { width: min(1400px, 100%); height: calc(100svh - 24px); max-height: none; display: flex; flex-direction: column; overflow: hidden; }
.kp4-bas { flex: none; display: flex; align-items: flex-start; gap: 12px; padding: 14px 22px; border-bottom: 1px solid var(--cizgi); }
.kp4-kim { flex: 1 1 auto; min-width: 0; }
.kp4-bas h2 { margin: 0 0 6px; font-size: 1.7rem; line-height: 1.15; overflow-wrap: anywhere; }
.kp4-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0; font-size: 0.95rem; color: rgba(255, 255, 255, 0.72); }
.kp4-meta b { color: #fff; }
.kp4-tel { font-weight: 700; color: var(--altin-acik); text-decoration: none; white-space: nowrap; }
.kp4-tel:hover { text-decoration: underline; }
.kp4-ulas, .crm-ulas { display: inline-block; padding: 2px 10px; border-radius: 99px; background: #fff7e6; border: 1px solid #f1d9a6; color: #6b4b0c; font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.kp4-ulas.son, .crm-ulas.son { background: color-mix(in srgb, var(--kirmizi) 8%, #fff); border-color: var(--kirmizi); color: var(--kirmizi-koyu); }
.crm-ulas { justify-self: start; font-size: 0.74rem; padding: 1px 8px; }
.kp.kp4 { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 310px minmax(0, 1fr) 370px; gap: 0; padding: 0; background: var(--kagit); }
.kp4-sol, .kp4-orta, .kp4-sag { min-width: 0; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding: 18px 18px 28px; }
.kp4-sol { background: var(--krem); border-right: 1px solid var(--cizgi); }
.kp4-sag { border-left: 1px solid var(--cizgi); background: #fff; }
.kp4-sol > *, .kp4-orta > *, .kp4-sag > * { margin: 0; }
.kp4-acil { display: flex; flex-direction: column; gap: 10px; }
.kp4-acil:empty { display: none; }
.kp4-kutu { padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.kp4-kutu-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; margin-bottom: 10px; }
.kp4-kutu-bas h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--sans); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gri); }
.kp4-kutu-bas h3 .mus-say { margin: 0; }
.kp4-kutu-bas .baglanti { min-height: 32px; font-size: 0.88rem; }
/* bilgiler */
.kp4-bilgiler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kp4-bilgiler li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--cizgi); }
.kp4-bilgiler li:last-child { border-bottom: 0; }
.kp4-bilgiler i { flex: none; width: 22px; font-style: normal; text-align: center; line-height: 1.5; }
.kp4-bilgiler span { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; font-size: 0.94rem; line-height: 1.35; overflow-wrap: anywhere; }
.kp4-bilgiler small { color: var(--gri); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; }
.kp4-bilgiler a { color: var(--yesil-koyu); font-weight: 600; text-decoration: none; }
.kp4-bilgiler a:hover { text-decoration: underline; }
.kp .kp4-ekle { min-height: 24px; padding: 0; color: var(--gri-acik); font-size: 0.88rem; font-weight: 500; }
.kp .kp4-ekle:hover { color: var(--yesil); }
.kp4-bos { color: var(--gri-acik); }
.kp4-bilgi .kp-ilkk, .kp4-bilgi .kp-ilkk-alt, .kp4-bilgi .kp-ilk { margin-top: 10px; }
form.kp4-bilgi { display: flex; flex-direction: column; gap: 10px; }
form.kp4-bilgi .kp4-kutu-bas { margin-bottom: 0; }
form.kp4-bilgi textarea { width: 100%; font: inherit; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); resize: vertical; }
form.kp4-bilgi .dugmeler { display: flex; gap: 8px; }
form.kp4-bilgi .dipnot { margin: 0; }
/* teklifler ve ilgi */
.kp4-ilgi { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.kp4-ilgi span { padding: 3px 10px; border-radius: 99px; background: var(--yesil-acik); color: var(--yesil-koyu); font-size: 0.84rem; font-weight: 600; }
.kp4-teklif .kp-tek-dugme { grid-template-columns: 1fr 1fr; }
.kp4-teklif .kp-tek-dugme .dugme { min-height: 46px; padding: 0 8px; font-size: 0.92rem; }
/* kim ne yaptı */
.kp4-balonlar { display: flex; align-items: stretch; gap: 6px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.kp4-balon { flex: 0 1 230px; min-width: 150px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 10px 12px; text-align: left; border: 1px solid var(--cizgi); border-radius: 16px; background: var(--krem); color: var(--murekkep); cursor: pointer; }
.kp4-balon:hover { border-color: var(--altin); }
.kp4-balon.son { background: #fff; border: 2px solid var(--yesil); }
.kp4-balon.secili { outline: 3px solid var(--altin); outline-offset: 1px; }
.kp4-balon b { font-size: 1.02rem; color: var(--yesil-koyu); }
.kp4-balon small { color: var(--gri); font-size: 0.76rem; }
.kp4-say { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 0.8rem; color: var(--gri); }
.kp4-balon-not { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; font-size: 0.86rem; line-height: 1.35; color: var(--murekkep); }
.kp4-ok { flex: none; align-self: center; font-style: normal; color: var(--gri-acik); }
.kp4-daha { flex: none; align-self: center; padding: 6px 10px; border: 1px dashed var(--cizgi); border-radius: 99px; background: #fff; color: var(--gri); font-size: 0.82rem; cursor: pointer; }
.kp4-ozet { display: flex; flex-direction: column; gap: 14px; }
.kp4-sonnot { padding: 12px 16px; border-left: 4px solid var(--altin); border-radius: 0; background: #fff; }
.kp4-sonnot small { color: var(--gri); font-size: 0.78rem; font-weight: 600; }
.kp4-sonnot p { margin: 4px 0 0; font-size: 1.02rem; line-height: 1.5; color: var(--murekkep); white-space: pre-line; overflow-wrap: anywhere; }
/* geçmiş */
.kp4-gecmis .kp-zaman { margin: 0; }
.kp4-gecmis .kp-zaman li.soluk { opacity: 0.62; }
.kp4-gecmis .kp-zaman li.soluk b { font-weight: 500; font-size: 0.9rem; }
[data-mus-suz] { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.kp4-suz { display: inline-flex; border: 1px solid var(--cizgi); border-radius: 99px; overflow: hidden; }
.kp4-suz button { min-height: 32px; padding: 0 12px; border: 0; background: #fff; color: var(--gri); font-size: 0.84rem; font-weight: 600; cursor: pointer; }
.kp4-suz button[aria-pressed="true"] { background: var(--yesil); color: #fff; }
.kp4-kisi { min-height: 32px; padding: 0 12px; border: 1px solid var(--altin); border-radius: 99px; background: #fff7e6; color: #6b4b0c; font-size: 0.84rem; font-weight: 600; cursor: pointer; }
/* sağ sütun: mevcut kutular dar genişliğe uyar */
.kp4-sag .mus-yolculuk { margin: 0; padding: 14px 10px 12px; }
.kp4-sag .mus-adimlar li { font-size: 0.7rem; }
.kp4 .kp-hizli { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kp4 .kp-hizli .kp-h-ana { grid-column: 1 / -1; }
.kp4-sag .mus-ipucu { margin: -6px 0 0; }
@media (max-width: 1099px) {
  .pencere.kp4-pencere { height: auto; max-height: calc(100svh - 24px); overflow-y: auto; display: block; }
  .kp.kp4 { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); grid-template-rows: auto 1fr; }
  .kp4-sol, .kp4-orta, .kp4-sag { overflow: visible; }
  .kp4-orta { grid-column: 1; grid-row: 1 / span 2; }
  .kp4-sag { grid-column: 2; grid-row: 1; }
  .kp4-sol { grid-column: 2; grid-row: 2; border-right: 0; border-left: 1px solid var(--cizgi); }
}
@media (max-width: 640px) {
  .pencere-arka:has(.kp4-pencere) { padding: 0; }
  .pencere.kp4-pencere { max-height: 100svh; height: 100svh; border-radius: 0; }
  .kp4-bas { position: sticky; top: 0; z-index: 4; padding: 12px 14px; }
  .kp4-bas h2 { font-size: 1.35rem; }
  .kp4-meta { font-size: 0.86rem; gap: 4px 12px; }
  .kp.kp4 { display: flex; flex-direction: column; gap: 12px; padding: 12px 12px 20px; }
  .kp4-sol, .kp4-orta, .kp4-sag { display: contents; }
  .kp4-acil { order: 1; }
  .kp4-ozet { order: 2; }
  .kp4-yol { order: 3; }
  .kp4 .kp-hizli { order: 4; }
  .kp4 .mus-ipucu { order: 5; }
  .kp4 .kp-sn { order: 6; }
  .kp4-bilgi { order: 7; }
  .kp4-teklif { order: 8; }
  .kp4-sonrasi { order: 9; }
  .kp4-gecmis { order: 10; }
  .kp4 .kp-bolumler { order: 11; }
  .kp4 .kp-devret, .kp4 .kp-sil, .kp4 .kp-sil-not { order: 12; }
  .kp4-balon { flex: 0 0 72%; min-width: 0; }
  .kp4-kutu { padding: 12px 14px; }
}
/* === KART-V4-SON === */

/* === IZIN-VEKIL (Sercan 2026-11-01, Müşteri kartı v4 Faz 2: "o gün izindeyim, görüşmeyi başka biri yapıyorsa kaydı sisteme girsin, ikimiz de görelim") ===
   Takvimde 🌴 izin satırı ve "İzin gir" bölmesi; vekilin takvimindeki "… yerine" olaylar; Sirius CRM üstünde vekalet şeridi; kart başlığında izin rozeti. */
.tkv-izin { margin: 0 0 6px; padding: 4px 8px; border-radius: 8px; background: #eaf6ef; color: #1d5a3c; font-size: 0.76rem; font-weight: 600; line-height: 1.3; }
.tkv-olay.vekil .tkv-ic small { color: #1d5a3c; font-weight: 600; }
.tkv-izin-ac { margin-left: auto; }
.tkv-izin-bolme { margin: 0 0 14px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: var(--r); background: #fff; }
.tkv-izin-bas { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.tkv-izin-bas h3 { margin: 0; font-size: 1.05rem; }
.tkv-izin-liste { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 6px; }
.tkv-izin-liste li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-radius: var(--r-kucuk); background: #eaf6ef; }
.tkv-izin-liste span { display: flex; flex-direction: column; min-width: 0; }
.tkv-izin-liste small { color: var(--gri); }
.tkv-izin-sil { color: var(--satildi); }
.tkv-izin-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 14px; align-items: end; }
.tkv-izin-form .tkv-izin-not, .tkv-izin-form .dipnot { grid-column: 1 / -1; }
.tkv-izin-form .dugmeler { display: flex; }
.tkv-izin-form .dipnot { margin: 0; }
.crm-vek { margin: 0 0 12px; padding: 12px 14px; border: 1px solid #b9dcc7; border-radius: var(--r); background: #f1f9f4; }
.crm-vek h3 { margin: 0 0 4px; font-size: 1rem; color: #1d5a3c; }
.crm-vek .dipnot { margin: 0 0 8px; }
.crm-vek ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.crm-vek-sat { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 180px; padding: 8px 12px; border: 1px solid #b9dcc7; border-radius: var(--r-kucuk); background: #fff; text-align: left; cursor: pointer; }
.crm-vek-sat:hover { border-color: var(--altin); }
.crm-vek-sat small { color: var(--gri); }
.kp4-izin { display: inline-block; padding: 2px 10px; border-radius: 99px; background: #eaf6ef; color: #1d5a3c; font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.kp4-vek-not { margin: 0 0 10px; }
@media (max-width: 640px) {
  .tkv-izin-ac { margin-left: 0; }
  .crm-vek-sat { min-width: 0; flex: 1 1 100%; }
}
/* === IZIN-VEKIL-SON === */

/* ---- Tek arayüz v4 Faz 1 (Sercan 2026-11-01 gece: "neden çok karışık yapıyorsun?"; PLAN-tek-arayuz-v4 §2): 4 bölüm · alt sekme · iç sekme ----
   Masaüstü/tablet: üst çubuğun hemen altında ikinci satır (bölüm sekmeleri), sayfanın üstünde alt sekmeler (alt çizgili) ve iç sekmeler (çip).
   Telefon (≤ 640 px): bölümler altta sabit 4 simgeli çubuk; alt ve iç sekmeler sayfanın üstünde yatay kayan çipler. --ust-yuk üst çubuk + bölüm satırıdır
   (yapışkan öğeler var(--ust-yuk) altında kalır); .ust kendi yüksekliğini ondan çıkarır. Sunumda yalnız Satış › Daireler (tek sekme, ikinci satır yok). */
body { --bolum-yuk: 46px; }
body.bolumlu { --ust-yuk: calc(68px + var(--bolum-yuk)); }
@media (max-width: 1000px) { body.bolumlu:not(.misafir) { --ust-yuk: calc(108px + var(--bolum-yuk)); } }
@media (max-width: 760px) { body.bolumlu { --ust-yuk: calc(108px + var(--bolum-yuk)); } }
body.bolumlu .ust { height: calc(var(--ust-yuk) - var(--bolum-yuk)); }
.bolum-bar { position: fixed; left: 0; right: 0; top: calc(var(--ust-yuk) - var(--bolum-yuk)); z-index: 39; height: var(--bolum-yuk); display: flex; justify-content: center; gap: 4px; padding: 0 max(16px, calc((100% - 1240px) / 2)); background: var(--yesil-koyu); border-bottom: 1px solid rgba(201, 164, 92, 0.28); box-shadow: 0 6px 18px rgba(11, 42, 33, 0.12); }
.bolum-bar a { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 112px; padding: 0 18px; color: rgba(255, 255, 255, 0.74); text-decoration: none; font-size: 0.95rem; font-weight: 600; letter-spacing: 0.01em; border-bottom: 3px solid transparent; transition: color 0.2s, background 0.2s; }
.bolum-bar a:hover { color: #fff; background: rgba(255, 255, 255, 0.05); }
.bolum-bar a.aktif { color: #fff; border-bottom-color: var(--altin); }
.bolum-bar i { font-style: normal; font-size: 1.05rem; line-height: 1; }
.bolum-bar .menu-rozet { margin-left: 0; }
.alt-bar { padding-top: 16px; }
.alt-bar:not([hidden]) ~ .sayfa .panel-sayfa { padding-top: 16px; }
.alt-sekmeler { display: flex; gap: 2px 22px; padding: 0 2px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--cizgi); -webkit-overflow-scrolling: touch; }
.alt-sekmeler a { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 46px; margin-bottom: -1px; border-bottom: 3px solid transparent; color: var(--gri); font-weight: 600; font-size: 0.95rem; text-decoration: none; white-space: nowrap; }
.alt-sekmeler a:hover { color: var(--yesil-koyu); }
.alt-sekmeler a.aktif { color: var(--yesil-koyu); border-bottom-color: var(--altin); }
.ic-sekmeler { display: flex; align-items: center; gap: 8px; padding: 12px 2px 2px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.alt-sekmeler::-webkit-scrollbar, .ic-sekmeler::-webkit-scrollbar { display: none; }
.ic-sekmeler a { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 99px; border: 1px solid var(--cizgi); background: #fff; color: var(--yesil); font-weight: 600; font-size: 0.9rem; text-decoration: none; white-space: nowrap; }
.ic-sekmeler a:hover { background: var(--yesil-acik); }
.ic-sekmeler a.aktif { background: var(--yesil-acik); border-color: var(--yesil); color: var(--yesil-koyu); box-shadow: inset 0 0 0 1px var(--yesil); } /* alt sekmenin koyu çipinden ayrışsın (üçüncü düzey) */
/* Düğme parçalar (Özel teklif, Özel sözleşme, Ortaklık): satırın sağında, altın çizgili */
.ic-sekmeler a.ic-dugme { border-color: rgba(201, 164, 92, 0.6); color: var(--altin-koyu); background: rgba(201, 164, 92, 0.08); }
.ic-sekmeler a.ic-dugme:not(.ic-dugme + .ic-dugme) { margin-left: auto; }
.ic-sekmeler a.ic-dugme.aktif { background: var(--altin); border-color: var(--altin); color: var(--yesil-koyu); }
body.bolumlu .bolum[id] { scroll-margin-top: var(--bolum-yuk); }
@media (max-width: 640px) {
  body { --bolum-yuk: 0px; }
  .bolum-bar { top: auto; bottom: 0; height: calc(62px + env(safe-area-inset-bottom, 0px)); padding: 0 0 env(safe-area-inset-bottom, 0px); gap: 0; border-bottom: 0; border-top: 1px solid rgba(201, 164, 92, 0.3); box-shadow: 0 -6px 18px rgba(11, 42, 33, 0.18); }
  .bolum-bar a { flex: 1 1 0; min-width: 0; flex-direction: column; gap: 3px; padding: 0 4px; font-size: 0.74rem; border-bottom: 0; border-top: 3px solid transparent; }
  .bolum-bar a.aktif { border-top-color: var(--altin); background: rgba(255, 255, 255, 0.04); }
  .bolum-bar i { font-size: 1.3rem; }
  .bolum-bar .menu-rozet { position: absolute; top: 5px; left: calc(50% + 8px); min-width: 18px; height: 18px; font-size: 0.66rem; padding: 0 5px; }
  body.bolumlu { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  body.bolumlu .bildirim { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body.bolumlu .takip-serit { bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  .alt-bar { padding-top: 12px; }
  .alt-sekmeler { gap: 8px; border-bottom: 0; }
  .alt-sekmeler a { min-height: 40px; margin: 0; padding: 0 16px; border: 1px solid var(--cizgi); border-radius: 99px; background: #fff; color: var(--yesil); font-size: 0.9rem; }
  .alt-sekmeler a.aktif { background: var(--yesil); border-color: var(--yesil); color: #fff; }
  .ic-sekmeler { padding-top: 8px; }
  .ic-sekmeler a { min-height: 36px; padding: 0 14px; font-size: 0.85rem; }
  .ic-sekmeler a.ic-dugme:not(.ic-dugme + .ic-dugme) { margin-left: 0; }
}
@media print { .bolum-bar, .alt-bar { display: none !important; } }
/* ---- Tek arayüz v4 Faz 2 (PLAN-tek-arayuz-v4 §3): sunum rayı ----
   Sunum modunda (müşteri ekranı) altta sabit şerit: müşterinin kısa adı · Konum · Daire içi · Yerleşim · Ödeme · Teklif · Sunumu bitir. Masaüstünde tek
   ince satır; telefonda (≤ 640 px) bölüm çubuğunun yerine iki satır (üstte ad ve Sunumu bitir, altta 5 simgeli adım). Sunumda bölüm çubuğu gizlidir
   (tek sekmesi kalıyordu; ray onun yerine). Sayfa çekmece ve pencerelerin altında kalır (z-index 40 < 50). Yazdırılmaz. app.js rayCiz. */
body.sunum { --bolum-yuk: 0px; }
body.sunum .bolum-bar { display: none !important; }
.sunum-ray { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 7px max(16px, calc((100% - 1240px) / 2)) calc(7px + env(safe-area-inset-bottom, 0px)); background: var(--yesil-koyu); color: #fff; border-top: 1px solid rgba(201, 164, 92, 0.35); box-shadow: 0 -6px 18px rgba(11, 42, 33, 0.18); }
.sunum-ray[hidden] { display: none; }
.ray-ad { flex: none; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; color: var(--altin-acik); }
.ray-adimlar { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; gap: 6px; }
.ray-adim { flex: none; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 15px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, 0.18); background: transparent; color: rgba(255, 255, 255, 0.82); font: inherit; font-size: 0.9rem; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.ray-adim i { font-style: normal; line-height: 1; }
.ray-adim:hover { background: rgba(255, 255, 255, 0.07); color: #fff; }
.ray-adim.aktif { background: var(--altin); border-color: var(--altin); color: var(--yesil-koyu); }
.ray-adim.tamam:not(.aktif) { border-color: var(--altin); color: var(--altin-acik); }
.ray-adim:focus-visible, .ray-bitir:focus-visible { outline: 2px solid var(--altin-acik); outline-offset: 2px; }
.ray-bitir { flex: none; min-height: 42px; padding: 0 18px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, 0.45); background: transparent; color: #fff; font: inherit; font-size: 0.88rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.ray-bitir:hover { background: rgba(255, 255, 255, 0.1); }
body.rayli { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
body.rayli .bildirim { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 1000px) and (min-width: 641px) {
  .sunum-ray { gap: 8px; }
  .ray-ad { max-width: 120px; }
  .ray-adimlar { gap: 4px; }
  .ray-adim { padding: 0 11px; gap: 5px; font-size: 0.84rem; }
}
@media (max-width: 640px) {
  .sunum-ray { flex-wrap: wrap; gap: 2px 8px; min-height: 0; padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px)); }
  .ray-ad { order: 1; flex: 1 1 auto; max-width: none; padding-left: 6px; font-size: 0.84rem; }
  .ray-bitir { order: 2; min-height: 32px; padding: 0 12px; font-size: 0.8rem; }
  .ray-adimlar { order: 3; flex: 1 0 100%; gap: 2px; }
  .ray-adim { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 2px; min-height: 50px; padding: 2px; border-color: transparent; border-radius: 12px; font-size: 0.7rem; }
  .ray-adim i { font-size: 1.2rem; }
  .ray-adim span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  body.rayli { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  body.rayli .bildirim { bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
}
@media print { .sunum-ray { display: none !important; } body.rayli { padding-bottom: 0; } }

/* ---- Tek arayüz v4 Faz 5: kartta teklif eylemleri, müşteriye özel kod, teklif penceresinde kart seçimi (PLAN-tek-arayuz-v4 §5) */
.kp-tek-kim { color: var(--gri); font-size: 0.8rem; }
.kp4-kod-kutu { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; }
.kp4-kod { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 9px 12px; border-radius: var(--r-kucuk); background: rgba(201, 164, 92, 0.16); border: 1px solid rgba(201, 164, 92, 0.55); color: var(--yesil-koyu); font-size: 0.9rem; font-weight: 600; overflow-wrap: anywhere; }
.kp4-kod small { color: var(--gri); font-weight: 500; font-size: 0.8rem; }
.kp4-kod.bitti { background: var(--krem); border-color: var(--cizgi); color: var(--gri); font-weight: 500; }
.kp4-kod-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.kp4-kod-form { display: flex; flex-direction: column; gap: 8px; margin: 0 0 12px; padding: 12px; border-radius: var(--r-kucuk); background: var(--krem); border: 1px solid rgba(201, 164, 92, 0.55); }
.kp4-kod-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.kp4-kod-form .alan { margin: 0; }
.kp4-kod-form .dipnot { margin: 0; }
.tk-karttan { display: inline-block; padding: 2px 9px; border-radius: 99px; background: var(--musait); color: #fff; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.02em; }
.tk-kilitli { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.tk-kilitli input:disabled { background: var(--yesil-acik); color: var(--yesil-koyu); opacity: 1; -webkit-text-fill-color: var(--yesil-koyu); }
.tk-kart-ara { display: flex; flex-direction: column; gap: 6px; }
.tk-kart-ara > label { font-size: 0.86rem; font-weight: 600; color: var(--gri); }
.tk-kart-sonuc { display: flex; flex-direction: column; gap: 6px; }
.tk-kart-sonuc:empty { display: none; }
.tk-kart-sonuc .dipnot { margin: 0; }
.tk-kart-sec { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 48px; padding: 8px 12px; border-radius: var(--r-kucuk); border: 1px solid var(--cizgi); background: #fff; text-align: left; cursor: pointer; font: inherit; color: var(--murekkep); }
.tk-kart-sec:hover, .tk-kart-sec:focus-visible { border-color: var(--altin); background: var(--kagit); }
.tk-kart-sec small { color: var(--gri); font-size: 0.8rem; }
.tk-ozel-kod { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 0 0 12px; padding: 10px 12px; border-radius: var(--r-kucuk); background: rgba(201, 164, 92, 0.16); border: 1px solid rgba(201, 164, 92, 0.55); color: var(--yesil-koyu); font-size: 0.92rem; }
.tk-ozel-kod.uygulandi { background: rgba(31, 157, 106, 0.1); border-color: rgba(31, 157, 106, 0.45); }
.tk-ozel-kod.bitti { background: var(--krem); border-color: var(--cizgi); color: var(--gri); display: block; }
@media (max-width: 560px) {
  .tk-kilitli { grid-template-columns: 1fr; }
  .tk-ozel-kod .dugme { width: 100%; }
}

/* ---- Faz 7 sadelik (Sercan 2026-11-02 "tamam hepsini uygula"; onizleme/2026-11-02-sadelik-denetimi.md §2): yer, sıra, katlama; işlev aynı ---- */
/* Öneri 1: iç satırı çizilmeyen alt sekmenin düğmeleri başlığın yanında, dolu renkte */
.bas-satir { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.bas-satir h1 { margin: 0; }
.bas-dugmeler { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.bas-dugmeler .dugme { min-height: 42px; }
/* Öneri 2: uzun kural paragrafı katlı */
.kural-kutu { margin: 0 0 18px; }
.kural-kutu > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; cursor: pointer; font-weight: 600; font-size: 0.9rem; color: var(--yesil); list-style: none; }
.kural-kutu > summary::-webkit-details-marker { display: none; }
.kural-kutu > summary span { font-size: 1.05rem; color: var(--altin-koyu); }
.kural-kutu[open] > summary { margin-bottom: 8px; }
.kural-kutu > .uyari { margin-bottom: 0; }
/* Öneri 3: Satışlarım'da üç sayı tek satır */
.satis-ozet-satir { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: -8px 0 22px; color: var(--gri); font-size: 0.95rem; }
.satis-ozet-satir b { color: var(--murekkep); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
/* Öneri 4: Primlerim'de prim bölümleri açık; Bugün'de Primlerim bağlantısı */
.bg-primlerim.acik { margin-top: 18px; }
.bg-prim-bag { margin-top: 14px; }
/* Öneri 7: Sirius CRM başlığındaki "?" küçük simge (başlık satırından ayrı) */
.nasil-soru.kucuk { width: 24px; height: 24px; margin-left: 8px; border-width: 1px; font-size: 0.8rem; letter-spacing: 0; }
/* Öneri 8: teklif penceresinde "Kartı olmayan müşteri" bağlantısı */
.tk-elle-bag { align-self: flex-start; font-size: 0.9rem; }
.tk-ygit { margin-top: -6px; }
/* Öneri 10: Nasıl kullanılır bölüm başlıkları */
.nasil-grup + .nasil-grup { margin-top: 26px; }
.nasil-grup-bas { display: flex; align-items: baseline; gap: 8px; margin: 0 0 12px; font-size: 0.82rem; font-family: var(--sans); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--altin-koyu); }
.nasil-grup-bas small { font-size: 0.78rem; letter-spacing: 0; color: var(--gri); font-weight: 600; }
/* Ek: telefonda alt sekmede kısa ad; masaüstünde tam ad */
.alt-sekmeler .ad-kisa { display: none; }
@media (max-width: 640px) {
  .alt-sekmeler { flex-wrap: wrap; overflow-x: visible; gap: 5px; }
  .alt-sekmeler a { min-height: 36px; padding: 0 9px; font-size: 0.78rem; gap: 4px; }
  .alt-sekmeler .menu-rozet { min-width: 17px; height: 17px; padding: 0 4px; font-size: 0.66rem; }
  .alt-sekmeler .ad-tam { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .alt-sekmeler .ad-kisa { display: inline; }
  .bas-dugmeler { width: 100%; }
  .bas-dugmeler .dugme { flex: 1 1 0; padding: 0 12px; }
  /* Ek: Ayarlar › Danışmanlar şifre tabloları telefonda kart */
  .tablo-kap:has(> .kart-tablo) { background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .kart-tablo, .kart-tablo tbody, .kart-tablo tr, .kart-tablo td { display: block; width: 100%; }
  .kart-tablo thead { display: none; }
  .kart-tablo tr { margin: 0 0 10px; padding: 10px 14px; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
  .kart-tablo td { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; padding: 5px 0; border: 0; white-space: normal; text-align: right; }
  .kart-tablo td::before { content: attr(data-et); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--gri); text-align: left; }
  .kart-tablo td:first-child { font-size: 1.05rem; white-space: normal; }
  .kart-tablo td:first-child::before, .kart-tablo td[data-et=""]::before { content: none; }
  .kart-tablo td[data-et=""] { justify-content: flex-start; padding-top: 8px; }
  .kart-tablo td:empty { display: none; }
}
/* Deneme ortamı şeridi (PLAN-marti-ilham-v5 §1; app.js denemeSeridi): yalnız nova-deneme'de, sunum modunda da */
.deneme-serit { position: sticky; top: 0; z-index: 1000; background: #FFD23F; color: #1B1920; text-align: center; }
.deneme-serit { font: 600 0.72rem/1.2 system-ui, sans-serif; letter-spacing: 0.04em; padding: 4px 12px; }
.deneme-serit[hidden] { display: none; }

/* ---------------------------------------------------------------- Nova v5 (PLAN-marti-ilham-v5 §0, 2026-11-02)
   B8 temiz müşteri ekranı (app.js temizMi, temiz.js): müşteri sayfalarında sunumdaki gibi iç bilgi gizli; ☰ Menü (sol üst) ve 👁 Ofis bilgisi (sağ üst). */
body.temiz .ofis-ozel, body.temiz .ofis-kim { display: none !important; }
body.temiz:not(.bolumlu) { --bolum-yuk: 0px; }
.temiz-menu, .goz-dugme { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 99px; background: transparent; color: #fff; font: 600 0.8rem/1 var(--sans); cursor: pointer; flex-shrink: 0; }
.temiz-menu[hidden], .goz-dugme[hidden] { display: none; }
.temiz-menu[aria-expanded="true"], .goz-dugme.acik { background: var(--altin); border-color: var(--altin); color: var(--yesil-koyu); }
.goz-sayac { font-size: 0.68rem; font-weight: 600; opacity: 0.8; }
@media (max-width: 640px) { .goz-yazi, .temiz-menu span + span { display: none; } .temiz-menu, .goz-dugme { padding: 0 10px; } }

/* B1–B3 Bugün v2 (public/js/bugun.js): kişi kartı + 3 halka, Hatırlatmalar ve randevular, altta üç sütun. */
.bg2-kisi { display: flex; align-items: center; gap: 14px; margin: 8px 0 16px; }
.bg2-avatar { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--yesil); color: var(--altin-acik); font: 700 1.05rem/1 var(--sans); flex-shrink: 0; }
.bg2-kim { flex: 1; min-width: 0; }
.bg2-kim h1 { font-size: 1.7rem; }
.bg2-kim p { margin: 2px 0 0; color: var(--gri); font-size: 0.9rem; }
.bg2-tarih { text-transform: capitalize; }
.bg2-ofis { flex-shrink: 0; font-size: 0.82rem; color: var(--gri); }
.bg2-ofis.tamam { color: var(--musait); font-weight: 600; }
.bg2-ust { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 16px; }
.bg2-uc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bg2-halka { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; color: inherit; text-decoration: none; }
.bg2-cember { position: relative; width: min(118px, 100%); aspect-ratio: 1; display: block; }
.bg2-cember svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.bg2-iz, .bg2-dolu { fill: none; stroke-width: 9; }
.bg2-iz { stroke: var(--yesil-acik); }
.bg2-dolu { stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.bg2-gorev .bg2-dolu { stroke: var(--altin); }
.bg2-temas .bg2-dolu { stroke: var(--onay); }
.bg2-lead .bg2-dolu { stroke: var(--satildi); }
.bg2-halka.tamam .bg2-dolu { stroke: var(--musait); }
.bg2-sayi { position: absolute; inset: 0; display: grid; place-items: center; font: 700 1.9rem/1 var(--sans); color: var(--yesil-koyu); }
.bg2-halka.tamam .bg2-sayi { color: var(--musait); }
.bg2-ad { font-weight: 700; font-size: 0.9rem; color: var(--yesil-koyu); }
.bg2-halka small { color: var(--gri); font-size: 0.74rem; line-height: 1.3; }
.bg2-hedef { margin: 14px 0 0; text-align: center; font-weight: 600; color: var(--yesil); font-size: 0.9rem; }
.bg2-hatirlatma h3, .bg2-cizgi h3, .bg2-dogum h3, .bg2-sicak h3 { font-family: var(--sans); font-size: 1rem; font-weight: 700; margin-bottom: 10px; }
.bg2-hgrup + .bg2-hgrup { margin-top: 10px; }
.bg2-hgrup h4 { margin: 0 0 6px; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gri); }
.bg2-hgrup.gec h4 { color: var(--satildi); }
.bg2-hgrup ul, .bg2-dogum ul, .bg2-sicak ol, .bg2-cizgi-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.bg2-s-z { flex-shrink: 0; min-width: 36px; padding: 0 8px; }
.bg2-h, .bg2-c, .bg2-d, .bg2-s { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fff; }
.bg2-h.gec, .bg2-c.gec { border-color: rgba(192, 83, 63, 0.45); background: #fdf3f1; }
.bg2-h-ik, .bg2-c-ik { flex-shrink: 0; width: 22px; text-align: center; }
.bg2-h-saat, .bg2-c-saat { flex-shrink: 0; min-width: 52px; font: 700 0.82rem/1.2 var(--sans); color: var(--yesil); }
.bg2-h.gec .bg2-h-saat, .bg2-c.gec .bg2-c-saat { color: var(--satildi); }
.bg2-h-ne, .bg2-c-ne, .bg2-d-ne, .bg2-s-ne { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.bg2-h-ne a, .bg2-c-ne a, .bg2-d-ne a, .bg2-s-ne a, .bg2-h-ne b, .bg2-c-ne b { font-weight: 700; color: var(--yesil-koyu); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bg2-h-ne small, .bg2-c-ne small, .bg2-d-ne small, .bg2-s-ne small { color: var(--gri); font-size: 0.78rem; line-height: 1.3; }
.bg2-c-eylem { display: flex; gap: 6px; flex-shrink: 0; }
.bg2-alt { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 16px; }
.bg2-d.bugun { border-color: var(--altin); background: #fffaf0; }
.bg2-lg { margin: 0 0 12px; }
@media (max-width: 1099px) { .bg2-alt { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .bg2-cizgi { grid-column: 1 / -1; } }
@media (max-width: 760px) {
  .bg2-ust, .bg2-alt { grid-template-columns: minmax(0, 1fr); }
  .bg2-uc { gap: 6px; }
  .bg2-sayi { font-size: 1.5rem; }
  .bg2-c { flex-wrap: wrap; }
  .bg2-c-eylem { flex: 1 1 100%; justify-content: flex-end; }
  .bg2-kisi { flex-wrap: wrap; }
}

/* B5 görüşme notu: çipler, harf göstergesi, "Son merak ettiği" (crm-pano.js notAlaniHtml; kart Özet'te musteriler.js merakHtml). */
.crm-ck-gorusme { margin-bottom: 8px; }
.crm-ck-gorusme .secenek { padding: 6px 11px; font-size: 0.8rem; }
.crm-ck-harf { margin: 4px 0 8px; }
.crm-ck-merak { display: grid; gap: 4px; margin: 4px 0 10px; font-size: 0.82rem; font-weight: 600; color: var(--gri); }
.crm-ck-merak input { font: inherit; font-weight: 400; color: var(--murekkep); padding: 9px 11px; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); background: #fff; }
.kp4-merak { margin: 10px 0 0; padding: 10px 12px; border-radius: var(--r-kucuk); background: #fffaf0; border: 1px solid rgba(201, 164, 92, 0.4); font-size: 0.9rem; }
.kp4-merak small { color: var(--gri); margin-left: 4px; }
/* B7 Ziyaret planla çekmecesi */
.crm-ck-adres { margin: 0 0 10px; font-size: 0.92rem; }
.crm-ck-form input[type="time"] { max-width: 140px; }
.kp4 .kp-hizli { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* ---------------------------------------------------------------- Nova v5 Faz C (B4): sol sabit dikey menü (Martı CRM esinli)
   Hesap › Görünüm: Sol menü seçiliyken ve pencere ≥ 1100 px iken app.js bolumMenuCiz <body>'ye sol-menu ekler (gorunum.js gorunumSec). #bolumBar solda sabit
   sütun olur: logo + 4 bölüm başlığı + her birinin alt sekmeleri açık liste. Üst çubuk (Proje/Konum/Daire…, Hesap, Sunum) sütunun sağında aynen kalır;
   sayfa (main, alt bilgi) sütun genişliği kadar sağa kayar. Temiz müşteri ekranında sütun yok; ☰ Menü açınca sol-kayan: sütun üst çubuğun altında sayfanın
   üstüne biner (sayfa kaymaz). < 1100 px ve "Üst sekmeler" seçiliyken bu bloktaki hiçbir kural işlemez. */
.ofis-menu .ofis-gorunum b { font-weight: 600; font-size: 0.8rem; color: var(--gri); }
@media (max-width: 1099px) { .ofis-menu .ofis-gorunum { display: none !important; } }
@media (min-width: 1100px) {
  body.sol-menu { --sol-gen: 220px; --bolum-yuk: 0px; }
  body.sol-menu .bolum-bar { display: block; top: 0; bottom: 0; left: 0; right: auto; width: var(--sol-gen); height: auto; padding: 0 0 28px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; z-index: 41; border-bottom: 0; border-right: 1px solid rgba(201, 164, 92, 0.28); box-shadow: 6px 0 18px rgba(11, 42, 33, 0.14); }
  body.sol-menu:not(.sol-kayan) .ust { left: var(--sol-gen); }
  body.sol-menu:not(.sol-kayan) .ust .logo { display: none; }
  /* Sütun kadar daralan üst çubuk 1100 px'te de taşmasın: boşluklar ve bağlantı dolgusu küçülür */
  body.sol-menu:not(.sol-kayan) .ust-ic { width: calc(100% - 28px); gap: 12px; }
  body.sol-menu:not(.sol-kayan) .menu { gap: 0; min-width: 0; }
  body.sol-menu:not(.sol-kayan) .menu a { padding: 9px 10px; font-size: 0.9rem; }
  body.sol-menu:not(.sol-kayan) main, body.sol-menu:not(.sol-kayan) footer { margin-left: var(--sol-gen); }
  body.sol-menu:not(.sol-kayan) .takip-serit { left: calc(var(--sol-gen) + 16px); }
  /* ☰ Menü ile açılan sütun (temiz müşteri ekranı): üst çubuğun altında, sayfanın üstüne biner */
  body.sol-kayan .bolum-bar { top: var(--ust-yuk); z-index: 45; box-shadow: 10px 0 28px rgba(11, 42, 33, 0.3); }
  .sol-logo { height: 68px; display: flex; flex-direction: column; justify-content: center; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.07); margin-bottom: 6px; }
  .sol-grup { padding: 6px 10px 4px; }
  .sol-grup + .sol-grup { border-top: 1px solid rgba(255, 255, 255, 0.07); }
  body.sol-menu .bolum-bar a.sol-bolum { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-width: 0; padding: 6px 10px; border-bottom: 0; border-radius: 8px; color: var(--altin-acik); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
  body.sol-menu .bolum-bar a.sol-bolum i { font-size: 1rem; }
  body.sol-menu .bolum-bar a.sol-bolum span { flex: 1; }
  body.sol-menu .bolum-bar .sol-grup.aktif > a.sol-bolum { color: #fff; }
  body.sol-menu .bolum-bar a.sol-bolum.aktif { background: rgba(201, 164, 92, 0.18); box-shadow: inset 3px 0 0 var(--altin); }
  body.sol-menu .bolum-bar a.sol-bolum:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
  .sol-altlar { display: grid; gap: 1px; margin: 2px 0 4px; }
  body.sol-menu .bolum-bar .sol-altlar a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; min-height: 31px; padding: 0 10px 0 38px; border-bottom: 0; border-radius: 8px; color: rgba(255, 255, 255, 0.74); font-size: 0.9rem; font-weight: 500; letter-spacing: 0; }
  body.sol-menu .bolum-bar .sol-altlar a:hover { background: rgba(255, 255, 255, 0.07); color: #fff; }
  body.sol-menu .bolum-bar .sol-altlar a.aktif { background: rgba(255, 255, 255, 0.12); color: #fff; font-weight: 700; box-shadow: inset 3px 0 0 var(--altin); }
  body.sol-menu .bolum-bar .menu-rozet { margin-left: 0; flex: none; }
}
@media print { .sol-logo { display: none; } body.sol-menu main, body.sol-menu footer { margin-left: 0 !important; } body.sol-menu .ust { left: 0 !important; } }
