*{box-sizing:border-box;margin:0;padding:0}
:root{
--bg:#fff;--bg2:#f8f9fa;--bg3:#f1f3f4;
--text:#202124;--text2:#5f6368;--text3:#bdc1c6;
--border:#e0e0e0;--border2:#dadce0;
--green:#2563eb;--gl:#EAF2FF;--gd:#0f2f74;--gm:#1d4ed8;
--al:#FAEEDA;--ad:#633806;
--rl:#FCEBEB;--rd:#791F1F;
--r:8px;--rl2:12px;
--brand:#2563eb;--brand-light:#EAF2FF;
color-scheme:light}

/* ── DARK MODE ──────────────────────────────────────── */
html[data-theme="dark"]{
--bg:#0d1117;--bg2:#161b22;--bg3:#21262d;
--text:#e6edf3;--text2:#7d8590;--text3:#3d444d;
--border:#30363d;--border2:#444c56;
--green:#3b82f6;--gl:#0f1f3d;--gd:#60a5fa;--gm:#3b82f6;
--al:#2d1f09;--ad:#e3b341;
--rl:#2d0c0c;--rd:#f85149;
color-scheme:dark}

/* Dark mode — hardcoded renk düzeltmeleri */
html[data-theme="dark"] #op-hasta-panel{background:var(--bg)!important;border-left:1px solid var(--border)!important}
html[data-theme="dark"] .op-hp-hdr,
html[data-theme="dark"] .op-hp-body,
html[data-theme="dark"] .op-hp-sekme-bar{background:var(--bg)!important;border-color:var(--border)!important}
html[data-theme="dark"] .belge-preview{background:var(--bg2)!important;color:var(--text)!important;border-color:var(--border)!important}
html[data-theme="dark"] .hd-nav-item.act{background:#1c2a3a!important;color:#79c0ff!important}
html[data-theme="dark"] .hd-cene-tab.act{background:var(--bg3)!important;color:#79c0ff!important}
html[data-theme="dark"] .hd-dis-sag{background:var(--bg)!important}
html[data-theme="dark"] .odontogram .dis-item:hover{background:rgba(255,255,255,.05)!important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:var(--bg2)!important;color:var(--text)!important;border-color:var(--border2)!important}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:var(--text3)!important}
html[data-theme="dark"] .modal,
html[data-theme="dark"] .hdmodal,
html[data-theme="dark"] .dtmodal,
html[data-theme="dark"] .cnf-modal{background:var(--bg)!important;border-color:var(--border)!important}
html[data-theme="dark"] .mhdr{border-color:var(--border)!important}
html[data-theme="dark"] .mfoot{border-color:var(--border)!important}
html[data-theme="dark"] .btn{background:var(--bg3)!important;border-color:var(--border2)!important;color:var(--text)!important}
html[data-theme="dark"] .btn.sv{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}
html[data-theme="dark"] .btn.sv:hover{background:#3b82f6!important}
html[data-theme="dark"] .btn.dl{background:#3d0c0c!important;border-color:#6b1414!important;color:#f85149!important}
html[data-theme="dark"] .op-kart{background:var(--bg2)!important;border-color:var(--border)!important}
html[data-theme="dark"] .op-tbl th{background:var(--bg3)!important;color:var(--text2)!important;border-color:var(--border)!important}
html[data-theme="dark"] .op-tbl td{border-color:var(--border)!important;color:var(--text)!important}
html[data-theme="dark"] .op-tbl tr:hover td{background:var(--bg2)!important}
html[data-theme="dark"] .apts-tbl th{background:var(--bg3)!important;color:var(--text2)!important}
html[data-theme="dark"] .apts-tbl td{border-color:var(--border)!important}
html[data-theme="dark"] .apts-tbl tr:hover td{background:var(--bg2)!important}
html[data-theme="dark"] .tedavi-satir{background:var(--bg2)!important;border-color:var(--border)!important}
html[data-theme="dark"] .rx-kart{background:var(--bg2)!important}
html[data-theme="dark"] .ichip{background:var(--bg2)!important;border-color:var(--border2)!important;color:var(--text)!important}
html[data-theme="dark"] .ichip.sel{background:#1c2a3a!important;border-color:#1f6feb!important;color:#79c0ff!important}
html[data-theme="dark"] .hkart{background:var(--bg2)!important;border-color:var(--border)!important}
html[data-theme="dark"] .hkart:hover{border-color:#3b82f6!important}
html[data-theme="dark"] .bottom-nav{background:var(--bg)!important;border-color:var(--border)!important}
html[data-theme="dark"] .belge-sol{background:var(--bg)!important}
html[data-theme="dark"] .belge-sol-btn{color:var(--text2)!important}
html[data-theme="dark"] .belge-sol-btn.act{background:var(--bg3)!important;color:#79c0ff!important}
html[data-theme="dark"] .badge.on{background:#0f1f3d!important;color:#60a5fa!important}
html[data-theme="dark"] .badge.bk{background:#1c1f0a!important;color:#e3b341!important}
html[data-theme="dark"] .badge.ip{background:#2d0c0c!important;color:#f85149!important}
html[data-theme="dark"] table{color:var(--text)!important}
/* dr-tab-all active in dark mode */
html[data-theme="dark"] .dr-tab-all.act{background:var(--bg3)!important;color:#79c0ff!important;border-color:var(--border2)!important}
/* Ayarlar section white cards */
html[data-theme="dark"] .ay-kart{background:var(--bg)!important;box-shadow:0 1px 3px rgba(0,0,0,.3)!important;border:1px solid var(--border)!important}
/* Icon containers in ayarlar */
html[data-theme="dark"] .ay-kart .ay-ikon{background:var(--bg3)!important}
/* op-onceki-kart (önceki aydan devreden) */
html[data-theme="dark"] .op-onceki-kart{background:#2d1f09!important;border-color:#633806!important}
html[data-theme="dark"] .op-onceki-kart *{color:#e3b341!important}
/* Gecikmiş ödeme satırları — table rows */
html[data-theme="dark"] .op-tbl tr.tr-gecikti td{background:#2a0a0a!important}
html[data-theme="dark"] .op-tbl tr.tr-gecikti:hover td{background:#3d0c0c!important}
/* Gecikmiş satırlar — borclu liste */
html[data-theme="dark"] .borclu-row-gecikti{background:#2a0a0a!important}
html[data-theme="dark"] .borclu-kart.gecikti{background:#2a0a0a!important;border-color:#7f1d1d!important}
html[data-theme="dark"] .gecikme-banner{background:linear-gradient(135deg,#2a0a0a 0%,#1f0808 100%)!important;border-color:#7f1d1d!important}
html[data-theme="dark"] .gecikme-kart{background:var(--bg)!important;border-color:#7f1d1d!important}
html[data-theme="dark"] .gecikme-kart.kritik{background:#2a0a0a!important;border-color:#DC2626!important}
html[data-theme="dark"] .gecikme-kart-ad{color:var(--text)!important}
html[data-theme="dark"] .gecikme-bas-chip{background:var(--bg)!important;border-color:#7f1d1d!important;color:#FCA5A5!important}
html[data-theme="dark"] .yaklasan-banner{background:linear-gradient(135deg,#0a1830 0%,#08111f 100%)!important;border-color:#1e3a8a!important}
html[data-theme="dark"] .yaklasan-kart{background:var(--bg)!important;border-color:#1e3a8a!important}
html[data-theme="dark"] .yaklasan-kart .gecikme-kart-ad{color:var(--text)!important}
html[data-theme="dark"] .yaklasan-bas-chip{background:var(--bg)!important;border-color:#1e3a8a!important;color:#93C5FD!important}
html[data-theme="dark"] .borclu-row-gecikti:hover{background:#3d0c0c!important}
/* Ödeme badge kismi (mavi) dark mode */
html[data-theme="dark"] .op-badge.ks{background:#0c2d4a!important;color:#79c0ff!important}
/* Taksit butonu Düzenle */
html[data-theme="dark"] .op-tbl .duz-btn{background:var(--bg3)!important;border-color:var(--border2)!important;color:var(--text)!important}
/* Asistan yetkileri permission group headers */
html[data-theme="dark"] .perm-hdr{background:var(--bg3)!important;border-color:var(--border)!important}
html[data-theme="dark"] .perm-hdr-lbl{color:var(--text)!important}
html[data-theme="dark"] .perm-hdr svg{stroke:var(--text2)!important}

/* ── İSTATİSTİK DASHBOARD ──────────────────────────── */
.ist-wrap{padding:1.5rem;overflow-y:auto;flex:1;background:var(--bg2)}
.ist-row{display:grid;gap:12px;margin-bottom:14px}
.ist-row-4{grid-template-columns:repeat(4,1fr)}
.ist-row-3{grid-template-columns:repeat(3,1fr)}
.ist-row-2{grid-template-columns:1fr 1fr}
.ist-kart{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.25rem;position:relative;overflow:hidden}
.ist-kart-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ist-kart-val{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1}
.ist-kart-sub{font-size:11px;color:var(--text2);margin-top:5px}
.ist-kart-ico{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;opacity:.85}
.ist-kart.green .ist-kart-val{color:#0F6E56}
.ist-kart.green .ist-kart-ico{background:#E1F5EE}
.ist-kart.blue  .ist-kart-val{color:#1a56db}
.ist-kart.blue  .ist-kart-ico{background:#EEF2FF}
.ist-kart.amber .ist-kart-val{color:#B45309}
.ist-kart.amber .ist-kart-ico{background:#FEF3C7}
.ist-kart.red   .ist-kart-val{color:#DC2626}
.ist-kart.red   .ist-kart-ico{background:#FEE2E2}
.ist-kart.purple .ist-kart-val{color:#7C3AED}
.ist-kart.purple .ist-kart-ico{background:#F5F3FF}
.ist-panel{background:var(--bg);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.ist-panel-hdr{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.ist-panel-hdr-ttl{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px}
.ist-panel-body{padding:14px 16px}
.ist-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ist-bar-lbl{font-size:12px;color:var(--text);width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ist-bar-track{flex:1;height:8px;background:var(--bg3);border-radius:4px;overflow:hidden}
.ist-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}
.ist-bar-cnt{font-size:11px;color:var(--text2);width:28px;text-align:right;flex-shrink:0}
.ist-dr-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.ist-dr-row:last-child{border-bottom:none}
.ist-dr-av{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ist-dr-name{font-size:12px;font-weight:600;color:var(--text);flex:1}
.ist-dr-chip{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;background:var(--bg3);color:var(--text2)}
.ist-durum-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ist-durum-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ist-durum-lbl{font-size:12px;color:var(--text);flex:1}
.ist-durum-sayi{font-size:12px;font-weight:700;color:var(--text)}
.ist-durum-pct{font-size:11px;color:var(--text2);width:34px;text-align:right}
.ist-chart-svg{width:100%;overflow:visible}
.ist-filtre{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.ist-filtre-btn{padding:5px 14px;border-radius:20px;border:1.5px solid var(--border2);background:var(--bg);font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;transition:.15s}
.ist-filtre-btn.act{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
/* Istatistik sayfa basligi */
.ist-page-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ist-page-ttl{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}
.ist-page-sub{font-size:12px;color:var(--text2)}
/* Hero satir: 2/3 + 1/3 */
.ist-row-23{display:grid;gap:12px;margin-bottom:14px;grid-template-columns:2fr 1fr;align-items:start}
.ist-hero-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* Klinik Akışı (Activity Feed) - kompakt */
.ist-akis-kart{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;min-height:0}
.ist-akis-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-shrink:0}
.ist-akis-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;flex:1}
.ist-akis-pill{font-size:9px;color:var(--text2);background:var(--bg3);padding:2px 8px;border-radius:8px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.ist-akis-list{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;min-height:0;max-height:265px}
.ist-akis-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;transition:.12s;border:1px solid transparent}
.ist-akis-row:hover{background:var(--bg2);border-color:var(--border)}
.ist-akis-ico{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;font-weight:700}
.ist-akis-icr{flex:1;min-width:0}
.ist-akis-baslik{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px;line-height:1.3}
.ist-akis-meta{font-size:10px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;line-height:1.3}
.ist-akis-zaman{font-size:9px;color:var(--text2);flex-shrink:0;font-weight:600;text-align:right;white-space:nowrap}
.ist-akis-tag{font-size:8px;font-weight:700;padding:1px 5px;border-radius:5px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}
.ist-akis-bos{text-align:center;color:var(--text2);padding:20px 8px;font-size:11px;line-height:1.5}
/* Tek kolon yardimcisi */
.ist-row-1{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:14px}
/* Hero metric kartlarini kompakt yap */
.ist-hero-metrics .ist-kart{padding:0.7rem 0.85rem;border-radius:12px}
.ist-hero-metrics .ist-kart-val{font-size:19px;letter-spacing:-.3px}
.ist-hero-metrics .ist-kart-lbl{font-size:9px;margin-bottom:5px;letter-spacing:.5px}
.ist-hero-metrics .ist-kart-sub{font-size:9px;margin-top:3px}
.ist-hero-metrics .ist-kart-ico{width:26px;height:26px;top:9px;right:9px;border-radius:8px}
.ist-hero-metrics .ist-kart-ico svg{width:13px;height:13px}
/* Finans satiri (metric kartlarinin altina) - 2 kolonu kapsar */
.ist-hero-finance{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ist-hero-finance .ist-kart-val{font-size:17px;font-weight:700}
@media(max-width:900px){
  .ist-row-23{grid-template-columns:1fr}
  .ist-akis-kart{min-height:280px;max-height:380px}
}
@media(max-width:768px){.ist-row-4{grid-template-columns:1fr 1fr}.ist-row-2{grid-template-columns:1fr}.ist-hero-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ist-row-4{grid-template-columns:1fr 1fr}.ist-row-3{grid-template-columns:1fr 1fr}.ist-row-2{grid-template-columns:1fr}.ist-akis-meta{white-space:normal;line-height:1.4}.ist-hero-metrics{grid-template-columns:1fr 1fr}.ist-hero-finance{grid-template-columns:1fr;gap:8px}}

/* Dark mode overrides for dashboard */
html[data-theme="dark"] .ist-kart.green .ist-kart-ico{background:#0d2217}
html[data-theme="dark"] .ist-kart.blue  .ist-kart-ico{background:#0c2040}
html[data-theme="dark"] .ist-kart.amber .ist-kart-ico{background:#2d1f09}
html[data-theme="dark"] .ist-kart.red   .ist-kart-ico{background:#2d0c0c}
html[data-theme="dark"] .ist-kart.purple .ist-kart-ico{background:#1e1040}
html[data-theme="dark"] .ist-kart.purple .ist-kart-val{color:#a78bfa}
html[data-theme="dark"] .ist-kart.blue  .ist-kart-val{color:#79c0ff}

/* Geçiş animasyonu */
html{transition:background-color .25s,color .25s}
body,
.topbar,.sidebar,.modal,.hdmodal,.dtmodal,.cnf-modal,
.hd-sol,.hd-sag,.main,.op-kart,
.hd-dis-sag,.rx-kart,.hkart{transition:background-color .25s,border-color .25s,color .25s}

body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-text-size-adjust:100%}
.app{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;height:100vh}
.topbar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border);height:54px;-webkit-flex-shrink:0;flex-shrink:0;background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:50}
.logo{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:8px}
.logo-ic{width:32px;height:32px;border-radius:50%;background:var(--green);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}
.logo-ic svg{width:17px;height:17px;color:#fff}
.logo-tx{font-size:18px;color:var(--text2)}
.logo-tx b{color:var(--text);font-weight:600}
.sb-wrap{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;overflow:hidden}
.sidebar{width:236px;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-flex-shrink:0;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg)}
.create-btn{margin:10px 12px 12px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--rl2);border:1px solid var(--border2);background:var(--bg);cursor:pointer;font-size:13px;color:var(--text);width:calc(100% - 24px)}
.create-btn:hover{background:var(--bg2)}
.mc{padding:0 8px}
.mc-hdr{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;padding:0 4px;margin-bottom:4px}
.mc-hdr span{font-size:12px;font-weight:600;color:var(--text)}
.mc-nav{display:-webkit-flex;display:flex}
.mc-btn{width:26px;height:26px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:15px;color:var(--text2);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}
.mc-btn:hover{background:var(--bg3)}
.mc-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.mdow{text-align:center;font-size:10px;color:var(--text2);padding:3px 0;font-weight:600}
.mday{width:26px;height:26px;margin:1px auto;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border-radius:50%;font-size:11px;cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent}
.mday:hover{background:var(--bg3)}
.mday.today{background:var(--green);color:#fff;font-weight:600}
.mday.other{color:var(--text3)}
.mday.hapt{position:relative}
.mday.hapt:after{content:'';position:absolute;bottom:1px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--green)}
.mday.today.hapt:after{background:#fff}
.sb-sec{margin-top:12px;padding:0 12px}
.sb-title{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding:0 4px}
.sb-nav{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r);cursor:pointer;font-size:12px;color:var(--text2);-webkit-tap-highlight-color:transparent}
.sb-nav:hover{background:var(--bg3);color:var(--text)}
.sb-nav.act{background:var(--gl);color:var(--gm);font-weight:600}
.sb-nav svg{width:14px;height:14px;-webkit-flex-shrink:0;flex-shrink:0}
.cdot{width:10px;height:10px;border-radius:3px;-webkit-flex-shrink:0;flex-shrink:0}
.sb-stats{margin:0 12px 6px;background:var(--bg3);border-radius:var(--r);padding:9px 11px}
.sb-stat{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;font-size:11px;padding:2px 0}
.sb-stat span:first-child{color:var(--text2)}
.sb-stat span:last-child{font-weight:600;color:var(--text)}
.sb-stat .g{color:var(--gm)}
.sb-stat .a{color:var(--ad)}

/* YEDEK PANELİ */
.yp{margin:12px 12px 8px;padding:10px;background:var(--bg3);border-radius:var(--r)}
.yp-title{font-size:10px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.yp-durum{font-size:10px;color:var(--text2);margin-bottom:8px;min-height:12px}
.yp-toggle{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:8px}
.yp-toggle span{font-size:11px;font-weight:600;color:var(--text)}
.toggle-wrap{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:5px;cursor:pointer}
.toggle-lbl{font-size:10px;color:var(--text2)}
.toggle-sw{width:34px;height:18px;border-radius:9px;background:var(--border2);position:relative;-webkit-transition:.2s;transition:.2s;cursor:pointer;-webkit-flex-shrink:0;flex-shrink:0}
.toggle-sw.on{background:var(--green)}
.toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;-webkit-transition:.2s;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle-sw.on .toggle-knob{left:18px}
.yp-aralik{width:100%;margin-bottom:8px;padding:5px 7px;font-size:11px;border:1px solid var(--border2);border-radius:var(--r);background:var(--bg);color:var(--text);outline:none}
.yp-btn{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:6px;width:100%;padding:6px 8px;margin-bottom:4px;border-radius:var(--r);border:1px solid var(--border2);background:var(--bg);cursor:pointer;font-size:11px;font-weight:500;color:var(--text);text-align:left;-webkit-tap-highlight-color:transparent}
.yp-btn:hover{background:var(--gl);border-color:#9FE1CB;color:var(--gm)}
.yp-btn.dbx{color:#0061ff;border-color:#a0beff}
.yp-btn.dbx:hover{background:#e8f0ff}
.yp-btn.warn{color:var(--ad);border-color:var(--al)}
.yp-btn.warn:hover{background:var(--al)}
.yp-sep{border:none;border-top:1px solid var(--border);margin:8px 0}
.dbx-user{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:6px;padding:6px 8px;background:#e8f0ff;border-radius:var(--r);margin-bottom:6px}
.dbx-av{width:20px;height:20px;border-radius:50%;background:#0061ff;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;-webkit-flex-shrink:0;flex-shrink:0}

/* MAIN */
.main{-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;min-width:0}
.vhdr{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--border);-webkit-flex-shrink:0;flex-shrink:0;height:58px}
.vhdr-nav{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:12px;min-width:0}
.vhdr-actions{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:10px;-webkit-flex-shrink:0;flex-shrink:0}
.vhdr-title{font-size:19px;font-weight:700;letter-spacing:-.4px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Bugün butonu */
.tb-today{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;gap:7px;height:36px;padding:0 15px;border:1px solid var(--border2);background:var(--bg);border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);transition:background .15s,border-color .15s,opacity .15s;-webkit-flex-shrink:0;flex-shrink:0}
.tb-today svg{color:var(--brand)}
.tb-today:hover{background:var(--gl);border-color:var(--brand)}
.tb-today.on-today{opacity:.5;background:var(--bg2)}
.tb-today.on-today:hover{background:var(--bg2);border-color:var(--border2)}
/* İleri/geri okları — birleşik grup */
.tb-arrows{display:-webkit-inline-flex;display:inline-flex;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;overflow:hidden;-webkit-flex-shrink:0;flex-shrink:0}
.tb-arr{width:34px;height:36px;border:none;background:transparent;cursor:pointer;font-size:19px;color:var(--text2);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;line-height:1;transition:background .12s,color .12s}
.tb-arr:first-child{border-right:1px solid var(--border2)}
.tb-arr:hover{background:var(--bg3);color:var(--brand)}
/* Görünüm segmenti (Ay/Hafta/Gün) */
.vt{display:-webkit-inline-flex;display:inline-flex;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:3px;gap:2px}
.vt button{padding:6px 15px;border:none;background:transparent;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text2);border-radius:7px;transition:background .15s,color .15s}
.vt button:hover{color:var(--text)}
.vt button.act{background:var(--brand);color:#fff;box-shadow:0 1px 3px rgba(37,99,235,.35)}
/* WhatsApp Hatırlatma */
.tb-wa{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;gap:7px;height:36px;padding:0 15px;border:1px solid #25D366;background:transparent;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:#128C4B;transition:background .15s;-webkit-flex-shrink:0;flex-shrink:0}
.tb-wa svg{color:#25D366}
.tb-wa:hover{background:rgba(37,211,102,.1)}
html[data-theme="dark"] .tb-wa{color:#3fd884}
.tog-sw{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}
.tog-sw input{opacity:0;width:0;height:0;position:absolute}
.tog-sl{position:absolute;inset:0;background:#CBD5E1;border-radius:11px;cursor:pointer;transition:.2s}
.tog-sl:before{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}
.tog-sw input:checked+.tog-sl{background:#4F46E5}
.tog-sw input:checked+.tog-sl:before{transform:translateX(16px)}
.perm-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}
.perm-row:last-child{border-bottom:none}
.perm-lbl{font-size:12px;color:var(--text);line-height:1.3}
.vt button.act{background:var(--bg3);color:var(--text);font-weight:600}
.cal{-webkit-flex:1;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}

/* WEEK/DAY */
.wv{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;min-height:580px}
.wh{display:-webkit-flex;display:flex;border-bottom:1px solid var(--border);-webkit-flex-shrink:0;flex-shrink:0}
.wh-g{width:48px;-webkit-flex-shrink:0;flex-shrink:0}
.wh-days{-webkit-flex:1;flex:1;display:grid}
.whd{text-align:center;padding:5px 2px;border-left:1px solid var(--border)}
.whd .dow{font-size:9px;color:var(--text2);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.whd .num{font-size:20px;font-weight:400;color:var(--text);width:36px;height:36px;border-radius:50%;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;margin:2px auto 0;cursor:pointer}
.whd .num:hover{background:var(--bg3)}
.whd .num.today{background:var(--green);color:#fff}
.wb{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
.tg{width:48px;-webkit-flex-shrink:0;flex-shrink:0}
.tlbl{height:44px;display:-webkit-flex;display:flex;-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:flex-end;justify-content:flex-end;padding-right:5px;padding-top:2px;font-size:9px;color:var(--text2);font-weight:500}
.dg{-webkit-flex:1;flex:1;display:grid;position:relative}
.dcol{border-left:1px solid var(--border);position:relative}
.hl{height:44px;border-bottom:1px solid var(--border);cursor:pointer}
.hl:hover{background:rgba(37,99,235,.05)}
.ab{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 5px;cursor:pointer;overflow:hidden;font-size:10px;line-height:1.3;z-index:2}
.ab:hover{opacity:.8}
.ab .at{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab .am{opacity:.8;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tnow{position:absolute;left:0;right:0;height:2px;background:#E24B4A;z-index:5;pointer-events:none}
.tnow:before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:#E24B4A}
.tnow:after{content:attr(data-time);position:absolute;left:-4px;top:-17px;font-size:10px;font-weight:700;color:#E24B4A;background:var(--bg);padding:1px 6px;border-radius:4px;white-space:nowrap;line-height:1.4;border:1px solid #FECACA;transform:translateX(-100%)}

/* MONTH */
.mv{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;min-height:480px}
.mdow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}
.month-dow{text-align:center;font-size:9px;font-weight:700;color:var(--text2);padding:5px;text-transform:uppercase;letter-spacing:.3px}
.mgrid{-webkit-flex:1;flex:1;display:grid;grid-template-rows:repeat(6,minmax(70px,1fr))}
.mweek{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}
.mcell{border-left:1px solid var(--border);padding:3px;cursor:pointer}
.mcell:hover{background:var(--bg2)}
.mcell.othm .mnum{color:var(--text3)}
.mnum{font-size:11px;width:22px;height:22px;border-radius:50%;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;margin-bottom:2px}
.mnum.today{background:var(--green);color:#fff;font-weight:700}
.mapt{font-size:9px;border-radius:3px;padding:1px 4px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}

/* HASTA */
.hp{-webkit-flex:1;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.2rem}
.htbar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:8px;margin-bottom:1rem;-webkit-flex-wrap:wrap;flex-wrap:wrap}
.hsearch{height:36px;border:1px solid var(--border2);border-radius:24px;padding:0 14px;font-size:13px;outline:none;background:var(--bg);color:var(--text);-webkit-flex:1;flex:1;max-width:300px;font-family:inherit}
.hsearch:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.hcard{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:.9rem;cursor:pointer;-webkit-transition:.15s;transition:.15s}
.hcard:hover{border-color:var(--green)}
.hcard-top{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:9px;margin-bottom:9px}
.hav{width:40px;height:40px;border-radius:50%;background:var(--gl);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;font-size:14px;font-weight:700;color:var(--gm);-webkit-flex-shrink:0;flex-shrink:0;background-size:cover;background-position:center;overflow:hidden}
.hav.has-foto{color:transparent;background-color:transparent}
.hname{font-size:14px;font-weight:700;color:var(--text)}
.hmeta{font-size:11px;color:var(--text2);margin-top:1px}
.hinfo{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;font-size:12px;margin-bottom:7px}
.hil{color:var(--text2)}
.hiv{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.htags{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.htag{font-size:10px;padding:2px 8px;border-radius:12px;background:var(--gl);color:var(--gd);font-weight:500}
.htag.alj{background:var(--rl);color:var(--rd)}
.htag.bl{background:#E6F1FB;color:#0C447C}
.hfoot{display:-webkit-flex;display:flex;gap:6px;padding-top:7px;border-top:1px solid var(--border)}
.hbtn{-webkit-flex:1;flex:1;padding:5px;border-radius:var(--r);border:1px solid var(--border2);background:transparent;cursor:pointer;font-size:11px;color:var(--text2);font-family:inherit;-webkit-tap-highlight-color:transparent}
.hbtn:hover{background:var(--bg3)}
.hbtn.gbtn{background:#dbeafe;border-color:#93c5fd;color:#1e40af}
.hbtn.gbtn:hover{background:#bfdbfe}
.empty{text-align:center;padding:3rem 1rem;color:var(--text2);font-size:13px;grid-column:1/-1}

/* MODALS */
.ovl{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:1000;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}
.ovl.open{display:-webkit-flex;display:flex}
.modal{background:var(--bg);border-radius:var(--rl2);border:1px solid var(--border);width:460px;max-width:96vw;overflow:hidden;box-shadow:0 10px 32px rgba(0,0,0,.18)}
.mhdr{padding:14px 18px 10px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;border-bottom:1px solid var(--border)}
.mhdr h2{font-size:15px;font-weight:700;color:var(--text)}
.mclose{width:28px;height:28px;border-radius:50%;border:none;background:transparent;cursor:pointer;font-size:17px;color:var(--text2);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;line-height:1}
.mclose:hover{background:var(--bg3)}
.mbody{padding:14px 18px;max-height:68vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.fg{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;gap:4px;margin-bottom:10px}
.fg label{font-size:11px;color:var(--text2);font-weight:600}
input[type=text],input[type=date],input[type=email],input[type=tel],select,textarea{border-radius:var(--r);border:1px solid var(--border2);background:var(--bg);color:var(--text);padding:7px 9px;font-size:13px;font-family:inherit;outline:none;-webkit-transition:.15s;transition:.15s;width:100%;-webkit-appearance:none;appearance:none}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(37,99,235,.12)}
textarea{resize:vertical;min-height:52px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ay-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-content:start}
.slbl{font-size:11px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.4px;margin:10px 0 6px;padding-bottom:5px;border-bottom:1px solid var(--border);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:5px}
.mfoot{padding:10px 18px 14px;border-top:1px solid var(--border);display:-webkit-flex;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;gap:8px;-webkit-align-items:center;align-items:center}
.btn{padding:7px 16px;border-radius:var(--r);font-size:12px;cursor:pointer;border:1px solid var(--border2);background:transparent;color:var(--text);font-family:inherit;-webkit-transition:.15s;transition:.15s;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--bg3)}
.btn.sv{background:var(--green);color:#fff;border-color:var(--green)}
.btn.sv:hover{background:var(--gm)}
.btn.dl{background:#E24B4A;color:#fff;border-color:#E24B4A}
.btn.dl:hover{background:#A32D2D}
.ichips{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:4px;margin-top:2px}
.ichip{padding:3px 10px;border-radius:20px;font-size:11px;cursor:pointer;border:1px solid var(--border2);background:transparent;color:var(--text2);-webkit-tap-highlight-color:transparent}
.ichip:hover{border-color:var(--green);color:var(--gm)}
.ichip.sel{background:var(--gl);color:var(--gm);border-color:#5DCAA5;font-weight:600}
.dtmodal{background:var(--bg);border-radius:var(--rl2);border:1px solid var(--border);width:340px;max-width:96vw;overflow:hidden;box-shadow:0 10px 32px rgba(0,0,0,.18)}
.drow{display:-webkit-flex;display:flex;gap:9px;-webkit-align-items:flex-start;align-items:flex-start;margin-bottom:9px;font-size:12px}
.dico{width:15px;height:15px;-webkit-flex-shrink:0;flex-shrink:0;color:var(--text2);margin-top:2px}
.dval{color:var(--text);font-weight:500}
.dlbl{font-size:11px;color:var(--text2)}
.hdmodal{background:var(--bg);border-radius:var(--rl2);border:1px solid var(--border);width:min(96vw,1100px);height:min(92vh,900px);overflow:hidden;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;box-shadow:0 10px 32px rgba(0,0,0,.18)}
.hd-layout{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;min-height:0;overflow:hidden}
.hd-sol{width:270px;-webkit-flex-shrink:0;flex-shrink:0;border-right:1px solid var(--border);display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;background:var(--bg)}
.hd-sol-scroll{-webkit-flex:1;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.8rem 1.1rem}
.hd-sol-foot{padding:10px 12px 12px;border-top:1px solid var(--border);-webkit-flex-shrink:0;flex-shrink:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;gap:6px}
.hd-sag{-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.hd-sag .dis-sekme-bar{-webkit-flex-shrink:0;flex-shrink:0;margin-bottom:0;padding:0 1rem;position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:5}
.hd-hero{background:linear-gradient(150deg,var(--gl) 0%,#D5F0E6 65%,#C9EBDF 100%);padding:1.5rem 1.1rem 1.15rem;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;text-align:center;gap:8px;-webkit-flex-shrink:0;flex-shrink:0;border-bottom:1px solid rgba(8,80,65,.07);position:relative;overflow:hidden}
.hd-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5) 0%,transparent 70%);pointer-events:none}
.hd-av{width:84px;height:84px;border-radius:50%;background-color:var(--green);background-image:linear-gradient(135deg,var(--green),var(--gm));background-size:cover;background-position:center 30%;background-repeat:no-repeat;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;-webkit-flex-shrink:0;flex-shrink:0;cursor:pointer;position:relative;overflow:hidden;transition:.22s cubic-bezier(.4,0,.2,1);border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(8,80,65,.28),0 0 0 5px rgba(255,255,255,.35);z-index:1}
.hd-av:hover{transform:scale(1.05);box-shadow:0 10px 28px rgba(8,80,65,.35),0 0 0 5px rgba(255,255,255,.5)}
.hd-av.has-foto{color:transparent;background-color:transparent}
.hd-av-cam{position:absolute;inset:0;background:rgba(0,0,0,.5);border-radius:50%;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#fff;opacity:0;transition:.2s;pointer-events:none}
.hd-av:hover .hd-av-cam{opacity:1}
.hd-av-cam svg{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
/* Hasta modalindaki foto secim alani */
.h-foto-area{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg2);border-radius:10px;margin-bottom:14px;border:1px solid var(--border)}
.h-foto-prev{width:72px;height:72px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0;overflow:hidden;background-size:cover;background-position:center;border:3px solid var(--bg)}
.h-foto-btn{padding:8px 14px;font-size:12px;border-radius:8px;background:var(--green);color:#fff;border:none;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:.12s}
.h-foto-btn:hover{filter:brightness(1.1)}
.h-foto-clear{padding:7px 12px;font-size:11px;border-radius:8px;background:transparent;color:#DC2626;border:1px solid #FCA5A5;cursor:pointer;margin-left:6px;font-weight:600}
.h-foto-clear:hover{background:#FEE2E2}
.h-foto-info{font-size:10px;color:var(--text2);margin-top:6px}
.hd-info{min-width:0;width:100%;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;position:relative;z-index:1}
.hd-info h2{font-size:17px;font-weight:700;color:var(--gd);line-height:1.22;letter-spacing:-.2px;margin-top:4px}
.hd-info p{font-size:12px;color:var(--gm);margin-top:5px;font-weight:500;letter-spacing:.1px}
.hd-info > div{margin-top:6px !important}
.hd-info > div:empty{margin-top:0 !important}
.hdbody{padding:.9rem 1.25rem}
.hdsec{margin-bottom:1rem}
.hdst{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.hdgrid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}
.hdl{color:var(--text2)}
.hdv{color:var(--text);font-weight:500}
.hdbil-sec{margin-bottom:16px}
.hdbil-sec-hdr{display:flex;align-items:center;gap:7px;margin-bottom:10px;padding-bottom:7px;border-bottom:1.5px solid var(--border)}
.hdbil-sec-ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hdbil-sec-ttl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.6px}
.hdbil-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.hdbil-row:last-child{border-bottom:none}
.hdbil-row-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hdbil-row-body{flex:1;min-width:0}
.hdbil-row-lbl{font-size:10px;color:var(--text2);font-weight:600;margin-bottom:1px}
.hdbil-row-val{font-size:13px;color:var(--text);font-weight:500;line-height:1.3}
.hdbil-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.hdbil-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid}
.hdbil-alerji{background:#FEF2F2;border:1px solid #FECACA;border-radius:12px;padding:10px 12px;margin-bottom:8px}
.hdbil-not{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.hdbil-dr-kart{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg2);border-radius:12px;border:1px solid var(--border)}
.hdbil-dr-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.hdbil-dr-info{flex:1;min-width:0}
.hdbil-dr-name{font-size:13px;font-weight:700;color:var(--text)}
.hdbil-dr-lbl{font-size:10px;color:var(--text2);margin-top:1px}
.hdbil-bos{font-size:12px;color:var(--text2);padding:8px 0;font-style:italic}
.hd-apt-kart{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:8px;background:var(--bg);transition:.15s}
.hd-apt-kart:last-child{margin-bottom:0}
.hd-apt-bant{display:flex;align-items:stretch;min-height:72px}
.hd-apt-renk{width:4px;flex-shrink:0}
.hd-apt-tarih{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;min-width:58px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg2)}
.hd-apt-gun{font-size:22px;font-weight:800;color:var(--text);line-height:1}
.hd-apt-ay{font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.hd-apt-icerik{flex:1;padding:10px 12px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.hd-apt-islem{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-apt-meta{font-size:11px;color:var(--text2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hd-apt-sag{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:10px 12px;gap:6px;flex-shrink:0}
.hd-apt-durum{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;letter-spacing:.3px}
.hd-apt-bos{text-align:center;padding:32px 16px;color:var(--text2)}
.hd-apt-grup-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px;display:flex;align-items:center;gap:6px}
.hd-apt-grup-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
.apts-tbl{width:100%;border-collapse:collapse;font-size:12px}
.apts-tbl th{text-align:left;font-size:10px;font-weight:700;color:var(--text2);padding:4px 7px;border-bottom:1px solid var(--border)}
.apts-tbl td{padding:6px 7px;border-bottom:1px solid var(--border)}
.apts-tbl tr:last-child td{border-bottom:none}
.badge{display:inline-block;padding:1px 7px;border-radius:var(--r);font-size:10px;font-weight:700}
.badge.on{background:var(--gl);color:var(--gd)}
.badge.bk{background:var(--al);color:var(--ad)}
.badge.ip{background:var(--rl);color:var(--rd)}
.cnf-modal{background:var(--bg);border-radius:var(--rl2);border:1px solid var(--border);width:310px;max-width:96vw;overflow:hidden;box-shadow:0 10px 32px rgba(0,0,0,.18)}
.toast{position:fixed;bottom:20px;left:50%;-webkit-transform:translateX(-50%) translateY(20px);transform:translateX(-50%) translateY(20px);background:#1f2937;color:#fff;padding:10px 18px;border-radius:24px;font-size:13px;font-weight:500;opacity:0;-webkit-transition:.3s;transition:.3s;z-index:9999;pointer-events:none;max-width:88vw;text-align:center}
.toast.show{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}
.toast.ok{background:#085041}
.toast.err{background:#A32D2D}

/* MOBİL */
@media(min-width:769px){
  .mob-hbg,.bottom-nav{display:none!important}
}
@media(max-width:768px){
  body{overflow-x:hidden}
  .app{height:auto;min-height:100vh;padding-bottom:60px}
  .topbar{height:50px;padding:0 10px;-webkit-flex-shrink:0;flex-shrink:0}
  .logo-tx{font-size:15px}
  .sb-wrap{overflow:visible}
  .sidebar{position:fixed;top:50px;left:0;bottom:0;z-index:200;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .25s;transition:transform .25s;box-shadow:4px 0 20px rgba(0,0,0,.18);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:60px;width:272px}
  .sidebar.open{-webkit-transform:translateX(0);transform:translateX(0)}
  .mob-ovl{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.38);z-index:199}
  .mob-ovl.open{display:block}
  .mob-hbg{width:38px;height:38px;border-radius:50%;border:none;background:transparent;cursor:pointer;color:var(--text2);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-shrink:0;flex-shrink:0;-webkit-tap-highlight-color:transparent}
  .bottom-nav{display:-webkit-flex!important;display:flex!important;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--bg);border-top:1px solid var(--border);z-index:100;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-around;justify-content:space-around;padding:0 8px}
  .bnav{-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;gap:2px;border:none;background:transparent;cursor:pointer;font-size:10px;font-weight:500;color:var(--text2);min-height:44px;-webkit-tap-highlight-color:transparent;padding:4px 0}
  .bnav svg{width:21px;height:21px;stroke-width:1.5}
  .bnav.act{color:var(--green)}
  .bnav.act svg{stroke-width:2.2}
  .bnav.fab{-webkit-flex:none;flex:none;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;font-size:0;margin-bottom:1px;box-shadow:0 3px 12px rgba(37,99,235,.4)}
  .bnav.fab svg{width:24px;height:24px;stroke:#fff;stroke-width:2}
  .main{width:100%;overflow:visible}
  .vhdr{padding:10px 12px;height:auto;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:10px}
  .vhdr-nav{width:100%;-webkit-justify-content:space-between;justify-content:space-between;gap:8px}
  .vhdr-actions{width:100%;-webkit-justify-content:space-between;justify-content:space-between}
  .vhdr-title{font-size:16px;-webkit-order:0;order:0;-webkit-flex:1;flex:1;text-align:right}
  .tb-today{height:34px;padding:0 12px;font-size:12.5px}
  .tb-wa-txt{display:none}
  .tb-wa{padding:0 12px}
  .vt button{padding:6px 14px}
  .cal{overflow:auto;-webkit-overflow-scrolling:touch}
  .wh-g,.tg{width:38px}
  .tlbl{height:50px;font-size:8px;padding-right:4px}
  .hl{height:50px}
  .whd .num{font-size:16px;width:30px;height:30px}
  .whd .dow{font-size:9px}
  .ab{font-size:9px;padding:2px 4px}
  .mcell{min-height:50px;padding:2px}
  .mnum{font-size:10px;width:20px;height:20px}
  .mapt{font-size:8px}
  .month-dow{font-size:9px;padding:4px 2px}
  .hp{padding:.8rem}
  .hsearch{max-width:none}
  .hgrid{grid-template-columns:1fr;gap:9px}
  .fr{grid-template-columns:1fr}
  .ovl{-webkit-align-items:flex-end;align-items:flex-end}
  .modal,.hdmodal,.dtmodal,.cnf-modal{width:100%!important;max-width:100%!important;border-radius:18px 18px 0 0}
  .hdmodal{height:95vh!important}
  .hd-layout{-webkit-flex-direction:column;flex-direction:column}
  .hd-sol{width:100%!important;border-right:none;border-bottom:1px solid var(--border);max-height:none;-webkit-flex-shrink:0;flex-shrink:0}
  .hd-sag{overflow-y:auto;overflow:visible;min-height:300px}
  .modal:before,.hdmodal:before,.dtmodal:before,.cnf-modal:before{content:'';display:block;width:34px;height:4px;border-radius:2px;background:var(--border2);margin:10px auto 0}
  .mbody{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .btn{padding:10px 14px;font-size:13px;min-height:44px}
  .ichip{padding:6px 12px;font-size:12px;min-height:36px}
  .mfoot{padding:8px 14px 14px}
  /* login screen mobile */
  #login-screen{padding:1rem 1rem 2rem}
  #login-screen>div{max-width:100%!important;padding:1.5rem 1.25rem!important;box-sizing:border-box!important}
  /* ayarlar grid */
  .ay-grid{grid-template-columns:1fr}
  /* odeme wrap min-width fix */
  .op-wrap{min-width:0}
  /* odeme tablo kolon gizleme: Tarih(3), Doktor(4), Kalan(7), Taksit(8) */
  .op-tbl th:nth-child(3),.op-tbl td:nth-child(3),.op-tbl th:nth-child(4),.op-tbl td:nth-child(4),.op-tbl th:nth-child(7),.op-tbl td:nth-child(7),.op-tbl th:nth-child(8),.op-tbl td:nth-child(8){display:none}
  /* Odeme ozet kartlar 2 kolon */
  .op-ozet{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
  .logo-tx b{display:none}
  .whd .num{font-size:14px;width:26px;height:26px}
}

/* DOKTOR SEKMELERİ */
.dr-bar{display:flex;align-items:center;gap:6px;padding:7px 14px;border-bottom:1px solid var(--border);background:var(--bg);overflow-x:auto;scrollbar-width:none;flex-shrink:0}
.dr-bar::-webkit-scrollbar{display:none}
.dr-tab{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1.5px solid transparent;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;transition:.15s;flex-shrink:0}
.dr-tab.act{border-color:currentColor}
.dr-tab-all{background:var(--bg3);color:var(--text2);border:1.5px solid var(--border2)}
.dr-tab-all.act{background:var(--text);color:#fff;border-color:var(--text)}
.dr-tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dr-add-btn{width:28px;height:28px;border-radius:50%;border:1.5px dashed var(--border2);background:transparent;cursor:pointer;font-size:18px;color:var(--text3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dr-add-btn:hover{border-color:var(--green);color:var(--green)}
.dr-renk-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:4px}
.dr-renk-opt{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.dr-renk-opt.sel{box-shadow:0 0 0 2px var(--text)}
/* ÖDEME */
.op-wrap{padding:1.2rem;overflow-y:auto;flex:1}
.op-ozet{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem}
.op-kart{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.4rem;position:relative;overflow:hidden}
.op-kart::before{content:'';position:absolute;bottom:-8px;right:-8px;width:56px;height:56px;border-radius:50%;opacity:.04;background:currentColor}
.op-kart-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.op-kart-val{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1}
.op-kart-val.g{color:var(--gm)}.op-kart-val.r{color:#E24B4A}.op-kart-val.a{color:#BA7517}

/* HASTA AUTOCOMPLETE */
.r-hasta-wrap{position:relative}
.r-hasta-ara{width:100%;height:40px;border:1.5px solid var(--border2);border-radius:var(--r);padding:0 12px;font-size:13px;background:var(--bg);color:var(--text);outline:none;font-family:inherit;box-sizing:border-box;-webkit-appearance:none}
.r-hasta-ara:focus{border-color:var(--green)}
.r-hasta-liste{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--bg);border:1.5px solid var(--border2);border-radius:var(--r);z-index:500;max-height:240px;overflow-y:auto;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.r-hasta-son-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 4px}
.r-hasta-item{padding:9px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--border)}
.r-hasta-item:last-child{border-bottom:none}
.r-hasta-item:hover,.r-hasta-item:active{background:var(--bg2)}
.r-hasta-item-ad{font-weight:500;color:var(--text)}
.r-hasta-item-meta{font-size:11px;color:var(--text2)}
.op-tbl{width:100%;border-collapse:collapse;font-size:13px}
.op-tbl th{text-align:left;font-size:10px;font-weight:700;color:var(--text2);padding:6px 10px;border-bottom:2px solid var(--border);white-space:nowrap}
.op-tbl td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.op-tbl tr:last-child td{border-bottom:none}
.op-tbl tr:hover td{background:var(--bg2)}
.op-tbl tr.tr-gecikti td{background:#FEF2F2}
.op-tbl tr.tr-gecikti:hover td{background:#FEE2E2}

/* BORÇLU YATAY SCROLL */
.borclu-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:10px 12px 12px;gap:8px;scrollbar-width:none}
.borclu-scroll::-webkit-scrollbar{display:none}
.borclu-kart{flex:0 0 calc(12.5% - 7px);scroll-snap-align:start;border-radius:10px;border:1px solid var(--border);background:var(--bg2);padding:10px 12px;cursor:pointer;transition:.12s;min-width:110px;display:flex;flex-direction:column;justify-content:space-between}
.borclu-kart:hover{background:var(--bg3);transform:translateY(-1px)}
.borclu-kart.gecikti{border-color:#FCA5A5;background:#FFF5F5}
.borclu-kart-ad{font-weight:600;font-size:12px;color:var(--text);word-break:break-word;line-height:1.3}
.borclu-kart-uyari{font-size:10px;color:#DC2626;font-weight:500;margin-top:4px}
.borclu-kart-borc{font-size:15px;font-weight:700;color:#B45309;margin-top:8px;letter-spacing:-.3px}
.borclu-kart.gecikti .borclu-kart-borc{color:#DC2626}
@media(max-width:768px){.borclu-kart{flex:0 0 calc(50% - 6px)}}
.borclu-row-gecikti{background:#FFF5F5}
.op-ara{display:flex;align-items:center;gap:8px;margin-bottom:1rem;flex-wrap:wrap}
.op-badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:10px;font-weight:700}
.op-badge.od{background:var(--gl);color:var(--gd)}
.op-badge.bk{background:var(--al);color:var(--ad)}
.op-badge.ks{background:#E6F1FB;color:#0C447C}
.op-dr-kart{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:.75rem 1rem;cursor:pointer;transition:.15s;border-left:4px solid #ccc}
.op-dr-kart:hover,.op-dr-kart.act{background:var(--bg2)}
.op-dr-kart-ad{font-size:12px;font-weight:700;margin-bottom:5px}
.op-dr-kart-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:2px}
.op-dr-kart-lbl{color:var(--text2)}
/* TAKSİT */
.taksit-row{background:var(--bg2);border-radius:var(--r);padding:8px 10px;margin-top:6px;font-size:12px}
.taksit-satir{display:flex;align-items:center;gap:8px;padding:5px 2px;border-bottom:1px solid var(--border)}
.taksit-satir:last-child{border-bottom:none}
.taksit-no{font-weight:600;min-width:24px}
.taksit-tarih{color:var(--text2)}
.taksit-tutar{font-weight:600}
.taksit-odendi{color:var(--gm);font-size:10px;font-weight:700}
.taksit-gecikti{color:#E24B4A;font-size:10px;font-weight:700}
.taksit-bekliyor{color:#BA7517;font-size:10px}
/* GECİKME */
.gecikme-banner{background:linear-gradient(135deg,#FEF2F2 0%,#FFF5F5 100%);border:1px solid #FECACA;border-left:4px solid #DC2626;border-radius:14px;padding:14px 16px;margin-bottom:1rem;display:none;box-shadow:0 1px 3px rgba(220,38,38,.08)}
.gecikme-banner.goster{display:block}
.gecikme-banner-bas{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.gecikme-bas-sol{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#991B1B;letter-spacing:.3px;text-transform:uppercase}
.gecikme-bas-ozet{display:flex;gap:8px;align-items:center;font-size:11px}
.gecikme-bas-chip{background:#fff;border:1px solid #FCA5A5;color:#991B1B;padding:3px 10px;border-radius:20px;font-weight:600}
.gecikme-bas-tutar{color:#DC2626;font-weight:700;font-size:14px;letter-spacing:-.2px}
.gecikme-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.gecikme-scroll::-webkit-scrollbar{display:none}
.gecikme-kart{flex:0 0 calc(20% - 7px);scroll-snap-align:start;background:#fff;border:1px solid #FCA5A5;border-radius:10px;padding:10px 12px;cursor:pointer;transition:.15s;min-width:140px;display:flex;flex-direction:column;gap:4px}
.gecikme-kart:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(220,38,38,.2);border-color:#DC2626}
.gecikme-kart.kritik{background:#FEE2E2;border-color:#DC2626}
.gecikme-kart-ust{display:flex;align-items:center;justify-content:space-between;gap:6px}
.gecikme-kart-ad{font-size:12px;font-weight:700;color:#1f2937;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.gecikme-kart-gun{display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;color:#fff;background:#DC2626;padding:2px 7px;border-radius:10px;white-space:nowrap;flex-shrink:0}
.gecikme-kart.kritik .gecikme-kart-gun{background:#7F1D1D}
.gecikme-kart-taksit{font-size:10.5px;color:#6B7280;font-weight:500;margin-top:1px}
.gecikme-kart-tutar{font-size:15px;font-weight:700;color:#991B1B;margin-top:4px;letter-spacing:-.3px}
.gecikme-kart.kritik .gecikme-kart-tutar{color:#7F1D1D}
@media(max-width:768px){.gecikme-kart{flex:0 0 calc(60% - 4px);min-width:0}.gecikme-banner-bas{flex-direction:column;align-items:flex-start}}
/* YAKLAŞAN TAKSİTLER (info / mavi) */
.yaklasan-banner{background:linear-gradient(135deg,#EFF6FF 0%,#F5F9FF 100%);border:1px solid #BFDBFE;border-left:4px solid #2563EB;border-radius:14px;padding:14px 16px;margin-bottom:1rem;display:none;box-shadow:0 1px 3px rgba(37,99,235,.08)}
.yaklasan-banner.goster{display:block}
.yaklasan-bas-sol{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1E40AF;letter-spacing:.3px;text-transform:uppercase}
.yaklasan-bas-chip{background:#fff;border:1px solid #93C5FD;color:#1E40AF;padding:3px 10px;border-radius:20px;font-weight:600}
.yaklasan-bas-tutar{color:#2563EB;font-weight:700;font-size:14px;letter-spacing:-.2px}
.yaklasan-kart{flex:0 0 calc(20% - 7px);scroll-snap-align:start;background:#fff;border:1px solid #BFDBFE;border-radius:10px;padding:10px 12px;cursor:pointer;transition:.15s;min-width:140px;display:flex;flex-direction:column;gap:4px}
.yaklasan-kart:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(37,99,235,.2);border-color:#2563EB}
.yaklasan-kart-gun{display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;color:#fff;background:#2563EB;padding:2px 7px;border-radius:10px;white-space:nowrap;flex-shrink:0}
.yaklasan-kart-tutar{font-size:15px;font-weight:700;color:#1E40AF;margin-top:4px;letter-spacing:-.3px}
@media(max-width:768px){.yaklasan-kart{flex:0 0 calc(60% - 4px);min-width:0}}
/* ÖNCEKİ AY */
.op-onceki-kart{background:#FEF3C7;border:1px solid #F59E0B;border-radius:var(--rl2);padding:.75rem 1rem;margin-bottom:.75rem;display:none}
.op-onceki-kart.goster{display:flex;align-items:center;justify-content:space-between}
/* BORÇLU */
.borçlu-wrap{background:var(--bg);border:1px solid var(--border);border-radius:14px;margin-bottom:1.25rem;display:none;overflow:hidden}
.borçlu-wrap.goster{display:block}
.borçlu-bas{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.7px;padding:12px 16px 8px;display:flex;align-items:center;gap:6px}
.borçlu-satir{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--border);cursor:pointer;transition:.12s}
.borçlu-satir:hover{background:var(--bg2)}
.borçlu-satir:last-child{border-bottom:none}
/* GÜNLÜK CİRO */
.gunluk-ciro-kart{display:none;margin-bottom:1.25rem}
.gunluk-ciro-kart.goster{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.gciro-main{background:var(--brand,#1a56db);border-radius:14px;padding:1.25rem 1.5rem;color:#fff;position:relative;overflow:hidden}
.gciro-main::before{content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.06)}
.gciro-main::after{content:'';position:absolute;bottom:-40px;right:20px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.04)}
.gciro-lbl{font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;opacity:.65;margin-bottom:.5rem}
.gciro-val{font-size:32px;font-weight:700;letter-spacing:-1px;line-height:1;margin-bottom:.4rem}
.gciro-sub{font-size:11px;opacity:.6}
.gciro-side{border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;justify-content:space-between}
.gciro-side.g{background:#E1F5EE;color:#085041}
.gciro-side.a{background:#FEF3C7;color:#92400E}
.gciro-side-lbl{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.65;margin-bottom:.4rem}
.gciro-side-val{font-size:20px;font-weight:700;letter-spacing:-.5px}
.gciro-side-sub{font-size:10px;opacity:.6;margin-top:.3rem}
/* LOGIN */
#login-screen{position:fixed;inset:0;background:#f4f6fb;display:flex;align-items:center;justify-content:center;z-index:9999}
/* op-tbl mobile rules merged into main @media block */

/* DİŞ ŞEMASI */
.dis-sekme-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1rem;overflow-x:auto}
.dis-sekme{padding:7px 14px;font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0}
.dis-sekme.act{color:#1a56db;border-bottom-color:#1a56db;font-weight:600}
.odontogram{background:var(--bg2);border-radius:var(--r);padding:10px 6px;margin-bottom:.75rem;overflow-x:auto}
.odo-wrap{min-width:520px}
.odo-label-row{display:flex;justify-content:center;gap:2px}
.odo-group-lbl{display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding-bottom:2px;border-bottom:2px solid currentColor}
.dis-row{display:flex;justify-content:center;gap:2px}
.dis-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:2px 1px;border-radius:5px;transition:.15s;position:relative}
.dis-item:hover{background:rgba(26,86,219,.09)}
.dis-item.secili{background:rgba(26,86,219,.15);outline:2px solid #1a56db;border-radius:5px}
.dis-no{font-size:8.5px;color:var(--text2);font-weight:700;line-height:1.1;text-align:center}
.dis-svg{display:block}
.dis-durum-dot{position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;border:1px solid #fff}
.odo-gum{height:10px;background:linear-gradient(to bottom,#F9A8B8,#F472B6);border-radius:4px;margin:1px 0;position:relative;flex-shrink:0}
.odo-gum-row{display:flex;justify-content:center;padding:0 4px;margin:2px 0}
.tedavi-liste{max-height:none;overflow-y:visible}
.tedavi-satir{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r);font-size:12px;border:1px solid var(--border);margin-bottom:5px}
.tedavi-satir-no{width:22px;height:22px;border-radius:50%;background:#1a56db;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tedavi-satir-islem{flex:1;font-weight:500}
.tedavi-satir-tarih{font-size:10px;color:var(--text2)}
.tedavi-satir-dur{font-size:10px;padding:1px 6px;border-radius:10px;font-weight:600}
.tedavi-satir-dur.tp{background:#E1F5EE;color:#085041}
.tedavi-satir-dur.pl{background:#EEF2FF;color:#3730A3}
.tedavi-satir-sil{width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:var(--text2);font-size:13px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0}
.tedavi-satir-sil:hover{background:var(--rl);color:var(--rd)}

/* ── HASTA DETAY NAV REDESIGN ─────────────────────────── */
.hd-nav{-webkit-flex:1;flex:1;overflow-y:auto;padding:6px 8px}
.hd-nav-item{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text2);transition:.12s;margin-bottom:1px;-webkit-tap-highlight-color:transparent}
.hd-nav-item:hover{background:var(--bg2);color:var(--text)}
.hd-nav-item.act{background:#EEF2FF;color:#1D4ED8;font-weight:600}
.hd-nav-icon{width:17px;height:17px;-webkit-flex-shrink:0;flex-shrink:0;opacity:.65}
.hd-nav-item.act .hd-nav-icon{opacity:1}
.hd-not-box{margin:0 8px 10px;background:var(--bg2);border-radius:10px;padding:10px 12px;-webkit-flex-shrink:0;flex-shrink:0}
.hd-not-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}


/* TEDAVİ PLANI - WORKFLOW PİPELİNE */
.tp-wrap{padding:14px 16px;border-top:1px solid var(--border);background:var(--bg2)}
.tp-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px;flex-wrap:wrap}
.tp-hdr-sol{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--text)}
.tp-hdr-btns{display:flex;gap:6px;flex-wrap:wrap}
.tp-hdr-ozet{display:flex;gap:8px;align-items:center;font-size:11px}
.tp-chip{background:var(--bg);border:1px solid var(--border2);color:var(--text2);padding:3px 9px;border-radius:20px;font-weight:600}
.tp-chip-yapildi{background:#DCFCE7;border-color:#86EFAC;color:#166534}
.tp-progress{flex:1;height:5px;background:var(--border);border-radius:10px;overflow:hidden;min-width:60px;max-width:130px}
.tp-progress-fill{height:100%;background:linear-gradient(90deg,#10B981,#059669);transition:.3s;border-radius:10px}
.tp-liste{display:flex;flex-direction:column;gap:8px}
.tp-bos{padding:22px 14px;text-align:center;font-size:12px;color:var(--text2);border:1.5px dashed var(--border2);border-radius:10px;line-height:1.7}
/* GRUP KARTI */
.tpg-kart{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.tpg-hdr{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}
.tpg-renk-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.tpg-isim{font-size:12px;font-weight:700;color:var(--text);flex:1;min-width:0}
.tpg-istatistik{font-size:10px;color:var(--text2);white-space:nowrap}
.tpg-progress{width:60px;height:4px;background:var(--border);border-radius:10px;overflow:hidden;flex-shrink:0}
.tpg-progress-fill{height:100%;border-radius:10px;transition:.3s}
.tpg-aks{display:flex;gap:3px;flex-shrink:0}
/* PİPELİNE */
.tpg-pipeline{padding:14px 12px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tpg-pipeline-row{display:flex;align-items:flex-start;min-width:max-content}
.tp-asama{display:flex;flex-direction:column;align-items:center;width:92px;cursor:pointer}
.tp-asama-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2.5px solid;transition:.2s;flex-shrink:0;user-select:none}
.tp-asama.beklemede .tp-asama-dot{background:var(--bg2);border-color:var(--border2);color:var(--text2)}
.tp-asama.yapildi .tp-asama-dot{background:#10B981;border-color:#059669;color:#fff}
.tp-asama.aktif .tp-asama-dot{background:#EFF6FF;border-color:#3B82F6;color:#1D4ED8;box-shadow:0 0 0 4px rgba(59,130,246,.14)}
.tp-asama-isim{font-size:9.5px;font-weight:700;color:var(--text);text-align:center;line-height:1.3;margin-top:5px;max-width:84px;word-break:break-word}
.tp-asama.yapildi .tp-asama-isim{color:var(--text2)}
.tp-asama-sub{font-size:9px;color:var(--text2);text-align:center;margin-top:1px}
.tp-asama-tutar{font-size:9px;font-weight:700;color:#B45309;text-align:center;margin-top:1px}
.tp-asama.yapildi .tp-asama-tutar{color:#166534}
.tp-asama-btns{display:flex;gap:2px;margin-top:5px;justify-content:center;flex-wrap:wrap}
/* CONNECTOR */
.tp-connector{height:2.5px;min-width:16px;flex:1;margin-top:17px;border-radius:2px;flex-shrink:0;background:var(--border);transition:.4s}
.tp-connector.yapildi{background:linear-gradient(90deg,#10B981,#34D399)}
/* TEK ADIM (grubsuz) */
.tp-solo-liste{display:flex;flex-direction:column;gap:5px}
.tp-solo-hdr{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;padding:4px 2px 4px;display:flex;align-items:center;gap:5px}
.tp-solo-item{display:flex;align-items:center;gap:9px;padding:8px 11px;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--border2);border-radius:8px;transition:.15s}
.tp-solo-item:hover{background:var(--bg3,var(--bg2));border-left-color:#3B82F6}
.tp-solo-item.yapildi{opacity:.6;border-left-color:#10B981}
.tp-solo-sira{width:22px;height:22px;border-radius:50%;background:var(--bg2);color:var(--text2);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border2)}
.tp-solo-item.yapildi .tp-solo-sira{background:#10B981;color:#fff;border-color:#10B981}
.tp-solo-icerik{flex:1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.tp-solo-dis{background:#EFF6FF;color:#1E40AF;font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px;border:1px solid #BFDBFE;white-space:nowrap}
.tp-solo-islem{font-size:12px;font-weight:600;color:var(--text)}
.tp-solo-item.yapildi .tp-solo-islem{text-decoration:line-through;color:var(--text2)}
.tp-solo-tutar{font-size:12px;font-weight:700;color:#B45309;margin-left:auto;white-space:nowrap}
.tp-solo-item.yapildi .tp-solo-tutar{color:#166534}
.tp-solo-not{font-size:10px;color:var(--text2);width:100%;margin-top:1px}
.tp-solo-aks{display:flex;gap:3px;flex-shrink:0}
/* ACTION BUTTONS */
.tp-akbtn{width:26px;height:26px;border:1px solid var(--border2);background:var(--bg);border-radius:6px;cursor:pointer;color:var(--text2);display:flex;align-items:center;justify-content:center;transition:.12s;padding:0;-webkit-tap-highlight-color:transparent}
.tp-akbtn:hover{background:var(--bg3,var(--bg2));color:var(--text);border-color:var(--text2)}
.tp-akbtn-yp{background:#DCFCE7!important;border-color:#86EFAC!important;color:#15803D!important}
.tp-akbtn-yp:hover{background:#BBF7D0!important;color:#166534!important}
.tp-akbtn-yorum{background:#FEF3C7!important;border-color:#FCD34D!important;color:#B45309!important}
.tp-akbtn-yorum:hover{background:#FDE68A!important;color:#92400E!important}
.tp-akbtn-sil:hover{background:#FEE2E2!important;border-color:#FCA5A5!important;color:#B91C1C!important}
.tp-akbtn svg{width:13px;height:13px}
/* GRUP RENK SEÇİCİ */
.tpg-renk-sec{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
.tpg-renk-opt{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:.15s}
.tpg-renk-opt.secili,.tpg-renk-opt:hover{border-color:var(--text)!important;transform:scale(1.18)}
/* DARK MODE */
html[data-theme="dark"] .tp-solo-dis{background:rgba(30,64,175,.25)!important;color:#93C5FD!important;border-color:#1E40AF!important}
html[data-theme="dark"] .tp-asama.aktif .tp-asama-dot{background:rgba(37,99,235,.22)!important}
html[data-theme="dark"] .tp-akbtn-yp{background:rgba(22,101,52,.3)!important;color:#86EFAC!important;border-color:#166534!important}
html[data-theme="dark"] .tp-akbtn-yorum{background:rgba(180,83,9,.25)!important;color:#FCD34D!important;border-color:#B45309!important}
/* ANLAŞMALI KURUM / İNDİRİM */
.indirim-badge{display:inline-flex;align-items:center;gap:3px;background:#DCFCE7;border:1px solid #86EFAC;color:#166534;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.op-kurum-bilgi{display:none;align-items:center;gap:8px;padding:8px 12px;background:#F0FDF4;border:1px solid #86EFAC;border-radius:8px;margin-top:6px;margin-bottom:2px}
.op-indirim-satir{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:3px 0}
.op-indirim-box{background:#F0FDF4;border:1px solid #86EFAC;border-radius:8px;padding:8px 12px;margin-top:8px;display:none}
.kurum-satir{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;transition:.15s}
.kurum-satir:hover{background:var(--bg3,var(--bg2))}
.kurum-isim{font-size:12px;font-weight:700;color:var(--text);flex:1}
.kurum-not{font-size:10px;color:var(--text2);margin-top:1px}
html[data-theme="dark"] .op-kurum-bilgi{background:rgba(22,101,52,.15)!important;border-color:#166534!important}
html[data-theme="dark"] .op-indirim-box{background:rgba(22,101,52,.12)!important;border-color:#166534!important}
html[data-theme="dark"] .indirim-badge{background:rgba(22,101,52,.3)!important;color:#86EFAC!important;border-color:#166534!important}
/* HASTA HIZLI İLETİŞİM */
.hd-iletisim{display:flex;gap:9px;margin-top:14px !important;width:100%;justify-content:center;box-sizing:border-box}
.hd-iletisim a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;text-decoration:none;border:1px solid;transition:.2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;flex:none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.hd-iletisim a:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.hd-iletisim a:active{transform:translateY(0) scale(.98)}
.hd-iletisim a svg{width:16px;height:16px;flex-shrink:0}
.hd-il-tel{background:#EFF6FF;color:#1E40AF;border-color:#BFDBFE}
.hd-il-wa{background:#DCFCE7;color:#15803D;border-color:#86EFAC}
.hd-il-sms{background:#FEF3C7;color:#92400E;border-color:#FCD34D}
.hd-il-mail{background:#F3F4F6;color:#374151;border-color:#D1D5DB}
html[data-theme="dark"] .hd-il-tel{background:rgba(30,64,175,.25)!important;color:#93C5FD!important;border-color:#1E40AF!important}
html[data-theme="dark"] .hd-il-wa{background:rgba(22,101,52,.25)!important;color:#86EFAC!important;border-color:#166534!important}
html[data-theme="dark"] .hd-il-sms{background:rgba(146,64,14,.25)!important;color:#FCD34D!important;border-color:#92400E!important}
html[data-theme="dark"] .hd-il-mail{background:var(--bg2)!important;color:var(--text)!important;border-color:var(--border)!important}
.hd-not-edit{border:none;background:transparent;cursor:pointer;padding:2px;border-radius:4px;color:var(--text2);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.hd-not-edit:hover{background:var(--border)}
.hd-not-txt{font-size:11px;color:var(--text);line-height:1.6;word-break:break-word}
.hd-not-bos{font-size:11px;color:var(--text2);font-style:italic}
/* Dis chart 2-column body */
.hd-dis-body{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;min-height:0;overflow:hidden}
.hd-dis-center{-webkit-flex:1;flex:1;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.9rem 1rem}
.hd-dis-sag{width:252px;-webkit-flex-shrink:0;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.9rem 1rem}
/* Cene filter tabs */
.hd-cene-bar{display:-webkit-flex;display:flex;gap:3px;margin-bottom:10px;background:var(--bg2);border-radius:10px;padding:3px}
.hd-cene-tab{-webkit-flex:1;flex:1;padding:6px 8px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;border:none;color:var(--text2);background:transparent;transition:.12s;text-align:center;white-space:nowrap}
.hd-cene-tab.act{background:var(--bg);color:#1a56db;box-shadow:0 1px 4px rgba(0,0,0,.1)}
/* Tooth condition legend */
.hd-dis-legend{display:-webkit-flex;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.hd-dis-leg-item{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:4px;font-size:10px;color:var(--text2);font-weight:500}
.hd-dis-leg-dot{width:7px;height:7px;border-radius:50%;-webkit-flex-shrink:0;flex-shrink:0}
/* Selected tooth right panel */
.hd-det-head{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:12px}
.hd-det-num{font-size:30px;font-weight:700;color:var(--text);line-height:1}
.hd-det-pos{font-size:11px;color:var(--text2);margin:3px 0 14px}
.hd-det-row{margin-bottom:10px}
.hd-det-lbl{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.hd-det-val{font-size:12px;color:var(--text);font-weight:500}
.hd-det-durum{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:6px}
.hd-det-ddot{width:9px;height:9px;border-radius:50%;-webkit-flex-shrink:0;flex-shrink:0}
.hd-gecmis-sep{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:8px}
.hd-gecmis-row{display:-webkit-flex;display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}
.hd-gecmis-row:last-child{border-bottom:none}
.hd-gecmis-tarih{font-size:10px;color:var(--text2);white-space:nowrap;min-width:72px}
.hd-gecmis-islem{font-size:11px;font-weight:600}
.hd-gecmis-dr{font-size:10px;color:var(--text2);margin-top:1px}
@media(max-width:768px){.hd-dis-sag{display:none!important}.hd-dis-body{flex-direction:column;min-height:210px;flex:none!important}.hd-dis-center{overflow-y:visible}#hd-pan-dis{overflow:visible!important}}

/* ── RÖNTGEN GALERİ ──────────────────────────────────────── */
.rx-wrap{padding:1rem;overflow-y:auto;flex:1}
.rx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin-top:12px}
.rx-kart{background:var(--bg2);border-radius:10px;overflow:hidden;cursor:pointer;transition:.14s;border:2px solid transparent;position:relative}
.rx-kart:hover{border-color:#3b82f6;box-shadow:0 3px 12px rgba(59,130,246,.18)}
.rx-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;background:#0f172a;display:block}
.rx-thumb-ph{width:100%;aspect-ratio:4/3;background:#0f172a;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}
.rx-kart-info{padding:7px 10px 9px}
.rx-kart-tip{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.45px}
.rx-kart-tarih{font-size:12px;color:var(--text);font-weight:500;margin-top:2px}
.rx-kart-dis{font-size:10px;color:#3b82f6;margin-top:2px;font-weight:600}
.rx-kart-not{font-size:10px;color:var(--text2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.rx-bos{text-align:center;padding:3.5rem 1rem;color:var(--text2)}
.rx-bos-txt{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text)}
.rx-bos-sub{font-size:12px}
/* Lightbox */
.rx-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:9999;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;flex-direction:column}
.rx-lb.open{display:-webkit-flex;display:flex}
.rx-lb-img{max-width:90vw;max-height:78vh;border-radius:6px;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.6)}
.rx-lb-bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:12px;padding:14px 20px;width:100%;max-width:920px;-webkit-flex-shrink:0;flex-shrink:0}
.rx-lb-meta{-webkit-flex:1;flex:1}
.rx-lb-tip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:3px}
.rx-lb-adi{font-size:14px;font-weight:600;color:#f1f5f9}
.rx-lb-sub{font-size:11px;color:#94a3b8;margin-top:2px}
.rx-lb-close{width:38px;height:38px;border:none;background:rgba(255,255,255,.1);border-radius:50%;color:#fff;font-size:20px;cursor:pointer;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-shrink:0;flex-shrink:0}
.rx-lb-close:hover{background:rgba(255,255,255,.2)}
.rx-lb-sil{font-size:11px;border:1px solid rgba(239,68,68,.45);background:transparent;color:#f87171;border-radius:6px;padding:6px 12px;cursor:pointer;font-weight:600;-webkit-flex-shrink:0;flex-shrink:0}
.rx-lb-sil:hover{background:rgba(239,68,68,.15)}
/* Upload form */
.rx-drop{border:2px dashed var(--border2);border-radius:10px;padding:1.5rem;text-align:center;cursor:pointer;transition:.14s;position:relative;background:var(--bg2)}
.rx-drop:hover,.rx-drop.drag{border-color:#3b82f6;background:#EFF6FF}
.rx-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.rx-pre{max-width:100%;max-height:150px;border-radius:6px;margin-top:10px;display:none;border:1px solid var(--border)}
@media(max-width:768px){.rx-grid{grid-template-columns:repeat(2,1fr)}}

/* HASTA DETAY PANEL (ödeme sayfası) */
#op-hasta-panel{position:fixed;top:0;right:-440px;width:420px;height:100vh;background:#ffffff;box-shadow:-8px 0 32px rgba(0,0,0,.18);z-index:1000;display:flex;flex-direction:column;transition:right .28s cubic-bezier(.4,0,.2,1);overflow:hidden}
#op-hasta-panel.ac{right:0}
.op-hp-ovl{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:999;display:none}
.op-hp-ovl.ac{display:block}
.op-hp-hdr{padding:1rem 1.25rem;border-bottom:1px solid #e2e6f0;display:flex;align-items:center;gap:10px;flex-shrink:0;background:#ffffff}
.op-hp-av{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-size:cover;background-position:center;overflow:hidden}
.op-hp-av.has-foto{color:transparent;background-color:transparent}
.op-hp-ad{font-size:15px;font-weight:700;color:var(--text)}
.op-hp-meta{font-size:11px;color:var(--text2);margin-top:1px}
.op-hp-kapat{margin-left:auto;width:30px;height:30px;border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--text2);border-radius:50%;display:flex;align-items:center;justify-content:center}
.op-hp-kapat:hover{background:var(--bg2)}
.op-hp-body{flex:1;overflow-y:auto;padding:1rem 1.25rem;background:#ffffff}
.op-hp-sekme-bar{display:flex;gap:0;border-bottom:1px solid #e2e6f0;margin-bottom:1rem;background:#ffffff;padding:0 1.25rem;flex-shrink:0}
.op-hp-sekme{padding:7px 14px;font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.op-hp-sekme.act{color:#1a56db;border-bottom-color:#1a56db;font-weight:600}
.op-hp-ozet{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1rem}
.op-hp-kart{background:var(--bg2);border-radius:var(--r);padding:8px 10px;text-align:center}
.op-hp-kart-lbl{font-size:10px;color:var(--text2);margin-bottom:3px}
.op-hp-kart-val{font-size:15px;font-weight:700}
@media(max-width:480px){#op-hasta-panel{width:100vw;right:-100vw}}

.op-kart.green-kart{border-left:4px solid #1D9E75}
.op-kart.red-kart{border-left:4px solid #E24B4A}
.op-kart.amber-kart{border-left:4px solid #F59E0B}

/* BELGELER */
.belge-modal-wrap{display:flex;gap:0;height:100%;max-height:80vh}
.belge-sol{width:200px;flex-shrink:0;border-right:1px solid var(--border);padding:12px 0;overflow-y:auto}
.belge-sol-btn{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text2);border:none;background:transparent;width:100%;text-align:left;transition:.12s;border-left:3px solid transparent}
.belge-sol-btn:hover{background:var(--bg2);color:var(--text)}
.belge-sol-btn.act{background:var(--brand-light);color:var(--brand);border-left-color:var(--brand);font-weight:600}
.belge-sag{flex:1;overflow-y:auto;padding:1.25rem}
.belge-preview{background:#fff;border:1px solid var(--border);border-radius:8px;padding:2rem;font-size:13px;line-height:1.7;color:#1a1d2e;min-height:400px}
.belge-preview h2{font-size:16px;font-weight:700;text-align:center;margin-bottom:.25rem}
.belge-preview h3{font-size:14px;font-weight:700;margin:1rem 0 .4rem;color:#1a1d2e}
.belge-preview p{margin:.4rem 0;color:#374151}
.belge-preview .imza-alan{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
.belge-preview .imza-kutu{text-align:center;padding-top:2rem;border-top:1px solid #d1d5db}
.belge-preview .imza-lbl{font-size:11px;color:#6b7280}
.belge-preview table.makbuz-tbl{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:12px}
.belge-preview .makbuz-tbl th{background:#f3f4f6;padding:6px 8px;border:1px solid #e5e7eb;font-size:11px;color:#374151}
.belge-preview .makbuz-tbl td{padding:6px 8px;border:1px solid #e5e7eb;color:#374151}
.belge-preview .makbuz-tbl tfoot td{background:#f9fafb}
html[data-theme="dark"] .belge-preview .makbuz-tbl th{background:#1f2433;color:#cbd5e1;border-color:#334155}
html[data-theme="dark"] .belge-preview .makbuz-tbl td{color:#cbd5e1;border-color:#334155}
html[data-theme="dark"] .belge-preview .makbuz-tbl tfoot td{background:#161b27}
.belge-editbox{width:100%;min-height:340px;border:1px solid var(--border2);border-radius:8px;padding:1rem;font-size:12px;line-height:1.7;font-family:inherit;outline:none;resize:vertical;color:var(--text);background:var(--bg)}
@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{position:fixed;inset:0;background:#fff;padding:2rem}}
/* VIP PUAN */
.vip-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px}
.vip-kart{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.vip-hasta-kart{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px}
.vip-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7C3AED);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;letter-spacing:-.5px}
.vip-badge{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid}
.vip-stat-lbl{font-size:12px;color:var(--text2);margin-bottom:6px;font-weight:500}
.vip-stat-num{font-size:30px;font-weight:800;color:var(--text);line-height:1}
.vip-bar{height:8px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:10px}
.vip-bar-fill{height:100%;border-radius:999px;transition:width .4s}
.vip-tbl{width:100%;border-collapse:collapse}
.vip-tbl th,.vip-tbl td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--border);font-size:13px}
.vip-tbl th{color:var(--text2);font-weight:700;background:var(--bg2);font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.vip-treatment-chip{display:inline-block;background:var(--bg2);border-radius:999px;padding:3px 8px;margin:2px;font-size:11px;color:var(--text2)}
.vip-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}
.vip-odul-satir{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);gap:10px}
.vip-odul-satir:last-child{border-bottom:0}
.vip-odul-puan{border-radius:8px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid}
.vip-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.vip-form input,.vip-form select{flex:1;min-width:100px;border:1px solid var(--border);border-radius:8px;padding:9px 10px;font-size:12px;background:var(--bg);color:var(--text)}
.vip-sec-title{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:7px;border-bottom:1.5px solid var(--border)}
@media(max-width:900px){.vip-grid{grid-template-columns:1fr}.vip-main-grid{grid-template-columns:1fr !important}}

/* VIP HASTA ARAMA */
.vip-ara-wrap{position:relative;min-width:230px}
.vip-ara-kutu{display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--border2);border-radius:10px;padding:7px 12px;cursor:text;transition:.15s}
.vip-ara-kutu:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.vip-ara-kutu input{border:none;outline:none;background:transparent;font-size:13px;color:var(--text);font-weight:500;width:100%;font-family:inherit}
.vip-ara-kutu input::placeholder{color:var(--text2);font-weight:400}
.vip-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;left:0;background:var(--bg);border:1.5px solid var(--border2);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.14);z-index:300;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.vip-dropdown.open{display:block}
.vip-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:.12s;border-bottom:1px solid var(--border)}
.vip-dropdown-item:last-child{border-bottom:none}
.vip-dropdown-item:hover{background:var(--bg2)}
.vip-dropdown-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;background-size:cover;background-position:center;overflow:hidden}
.vip-dropdown-info{flex:1;min-width:0}
.vip-dropdown-ad{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vip-dropdown-meta{font-size:10px;color:var(--text2);margin-top:2px}
.vip-dropdown-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.vip-secili-chip{display:none;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--green);border-radius:10px;padding:6px 10px;cursor:pointer;transition:.15s;min-width:200px}
.vip-secili-chip:hover{background:var(--gl)}
.vip-secili-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;background-size:cover;background-position:center;overflow:hidden}
.vip-secili-ad{font-size:13px;font-weight:600;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vip-secili-x{width:20px;height:20px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text2);flex-shrink:0;transition:.12s}
.vip-secili-x:hover{background:var(--rd);color:#fff}
html[data-theme="dark"] .vip-dropdown{background:var(--bg)!important;border-color:var(--border2)!important}
html[data-theme="dark"] .vip-secili-chip{background:var(--bg)!important;border-color:var(--green)!important}

/* ── STOK TAKİBİ ────────────────────────────────────── */
.stok-ozet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stok-ozet-kart{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.stok-ozet-lbl{font-size:10px;color:var(--text2);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.stok-ozet-val{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}

.stok-chip-bar{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}
.stok-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:.15s}
.stok-chip:hover{border-color:var(--green);color:var(--gd)}
.stok-chip.act{background:var(--green);color:#fff;border-color:var(--green)}
.stok-chip-say{font-size:10px;background:rgba(0,0,0,.08);padding:1px 6px;border-radius:10px;font-weight:700}
.stok-chip.act .stok-chip-say{background:rgba(255,255,255,.25);color:#fff}

.stok-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.stok-kart{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.stok-kart:hover{border-color:var(--green);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.stok-kart-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px}
.stok-kat-chip{font-size:10px;font-weight:700;color:#3730A3;background:#EEF2FF;border:1px solid #C7D2FE;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}
.stok-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
.stok-badge.ok{background:#E1F5EE;color:#085041;border:1px solid #A7DFC9}
.stok-badge.kr{background:#FEF3C7;color:#92400E;border:1px solid #FDE68A}
.stok-badge.tk{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA}
.stok-badge.sr{background:#FFF7ED;color:#9A3412;border:1px solid #FED7AA}
.stok-kart-ad{font-size:14px;font-weight:700;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.stok-mevcut-bar{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg2);border-radius:10px;padding:8px}
.stok-pm{width:32px;height:32px;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:18px;font-weight:700;cursor:pointer;color:#B91C1C;transition:.15s;display:flex;align-items:center;justify-content:center}
.stok-pm.pl{color:#0F6E56}
.stok-pm:hover{background:var(--green);color:#fff;border-color:var(--green);transform:scale(1.08)}
.stok-mevcut-blok{text-align:center;flex:1;min-width:60px}
.stok-mevcut-val{font-size:24px;font-weight:700;line-height:1;letter-spacing:-.5px}
.stok-mevcut-lbl{font-size:10px;color:var(--text2);margin-top:3px;font-weight:500}

.stok-kart-alt{font-size:11px;color:var(--text2);padding:6px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.5}
.stok-kart-aks{display:flex;gap:5px;flex-wrap:wrap}
.stok-btn{flex:1;min-width:0;font-size:11px;padding:5px 8px;background:var(--bg2);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text2);font-weight:600;transition:.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stok-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.stok-btn.dl{flex:0 0 auto;color:#B91C1C}
.stok-btn.dl:hover{background:#DC2626;color:#fff;border-color:#DC2626}

.stok-bos{text-align:center;padding:60px 20px;color:var(--text2)}

/* Hareket geçmişi satır */
.shg-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.shg-row:last-child{border-bottom:none}
.shg-ico{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.shg-body{flex:1;min-width:0}
.shg-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;font-size:13px}
.shg-tarih{font-size:11px;color:var(--text2);font-weight:500}
.shg-not{font-size:12px;color:var(--text);margin-bottom:2px}
.shg-kul{font-size:10px;color:var(--text2);font-style:italic}

/* Dark mode */
html[data-theme="dark"] .stok-kat-chip{background:rgba(79,70,229,.2);color:#A5B4FC;border-color:rgba(79,70,229,.4)}
html[data-theme="dark"] .stok-badge.ok{background:rgba(22,101,52,.25);color:#86EFAC;border-color:rgba(22,101,52,.5)}
html[data-theme="dark"] .stok-badge.kr{background:rgba(146,64,14,.25);color:#FCD34D;border-color:rgba(146,64,14,.5)}
html[data-theme="dark"] .stok-badge.tk{background:rgba(185,28,28,.25);color:#FCA5A5;border-color:rgba(185,28,28,.5)}
html[data-theme="dark"] .stok-badge.sr{background:rgba(154,52,18,.25);color:#FDBA74;border-color:rgba(154,52,18,.5)}

/* ═══ SAAS KATMANI ═══════════════════════════════════════ */
#saas-root{position:fixed;inset:0;z-index:5000;background:var(--bg2);display:none;flex-direction:column;overflow-y:auto}
.saas-sayfa{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2rem 1rem;min-height:100%}
.saas-kart{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:2rem 1.75rem;width:100%;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.saas-h2{font-size:20px;font-weight:700;color:var(--text);margin:14px 0 6px}
.saas-p{font-size:13px;color:var(--text2);line-height:1.5;margin:0 0 8px}
.saas-btn{height:44px;padding:0 22px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:.15s}
.saas-btn-primary{background:#2563eb;color:#fff}
.saas-btn-primary:hover{background:#1d4ed8}
.saas-btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border2)}
.saas-btn-danger{background:#DC2626;color:#fff}
.saas-btn-danger-ghost{background:transparent;color:#DC2626;border:1.5px solid #FCA5A5}
.saas-link-btn{background:none;border:none;color:var(--text2);font-size:12px;cursor:pointer;font-family:inherit;text-decoration:underline;padding:4px}
.saas-link-btn:hover{color:var(--text)}
.saas-fg{margin-bottom:12px}
.saas-fg label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:5px}
.saas-fg input,.saas-fg select,.saas-fg textarea{width:100%;height:42px;border:1.5px solid var(--border2);border-radius:9px;padding:0 12px;font-size:14px;box-sizing:border-box;outline:none;font-family:inherit;background:var(--bg);color:var(--text)}
.saas-fg textarea{height:auto;padding:10px 12px;resize:vertical}
.saas-fg input:focus,.saas-fg select:focus,.saas-fg textarea:focus{border-color:#2563eb}
.saas-err{background:#FEF2F2;border:1px solid #F09595;color:#B91C1C;font-size:12px;padding:9px 12px;border-radius:8px;margin:10px 0;line-height:1.4}
.saas-demo-not{display:inline-block;background:#FEF3C7;color:#92400E;font-size:11px;font-weight:700;padding:5px 12px;border-radius:16px;letter-spacing:.3px}
.saas-ozellik{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:3px}
.saas-ozellik b{font-size:13px;color:var(--text)}
.saas-ozellik span{font-size:11px;color:var(--text2)}
.saas-demo-hesap{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:1.5px solid var(--border);background:var(--bg);border-radius:10px;cursor:pointer;font-family:inherit;text-align:left;transition:.15s}
.saas-demo-hesap:hover{border-color:#2563eb;background:var(--bg2)}
.saas-rozet{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap}
.saas-bilgi-kutu{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:14px 0;text-align:left}
.saas-bilgi-kutu>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;font-size:12px}
.saas-bilgi-kutu>div span{color:var(--text2)}
.saas-bilgi-kutu>div b{color:var(--text);text-align:right}
.saas-destek{font-size:12px;color:var(--text2);margin-top:14px}
.saas-destek a{color:#1d4ed8}
.saas-kullanici-satir{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg2)}
.saas-kullanici-satir.pasif{opacity:.5}
/* Admin panel */
.saas-admin{width:100%;max-width:860px;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:14px}
.saas-admin-hdr{display:flex;justify-content:space-between;align-items:center}
.saas-admin-kartlar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.saas-adk{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}
.saas-adk b{font-size:24px;color:var(--text);display:block}
.saas-adk span{font-size:11px;color:var(--text2)}
.saas-admin-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:0}
.saas-admin-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;font-family:inherit}
.saas-admin-tabs button.act{color:#1d4ed8;border-bottom-color:#2563eb}
.saas-badge{display:inline-block;background:#EF4444;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;line-height:16px;border-radius:8px;padding:0 4px;text-align:center}
.saas-admin-icerik{background:var(--bg);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.saas-tablo{display:flex;flex-direction:column}
.saas-satir{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:.1s}
.saas-satir:last-child{border-bottom:none}
.saas-satir:hover{background:var(--bg2)}
.saas-satir b{font-size:13px;color:var(--text)}
/* Modal */
.saas-modal-ovl{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:6000;display:flex;align-items:center;justify-content:center;padding:1rem}
.saas-modal{background:var(--bg);border-radius:16px;padding:1.5rem;width:100%;max-width:440px;max-height:88vh;overflow-y:auto;box-shadow:0 8px 40px rgba(0,0,0,.25)}
/* Dark mode */
html[data-theme="dark"] .saas-err{background:#2d0c0c;border-color:#7f1d1d;color:#FCA5A5}
html[data-theme="dark"] .saas-demo-not{background:#2d1f09;color:#FCD34D}
html[data-theme="dark"] .saas-rozet{filter:brightness(1.15)}
html[data-theme="dark"] .saas-btn-danger-ghost{border-color:#7f1d1d;color:#FCA5A5}
/* Mobil */
@media(max-width:640px){
.saas-admin-kartlar{grid-template-columns:1fr 1fr}
.saas-kart{padding:1.5rem 1.25rem}
.saas-admin-tabs button{padding:10px 8px;font-size:12px}
}

/* ═══ KURUMSAL GİRİŞ EKRANI (yüzen kart) ═══════════════ */
.auth-page{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:28px;overflow-y:auto;
  background:radial-gradient(1200px 600px at 15% 0%,#14346b 0%,transparent 55%),linear-gradient(140deg,#17376f 0%,#0f2550 45%,#0a1a3a 100%)}
.auth-card{display:flex;width:min(1000px,100%);min-height:596px;background:var(--bg);border-radius:26px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.35)}
/* Sol marka paneli */
.auth-brand{flex:1;background:linear-gradient(155deg,#2563eb 0%,#1d4ed8 55%,#0f2f74 100%);color:#fff;padding:46px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-brand::before{content:"";position:absolute;top:-130px;right:-110px;width:360px;height:360px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 62%);border-radius:50%}
.auth-brand::after{content:"";position:absolute;bottom:-150px;left:-90px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 62%);border-radius:50%}
.auth-brand-top{position:relative;z-index:1}
.auth-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:rgba(255,255,255,.9);background:none;border:none;cursor:pointer;font-family:inherit;padding:0;margin-bottom:34px;text-decoration:underline;text-underline-offset:3px}
.auth-back:hover{color:#fff}
.auth-logo{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:-.4px}
.auth-logo-mark{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.auth-brand-mid{position:relative;z-index:1;margin:34px 0}
.auth-brand-mid h2{font-size:32px;line-height:1.14;letter-spacing:-1px;font-weight:800;margin-bottom:16px}
.auth-brand-mid p{font-size:15.5px;color:rgba(255,255,255,.82);line-height:1.6;margin-bottom:28px}
.auth-feats{list-style:none;display:flex;flex-direction:column;gap:14px}
.auth-feats li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:rgba(255,255,255,.95)}
.auth-feats .fc{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.auth-feats .fc svg{width:13px;height:13px}
.auth-stats{position:relative;z-index:1;display:flex;gap:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.auth-stats .st b{font-size:26px;font-weight:820;letter-spacing:-.5px;display:block;line-height:1}
.auth-stats .st span{font-size:12px;color:rgba(255,255,255,.72);margin-top:5px;display:block}
/* Sağ form paneli */
.auth-panel{width:min(464px,50%);padding:48px 48px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;background:var(--bg)}
.auth-panel-logo{display:flex;align-items:center;gap:11px;margin-bottom:30px}
.auth-panel-logo .m{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.auth-panel-logo b{font-size:16px;font-weight:800;letter-spacing:-.3px;color:var(--text);display:block;line-height:1.1}
.auth-panel-logo span{font-size:11.5px;color:var(--text2)}
.auth-panel h1{font-size:25px;font-weight:780;letter-spacing:-.6px;color:var(--text);margin-bottom:7px}
.auth-panel .sub{font-size:14px;color:var(--text2);margin-bottom:26px}
.auth-field{margin-bottom:16px}
.auth-field-lbl{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.auth-field-lbl label{font-size:13px;font-weight:650;color:var(--text)}
.auth-field-lbl a{font-size:12.5px;font-weight:600;color:#1d4ed8;cursor:pointer}
.auth-input{position:relative}
.auth-input>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--text3);pointer-events:none}
.auth-input input{width:100%;height:50px;border:1.5px solid var(--border2);border-radius:12px;padding:0 44px;font-size:14.5px;outline:none;font-family:inherit;background:var(--bg);color:var(--text);transition:border-color .15s,box-shadow .15s}
.auth-input input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.auth-input .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text3);padding:5px;display:flex}
.auth-input .eye:hover{color:var(--text2)}
.auth-remember{display:flex;align-items:center;gap:9px;margin:4px 0 22px;cursor:pointer;user-select:none}
.auth-remember input{width:18px;height:18px;accent-color:#2563eb;cursor:pointer}
.auth-remember span{font-size:13.5px;color:var(--text)}
.auth-submit{width:100%;height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 8px 20px rgba(29,78,216,.28);transition:transform .12s,box-shadow .15s}
.auth-submit:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(29,78,216,.36)}
.auth-secure{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--text2);margin:18px 0}
.auth-secure svg{width:14px;height:14px;color:#2563eb}
.auth-signup{text-align:center;font-size:13.5px;color:var(--text2);padding-top:16px;border-top:1px solid var(--border)}
.auth-signup a{color:#1d4ed8;font-weight:700;cursor:pointer}
.auth-links{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.auth-links a{font-size:12.5px;font-weight:600;color:var(--text2);cursor:pointer}
.auth-links a:hover{color:var(--text)}
.auth-err{background:var(--rl);border:1px solid #F09595;color:#B91C1C;font-size:12.5px;padding:9px 12px;border-radius:9px;margin-bottom:16px;display:none}
/* Geliştirici demo — kurumsal görünümü bozmayan, gizli/katlanır bölüm */
.auth-dev{margin-top:20px;border-top:1px dashed var(--border2);padding-top:14px}
.auth-dev-toggle{display:flex;align-items:center;gap:7px;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:650;letter-spacing:.3px;color:var(--text3);text-transform:uppercase;padding:0}
.auth-dev-toggle svg{width:13px;height:13px;transition:transform .2s}
.auth-dev.open .auth-dev-toggle svg{transform:rotate(180deg)}
.auth-dev-list{display:none;flex-direction:column;gap:6px;margin-top:12px}
.auth-dev.open .auth-dev-list{display:flex}
.auth-dev-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);background:var(--bg2);border-radius:9px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s;width:100%}
.auth-dev-btn:hover{border-color:#2563eb}
.auth-dev-ic{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.auth-dev-ic.admin{background:#EEF2FF;color:#4F46E5}
.auth-dev-ic.clinic{background:var(--gl);color:#1d4ed8}
.auth-dev-btn b{font-size:12.5px;font-weight:650;color:var(--text);display:block}
.auth-dev-btn span{font-size:11px;color:var(--text2)}
html[data-theme="dark"] .auth-dev-ic.admin{background:#1e1b4b;color:#a5b4fc}
html[data-theme="dark"] .auth-err{background:#2d0c0c;border-color:#7f1d1d;color:#FCA5A5}
@media(max-width:820px){
  .auth-page{padding:0}
  .auth-card{flex-direction:column;min-height:100vh;width:100%;border-radius:0}
  .auth-brand{padding:32px 28px}
  .auth-brand-mid{margin:24px 0}
  .auth-brand-mid h2{font-size:26px}
  .auth-feats{display:none}
  .auth-panel{width:100%;padding:36px 26px}
}

/* ═══ HIZLI REHBER MODAL ═══════════════════════════════ */
.rehber-ovl{position:fixed;inset:0;z-index:7000;background:rgba(20,10,10,.5);display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px)}
.rehber-ovl.open{display:flex}
.rehber-modal{background:var(--bg);border-radius:20px;width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:rehberIn .2s ease}
@keyframes rehberIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.rehber-hdr{display:flex;align-items:center;gap:13px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--gl) 0%,var(--bg) 100%)}
.rehber-hdr-ic{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rehber-hdr-ttl{font-size:17px;font-weight:750;color:var(--text);letter-spacing:-.3px}
.rehber-hdr-sub{font-size:12px;color:var(--text2);margin-top:2px;line-height:1.4}
.rehber-x{width:32px;height:32px;border-radius:9px;border:none;background:var(--bg2);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}
.rehber-x:hover{background:var(--bg3);color:var(--text)}
.rehber-body{padding:16px 20px 20px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rehber-kart{border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg);transition:border-color .15s,box-shadow .15s}
.rehber-kart:hover{border-color:var(--border2);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.rehber-kart-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rehber-kart-ttl{font-size:14.5px;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-.2px}
.rehber-adim{margin:0 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.rehber-adim li{font-size:12.5px;color:var(--text2);line-height:1.45}
.rehber-adim li b{color:var(--text);font-weight:600}
.rehber-yap{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-size:12.5px;font-weight:650;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s}
.rehber-yap:hover{background:#1d4ed8;transform:translateY(-1px)}
@media(max-width:600px){
  .rehber-ovl{padding:0;align-items:stretch}
  .rehber-modal{max-width:100%;max-height:100vh;border-radius:0}
  .rehber-body{grid-template-columns:1fr}
}
