/* Ekranların düzeni (renkler ve genel parçalar app.css'te).
   Sıra: üst menü · küçük takvim · sayfalama · randevu kartı · takvim · kart menüsü · çerçeveli alanlar · listeler · ana sayfa
   · cari kartı · randevu penceresi ve formları · telefon */

/* ---------- Üst menü (PrimeNG menubar) */
.menubar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 8px; height: 70px; padding: 0 16px 0 10px; background: var(--brand); box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.mb-start { display: flex; flex-direction: column; justify-content: center; min-width: 120px; padding: 0 8px; line-height: 1.1; }
.mb-start .logo { font-size: 1.15rem; color: #fff; letter-spacing: .03em; }
.mb-start .logo b { color: #8ecae6; font-weight: 700; }
.mb-start .logo:hover { text-decoration: none; }
.mb-toggle { display: none; border: 0; background: none; font-size: 1.3rem; color: #fff; padding: 8px 12px; }
/* Telefonda dokunduktan sonra genel button:hover beyaz zemini ☰'yi görünmez yapıyordu */
.mb-toggle:hover, .mb-toggle:focus, .mb-toggle:active, .menubar.mobile-open .mb-toggle { background: rgba(255,255,255,.12); color: #fff; }
.mb-root, .mb-root ul { list-style: none; margin: 0; padding: 0; }
.mb-root { display: flex; align-items: center; height: 100%; }
.mb-root > li { position: relative; height: 100%; display: flex; align-items: center; }
.mlink { display: flex; align-items: center; gap: 8px; height: 100%; padding: 0 12px; border: 0; border-radius: 0; background: none; color: #495057; font-size: 15px; font-weight: 400; white-space: nowrap; cursor: pointer; text-decoration: none; }
.mlink:hover { background: rgba(0,0,0,.04); text-decoration: none; color: #495057; }
/* Üst menü lacivert çubukta açık renk yazı (Dr. Doğanay'ın kararı, 13.11.2026: KYS'nin kendi renkleri) */
.mb-root > li > .mlink { color: #dbe5f0; font-weight: 500; }
.mb-root > li > .mlink .pi:first-child, .mb-root > li > .mlink .mi-menu, .mb-root > li > .mlink .caret { font-size: 1rem; color: #9fb6cf; }
.mb-root > li > .mlink .caret { font-size: .8rem; }
.mb-root > li > .mlink:hover { background: rgba(255,255,255,.08); color: #fff; }
.mb-root > li.open > .mlink { background: rgba(255,255,255,.1); }
.mb-root > li.on > .mlink, .mb-root > li.on > .mlink .pi:first-child, .mb-root > li.on > .mlink .mi-menu { color: #fff; }
.mb-root > li.on > .mlink::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; background: #8ecae6; border-radius: 2px 2px 0 0; }
.mlink .caret { font-size: .8rem; margin-left: 2px; }
.sub { display: none; position: absolute; top: 100%; left: 0; z-index: 30; min-width: 230px; padding: 4px 0; background: #fff; border: 0; border-radius: var(--radius); box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12); }
.sub .sub { top: -4px; left: 100%; }
li.open > .sub { display: block; }
.sub li { position: relative; }
.sub .mlink { height: auto; width: 100%; padding: 10px 16px; justify-content: flex-start; text-align: left; }
.sub .mlink:hover { background: #e9ecef; }
.sub .mlink .pi:first-child { width: 16px; color: #6c757d; }
.sub .mlink .caret { margin-left: auto; }
.sub li.open > .mlink { background: #e9ecef; }
.sub .sep { border-top: 1px solid var(--line); margin: 4px 0; }
/* Menü sığmazsa (dar ekran ya da büyük yazı; menu.js fitMenu ölçer): önce simgeler gizlenir, yine sığmazsa ☰ düğmesiyle açılır */
.menubar.mb-noicon .mb-root > li > .mlink { padding: 0 10px; }
.menubar.mb-noicon .mb-root > li > .mlink > .pi:first-child, .menubar.mb-noicon .mb-root > li > .mlink > .mi-menu { display: none; }
.menubar.mb-burger .mb-toggle { display: block; }
.menubar.mb-burger .mb-root { display: none; position: absolute; top: 70px; left: 0; right: 0; height: auto; flex-direction: column; align-items: stretch; background: #fff; box-shadow: 0 6px 12px rgba(0,0,0,.15); max-height: calc(100vh / var(--z, 1) - 70px); overflow-y: auto; }
.menubar.mb-burger.mobile-open .mb-root { display: flex; }
.menubar.mb-burger .mb-root > li { height: auto; flex-direction: column; align-items: stretch; }
.menubar.mb-burger .mb-root > li > .mlink { height: 48px; padding: 0 12px; color: #495057; }
.menubar.mb-burger .mb-root > li > .mlink > .pi:first-child, .menubar.mb-burger .mb-root > li > .mlink > .mi-menu { display: inline-block; }
.menubar.mb-burger .mb-root > li > .mlink .pi:first-child, .menubar.mb-burger .mb-root > li > .mlink .mi-menu, .menubar.mb-burger .mb-root > li > .mlink .caret { color: #6c757d; }
.menubar.mb-burger .mb-root > li > .mlink:hover, .menubar.mb-burger .mb-root > li.open > .mlink { background: #e9ecef; color: #495057; }
.menubar.mb-burger .mb-root > li.on > .mlink, .menubar.mb-burger .mb-root > li.on > .mlink .pi:first-child, .menubar.mb-burger .mb-root > li.on > .mlink .mi-menu { color: var(--accent-dark); }
.menubar.mb-burger .mb-root > li.on > .mlink::after { display: none; }
.menubar.mb-burger .sub, .menubar.mb-burger .sub .sub { position: static; box-shadow: none; padding-left: 16px; min-width: 0; }
.mb-end { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.search-box { position: relative; }
.search-box input { width: 175px; height: 44px; font-size: 14px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: rgba(255,255,255,.12); color: #fff; }
.search-box input::placeholder { color: #b9c8d8; }
.search-box .ac { position: absolute; right: 0; top: calc(100% + 4px); z-index: 40; width: 300px; max-height: calc(60vh / var(--z, 1)); overflow: auto; margin: 0; padding: 4px 0; list-style: none; background: #fff; border-radius: var(--radius); box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.search-box .ac a { display: flex; align-items: center; gap: 8px; padding: 8px 12px; color: var(--ink); }
.search-box .ac a:hover { background: #e9ecef; text-decoration: none; }
.search-box .ac small { color: var(--muted); margin-left: auto; }
.search-box .ac .none { padding: 8px 12px; color: var(--muted); }
.avatar-top { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #8ecae6; border: 1px solid #8ecae6; color: var(--brand); }

/* ---------- Küçük takvim (Calypso'nun sol paneli) */
.minical { padding: 6px 4px 8px; user-select: none; }
.mc-head { display: flex; align-items: center; justify-content: center; gap: 4px; margin-bottom: 4px; }
.mc-nav { border: 0; background: none; color: var(--primary); padding: 2px; }
.mc-nav:hover { background: none; color: #0056b3; }
.mc-nav .mi { font-size: 30px; }
.mc-head select { width: auto; padding: 2px 6px; font-size: 14px; height: 30px; color: var(--ink); }
.mc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 1px; text-align: center; }
.mc-grid .wd { font-size: 11px; font-style: italic; color: var(--accent); padding: 4px 0 6px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.md { border: 0; background: none; padding: 0; height: 28px; font-size: 14px; color: var(--ink); justify-content: center; border-radius: 3px; }
.md:hover { background: #e9ecef; }
.md.other { color: #adb5bd; }
.md.mark { background: var(--mc); color: #fff; }
.md.mark[style*="#ffc107"] { color: #212529; }
.md.today { box-shadow: inset 0 0 0 1px var(--primary); }
.md.sel { background: var(--primary); color: #fff; }

/* ---------- Sayfalama (Calypso: "1-6 / 6  «  ‹  1  ›  »  [50]") */
.pager { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px; flex-wrap: wrap; }
.pg-info { color: #6c757d; font-size: 14px; margin-right: 8px; }
.pager button { border: 0; background: none; min-width: 36px; height: 36px; padding: 0 6px; justify-content: center; color: #6c757d; border-radius: 3px; }
.pager button:hover:not(:disabled) { background: #e9ecef; }
.pager button.on { background: #e3f2fd; color: #495057; }
.pager button:disabled { opacity: .45; }
.pager .mi { font-size: 20px; }
.pager select { width: auto; height: 38px; margin-left: 6px; padding: 4px 8px; font-size: 16px; color: var(--ink); }

/* ---------- Randevu türü düğmesi ve randevu kartı */
.tbtn { display: inline-grid; place-items: center; width: 35px; height: 35px; border-radius: 3px; background: var(--tc); color: #fff; cursor: pointer; flex: none; }
.tbtn[style*="#ffc107"] { color: #212529; }
.tbtn .mi { font-size: 22px; }
.mi.sm { font-size: 16px; vertical-align: -3px; }
.ccard { position: relative; background: #fff; border: 1px solid var(--accent); border-radius: 0; padding: 5px; margin: 6px 4px; font-size: 14px; cursor: pointer; user-select: none; text-align: left; }
.ccard[style*="--ag"] { background: color-mix(in srgb, var(--ag) 18%, #fff); }
.ccard:hover { box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.ccard:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.cc-top { display: flex; align-items: center; justify-content: space-between; }
.cc-menu { border: 0; background: none; padding: 2px; color: #000; }
.cc-menu:hover { background: rgba(0,0,0,.06); }
.cc-menu .mi { font-size: 26px; }
.cc-chip { display: flex; align-items: center; gap: 8px; margin: 4px 0 6px; min-width: 0; }
.cc-chip span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ccard ul.lg { list-style: none; margin: 0 0 6px; padding: 0; border: 1px solid rgba(0,0,0,.125); border-radius: 3px; }
.ccard ul.lg li { padding: 6px 6px 4px; }
.ccard ul.lg li + li { border-top: 1px solid rgba(0,0,0,.125); }
.ccard ul.lg p { display: inline; margin: 0 0 0 2px; }
.ccard ul.lg small { display: block; font-size: 11px; padding-left: 20px; }
.ccard .lg.view { border: 1px solid rgba(0,0,0,.125); border-radius: 3px; padding: 6px; line-height: 1.45; overflow-wrap: anywhere; }
.ccard .lg.view b { font-weight: 700; }
.dim { opacity: .2; }
.dragging { opacity: .45; }

/* ---------- Takvim (angular-calendar, Calypso renkleri) */
.cal { background: #fff; margin: -15px; min-height: calc(100vh / var(--z, 1) - 70px); }
.cal-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 18px; background: #f8f9fa; border-bottom: 1px solid var(--line); }
/* Kaydırırken üst menü, takvim çubuğu ve gün adları sabit kalır (Excel'deki bölmeleri dondur gibi). --cal-bar-h calendar.js'ten gelir. */
.cal-bar { position: sticky; top: 70px; z-index: 12; }
.cm-head { position: sticky; top: calc(70px + var(--cal-bar-h, 71px)); z-index: 11; background: #fff; border-bottom: 1px solid #e1e1e1; }
.cw-headrow { position: sticky; top: calc(70px + var(--cal-bar-h, 71px)); z-index: 11; background: #fff; }
@media (max-width: 640px) { .cal-bar, .cm-head, .cw-headrow { position: static; } }
.cal-title small { font-size: 11px; color: var(--muted); }
.bgrp { display: inline-flex; border-radius: var(--radius); overflow: hidden; }
.bgrp > button, .bgrp > .btn { border: 0; border-radius: 0; background: var(--accent); color: #fff; height: 38px; padding: 0 12px; font-size: 16px; }
.bgrp > button:hover, .bgrp > .btn:hover { background: var(--accent-dark); }
.bgrp > button.on { background: var(--accent-dark); }
.bgrp > [data-view="ay"] { border-left: 1px solid rgba(0,0,0,.18); }
.bgrp .mi { font-size: 22px; }
.bgrp .pi { font-size: 18px; }
/* Ay */
.cm { padding: 0 20px 20px; }
.cm-head { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); text-align: center; font-weight: 700; font-size: 14px; padding: 8px 0 6px; }
.cm-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid #e1e1e1; }
.cm-cell { min-height: 116px; border-right: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; min-width: 0; display: flex; flex-direction: column; }
.cm-top { display: flex; align-items: center; justify-content: space-between; height: 46px; padding: 0 8px 0 12px; background: rgba(23, 162, 184, .3); }
.cm-add { border: 0; background: none; padding: 4px; color: var(--accent); }
.cm-add:hover { background: rgba(255,255,255,.4); }
.cm-num { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid var(--accent); background: #fff; color: var(--accent); font-size: 16px; font-weight: 700; }
.cm-num:hover { background: #e3f2fd; }
.cm-cell.other .cm-num { background: #e9ecef; border-color: #e9ecef; color: #9aa0a6; }
.cm-cell.today { background: var(--today); }
.cm-cell.today .cm-top { background: rgba(32, 201, 151, .35); }
.cm-cell.today .cm-num { background: var(--accent); color: #fff; }
.cm-body { flex: 1; padding: 2px 0 6px; }
.cm-cell.drop { background: #d1ecf1; }
/* Hafta / gün */
.cw { padding: 0 20px 20px; }
.cw-headrow, .cw-allrow { display: grid; grid-template-columns: 70px minmax(0, 1fr); border-left: 1px solid #e1e1e1; }
.cw-heads { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); }
.cw-dh { display: flex; flex-direction: column; align-items: center; gap: 0; border: 0; border-radius: 0; border-right: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; background: #fff; padding: 8px 4px; font-size: 14px; color: var(--ink); }
.cw-dh b { font-weight: 700; }
.cw-dh span { color: #6c757d; }
.cw-dh.weekend span { color: #c0392b; opacity: .75; }
.cw-dh.today { background: var(--today); }
.cw-gut { border-right: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; }
.cw-allday { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); grid-auto-rows: auto; align-items: start; min-height: 90px; border-bottom: 3px solid #e1e1e1; background-image: linear-gradient(to right, #e1e1e1 1px, transparent 1px); background-size: calc(100% / var(--n)) 100%; background-position: -1px 0; padding: 4px 0; }
.cw-allday .ccard.span { margin: 2px 3px; }
.cw-allday.drop { background-color: #d1ecf1; }
.cw-scroll { max-height: calc(100vh / var(--z, 1) - 250px); overflow-y: auto; border-left: 1px solid #e1e1e1; }
.cw-grid { display: grid; grid-template-columns: 70px minmax(0, 1fr); }
.cw-hour { font-size: 14px; font-weight: 700; text-align: center; padding-top: 8px; border-right: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; }
.cw-cols { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); }
.cw-col { position: relative; border-right: 1px solid #e1e1e1; cursor: pointer; min-width: 0;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hp) / 4 - 1px), #e1e1e1 calc(var(--hp) / 4 - 1px), #e1e1e1 calc(var(--hp) / 4)); }
.cw-col:nth-child(odd) { background-color: #fafafa; }
.cw-col.today { background-color: var(--today); }
.cw-col.drop { background-color: #d1ecf1; }
.cw .ccard.timed { position: absolute; margin: 0; z-index: 1; overflow: hidden; }
.cw .ccard.timed:hover { z-index: 2; overflow: visible; }

/* ---------- Kart menüsü (☰) */
.cmenu { position: fixed; z-index: 50; min-width: 260px; max-width: 320px; padding: 8px 0; background: #fff; border-radius: var(--radius); box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12); display: flex; flex-direction: column; }
.cmenu button { display: flex; align-items: center; gap: 16px; width: 100%; height: 48px; padding: 0 16px; border: 0; border-radius: 0; background: none; text-align: left; font-size: 14px; color: rgba(0,0,0,.87); justify-content: flex-start; white-space: nowrap; }
.cmenu button:hover, .cmenu button:focus-visible { background: rgba(0,0,0,.04); outline: 0; }
.cmenu button .mi { color: rgba(0,0,0,.54); }
.cmenu button.danger .mi { color: #dc3545; }
.cmenu button.danger { color: rgba(0,0,0,.87); background: none; border-color: transparent; }
.cmenu button.danger:hover, .cmenu button.danger:focus-visible { background: rgba(0,0,0,.04); }
.cmenu hr { border: 0; border-top: 1px solid rgba(0,0,0,.12); margin: 0; }
/* Aranabilir açılır liste (secim-ara.js): üstte arama kutusu, altta süzülen seçenekler */
.cmenu.ara-pop { max-width: none; padding: 8px; gap: 6px; }
.ara-pop .ara-q { width: 100%; min-height: 38px; padding: 6px 10px; font-size: 15px; border: 1px solid var(--field-line); border-radius: var(--radius); }
.ara-pop .ara-q:focus { border-color: #1565c0; box-shadow: inset 0 0 0 1px #1565c0; outline: 0; }
.ara-pop .ara-list { max-height: 300px; overflow-y: auto; display: flex; flex-direction: column; }
.cmenu.ara-pop .ara-list button { height: auto; min-height: 36px; padding: 6px 10px; font-size: 15px; white-space: normal; border-radius: var(--radius); }
.cmenu.ara-pop .ara-list button.cur { font-weight: 600; }
.cmenu.ara-pop .ara-list button.hi { background: #e8f0fe; }
.ara-pop .ara-none { margin: 4px 10px; color: #6c757d; font-size: 14px; }
.cm-sub { position: relative; }
.cm-caret { position: absolute; right: 8px; top: 12px; color: rgba(0,0,0,.54); pointer-events: none; }
.cm-sub > .cmenu.sub { display: none; position: absolute; left: 100%; top: -8px; }
.cm-sub.left > .cmenu.sub { left: auto; right: 100%; }
.cm-sub.open > .cmenu.sub { display: flex; }

/* ---------- Alan (Dr. Doğanay'ın isteği, 13.11.2026: yazılar okunsun): alanın adı her zaman kutunun üstünde, 13 px kalın; kutuya yazılan
   15 px. Eski çerçeve içi küçülen etiket (9,5 px) yok. Bütün ekranlarda aynı. */
.of { position: relative; display: flex; flex-direction: column; gap: 3px; min-width: 0; margin: 0 0 9px; font-size: 15px; color: var(--ink); }
.of > input, .of > select, .of > textarea, .of .msel > summary { display: block; width: 100%; min-height: 40px; padding: 7px 10px; font-size: 15px; color: var(--ink); border: 1px solid var(--field-line); border-radius: var(--radius); background-color: #fff; }
.of > textarea { min-height: 72px; }
.of > input:hover, .of > select:hover, .of > textarea:hover, .of .msel > summary:hover { border-color: #6c757d; }
.of > input:focus, .of > select:focus, .of > textarea:focus { border-color: #1565c0; box-shadow: inset 0 0 0 1px #1565c0; outline: 0; }
.of > input[readonly] { background: #f3f5f7; color: #495057; }
.of > select, .of .msel > summary { appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='5'%3E%3Cpath d='M0 0h10L5 5z' fill='%23757575'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.of > select option { color: #212529; }
.of-l { order: -1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--field-label); pointer-events: none; }
.of:focus-within .of-l { color: #1565c0; }
.of:has(> select option[value=""]:checked):not(:focus-within) > select { color: transparent; }
.of .msel { position: relative; }
.of .msel > summary { list-style: none; line-height: 1.5; }
.of .msel > summary::-webkit-details-marker { display: none; }
.of .msel > summary::after { content: none; }
.of .msel[open] > div { position: absolute; z-index: 15; left: 0; right: 0; min-width: 220px; max-height: 260px; overflow: auto; background: #fff; border-radius: var(--radius); box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12); padding: 6px 0; display: flex; flex-direction: column; }
.of .msel[open] > div label { display: flex; align-items: center; gap: 10px; padding: 8px 14px; font-size: 14px; font-weight: 400; color: rgba(0,0,0,.87); cursor: pointer; }
.of .msel[open] > div label:hover { background: rgba(0,0,0,.04); }
.of .msel summary .muted { color: transparent; }

/* ---------- Listeler (Calypso: sağ üstte simgeler, beyaz tablo, yuvarlak simge, ☰) */
.clist { background: #fff; margin: -15px; min-height: calc(100vh / var(--z, 1) - 70px); }
.cl-tabs { padding: 12px 18px 0; background: var(--bg); }
.cl-bar { display: flex; align-items: center; justify-content: flex-end; gap: 4px; padding: 10px 14px 4px; flex-wrap: wrap; }
.cl-bar h1 { margin-right: auto; font-size: 1.15rem; padding-left: 4px; }
.cl-bar .ib, .ib { border: 0; background: none; padding: 6px 8px; color: #495057; }
.ib:hover { background: rgba(0,0,0,.05); }
.ib .pi { font-size: 16px; }
.ib.on { color: var(--accent); background: none; }
.cl-groups { padding: 0 18px 8px; font-size: 13px; color: var(--muted); }
.cl-search { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 4px 18px 10px; }
.cl-search input[type=search] { max-width: 360px; }
.cl-search select, .cl-search input[type=date] { width: auto; }
.cl-search .check { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
table.ctab { width: 100%; border-collapse: collapse; font-size: 15px; }
.ctab th { text-align: left; font-weight: 700; font-size: 14px; color: #3d4650; padding: 10px 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.ctab td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.ctab tbody tr { cursor: pointer; }
.ctab tbody tr:nth-child(even) { background: #fcfcfc; }
.ctab tbody tr:hover { background: #f5f5f5; }
.ctab td.av { width: 90px; padding-left: 18px; }
/* Sıra sütunu (raporlarda en başta, Dr. Doğanay'ın isteği 14.11.2026) */
.ctab th.seq, .ctab td.seq { width: 1%; padding-left: 18px; padding-right: 0; text-align: right; white-space: nowrap; color: #495057; font-variant-numeric: tabular-nums; }
.ctab th.seq .cf-th { justify-content: flex-end; }
.ctab td.seq + td.av { width: 78px; padding-left: 12px; }
.ctab td.mnu { width: 50px; text-align: right; }
.ctab .se { display: inline-grid; place-items: center; width: 32px; height: 30px; background: #e9ecef; border-radius: 3px; color: #495057; font-size: 15px; margin-right: 4px; }
.ctab .svc { display: inline-flex; flex-direction: column; align-items: flex-start; }
.ctab .tic { display: inline-flex; align-items: center; gap: 2px; }
.ctab .t-wrap { white-space: normal; min-width: 90px; }
.ctab .fee { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ced4da; border-radius: 3px; padding: 4px 10px; color: var(--primary); white-space: nowrap; }
.ctab td.empty { cursor: default; }
.clist .table-scroll { overflow-x: auto; }

/* ---------- Ana sayfa: günün özeti (Dr. Doğanay'ın kararı, 13.11.2026) */
.oh { display: flex; flex-direction: column; gap: 16px; max-width: 1500px; margin: 0 auto; }
.oh-top { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; }
.oh-top h1 { margin: 0; font-size: 24px; font-weight: 600; color: var(--brand); }
.oh-top .btn { align-self: center; }
.oh-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.oh-stat { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid #dfe4ea; border-radius: 8px; color: var(--ink); }
.oh-stat:hover { text-decoration: none; border-color: var(--accent); }
.oh-stat > .mi { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 12px; background: #e3f0f7; color: var(--accent); font-size: 26px; }
.oh-stat span { display: flex; flex-direction: column; min-width: 0; }
.oh-stat small { font-size: 13px; font-weight: 600; color: var(--muted); }
.oh-stat b { font-size: 24px; font-weight: 600; color: var(--brand); line-height: 1.3; white-space: nowrap; }
.oh-stat em { font-style: normal; font-size: 13px; color: var(--muted); }
.oh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.oh-stack { display: flex; flex-direction: column; gap: 14px; }
.oh-card { background: #fff; border: 1px solid #dfe4ea; border-radius: 8px; min-width: 0; }
.oh-card h2 { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 16px; font-size: 16px; font-weight: 600; color: #263238; border-bottom: 1px solid #e6eaee; }
.oh-card h2 .mi { color: var(--accent); font-size: 20px; }
.oh-list { list-style: none; margin: 0; padding: 4px 0; }
.oh-list li { display: flex; align-items: center; gap: 12px; padding: 9px 16px; border-left: 4px solid var(--tc, transparent); }
.oh-list li + li { border-top: 1px solid #f0f2f4; }
.oh-list li.muted { padding: 14px 16px; }
.oh-row { cursor: pointer; }
.oh-row:hover, .oh-row:focus-visible { background: #f5f8fb; outline: none; }
.oh-time { flex: none; width: 52px; font-weight: 600; color: var(--brand); font-size: 14px; }
.oh-who { display: flex; flex-direction: column; min-width: 0; flex: 1; color: var(--ink); }
a.oh-who:hover { text-decoration: none; color: var(--link); }
.oh-who b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oh-who small { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 13px; }
.oh-due { color: #c62828; font-weight: 600; white-space: nowrap; }
.box { background: #fff; border-radius: var(--radius); box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2); }

/* ---------- Cari kartı (Calypso hasta kartı: solda fotoğraf, ad, küçük takvim; sağda sekmeler) */
.pc { display: grid; grid-template-columns: 240px minmax(0, 1fr); margin: -15px; min-height: calc(100vh / var(--z, 1) - 70px); background: #fff; }
.pc-side { border-right: 1px solid var(--line); background: #fff; }
.pc-who { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 10px 16px; border-bottom: 1px solid var(--line); text-align: center; }
.pc-who h1 { font-size: 26px; font-weight: 700; color: #495057; line-height: 1.2; }
.pc-who .code { color: var(--muted); font-size: 13px; }
.pc-who .bals { justify-content: center; }
.pc-acts { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-bottom: 1px solid var(--line); }
.pc-acts > * { justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,.15); border-color: #eee; }
.pc-svc { border-bottom: 1px solid var(--line); }
.pc-svc select { border: 0; border-radius: 0; height: 38px; font-size: 16px; color: #495057; border-top: 1px solid var(--line); }
.pc-new { display: flex; align-items: center; gap: 4px; padding: 6px 4px 6px 14px; border-bottom: 1px solid var(--line); }
.pc-new b { margin-right: auto; font-size: 14px; }
.pc-new .tbtn { width: 30px; height: 30px; border: 0; padding: 0; }
.pc-new .tbtn .mi { font-size: 18px; }
.pc-main { min-width: 0; display: flex; flex-direction: column; background: #fff; }
/* Cari kartlarının üstündeki bilgi şeridi (Dr. Doğanay'ın kararı, 13.11.2026): soldaki sütunun yerine; alanlar bütün genişliği kullanır */
.pc.band { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
.pc.band > .pc-side { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 12px 20px; border-right: 0; border-bottom: 1px solid var(--line); background: linear-gradient(#fff, #f7f9fb); }
.pc.band .pc-who { flex-direction: row; align-items: center; gap: 14px; padding: 0; border: 0; text-align: left; }
/* Fotoğraf çerçevesi (Dr. Doğanay'ın isteği, 15.11.2026: kartta fotoğraf alanı görünsün); fotoğraf yoksa boş çerçeve, tıklayınca ya da resim bırakınca eklenir */
.pc.band .pc-who > .avatar { flex: none; width: 104px; height: 104px; border-radius: 10px; font-size: 30px; overflow: hidden; }
.pc.band .pc-who > .avatar.ph img { width: 100%; height: 100%; object-fit: cover; }
.pc.band .pc-who > .avatar.empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: #f1f5f9; border: 1px dashed #aab7c4; box-shadow: none; color: #5b6b7b; font-size: 12px; font-weight: 600; }
.pc.band .pc-who > .avatar.empty .mi { font-size: 32px; }
.pc.band .pc-who > .avatar.click { cursor: pointer; }
.pc.band .pc-who > .avatar.empty.click:hover, .pc.band .pc-who > .avatar.file-drop { border-color: var(--accent); color: var(--accent); background: #eaf3f9; }
.pc-name { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc.band .pc-who h1 { font-size: 22px; }
.pc.band .pc-who .code { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.band-info { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-left: 20px; border-left: 1px solid var(--line); font-size: 14px; }
.band-info .bi { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.band-info small { font-size: 12px; font-weight: 600; color: var(--muted); }
.band-info b { font-weight: 500; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.band-info .bals { margin: 2px 0 0; }
.band-end { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.pc.band .pc-photo { flex-direction: row; align-items: center; padding: 0; border: 0; gap: 8px; }
.pc.band .pc-photo .ph-btn { height: 38px; padding: 0 14px; font-size: 14px; }
.pc.band .pc-photo .ph-btn + .ph-btn { margin-top: 0; }
.pc.band .side-color { margin: 0; height: 38px; }
.pc.band .pc-acts { flex-direction: row; padding: 0; border: 0; }
.pc.band .pc-svc { border: 0; }
.pc.band .pc-svc select { height: 38px; border: 1px solid var(--field-line); border-radius: var(--radius); font-size: 14px; }
.pc.band .pc-new { padding: 0; border: 0; gap: 6px; }
.pc.band .pc-new b { margin-right: 4px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.pc.band .pc-new .tbtn { width: 38px; height: 38px; }
/* Şeritteki randevu düğmesinin gün seçtiren küçük takvimi (Dr. Doğanay'ın isteği, 15.11.2026) */
.cmenu.day-pop { min-width: 290px; padding: 10px 12px 8px; gap: 4px; }
.cmenu.day-pop header { display: flex; align-items: center; gap: 8px; padding: 0 2px 4px; font-size: 15px; }
.cmenu.day-pop header .mi { color: var(--accent); }
.cmenu.day-pop header .muted { margin-left: auto; }
.cmenu.day-pop .minical button { width: auto; height: 32px; padding: 0; gap: 0; justify-content: center; font-size: 14px; }
.cmenu.day-pop .minical .mc-nav { height: auto; padding: 2px; }
.cmenu.day-pop .dp-today { height: 40px; padding: 0 8px; border-top: 1px solid var(--line); }
.cmenu.day-pop p { margin: 0; padding: 2px 4px 2px; }
.pc-tabs { display: flex; align-items: flex-end; background: #f8f9fa; border-bottom: 1px solid var(--line); min-height: 60px; overflow-x: auto; }
.pc-tabs .tabs { border: 0; padding: 0 10px; flex: 1; }
.pc-body { padding: 16px; flex: 1; min-width: 0; }
.pc-body .table-wrap { border-radius: 0; }
.ofgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 18px; align-items: start; }
.ofgrid .wide { grid-column: 1 / -1; }
.ofgrid h3.section { grid-column: 1 / -1; margin: 14px 0 2px; padding: 8px 12px; font-size: 15px; font-weight: 400; background: #f8f9fa; border: 1px solid var(--line); border-radius: var(--radius); }
.ofgrid h3.section:first-child { margin-top: 0; }
.upd-bar { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 14px -16px -16px; padding: 12px 16px; background: #f7f7f7; border-top: 1px solid var(--line); position: sticky; bottom: 0; z-index: 2; }
.appt-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 4px; align-items: start; }
.appt-cards .ccard { margin: 4px; }

/* ---------- Randevu penceresi (Calypso: tam ekran, camgöbeği başlık, solda hasta, üstte hastanın randevuları) */
dialog.appt-dlg { width: calc(100vw / var(--z, 1)); max-width: calc(100vw / var(--z, 1)); height: calc(100vh / var(--z, 1)); max-height: calc(100vh / var(--z, 1)); margin: 0; border-radius: 0; }
dialog.appt-dlg > form { height: 100%; display: flex; flex-direction: column; }
.rv-head { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 16px; background: var(--brand); color: #fff; flex: none; }
.rv-head h2 { font-size: 18px; font-weight: 500; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-x { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.15); color: #fff; }
.rv-x:hover { background: rgba(0,0,0,.25); }
.rv { flex: 1; min-height: 0; display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.rv .pc-side { overflow-y: auto; }
.rv-main { min-width: 0; overflow-y: auto; background: #fff; display: flex; flex-direction: column; }
.rv-atabs { display: flex; align-items: flex-end; min-height: 60px; background: #f8f9fa; border-bottom: 1px solid var(--line); flex: none; overflow-x: auto; }
.atab { position: relative; display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 30px 0 14px; margin: 0 2px -1px; border: 1px solid transparent; border-bottom: 0; border-radius: 5px 5px 0 0; background: none; color: rgba(0,0,0,.6); cursor: pointer; white-space: nowrap; flex: none; }
.atab:hover { background: rgba(0,0,0,.03); }
.atab.on { background: #fff; border-color: var(--line); color: rgba(0,0,0,.87); }
.atab .mi { font-size: 28px; color: #343a40; }
.atab .se { display: grid; place-items: center; width: 30px; height: 30px; background: #e9ecef; border-radius: 3px; font-size: 15px; color: #495057; }
.atab .at { display: flex; flex-direction: column; align-items: center; line-height: 1.25; font-size: 14px; }
.atab .ax { position: absolute; right: 6px; top: 6px; display: grid; place-items: center; width: 22px; height: 16px; padding: 0; border: 0; border-radius: 8px; background: #dc3545; color: #fff; font-size: 10px; font-weight: 700; }
.atab .ax:hover { background: #bd2130; }
/* Hasta kartının Randevular sekmesi: hastanın randevuları üstte kutucuk yerine solda alt alta liste (Dr. Doğanay'ın kararı, 13.11.2026).
   Takvimden açılan randevu penceresinde sol panel ve üstteki kutucuklar kalır. */
.appt.inline .rv-main { display: grid; grid-template-columns: 275px minmax(0, 1fr); align-items: stretch; }
.appt.inline .rv-atabs { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px; min-height: 0; padding: 10px; border-bottom: 0; border-right: 1px solid var(--line); background: #f7f9fb; overflow: visible; }
.appt.inline .rv-atabs::before { content: 'Randevuları'; padding: 2px 4px; font-size: 13px; font-weight: 600; color: var(--muted); }
.appt.inline .rv-atabs .atab { flex: none; justify-content: flex-start; height: auto; margin: 0; padding: 10px 34px 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; white-space: normal; }
.appt.inline .rv-atabs .atab.on { border-color: var(--accent); box-shadow: inset 4px 0 0 var(--accent); background: #eef6fa; }
.appt.inline .rv-atabs .atab .at { align-items: flex-start; min-width: 0; text-align: left; }
.appt.inline .rv-atabs .atab .se { display: none; }
.appt.inline .rv-atabs .atab .mi { font-size: 24px; }
.rv-body { padding: 14px; display: flex; flex-direction: column; gap: 14px; }
.rv-box { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.rv-hgrid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); gap: 0 14px; padding: 12px 14px 4px; }
.rv-hgrid > div { min-width: 0; }
.dt-row { display: grid; grid-template-columns: minmax(0, 1fr) 76px 76px; gap: 0 14px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.rv-sum { border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius); padding: 10px 12px; margin: 6px 0 4px; font-size: 13px; line-height: 1.6; }
.rv-sum b { font-weight: 500; }
.rv-sum .st { display: inline-block; margin-top: 4px; }
.rv-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; background: rgba(0,0,0,.03); border-top: 1px solid var(--line); }
.rv-foot .saved { color: #28a745; }
.btn-gray { background: #6c757d; color: #fff; border-color: #6c757d; }
.btn-gray:hover { background: #5a6268; }
.rv-stabs { display: flex; align-items: flex-end; min-height: 52px; border-bottom: 1px solid var(--line); overflow-x: auto; background: #fff; }
.stab { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; margin: 0 2px -1px; border: 1px solid transparent; border-bottom: 0; border-radius: 5px 5px 0 0; background: none; color: rgba(0,0,0,.6); white-space: nowrap; font-weight: 500; flex: none; }
.stab:hover { background: rgba(0,0,0,.03); }
.stab.on { background: #fff; border-color: var(--line); color: rgba(0,0,0,.87); }
.stab .mi { font-size: 20px; }
.rv-panels { padding: 14px; }
.rv-panels .panel.form { padding: 0; }
.err { padding: 0 14px; }

/* Form kartları (Calypso: başlıklı kart, çerçeveli alanlar sütun sütun, altta Güncelle) */
/* Kartlardaki "Ek Bilgiler" (AYARLAR > Sayfalar İçin Alanlar) */
.ek-box { margin-top: 14px; }
.fe-t tr.fe-fixed td { color: #6c757d; }
.fgrid12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; align-items: start; }
.fcard { grid-column: span var(--span, 12); border: 1px solid rgba(0,0,0,.125); border-radius: var(--radius); background: #fff; min-width: 0; }
.fcard > h3 { margin: 0; padding: 12px 18px; font-size: 14px; font-weight: 400; border-bottom: 1px solid rgba(0,0,0,.125); }
.fcard > .fields, .fcard > .gplan, .fcard > .gop, .fcard > p { padding: 12px 18px; margin: 0; }
.fcard .fields { display: grid; grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr)); gap: 4px 18px; align-items: start; }
.fcard .fcol { display: flex; flex-direction: column; min-width: 0; }
.fcard label.check { display: flex; flex-direction: row; align-items: center; gap: 14px; padding: 8px 0; font-size: 14px; font-weight: 700; color: rgba(0,0,0,.6); cursor: pointer; }
.fcard label.check input { width: 22px; height: 22px; margin: 0; flex: none; }
.fcard .card-f { display: flex; justify-content: flex-end; padding: 10px 18px; background: rgba(0,0,0,.03); border-top: 1px solid rgba(0,0,0,.125); }
.fcard .fields > label:not(.of):not(.check) { display: flex; flex-direction: column; gap: 3px; font-size: 12px; font-weight: 700; color: var(--label); }
.fcard .total { margin: 4px 0 0; font-size: 15px; }
.msel-wrap { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.msel { position: relative; }
/* Greft planlama ve operasyon greft tabloları */
.gplan { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
table.gtab { border-collapse: collapse; width: 100%; font-size: 13px; }
.gtab th, .gtab td { border: 1px solid var(--line2); padding: 4px 6px; text-align: left; vertical-align: middle; }
.gtab thead th { font-weight: 700; color: #495057; background: #f8f9fa; }
.gtab input, .gtab select { padding: 3px 6px; font-size: 13px; min-width: 70px; }
.gtab input[type=checkbox] { min-width: 0; width: auto; }
.gtab tfoot td { border-bottom: 0; }
.gop-sum { margin: 0 0 8px; font-size: 14px; }
.gop .table-wrap { border: 0; }
.gop-t { width: auto; min-width: 100%; }
.gop-t tbody th { font-weight: 400; white-space: nowrap; color: var(--ink); }
.gop-t td { min-width: 120px; }
.gop-t td.tot { background: #f8f9fa; font-weight: 700; }
.gop-t tr.sec th { background: rgba(23, 162, 184, .15); font-weight: 500; color: #0c5460; }
.gop-t tr.sub th, .gop-t tr.sub td { font-weight: 700; }
.gop-t tr.grand th, .gop-t tr.grand td { font-weight: 700; background: var(--today); }
/* Kısayol penceresi (kart menüsünden tek form) */
dialog.sc-dlg { width: clamp(340px, var(--w, calc(60vw / var(--z, 1))), calc(100vw / var(--z, 1) - 32px)); }
.sc { display: flex; flex-direction: column; }
.sc .dlg-head { margin: 0; }
.sc .fgrid12 { padding: 14px; }
.sc footer { display: flex; gap: 8px; align-items: center; padding: 10px 14px; background: #f7f7f7; border-top: 1px solid var(--line); position: sticky; bottom: 0; }

/* Kısa bildirim ("Kaydedildi") */
.toast { position: fixed; top: 16px; left: 50%; transform: translateX(-50%); z-index: 100; background: #51a351; color: #fff; padding: 12px 26px; border-radius: 3px; box-shadow: 0 0 12px rgba(0,0,0,.25); font-size: 14px; }

/* ---------- Telefon ve dar ekran */
@media (max-width: 1200px) {
  .oh-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oh-stack { grid-column: 1 / -1; }
  .rv-hgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rv-hgrid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
  .search-box input { width: 130px; }
  .oh-grid { grid-template-columns: minmax(0, 1fr); }
  .pc, .rv { grid-template-columns: 1fr; }
  .pc-side { border-right: 0; border-bottom: 1px solid var(--line); }
  .rv { overflow-y: auto; }
  .rv .pc-side { display: none; }
  .rv-main { overflow: visible; }
  .appt.inline .rv-main { display: flex; }
  .appt.inline .rv-atabs { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .appt.inline .rv-atabs::before { display: none; }
  .appt.inline .rv-atabs .atab { white-space: nowrap; }
  .ofgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fcard { grid-column: 1 / -1; }
  .fcard .fields { grid-template-columns: repeat(min(var(--cols, 1), 2), minmax(0, 1fr)); }
  .gplan { grid-template-columns: 1fr; }
  .cm-cell { min-height: 90px; }
}
@media (max-width: 640px) {
  .menubar { height: 56px; padding: 0 6px; gap: 4px; }
  .menubar.mb-burger .mb-root { top: 56px; max-height: calc(100vh / var(--z, 1) - 56px); }
  .mb-start { min-width: 0; }
  .avatar-top { display: none; }
  .band-info { width: 100%; padding-left: 0; border-left: 0; }
  .band-end { margin-left: 0; }
  .search-box input { width: 110px; height: 36px; }
  .search-box .ac { width: calc(100vw / var(--z, 1) - 20px); right: -60px; }
  .cal, .clist, .pc { margin: -10px; }
  .cal-bar { padding: 10px; gap: 8px; justify-content: space-between; }
  .bgrp > button, .bgrp > .btn { padding: 0 9px; font-size: 14px; height: 34px; }
  .cm, .cw { padding: 0 4px 10px; }
  .cm-head { font-size: 12px; }
  .cm-top { height: 32px; padding: 0 2px; }
  .cm-add { display: none; }
  .cm-num { width: 26px; height: 26px; font-size: 12px; margin-left: auto; }
  .cm-cell { min-height: 64px; }
  .cm .ccard { padding: 2px; margin: 2px 1px; font-size: 10px; }
  .cm .ccard .cc-top, .cm .ccard .avatar, .cm .ccard ul.lg, .cm .ccard .lg.view { display: none; }
  .cm .ccard .cc-chip { margin: 0; }
  .cw-headrow, .cw-allrow, .cw-grid { grid-template-columns: 44px minmax(0, 1fr); }
  .cw-hour { font-size: 11px; }
  .cw:not(.one) .ccard { font-size: 10px; padding: 2px; }
  .cw:not(.one) .ccard .cc-top, .cw:not(.one) .ccard .avatar, .cw:not(.one) .ccard .lg.view { display: none; }
  .cw:not(.one) .cw-dh { font-size: 11px; padding: 6px 0; }
  .hlist .hrow { grid-template-columns: 64px minmax(0, 1fr); }
  .hlist .h-type { grid-column: 2; padding-top: 0; }
  .h-who { border-right: 0; }
  .h-av .avatar.lg { width: 48px; height: 48px; }
  .oh-stats { grid-template-columns: minmax(0, 1fr); }
  .ofgrid { grid-template-columns: 1fr; }
  .pc-body { padding: 10px; }
  .upd-bar { margin: 14px -10px -10px; }
  .rv-hgrid, .two { grid-template-columns: 1fr; }
  .dt-row { grid-template-columns: minmax(0, 1fr) 64px 64px; gap: 0 8px; }
  .rv-head h2 { font-size: 15px; white-space: normal; }
  .fcard .fields { grid-template-columns: 1fr; }
  .rv-body, .rv-panels { padding: 8px; }
  .atab { padding: 0 26px 0 8px; gap: 6px; }
  .atab .at { font-size: 12px; }
  .stab { padding: 0 12px; }
  .ctab td.av { width: 56px; padding-left: 8px; }
  .ctab th.seq, .ctab td.seq { padding-left: 8px; }
  .ctab td.seq + td.av { width: 50px; padding-left: 6px; }
  .ctab td.av .avatar { width: 38px; height: 38px; font-size: .8rem; }
}
@media print {
  .menubar { display: none !important; }
}
.fcard .fields > .wide { grid-column: 1 / -1; }

/* ---------- Cari kartı (Dr. Doğanay'ın kararı, 13.11.2026): alanlar konusuna göre bölümlerde (Kimlik, İletişim ve Adres, Kayıt ve Takip...),
   bölümler yan yana, her bölümde iki sütun; altta açılır kapanır Banka ve Vergi. Genişlik kartın kendi genişliğine göre (yazı boyutu
   büyütülünce de doğru dizilsin diye container query). Sol paneldeki fotoğraf ve kısa bilgiler, sekme içerikleri. */
.cform { display: flex; flex-direction: column; }
.tform { gap: 14px; container-type: inline-size; }
.tgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.tstack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tcard { border: 1px solid #d6dde3; border-radius: 6px; background: #fff; min-width: 0; }
.tcard > h3, .tfold > summary { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 14px; font-size: 15px; font-weight: 600; color: #263238; background: #f1f5f7; border-bottom: 1px solid #d6dde3; border-radius: 6px 6px 0 0; }
.tcard > h3 .mi, .tfold > summary .mi { font-size: 20px; color: var(--accent); }
.tfields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; padding: 12px 14px 14px; }
.tfields.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tcard.five .tfields { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tfields > .fcol { display: flex; flex-direction: column; min-width: 0; }
.tfields > .wide { grid-column: 1 / -1; }
.tfields > .nl { grid-column-start: 1; }
.tfields .of { margin: 0; }
.tfields textarea[name="address"] { height: 66px; min-height: 66px; }
.tnote .of-l { display: none; }
.tnote textarea { height: 150px; }
.tfold > summary { cursor: pointer; list-style: none; border-bottom: 0; border-radius: 6px; }
.tfold[open] > summary { border-bottom: 1px solid #d6dde3; border-radius: 6px 6px 0 0; }
.tfold > summary::-webkit-details-marker { display: none; }
.tfold > summary::after { content: 'expand_more'; font-family: 'Material Icons'; font-feature-settings: 'liga'; font-size: 22px; font-weight: 400; color: #6c757d; margin-left: auto; }
.tfold[open] > summary::after { content: 'expand_less'; }
.cform .upd-bar { margin-top: auto; }
.tform .upd-bar { margin: 0 -16px -16px; }
@container (max-width: 1050px) { .tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tfields.four, .tcard.five .tfields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 620px) { .tgrid, .tfields, .tfields.four, .tcard.five .tfields { grid-template-columns: minmax(0, 1fr); } }
.subbox { border: 1px solid var(--line); border-radius: var(--radius); margin-top: 6px; padding: 0 10px 6px; }
.subbox .tabs.subtabs { margin: 0 -10px 10px; padding: 0 8px; min-height: 48px; background: #fff; }
.tabs.subtabs button, .tabs.subtabs a { height: 46px; padding: 0 16px; font-size: 15px; }
.pc-photo { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 10px 14px; border-bottom: 1px solid var(--line); }
.pc-who:has(+ .pc-photo) { border-bottom: 0; padding-bottom: 8px; }
.ph-btn { display: inline-flex; align-items: center; gap: 4px; padding: 8px 18px; font-weight: 500; background: #fff; border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.25); border-radius: var(--radius); }
.ph-btn .mi { font-size: 20px; transform: rotate(45deg); }
.side-color { display: flex; align-items: center; gap: 8px; margin: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius); font-size: 12px; font-weight: 700; color: var(--label); cursor: pointer; }
.side-color span { flex: 1; }
.side-color input { width: 28px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; }
.pc-body.flush { padding: 0; }
/* Kartın içindeki randevu (Calypso'daki "Randevu Listesi" sekmesi) */
.appt.inline .rv { grid-template-columns: minmax(0, 1fr); }
.appt.inline .rv-main { overflow: visible; }
.appt.inline .rv-atabs { background: #fff; }
/* Sekme içi liste (laboratuvar, işlem geçmişi, ürün/servis, izin listesi) */
.clist.inbox { margin: 0; min-height: 0; border: 1px solid var(--line); border-radius: var(--radius); }
.pc-body > .clist.inbox { border: 0; margin: -16px; }
.clist.inbox .cl-bar { padding: 6px 10px 2px; }
.clist.inbox .spacer { flex: 1; }
.ctab tr.click { cursor: pointer; }
/* Notlar ve izinler: solda ekleme kartı, sağda liste */
.notes, .leaves { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; align-items: start; }
.ncard { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; min-width: 0; }
.ncard > header { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 4px 12px; border-bottom: 1px solid var(--line); font-size: 14px; }
.ncard > header b { flex: 1; font-weight: 700; }
.ncard > header .of { flex: 1; margin: 4px 0; max-width: 260px; margin-left: auto; }
.ncard.folded .nbody { display: none; }
.nbody { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 2px; }
.nfoot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
button.success, .btn.success { background: #28a745; border-color: #28a745; color: #fff; }
button.success:hover { background: #218838; }
.note { padding: 12px; border-top: 1px solid var(--line); }
.note:first-child { border-top: 0; }
.note > header { display: flex; align-items: center; gap: 8px; }
.note > header .chip { font-size: 11px; padding: 1px 8px; border-radius: 10px; background: #e9ecef; color: #495057; }
.note > header .spacer { flex: 1; }
.note > header .icon { border: 0; background: none; padding: 4px; color: #6c757d; line-height: 0; }
.note > header .icon.danger:hover { color: var(--danger); }
.note-b { margin: 6px 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.note-b ul, .note-b ol { padding-left: 22px; }
.note-b h2, .note-b h3, .note-b h4 { font-size: 15px; margin: 6px 0; }
.ncard .empty { padding: 14px; }
.ncard .clist.inbox { border: 0; }
/* Biçimli yazı alanı */
.rte { border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius); margin-top: 6px; background: #fff; }
.rte-bar { display: flex; align-items: center; gap: 2px; padding: 4px 6px; border-bottom: 1px solid rgba(0,0,0,.12); background: #fafafa; }
.rte-bar select { width: auto; height: 30px; padding: 0 6px; font-size: 13px; }
.rte-bar button { border: 0; background: none; min-width: 30px; height: 30px; padding: 0 6px; line-height: 0; }
.rte-bar button:hover { background: rgba(0,0,0,.06); }
.rte-bar .mi { font-size: 18px; }
.rte-ed { min-height: 160px; max-height: 360px; overflow-y: auto; padding: 10px 12px; font-size: 14px; outline: none; }
.rte-ed:empty::before { content: attr(data-ph); color: #9e9e9e; }
.rte-ed:focus { box-shadow: inset 0 0 0 1px #3f51b5; }
/* Hastanın ödeme tablosu */
.pt-bar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pt-bar .of { min-width: 280px; flex: 0 1 420px; }
/* Para düğmeleri (payments.js moneyButtons): simge ne yapıldığını (para / sepet), renk ve işaret yönünü söyler; yeşil + giriş, kırmızı − çıkış */
.mbtns { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.mbtn { display: inline-flex; align-items: center; justify-content: center; gap: 2px; width: 64px; height: 40px; padding: 0; border: 0; border-radius: var(--radius);
  color: #fff; cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.mbtn.in { background: #28a745; }
.mbtn.in:hover { background: #218838; }
.mbtn.out { background: #dc3545; }
.mbtn.out:hover { background: #c82333; }
.mbtn .mi { font-size: 22px; }
.mbtn b { font-size: 22px; line-height: 1; font-weight: 700; }
.mbtn:focus-visible { outline: 2px solid #343a40; outline-offset: 2px; }
.pt-sum { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 8px 0 14px; }
.pt-sum > div { border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.pt-sum span { font-size: 12px; font-weight: 700; color: var(--label); }
.pt-sum b { font-size: 17px; font-weight: 500; }
.ctab tr.void td { color: #9e9e9e; text-decoration: line-through; }
/* Maaş / kullanıcı hakları alt formları */
.subcard { border: 1px solid var(--line); border-radius: var(--radius); }
.subcard .tabs.subtabs { padding: 0 8px; }
.subcard #sal { padding: 14px 14px 0; }
form.part .ofgrid { margin-bottom: 6px; }
form.part .ofgrid.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
form.part .ofgrid.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
form.part .upd-bar { margin: 14px -14px 0; }
.pc-body > form.part .upd-bar { margin: 14px -16px -16px; }
.chk-in { display: flex; align-items: center; gap: 8px; }
.chk-in input[type=checkbox] { width: 20px; height: 20px; margin: 0 0 0 10px; flex: none; }
.of .chk-in { min-height: 40px; border: 1px solid var(--field-line); border-radius: var(--radius); }
.of .chk-in input[type=date] { border: 0; min-height: 36px; }
.roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 18px; margin: 6px 0; }
.roles label.check { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; font-weight: 500; color: rgba(0,0,0,.7); cursor: pointer; }
.roles label.check input { width: 20px; height: 20px; margin: 0; }
/* Laboratuvar sonuç girişi */
.fgrid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.sc-body { padding: 14px; overflow-y: auto; }
.ctab.lab-in td input { min-height: 34px; padding: 4px 8px; }
@media (max-width: 1200px) {
  .cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cgrid > .subbox { grid-column: 1 / -1; }
  .cgrid.below > .fcol:first-child { grid-column: 1 / -1; }
  .notes, .leaves { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .cgrid, .fgrid2, .roles, form.part .ofgrid.g4, form.part .ofgrid.g2 { grid-template-columns: 1fr; }
  .pt-sum { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-bar .of { min-width: 0; flex-basis: 100%; }
  .pc-body > .clist.inbox { margin: -10px; }
  .pc-body > form.part .upd-bar { margin: 14px -10px -10px; }
}

/* ---------- AYARLAR (Calypso): Genel Tanımlamalar, Data Tanımlamaları, Veri Giriş Alanları, Randevu Data Girişleri */
.chip { display: inline-block; font-size: 11px; padding: 1px 8px; border-radius: 10px; background: #e9ecef; color: #495057; font-weight: 500; white-space: nowrap; }
.chip.on { background: #e7f3ff; color: var(--primary); }
.set-body > .cg-help { margin: 0; padding: 10px 14px 0; }
.set-body > h3.section { margin: 16px 14px 0; padding: 8px 12px; font-size: 15px; font-weight: 500; background: #f8f9fa; border: 1px solid var(--line); border-radius: var(--radius); }
.set-wrap { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 16px; align-items: start; }
.set-nav { display: flex; flex-direction: column; overflow: hidden; }
.set-nav a { display: flex; align-items: center; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line); color: #495057; font-size: 13px; text-decoration: none; }
.set-nav a:last-child { border-bottom: 0; }
.set-nav a:hover { background: #f5f5f5; }
.set-nav a.on { background: #e7f3ff; color: var(--primary); }
.set-nav a .mi { font-size: 20px; }
.set-main .clist.inbox { border: 0; border-radius: 0; }
.set-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--line); margin-bottom: 14px; background: #fff; }
.set-tabs a { padding: 12px 16px; color: rgba(0,0,0,.6); text-decoration: none; font-size: 14px; font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.set-tabs a:hover { color: rgba(0,0,0,.87); }
.set-tabs a.on { color: var(--primary); border-bottom-color: var(--primary); }
.dg-wrap { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 16px; align-items: start; }
.dg-groups > header select { flex: 1; max-width: 220px; }
.dg-search { padding: 8px 12px; border-bottom: 1px solid var(--line); }
.dg-search input { width: 100%; }
.dg-list { max-height: calc(100vh / var(--z, 1) - 230px); overflow: auto; }
.dg-list a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 11px 14px; border-bottom: 1px solid var(--line); color: #212529; text-decoration: none; font-size: 13px; }
.dg-list a:hover { background: #f5f5f5; }
.dg-list a.on { background: #e7f3ff; color: var(--primary); }
.dg-main > header { flex-wrap: wrap; }
.dg-main > header b { flex: 0 1 auto; }
.dg-main > header small { flex: 1; }
.dg-main > header button.outline { margin-left: auto; border: 1px solid var(--primary); color: var(--primary); background: #fff; border-radius: 4px; padding: 6px 14px; }
.dg-main > header button.outline:disabled { opacity: .55; cursor: not-allowed; }
.dg-add { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; padding: 16px; border-bottom: 1px solid var(--line); }
.dg-add .of { margin: 0; }
.dg-add .err { grid-column: 1 / -1; margin: 0; }
.dg-opts { padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
.dg-note { padding: 8px 16px 0; margin: 0; }
.opt-row { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 4px 10px; background: #fff; border: 1px solid var(--line); border-radius: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.06); font-size: 14px; }
.opt-row.child { margin-left: 28px; }
.opt-row .ot { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.opt-row > .mi { color: #6c757d; }
.opt-row .icon { padding: 4px; }
.opt-row .icon.add .mi { color: #3f51b5; }
.opt-row .icon.del .mi { color: #dc3545; }
.opt-row .icon:disabled { cursor: not-allowed; }
.opt-row .icon:disabled .mi { color: #ced4da; }
.st-top { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; background: #fff; border-bottom: 1px solid var(--line); padding: 0 12px; }
.st-top select { margin-bottom: 8px; width: auto; flex: 0 0 200px; }
.st-top .tabs { border-bottom: 0; flex: 1; }
.st-wrap { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-top: 12px; }
.st-left { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.st-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.st-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 12px 0; border-bottom: 1px solid var(--line); }
.st-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border: 1px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; color: rgba(0,0,0,.6); text-decoration: none; font-size: 13px; font-weight: 500; margin-bottom: -1px; }
.st-tabs a.on { border-color: var(--line); background: #fff; color: rgba(0,0,0,.87); }
.st-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; padding: 14px; }
.st-item { display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--line); border-radius: 4px; padding: 10px 12px; font-size: 13px; }
.st-item b { font-weight: 500; }
.st-ph { height: 22px; border-radius: 3px; background: #eef0f2; }
.st-list { display: flex; flex-direction: column; gap: 6px; padding: 12px; }
.st-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: #212529; text-decoration: none; font-size: 13px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.st-row span { flex: 1; }
.st-row .mi { color: #6c757d; font-size: 18px; }
.st-row.on { background: var(--primary); color: #fff; }
.st-row.on .mi { color: #fff; }
.st-menu hr { border: 0; border-top: 2px dashed var(--line); margin: 4px 0; }
/* Düzenleme (ayar-randevu.js): alan tablosu, sekme / içerik / menü satırlarındaki düğmeler */
.fe > header .link-btn { margin-right: 0; }
.fe .table-scroll { overflow-x: auto; }
.fe-t th, .fe-t td { white-space: nowrap; }
.fe-t td.t-wrap { white-space: normal; min-width: 140px; }
.fe > header .icon { padding: 4px; line-height: 0; color: #495057; }
.fe > header .icon.del .mi, .fe-t .icon.del .mi, .st-tools .icon.del .mi { color: #dc3545; }
.fe-t tbody tr { cursor: default; }
.fe-t tbody tr.void-soft td { color: #9e9e9e; }
.fe-t td.fe-ord, .fe-t td.fe-act { white-space: nowrap; width: 1%; }
.fe-t .icon, .st-tools .icon { padding: 3px; line-height: 0; }
.fe-t .icon .mi, .st-tools .icon .mi { font-size: 18px; color: #495057; }
.icon.hide { visibility: hidden; }
.st-tools { display: inline-flex; align-items: center; flex: 0 0 auto; }
.st-row > a { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: inherit; text-decoration: none; }
.st-row.on .st-tools .icon .mi { color: #fff; }
.st-row.st-div hr { border: 0; border-top: 2px dashed var(--line); margin: 0; }
.st-add { align-self: flex-start; margin-top: 6px; border: 1px solid var(--primary); color: var(--primary); background: #fff; border-radius: 4px; padding: 6px 14px; display: inline-flex; align-items: center; gap: 4px; }
.st-add:hover { background: #e7f3ff; }
.st-tabs a.off { opacity: .55; }
.st-items.g12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.st-items.g12 .st-item { grid-column: span var(--span, 12); min-width: 0; }
.st-items.g12 .empty { grid-column: 1 / -1; }
@media (max-width: 1000px) {
  .set-wrap, .dg-wrap, .st-wrap, .st-two { grid-template-columns: minmax(0, 1fr); }
  .st-items.g12 .st-item { grid-column: 1 / -1; }
  .fe > header small { flex: 1 1 100%; order: 5; }
  .dg-list { max-height: 260px; }
  .dg-add { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Para ekranları (Calypso: para giriş/çıkış işlemi, giriş çıkış listeleri, transfer) — para.js */
.po-list .po-st, .po-plan .po-st { font-size: 11px; font-weight: 700; }
.po-st.ok { color: #28a745; } .po-st.go { color: #fd7e14; } .po-st.no { color: #dc3545; } .po-st.void { color: #9e9e9e; }
.po .pc-who.po-nocari .mi { font-size: 34px; color: #495057; }
.po .po-pic .mi { font-size: 34px; color: #adb5bd; }
.po-side { display: flex; flex-direction: column; gap: 10px; padding: 12px 10px; }
.po-cari { display: flex; align-items: center; justify-content: center; gap: 6px; height: 46px; background: #fff; border: 1px solid #dee2e6; box-shadow: 0 1px 3px rgba(0,0,0,.15); font-weight: 500; color: #495057; }
.po-cari.need { border: 2px solid #dc3545; color: #dc3545; font-weight: 700; }
.po-cari .mi { font-size: 20px; }
.of.need > select { border: 2px solid #dc3545; }
.of.need .of-l { color: #dc3545; }
.po-side .btn { justify-content: center; }
.po-recno { font-size: 12px; color: var(--muted); text-align: center; }
.po-body { position: relative; background: #f5f5f5; padding: 10px; }
.po-body.locked > .po-grid { filter: grayscale(1); opacity: .45; pointer-events: none; user-select: none; }
.po-lock { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(120,120,120,.35); z-index: 2; }
.po-lock .mi { font-size: 64px; color: #343a40; }
.po-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 10px; align-items: stretch; min-height: calc(100vh / var(--z, 1) - 170px); }
.po-left, .po-right { background: #fff; border: 1px solid var(--line); border-radius: 4px; display: flex; flex-direction: column; min-width: 0; }
.po-lines { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.po-lbar { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.po-lbar .check { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #495057; }
.po-addm { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; background: var(--accent); color: #fff; border: 0; border-radius: 3px; font-size: 13px; }
.po-addm:hover { background: var(--accent-dark); }
.po-addm .mi { font-size: 20px; }
.po .table-scroll, .tr-card .table-scroll, .io .table-scroll { overflow-x: auto; max-width: 100%; }
.ms-list.po-cards { flex: 1; max-height: none; align-content: start; background: #f8f9fa; }
.po-line .ms-head { gap: 6px; }
.po-line .po-no { color: #495057; }
.po-line .po-lname { font-size: 14px; }
.po-line .po-var { display: inline; margin: 0; }
.po-line input:disabled, .po-line select:disabled { background: #f8f9fa; color: #212529; }
.po-line .po-cat { grid-column: span 2; }
.po-line [data-calc] { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.po-line [data-tot] { font-size: 16px; }
.po-big .po-rate { width: 130px; }
.po-kind { display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px; background: #e3f2fd; color: #1565c0; }
.po-kind.servis { background: #fff3e0; color: #e65100; }
.po-var { display: block; margin-top: 2px; font-size: 10px; line-height: 1.25; color: var(--muted, #6b7280); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.pick .po-have, .pick td.mono { white-space: nowrap; }
.po-tot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 10px 16px; border-top: 1px solid var(--line); background: #fafafa; }
.po-tot dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; font-size: 13px; }
.po-tot dt { font-weight: 700; color: #495057; }
.po-t1 > b { display: block; text-align: center; margin-bottom: 4px; color: #495057; }
.po-t2 dl { justify-content: end; }
.po-big { display: flex; align-items: flex-end; justify-content: flex-end; gap: 10px; margin-top: 6px; }
.po-big > b { font-size: 26px; font-weight: 500; color: #495057; }
.po-big .of { width: 110px; margin: 0; }
.po-big > span { font-weight: 700; color: #495057; margin-bottom: 4px; }
.po-acctot { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.po-curtabs { padding: 0 10px; border-bottom: 1px solid var(--line); }
.po-acc { font-size: 13px; }
.po-empty, .po-plan-wait { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; color: #495057; padding: 24px; }
.po-empty { flex: 1; }
.po-empty .mi, .po-plan-wait .mi { font-size: 40px; color: #6c757d; }
.po-plan-wait { margin: 18px auto; max-width: 300px; border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.12); background: #fff; font-size: 13px; }
.po-fields { padding: 6px 10px 0; }
.po-row2, .po-row3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
.po-row3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.po-fields .of > textarea { min-height: 70px; }
.of.num > input { text-align: right; }
.po-pay { flex: 1; padding: 0 10px; }
.po-paybox, .po-plan { border-top: 1px solid var(--line); padding: 8px 0; }
.po-paybox h3, .po-plan h3 { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: #495057; margin: 2px 0 4px; }
.po-plan h3 small { margin-left: 8px; }
.po-done { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #495057; padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; cursor: pointer; }
.po-done.on { color: #28a745; border-color: #28a745; }
.po-done input:disabled + * , .po-done:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.po-paybox .mi, .po-plan h3 .mi { font-size: 18px; color: #6c757d; }
.po-bal { margin: -2px 0 6px; }
.po-bal.err { color: var(--danger); }
/* Kasa / banka seçimi: banka > banka hesabı > POS / kredi kartı (Dr. Doğanay'ın kararı, 13.11.2026) */
.po-chain .of select { text-overflow: ellipsis; }
.po-sum { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 6px 0 8px; }
.po-pays { font-size: 12px; }
.po-addpay { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--line); }
.po-model { margin-bottom: 4px; }
.po-addbar { display: flex; align-items: center; gap: 8px; }
.po-foot { display: flex; align-items: center; gap: 10px; padding: 10px; border-top: 1px solid var(--line); background: #fafafa; flex-wrap: wrap; }
.po-tl { display: flex; flex-direction: column; align-items: flex-end; }
.po-tl span { font-size: 12px; font-weight: 700; color: #495057; }
.po-tl b { font-size: 20px; font-weight: 400; color: #495057; }
.po-foot .success { height: 38px; padding: 0 18px; }
.pick .pick-q { margin: 10px 14px; height: 40px; border: 0; border-bottom: 2px solid #3f51b5; border-radius: 0; background: #f5f5f5; padding: 0 10px; width: calc(100% - 28px); box-sizing: border-box; }
.pick .table-scroll { max-height: calc(60vh / var(--z, 1)); overflow: auto; }
.pick .ctab td.av { width: 56px; }
/* Giriş çıkış listesi */
.btn-blue, .btn-yellow { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border: 0; border-radius: 3px; font-size: 13px; font-weight: 500; }
.btn-blue { background: var(--primary); color: #fff; }
.btn-blue:hover { background: var(--brand-dark); }
.btn-yellow { background: #ffc107; color: #212529; }
.btn-yellow:hover { background: #e0a800; }
.io .cl-bar { padding-bottom: 8px; }
.io-tab td.wrap { white-space: normal; max-width: 420px; }
.io-sum { padding: 6px 16px 18px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.io-tot { width: auto; min-width: 420px; }
.io-none { font-size: 16px; color: #212529; padding: 10px 0; }
.fdrawer { position: fixed; top: 70px; right: 0; bottom: 0; width: min(380px, calc(100vw / var(--z, 1))); background: #fff; box-shadow: -4px 0 16px rgba(0,0,0,.18); z-index: 40; display: flex; flex-direction: column; }
.fdrawer header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 6px; }
.fdrawer header h2 { font-size: 16px; font-weight: 500; color: #495057; }
.fd-body { flex: 1; overflow: auto; padding: 0 16px; }
.fd-body hr { border: 0; border-top: 1px solid var(--line); margin: 10px 0; }
.fdrawer footer { padding: 10px 16px 16px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.fdrawer footer .check { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.fd-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fd-btns button { height: 38px; justify-content: center; }
/* Transfer işlemleri */
.tr-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.tr-card { background: #fff; border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.08); display: flex; flex-direction: column; min-width: 0; }
.tr-menu { padding: 8px 8px 0; }
.tr-pick { background: #fff; color: #212529; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.tr-pick:hover { background: #f8f9fa; }
.tr-pick .mi { color: #495057; }
.tr-title { margin: 8px 0 0; background: var(--primary); color: #fff; text-align: center; font-size: 15px; font-weight: 400; padding: 8px; }
.tr-sides { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 10px; align-items: start; }
.tr-icon { display: flex; align-items: center; justify-content: center; gap: 2px; min-height: 130px; color: #adb5bd; }
.tr-icon .mi { font-size: 54px; }
.tbox { border: 1px solid var(--line); border-radius: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.12); padding: 0 8px 8px; }
.tbox header { display: flex; align-items: center; justify-content: space-between; margin: 0 -8px 4px; padding: 6px 8px; background: #f5f5f5; font-size: 12px; font-weight: 700; color: #495057; }
.tbox header .mi { font-size: 18px; color: var(--primary); }
.tr-form { padding: 0 10px; }
.tr-fee { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.tr-top { padding-top: 10px; }
.tr-fee.off, .tr-rate.off { opacity: .55; }
.tr-rate .kur-in { display: flex; gap: 0; }
.tr-rate .kur-in input { flex: 1; min-height: 46px; padding: 14px 10px 6px; font-size: 12px; border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius) 0 0 var(--radius); text-align: right; }
.tr-rate .kur-ref { border: 1px solid rgba(0,0,0,.12); border-left: 0; border-radius: 0 var(--radius) var(--radius) 0; background: #fff; padding: 0 10px; }
.tr-rate .kur-note { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
.tr-rate .kur-note:empty { display: none; }
.tr-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 12px 10px; background: #f5f5f5; margin-top: 8px; flex-wrap: wrap; }
.tr-sum { font-size: 18px; color: #495057; }
.tr-sum b { font-size: 22px; color: var(--primary); font-weight: 700; }
.tr-tl { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.tr-tl span { font-size: 12px; font-weight: 700; color: #495057; }
.tr-tl b { font-size: 16px; color: var(--primary); font-weight: 400; }
.tr-tl .primary { margin-top: 4px; }
.tr-list.clist.inbox { margin: 0; min-height: 0; }
.tr-lhead { padding: 10px 12px; font-size: 13px; color: #495057; border-bottom: 1px solid var(--line); }
@media (max-width: 1000px) {
  .po-grid, .tr-page { grid-template-columns: minmax(0, 1fr); }
  .po-row3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .po.pc { grid-template-columns: minmax(0, 1fr); }
  .po-row2, .po-row3, .po-tot, .tr-sides, .po-sum { grid-template-columns: minmax(0, 1fr); }
  .io-tot { min-width: 0; width: 100%; }
}

/* ---------- Ürün/servis Yönetimi (Calypso: ürün listesi ve kartı, kategori, ürün grubu, servis, servis grubu) */
.ph-dot { display: inline-block; width: 52px; height: 52px; border-radius: 50%; border: 1px solid #e3e3e3; background: #fff; vertical-align: middle; }
.uc-photo { display: grid; place-items: center; width: 96px; height: 96px; border-radius: var(--radius); background: #f1f3f5; color: #adb5bd; }
.uc-photo .mi { font-size: 48px; }
.uc .pc-who h1 { font-size: 1.45rem; font-weight: 700; color: #495057; margin: 0; }
.uform .ugrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 18px; max-width: 100%; }
.of-hint { position: absolute; right: 12px; bottom: 0; height: 40px; display: flex; align-items: center; color: #868e96; font-size: 13px; pointer-events: none; }
.uprice { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.uprice .two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.uprice .four { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 10px; }
.pf-foot { display: flex; align-items: center; gap: 10px; margin: 12px -12px -12px; padding: 8px 12px; background: #f7f7f7; border-top: 1px solid var(--line); }
.pf-foot .of { flex: 0 1 200px; margin: 4px 0; }
.pf-foot .spacer, .ncard > header .spacer { flex: 1; }
.ncard > header .success, .ncard > header .primary { padding: 6px 12px; font-size: 13px; }
.icon.tb-blue, .icon.tb-red, .icon.tb-green { display: inline-grid; place-items: center; width: 34px; height: 28px; padding: 0; border: 1px solid #dee2e6; border-radius: 3px; background: #fff; line-height: 0; }
.icon.tb-blue { color: #3f51b5; }
.icon.tb-red { color: #f44336; }
.icon.tb-green { color: #2e7d32; }
.icon.tb-green:hover { background: #e8f5e9; }
.icon.tb-blue .mi, .icon.tb-red .mi, .icon.tb-green .mi { font-size: 18px; }
.icon.tb-blue:hover { background: #e8eaf6; }
.icon.tb-red:hover { background: #ffebee; }
/* Kategori Yönetimi */
.ukat { display: flex; flex-direction: column; gap: 14px; }
.ukat-add { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; padding: 8px 14px 12px; }
.ukat-add .ukat-btn { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.ukat-add .err { grid-column: 1 / -1; padding: 0; }
.ukat-list { padding: 4px 0; }
.ukat-row { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 4px 14px 4px calc(14px + var(--d, 0) * 28px); border-bottom: 1px solid var(--line); }
.ukat-row:last-child { border-bottom: 0; }
.ukat-name { flex: 1; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.ukat-row.edit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto auto auto; gap: 8px; align-items: center; }
.ukat-row.edit .of { margin: 4px 0; }
/* Ürün grubu / servis grubu: solda liste, sağda grup bilgisi ve içindekiler */
.ugr { display: grid; grid-template-columns: minmax(240px, 330px) minmax(0, 1fr); gap: 16px; align-items: start; }
.ugr-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ncard > header b.lc { font-size: 13px; }
.ncard > header b.big { font-size: 18px; font-weight: 400; color: #495057; }
.ncard > header .icon { padding: 4px; line-height: 0; color: #495057; }
.ugr-rows { display: flex; flex-direction: column; }
.ugr-row { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 4px 10px 4px 14px; border-bottom: 1px solid var(--line); font-size: 13px; }
.ugr-row > a, .ugr-row > span:first-child { flex: 1; min-width: 0; color: #212529; text-decoration: none; overflow-wrap: anywhere; }
.ugr-row.on { background: #e7f3ff; }
.ugr-row.on > a, .ugr-row.on > span:first-child { color: var(--primary); }
.ugr-pg { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding: 4px 8px; }
.ugr-pg .pager { padding: 6px 0; justify-content: flex-start; }
.ugr-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: 0 12px; align-items: center; padding: 10px 14px; }
.ugr-fields > button { padding: 12px 18px; }
.ugr-new { margin: 0; padding: 0 14px 10px; font-size: 13px; }
.ugr-qty { width: 84px; }
.ugr-var { display: block; margin-top: 4px; max-width: 320px; font-size: 13px; }
.ugr .ctab td { vertical-align: middle; }
/* Servis Yönetimi */
.usv { display: grid; grid-template-columns: minmax(250px, 340px) minmax(0, 1fr); gap: 16px; align-items: start; }
.usv-left { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.usv-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.usv-top .of { margin: 0; }
.usv-top .success { padding: 8px 12px; line-height: 1.2; max-width: 150px; }
.usv-h { flex: 1; display: flex; flex-direction: column; gap: 1px; font-size: 13px; }
.usv-right .usv-h { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 13px; }
.usv-h .chip { display: inline-flex; align-items: center; gap: 2px; margin-left: 8px; padding: 1px 4px 1px 10px; border-radius: 12px; background: #e7f3ff; color: var(--primary); text-decoration: none; font-size: 12px; }
.usv-fixed { padding: 0 6px; }
.usv-right .pg { border-top: 1px solid var(--line); }
.usv-groups { list-style: none; margin: 10px 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); }
.usv-groups li { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.usv-groups li:last-child { border-bottom: 0; }
.pick-foot { display: flex; justify-content: flex-end; padding: 8px 12px; border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
  .uprice, .ugr, .usv { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .uprice .two, .ukat-add, .ugr-fields { grid-template-columns: minmax(0, 1fr); }
  .uprice .four { grid-template-columns: 1fr 1fr; }
  .ukat-row.edit { grid-template-columns: minmax(0, 1fr) auto auto; }
  .ukat-row.edit .of { grid-column: 1 / -1; }
}
.usv-h b { flex: none !important; }
.ugr-pg { font-size: 12px; }
.ugr-pg .pager { flex-wrap: nowrap; gap: 2px; padding: 4px 0; }
.ugr-pg .pager [data-pgsize] { order: -2; margin-right: 6px; }
.ugr-pg .pager .pg-info { order: -1; margin: 0 6px 0 0; font-size: 12px; }
.ugr-pg .pager button[data-pg]:not([aria-label]) { display: none; }
.ugr-pg .pager button { min-width: 26px; padding: 2px; }
.ugr .table-scroll, .usv .table-scroll, .uprice .table-scroll { overflow-x: auto; max-width: 100%; }
.ugr > *, .usv > *, .uprice > * { min-width: 0; }

/* ---------- YÖNETİM (Calypso): Şube, E-arşiv, Duyuru, Döküman, Anket */
.mi.mi-menu { font-size: 16px; width: 16px; }
.rt { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.rt ul, .rt ol { padding-left: 22px; }
.rt h2, .rt h3, .rt h4 { font-size: 15px; margin: 6px 0; }
.yn .mi { font-size: 20px; }
.yn.ok { color: #28a745; }
.yn.no { color: #dc3545; }
.chip.ann-chip { display: inline-flex; padding: 2px 12px; border-radius: 12px; }
.chip.ann-chip .mi { font-size: 16px; }
.link-btn { margin-right: auto; padding: 4px 10px; font-size: 13px; color: var(--primary); text-decoration: none; border-radius: var(--radius); }
.link-btn:hover { background: #e7f3ff; }
.muted.pad { padding: 8px 14px; margin: 0; }
.req { color: #dc3545; }
.icon-sp { display: inline-block; width: 34px; flex: none; }
.three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.sc-body label.check { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 13px; font-weight: 700; color: #495057; cursor: pointer; }
.sc-body label.check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: #ff4081; }
.sc-body .rte { margin-top: 0; }
.sc-body .rte-ed { min-height: 160px; }
/* Şube */
.br-form { display: flex; flex-direction: column; min-height: 520px; }
.br-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; padding: 18px 22px; flex: 1; }
.br-grid > div { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.br-grid textarea { min-height: 120px; }
.br-note { margin: 0; padding: 0 22px 12px; }
.ugr-row .tag { flex: none; }
.ugr-row.passive > a { color: #6b7280; }
.br-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 12px; background: #f7f7f7; border-top: 1px solid var(--line); }
.br-foot .primary { background: #3f51b5; border-color: #3f51b5; }
/* E-arşiv */
.ea-body { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 40px 20px; text-align: center; color: #495057; font-size: 14px; }
.ea-body p { max-width: 620px; margin: 4px 0; }
.mi.ea-ic { font-size: 56px; color: #adb5bd; margin-bottom: 8px; }
/* Duyuru / anket pencereleri */
.ann-grid, .sv-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 16px; align-items: start; }
.ann-grid .two { align-items: center; }
.yn-check { padding-left: 4px !important; }
.ann-body { margin-top: 8px; }
.ubox { border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius); background: #fff; min-height: 180px; }
.ubox > header { display: flex; align-items: center; gap: 10px; padding: 14px 12px; border-bottom: 1px solid rgba(0,0,0,.12); font-size: 14px; }
.ubox > header b { font-weight: 400; }
.ubox > select { border: 0; border-bottom: 1px solid rgba(0,0,0,.12); border-radius: 0; height: 50px; padding: 0 18px; background-color: #f5f5f5; color: #6c757d; }
.ubox-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px; }
.uchip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 12px; border-radius: 14px; background: #e0e0e0; font-size: 13px; }
.uchip button { border: 0; background: none; padding: 0; line-height: 0; color: #616161; }
.uchip button .mi { font-size: 18px; }
/* Anket soruları */
.aq > header { min-height: 56px; background: #e0e0e0; }
.aq > header .aq-add { padding: 4px 16px; line-height: 0; background: #3f51b5; border-color: #3f51b5; }
.aq-empty { display: flex; flex-direction: column; align-items: center; gap: 22px; width: 100%; padding: 80px 20px; border: 0; background: none; font-size: 14px; color: #212529; }
.aq-empty .mi { font-size: 80px; }
.aq-list { margin: 0; padding: 0; list-style: none; counter-reset: q; }
.aq-list li { display: flex; align-items: center; gap: 4px; padding: 10px 12px; border-bottom: 1px solid var(--line); counter-increment: q; }
.aq-list li::before { content: counter(q) "."; width: 26px; flex: none; font-weight: 700; color: #6c757d; }
.aq-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; overflow-wrap: anywhere; }
.of.ta-s > textarea { min-height: 76px; }
.aq-ans { margin-top: 10px; }
.aq-ans > header { background: #e0e0e0; font-size: 14px; }
.aq-ans > header b { font-weight: 400; }
.aq-ans-body { min-height: 160px; }
.aq-ans-body > .empty { padding: 60px 14px; text-align: center; font-size: 15px; color: #212529; }
.aq-ans-add { display: flex; gap: 8px; padding: 10px; }
.aq-ans-add .success { white-space: nowrap; }
.aq-ans-body ol { margin: 0 10px 10px; padding-left: 24px; }
.aq-ans-body li { padding: 2px 0; font-size: 14px; }
.aq-ans-body li > span { display: inline-block; min-width: 60%; }
.ans-view { margin-top: 12px; }
.ans-dl { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 1px solid var(--line); border-radius: var(--radius); }
.ans-dl dt, .ans-dl dd { margin: 0; padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 14px; overflow-wrap: anywhere; }
.ans-dl dt { font-weight: 700; background: #fafafa; }
.ctab tr.on td { background: #e7f3ff; }
.an-q { padding: 10px 0; border-bottom: 1px solid var(--line); }
.an-q h3 { margin: 0; font-size: 15px; }
.an-q p { margin: 2px 0 6px; }
.an-bar { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) 40px; gap: 10px; align-items: center; padding: 3px 0; font-size: 13px; }
.an-track { height: 12px; border-radius: 6px; background: #e9ecef; overflow: hidden; }
.an-track > span { display: block; height: 100%; background: var(--accent); }
.an-bar b { text-align: right; }
.my-sv-list { display: flex; flex-direction: column; }
.my-sv-item { padding: 14px; border-bottom: 1px solid var(--line); }
.my-sv-item h3 { margin: 0 0 4px; font-size: 16px; }
.my-sv-item .primary { margin-top: 8px; }
.sv-take { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.sv-qt { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: #495057; display: flex; flex-direction: column; }
.sv-qt small { font-weight: 400; }
.sv-multi { display: flex; flex-direction: column; }
/* Döküman */
.doc { display: flex; flex-direction: column; gap: 0; }
.doc-bar { display: flex; align-items: center; gap: 4px; padding: 6px 10px; border-radius: var(--radius) var(--radius) 0 0; }
.doc-bar .doc-q { flex: 1; min-width: 0; border: 0; font-size: 14px; }
.doc-bar .icon .mi { color: #616161; }
.seg { display: inline-flex; margin-left: 8px; border: 1px solid #ced4da; border-radius: var(--radius); overflow: hidden; }
.seg button { border: 0; background: #fff; padding: 4px 14px; line-height: 0; color: #495057; }
.seg button.on { background: #2196f3; color: #fff; }
.doc-crumb { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 0; border-top: 0; font-size: 14px; }
.doc-crumb a { display: inline-flex; align-items: center; gap: 6px; color: #6c757d; text-decoration: none; }
.doc-crumb a .mi { color: #616161; }
.doc-body { display: grid; grid-template-columns: 360px minmax(0, 1fr); min-height: calc(70vh / var(--z, 1)); }
.doc-tree { border-radius: 0; border-top: 0; display: flex; flex-direction: column; padding-bottom: 10px; }
.doc-tree a { display: flex; align-items: center; gap: 8px; padding: 12px 14px 12px calc(14px + var(--d, 0) * 18px); color: #495057; text-decoration: none; font-size: 14px; }
.doc-tree a:first-child { font-weight: 700; color: #3f51b5; }
.doc-tree a.on { background: #e0f7fa; color: #3f51b5; }
.doc-tree a:first-child .mi { color: #3f51b5; }
.doc-empty { margin: 18px 28px; padding: 14px; border: 0; border-radius: var(--radius); background: var(--accent); color: #fff; font-size: 15px; text-align: left; }
.doc-main { border-radius: 0; border-top: 0; border-left: 0; padding: 12px; }
.doc-items.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.doc-items.list { display: flex; flex-direction: column; }
.doc-item { position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.doc-item > a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 10px 10px; color: #212529; text-decoration: none; font-size: 14px; text-align: center; overflow-wrap: anywhere; }
.doc-item .doc-ic { font-size: 54px; color: #f0ad4e; }
.doc-item .cc-menu { position: absolute; top: 2px; right: 2px; }
.doc-item .cc-menu .mi { font-size: 20px; }
.doc-items.list .doc-item { border-width: 0 0 1px; border-radius: 0; }
.doc-items.list .doc-item > a { flex-direction: row; gap: 10px; padding: 8px 40px 8px 6px; text-align: left; }
.doc-items.list .doc-item > a small { margin-left: auto; }
.doc-items.list .doc-ic { font-size: 28px; }
.doc-items.list .cc-menu { top: 50%; transform: translateY(-50%); }
.doc-info { margin-top: 16px; padding-top: 10px; border-top: 1px solid var(--line); }
.fold-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 0 14px; }
.rights { margin-top: 10px; }
.rights-list { display: flex; flex-direction: column; padding: 6px 12px; max-height: 300px; overflow: auto; }
.rights-list label.check { padding-left: calc(var(--d, 0) * 18px + 18px); font-weight: 400; }
@media (max-width: 1000px) {
  .br-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ann-grid, .sv-grid { grid-template-columns: minmax(0, 1fr); }
  .doc-body { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .br-grid, .three, .fold-top, .ans-dl { grid-template-columns: minmax(0, 1fr); }
  .br-grid { padding: 12px; }
  .doc-body { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .doc-main { border-left: 1px solid var(--line); }
  .doc-bar { flex-wrap: wrap; }
  .doc-bar .doc-q { flex-basis: 100%; }
  .an-bar { grid-template-columns: minmax(0, 1fr) 80px 32px; }
}

/* ---------- Üst çubuk (Calypso): tr, mesajlar, duyuru kutusu, kullanıcı menüsü */
.mb-end { gap: 8px; }
.tb-lang, .tb-ic { border: 0; background: none; padding: 6px; line-height: 1; color: #c9d6e3; position: relative; }
.tb-lang { font-size: 17px; font-weight: 700; padding: 6px 10px; }
.tb-lang:hover, .tb-ic:hover { color: #fff; background: rgba(255,255,255,.08); }
.tb-ic .mi { font-size: 24px; }
.tb-badge { position: absolute; top: 0; right: 0; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: #28a745; color: #fff; font-size: 10px; line-height: 16px; text-align: center; }
button.avatar-top { padding: 0; cursor: pointer; }
.cmenu.tb-pop { padding: 0; }
.tb-pop > header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 15px; }
.tb-pop > header b { flex: 1; font-weight: 400; }
.tb-pop > p { margin: 0; padding: 8px 16px; }
.tb-lang-pop button.on { justify-content: space-between; color: var(--primary); }
.tb-ann-pop { width: 360px; max-width: calc(100vw / var(--z, 1) - 16px); }
.cmenu.tb-pop > header button { width: auto; height: auto; padding: 4px; flex: none; }
.tb-ann-pop > header { padding: 18px 24px; font-size: 20px; }
.tb-count { font-size: 13px; padding: 14px 24px !important; border-bottom: 1px solid var(--line); }
.cmenu .tb-ann { height: auto; padding: 14px 24px; gap: 8px; flex-wrap: wrap; background: #f5f5f5; border-bottom: 1px solid var(--line); white-space: normal; }
.cmenu .tb-ann b { flex-basis: 100%; font-size: 13px; }
.tb-all { padding: 10px 24px; font-size: 13px; }
.tb-me-pop .tb-me { flex-wrap: wrap; }
.tb-me-pop .tb-me small { flex-basis: 100%; order: 3; }
.tb-out { margin-left: auto; font-size: 13px; }
.tb-me-pop > a { display: flex; align-items: center; gap: 16px; height: 48px; padding: 0 16px; color: rgba(0,0,0,.87); text-decoration: none; font-size: 14px; }
.tb-me-pop > a:hover { background: rgba(0,0,0,.04); }
.tb-me-pop > a .mi { color: rgba(0,0,0,.54); }
/* Yazı boyutu seçimi (kullanıcı menüsü; yazi-boyutu.js) */
.tb-size { padding: 10px 16px 12px; border-bottom: 1px solid var(--line); }
.tb-size > span { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; font-size: 14px; color: rgba(0,0,0,.87); }
.tb-size > span .mi { color: rgba(0,0,0,.54); }
.tb-seg { display: flex; border: 1px solid var(--field-line); border-radius: var(--radius); overflow: hidden; }
.cmenu .tb-seg button { flex: 1; width: auto; height: 38px; padding: 0 10px; justify-content: center; gap: 0; border-left: 1px solid var(--field-line); color: #3d4650; }
.cmenu .tb-seg button:first-child { border-left: 0; }
.cmenu .tb-seg button.on { background: var(--accent); color: #fff; font-weight: 600; }
/* Mesajlarım paneli (sağda) */
.msg-side { position: fixed; top: 0; right: 0; bottom: 0; z-index: 45; width: min(320px, calc(100vw / var(--z, 1))); display: flex; flex-direction: column; background: #fff; box-shadow: -2px 0 10px rgba(0,0,0,.15); }
.msg-side > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; }
.ms-new { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 0; background: #fff; color: var(--primary); box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.ms-close { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #3f51b5; background: #fff; color: #3f51b5; line-height: 0; padding: 0; }
.ms-bar { height: 80px; background: #eee; }
.ms-search { display: flex; align-items: center; gap: 4px; margin: 6px; padding: 4px 6px; border: 1px solid var(--line); border-radius: var(--radius); }
.ms-search input { border: 0; }
.ms-list { flex: 1; overflow: auto; }
.ms-item { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 10px 14px; border: 0; border-bottom: 1px solid var(--line); background: #fff; text-align: left; font-size: 13px; }
.ms-item:hover { background: #f5f5f5; }
.ms-item span { color: #495057; overflow-wrap: anywhere; }
.ms-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 60px 14px; font-size: 14px; color: #495057; }
.ms-foot { display: flex; gap: 8px; align-items: center; padding: 10px 14px; background: #f7f7f7; border-top: 1px solid var(--line); }
button.danger { background: #dc3545; border-color: #dc3545; color: #fff; }
/* Kullanıcı Düzenleme */
.cl-note { margin-right: auto; padding-left: 4px; }
.photo-btn { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px 130px; padding: 8px 18px; border: 0; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); font-size: 14px; }
.ugrid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; max-width: 470px; }
.of.has-ic > input { padding-right: 38px; }
.of .of-ic { position: absolute; right: 10px; bottom: 10px; font-size: 20px; color: #212529; pointer-events: none; }
.chip.on { background: #d4edda; color: #155724; }
/* Genel Ayarlar */
.gs-list { display: grid; grid-template-columns: minmax(160px, 260px) minmax(0, 1fr); margin: 0; }
.gs-list dt, .gs-list dd { margin: 0; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.gs-list dt { font-weight: 700; color: #495057; }
.gs-reset, .gs-big { margin-top: 16px; }
.gs-reset p, .gs-big p { margin: 0; font-size: 14px; }
.gs-reset .pad, .gs-big .pad { padding: 12px 16px; }
.gs-big p + p { padding-top: 0; }
.gs-big .big-prog { display: inline-block; margin: 6px 0 0 12px; font-size: 14px; font-weight: 700; color: var(--brand); }
/* Notlarım */
.mn-info { max-width: 760px; margin: 20px auto; }
.mn-info p, .mn-info .primary { margin: 14px 18px; }
.mn-bar { display: flex; align-items: center; gap: 8px; padding: 6px 4px 12px; font-size: 16px; }
.mn-bar b { flex: 1; font-weight: 400; }
.mn-add { background: #3f51b5 !important; color: #fff !important; border-radius: var(--radius); }
.mn-add .mi { color: #fff; }
.mn-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; align-items: start; }
.mn-note { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; background: #fff8c4; border: 1px solid #f0e08a; border-radius: var(--radius); box-shadow: 0 2px 4px rgba(0,0,0,.08); min-height: 140px; }
.mn-note > header { display: flex; align-items: center; gap: 2px; }
.mn-note > header b { flex: 1; font-size: 15px; overflow-wrap: anywhere; }
.mn-note .rt { flex: 1; }
/* Rapor Yönetimi */
.rh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .48fr) minmax(0, .48fr); gap: 16px; align-items: start; }
.rh-col > header { min-height: 52px; padding: 4px 16px; }
.rh-col > header b { font-weight: 400; }
.rh-sub { border-top: 1px solid var(--line); }
.rh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; padding: 24px; }
.rh-grid.one { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.rh-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 78px; padding: 8px 12px; border: 0; border-radius: 3px; color: #fff; text-align: center; font-size: 14px; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,.25); }
.rh-btn:hover { text-decoration: none; filter: brightness(1.06); }
.rh-btn.blue { background: #2196f3; }
.rh-btn.green { background: #689f38; }
.rh-btn.purple { background: #7e57c2; }
.rh-tabs { display: flex; overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rh-tabs button { flex: none; padding: 16px 24px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: #6c757d; font-size: 14px; white-space: nowrap; }
.rh-tabs button.on { color: #212529; border: 1px solid var(--line); border-bottom-color: #fff; background: #fff; }
.rh-cut-body { display: flex; flex-direction: column; gap: 8px; padding: 16px; }
.rh-cut-body input, .rh-cut-body select { height: 50px; font-weight: 700; color: #495057; }
.rh-cut-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.rh-cut-body hr { width: 100%; border: 0; border-top: 1px solid var(--line); margin: 6px 0; }
.rh-cut-row { display: flex; align-items: center; gap: 6px; }
.rh-cut-row a { flex: 1; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.rh-cut .empty { text-align: center; font-size: 14px; color: #495057; }
@media (max-width: 1200px) {
  .rh { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rh-col:first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .rh { grid-template-columns: minmax(0, 1fr); }
  .rh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; gap: 12px; }
  .ugrid2 { grid-template-columns: minmax(0, 1fr); }
  .photo-btn { margin-left: 0; }
  .gs-list { grid-template-columns: minmax(0, 1fr); }
  .gs-list dt { border-bottom: 0; padding-bottom: 0; }
  .tb-lang { display: none; }
}
@media (max-width: 640px) {
  .tb-lang, .tb-ic[data-tb=msg] { display: none; }
  .mb-end .avatar-top { display: grid; width: 32px; height: 32px; }
  .mb-end { gap: 2px; }
}

/* ---------- Rapor Yönetimi'ndeki Calypso raporları (report-liste.js): liste düzeni, form adı başlıkları, toplam satırı */
.frep .cl-bar h1 { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.frep .cl-bar h1 small { font-size: .8rem; font-weight: 400; }
.frep-back { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 3px; color: #495057; }
.frep-back:hover { background: rgba(0,0,0,.05); }
.frep-sum { margin: 0; padding: 0 18px 8px; font-size: 13px; color: var(--muted); }
.frep-t tbody tr { cursor: default; }
.frep-t th, .frep-t td { font-size: 13px; }
.frep-t td.num, .frep-t th.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.frep-t td.ck { text-align: center; }
.frep-t tr.frep-g th { padding: 6px 8px; font-size: 12px; font-weight: 600; color: #495057; background: #f1f3f5; border-bottom: 0; }
.frep-t tr.frep-g th.frep-gh:not(:empty) { border-left: 2px solid #fff; border-right: 2px solid #fff; text-align: center; }
.frep-t tfoot th, .frep-t tfoot td { padding: 10px 8px; background: #f8f9fa; border-top: 2px solid var(--line); border-bottom: 0; }
.frep-t tfoot th { text-align: left; }
.frep-t .link-btn { margin: 0; padding: 0; background: none; border: 0; text-align: left; }
.frep-t .link-btn:hover { text-decoration: underline; background: none; }
@media (max-width: 640px) {
  .frep .cl-bar h1 { font-size: 1rem; }
  .frep .cl-bar h1 small { flex-basis: 100%; padding-left: 36px; }
  .frep-sum { padding: 0 10px 8px; }
  .frep .cl-search { padding: 4px 10px 10px; }
  .frep .cl-search input[type=search] { max-width: none; }
  .frep .cl-search .frep-dates { flex-wrap: wrap; white-space: normal; width: 100%; }
  .frep .cl-search .frep-dates input { flex: 1; min-width: 0; }
  .frep .cl-search select { max-width: 100%; }
}
@media print {
  .frep { margin: 0; min-height: 0; }
  .frep .cl-bar .ib, .frep .no-print, .frep .cl-search { display: none !important; }
  .frep .table-scroll { overflow: visible; }
  .frep-t th, .frep-t td { font-size: 9pt; padding: 4px; }
  .frep-t tbody tr:nth-child(even) { background: none; }
}

/* ---------- Fotoğraf ve dosyalar (dosyalar.js; Calypso'daki gibi): kartın fotoğrafı, CV, hastanın fotoğraf listesi,
   resmi büyütme, ürün fotoğrafları, Döküman Yönetimi'ndeki dosyalar */
.avatar.ph { overflow: hidden; padding: 0; background: #f1f3f5; }
.avatar.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar.click { cursor: zoom-in; }
.avatar.click:hover, .avatar.click:focus-visible { outline: 3px solid rgba(23, 162, 184, .35); outline-offset: 2px; }
.pc-photo .ph-btn + .ph-btn { margin-top: 2px; }
.pc-photo .ph-btn .mi:not(:first-child), .ph-btn[data-photos] .mi, .ph-btn.sm .mi { transform: none; }
.cv-row { display: flex; align-items: center; gap: 6px; max-width: 100%; margin: 0; font-size: 13px; }
.cv-row a, .cv-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.cv-row .icon { padding: 2px; }
.cv-row .icon .mi { font-size: 18px; }
.ph-dot.has { overflow: hidden; }
.ph-dot.has img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uc-photo.has { overflow: hidden; padding: 0; border: 0; background: #f1f3f5; }
.uc-photo.has img { width: 100%; height: 100%; object-fit: cover; display: block; }
button.uc-photo { cursor: zoom-in; }
.ph-note { display: flex; align-items: flex-start; gap: 6px; margin: 0 0 12px; padding: 8px 10px; background: #fff3cd; color: #856404; border: 1px solid #ffeeba; border-radius: var(--radius); font-size: 12px; }
.ph-note .mi { flex: none; }
.ph-btn.sm { padding: 5px 12px; font-size: 13px; }
.ph-btn.sm .mi { font-size: 18px; }
/* Hastanın fotoğraf listesi: randevu başına bir bölüm */
.ph-dlg .sc-body { max-height: calc(100vh / var(--z, 1) - 150px); }
.ph-sec { border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; background: #fff; }
.ph-sec.on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ph-sec > header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; background: #f8f9fa; border-bottom: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; }
.ph-sec > header .tbtn.sm { width: 26px; height: 26px; }
.ph-sec > header .tbtn.sm .mi { font-size: 16px; }
.ph-sec > header > .mi { color: #495057; }
.ph-sec .empty.small { padding: 14px; font-size: 13px; }
.ph-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; padding: 10px; }
.ph-th { margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.ph-th.main { border-color: #28a745; box-shadow: 0 0 0 1px #28a745; }
.ph-th.pend { border-style: dashed; }
.ph-img { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; background: #f1f3f5; cursor: zoom-in; color: #adb5bd; }
.ph-img img, .ph-th.pend > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.ph-th figcaption { display: flex; align-items: center; gap: 2px; padding: 2px 4px; font-size: 12px; min-height: 32px; }
.ph-th figcaption .icon { padding: 3px; }
.ph-th figcaption .icon .mi { font-size: 18px; }
.ph-del { color: var(--danger); background: none; border: 0; }
.ph-del:hover { background: rgba(220, 53, 69, .1); }
.ph-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #495057; }
.ph-main { display: inline-grid; place-items: center; padding: 3px; color: #28a745; }
.ph-main .mi { font-size: 18px; }
.ph-sec.file-drop, .img-place.file-drop, .ph-card.file-drop { outline: 2px dashed var(--accent); outline-offset: -2px; background: #e8f6f8; }
.ph-drop-hint { display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 640px) { .ph-drop-hint { display: none; } }
.ph-pend { border-top: 1px dashed var(--line); background: #fcfcfc; }
.ph-pend > b { display: block; padding: 8px 10px 0; font-size: 13px; color: #495057; }
.ph-pend .err { margin: 0 10px; }
.ph-pend footer { position: static; justify-content: flex-end; flex-wrap: wrap; }
.ph-card .ph-note { margin: 10px 14px 0; }
.ph-card .err { margin: 8px 14px 0; }
.ph-card > header { display: flex; align-items: center; gap: 8px; }
/* Resmi büyük gösterme */
dialog.ph-view { background: #212529; }
.ph-view .sc { height: min(calc(92vh / var(--z, 1)), 900px); }
.pv-body { position: relative; flex: 1; min-height: 0; display: grid; place-items: center; padding: 10px 56px; background: #212529; }
.pv-body img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.pv-body .empty { color: #ced4da; display: flex; align-items: center; gap: 8px; }
.pv-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; display: grid; place-items: center; cursor: pointer; }
.pv-nav:hover, .pv-nav:focus-visible { background: rgba(255,255,255,.3); }
.pv-nav .mi { font-size: 30px; }
.pv-nav.prev { left: 6px; }
.pv-nav.next { right: 6px; }
.ph-view footer { flex-wrap: wrap; }
.ph-view footer .muted { overflow-wrap: anywhere; }
/* Randevu penceresinin sol panelindeki resim yerleri (Calypso: "Resim Yükleme", "Resimler") */
.img-places { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; border-bottom: 1px solid var(--line); }
.img-place { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 6px; border: 1px dashed #ced4da; border-radius: var(--radius); background: #fff; color: #495057; cursor: pointer; text-align: center; }
.img-place:hover, .img-place:focus-visible { border-color: var(--accent); background: rgba(23, 162, 184, .06); }
.img-place .mi { font-size: 28px; color: var(--accent); }
.img-place b { font-size: 13px; }
.img-place small { font-size: 11px; color: var(--muted); line-height: 1.2; }
/* Kullanıcı formundaki fotoğraf */
.photo-row { display: flex; align-items: center; gap: 10px; margin: 0 0 10px 130px; }
.photo-row .photo-btn { margin: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Döküman Yönetimi: dosyalar */
.doc-items.files { margin-top: 12px; }
.doc-item.file .doc-open { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; padding: 16px 10px 10px; border: 0; background: none; color: #212529; font-size: 14px; text-align: center; overflow-wrap: anywhere; cursor: pointer; }
.doc-item.file .doc-ic { color: #6c757d; }
.doc-item.file img { width: 100%; max-width: 120px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; background: #f1f3f5; }
.ctab.files { margin-top: 12px; }
.ctab.files td { vertical-align: middle; }
.ctab.files .file-name { display: inline-flex; align-items: center; gap: 6px; padding: 0; text-decoration: none; color: var(--primary); text-align: left; overflow-wrap: anywhere; }
.ctab.files .file-name:hover { text-decoration: underline; }
.ctab.files td.mnu { width: 40px; text-align: right; }
.file-pick { display: none; }
@media (max-width: 600px) {
  .ph-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px; }
  .ph-sec > header .ph-btn.sm { margin-left: auto; }
  .ph-dlg .sc-body { padding: 10px; max-height: calc(100vh / var(--z, 1) - 130px); }
  .pv-body { padding: 6px 4px 54px; }
  .pv-nav { top: auto; bottom: 6px; transform: none; }
  .ph-view .sc { height: calc(100vh / var(--z, 1) - 32px); }
  .photo-row { margin-left: 0; }
  .img-places { grid-template-columns: 1fr; }
}
/* ---------- Takvimin iki kısayolu (takvim-hasta.js): Hasta Listesi paneli, Yeni Randevu / Yeni Hasta Ekleme Ekranı */
/* Geniş ekranda takvimin solunda (takvim sağa kayar); dar ekranda takvim çubuğunun altında, takvimin üstünde */
.plist { --pl-w: clamp(320px, calc(25vw / var(--z, 1)), 400px); position: fixed; z-index: 30; left: 15px; top: 85px; bottom: 12px; width: var(--pl-w); display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1px 3px rgba(0,0,0,.12); transition: opacity .15s; }
body.plist-open main .cal { margin-left: calc(clamp(320px, calc(25vw / var(--z, 1)), 400px) + 12px); }
.plist [data-mini] { display: none; }
.plist.dragging { pointer-events: none; }
@media (max-width: 960px) {
  body.plist-open main .cal { margin-left: 0; }
  .plist { top: var(--pl-top, 140px); bottom: auto; max-height: calc(100vh / var(--z, 1) - var(--pl-top, 140px) - 12px); width: min(420px, calc(100vw / var(--z, 1) - 30px)); box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12); }
  .plist [data-mini] { display: inline-flex; }
  .plist.dragging { opacity: .25; }
}
.pl-head { display: flex; align-items: center; gap: 4px; padding: 6px 6px 6px 12px; background: var(--accent); color: #fff; border-radius: var(--radius) var(--radius) 0 0; }
.pl-head b { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.pl-head .icon { color: #fff; }
.pl-head .icon:hover { background: rgba(255,255,255,.15); }
.pl-tools { display: flex; align-items: center; gap: 2px; padding: 4px 8px 0; }
.pl-tools .of { flex: 1; margin: 4px 4px 4px 0; }
.pl-tools .icon { color: #6c757d; }
.pl-tip { margin: 0; padding: 0 12px 6px; font-size: 11px; color: var(--muted); line-height: 1.3; }
.pl-rows { overflow: auto; flex: 1; min-height: 0; border-top: 1px solid var(--line); }
.plist.mini .pl-tools, .plist.mini .pl-tip, .plist.mini .pl-rows, .plist.mini .pl-pg { display: none; }
.pl-row { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 6px 8px 16px; border-bottom: 1px solid var(--line); }
.pl-row:hover { background: #f8f9fa; }
.pl-ag { position: absolute; left: 5px; top: 50%; width: 7px; height: 7px; margin-top: -3px; border-radius: 50%; background: #dee2e6; }
.pl-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pl-mid b { font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-mid small { color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-btns { display: flex; gap: 8px; margin-top: 6px; }
.pl-tb { position: relative; display: inline-grid; place-items: center; width: 36px; height: 32px; padding: 0; border: 0; border-radius: 3px; background: var(--tc); color: #fff; cursor: grab; }
.pl-tb[style*="#ffc107"] { color: #212529; }
.pl-tb:hover { background: var(--tc); filter: brightness(.92); }
.pl-tb:active { cursor: grabbing; }
.pl-tb .mi { font-size: 20px; }
.pl-badge { position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.pl-side { display: flex; flex-direction: column; gap: 2px; }
.pl-side .icon { color: #7f7f7f; padding: 4px 6px; }
.pl-pg .pager { justify-content: flex-end; flex-wrap: wrap; padding: 6px 8px; border-top: 1px solid var(--line); }
.pl-appts { max-height: calc(60vh / var(--z, 1)); overflow: auto; }
.pl-appts h4 { margin: 0; padding: 4px 16px 8px; font-size: 13px; color: #495057; border-bottom: 1px solid var(--line); }
.pl-appts button .mi { color: var(--tc); }
.pl-appts button span { display: flex; flex-direction: column; text-align: left; }
.pl-appts small { color: var(--muted); font-size: 11px; }
.pl-appts p { margin: 0; padding: 10px 16px; font-size: 13px; }
.cal-bar [data-plist].on { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; }

dialog.hk-dlg { width: min(860px, calc(100vw / var(--z, 1) - 32px)); }
.hk { display: flex; flex-direction: column; max-height: calc(100vh / var(--z, 1) - 32px); }
.hk .dlg-head { margin: 0; }
.hk-body { padding: 12px 16px; overflow: auto; flex: 1; min-height: 0; }
.hk-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; margin: 0 0 4px; font-size: 14px; font-weight: 400; color: #495057; }
.hk-top small { font-size: 13px; color: var(--muted); }
.hk-hint { margin: 2px 0 8px; font-size: 12px; }
.hk-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.hk-list .empty { padding: 16px; }
.hk-row { border-bottom: 1px solid var(--line); }
.hk-row.open { background: #f8f9fa; }
.hk-line { display: flex; align-items: center; gap: 10px; padding: 6px 4px; cursor: pointer; }
.hk-line:hover { background: #f1f3f5; }
.hk-i { width: 22px; text-align: right; color: var(--muted); font-size: 12px; flex: none; }
.hk-name { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hk-name b { font-size: 14px; }
.hk-name small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hk-line .icon { color: #7f7f7f; display: inline-flex; align-items: center; }
.hk-tg .mi:first-child { margin-right: -6px; }
.hk-add { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 4px 4px 12px; }
.hk-slot { border: 1px solid var(--line); border-top: 3px solid var(--tc); border-radius: var(--radius); background: #fff; padding: 6px 10px 10px; display: flex; flex-direction: column; }
.hk-slot.pick { box-shadow: 0 0 0 2px var(--tc); }
.hk-slot > header { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13px; color: #495057; padding-bottom: 2px; }
.hk-slot > header .mi { color: var(--tc); }
.hk-dt { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8px; }
.hk-dt .of:first-child, .hk-dt .of:nth-child(4):has(input[type=date]) { grid-column: 1 / -1; }
.hk-addbtn { align-self: stretch; justify-content: center; margin-top: 6px; background: var(--tc); border-color: var(--tc); color: #fff; }
.hk-addbtn:hover { background: var(--tc); filter: brightness(.92); }
.hk-slot[style*="#ffc107"] .hk-addbtn { color: #212529; }
/* Randevu > Ücret ve Ödeme: ücret elle girilmez, anlaşılan fiyattan gelir */
.fee-ro input { background: #f8f9fa; color: #212529; pointer-events: none; }
.fee-src { display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; }
.fee-src p { margin: 0; }
.fee-src .warn-t { color: #c0392b; }
.fee-src button { display: inline-flex; align-items: center; gap: 4px; }
.hk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; margin-bottom: 8px; }
.hk-slot.chk { margin: 8px 0 0; border-top-width: 1px; border-left: 4px solid var(--tc); }
.hk-slot.chk.on { background: #fcfcfd; }
.hk-chk { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-weight: 700; font-size: 13px; color: #495057; cursor: pointer; }
.hk-chk .mi { color: var(--tc); }
.hk-chk input { width: 18px; height: 18px; accent-color: var(--tc); }
.hk-slot.chk .hk-dt { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hk-slot.chk .hk-dt .of:first-child, .hk-slot.chk .hk-dt .of:nth-child(4):has(input[type=date]) { grid-column: auto; }
.hk footer { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 14px; background: #f7f7f7; border-top: 1px solid var(--line); }
.hk-panel { border: 1px solid var(--line); border-left: 4px solid var(--tc); border-radius: var(--radius); margin-bottom: 10px; }
.hk-panel > header { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 8px 12px; background: #f8f9fa; border-bottom: 1px solid var(--line); font-size: 13px; }
.hk-panel > header .mi { color: var(--tc); }
.hk-panel > header span { color: var(--muted); }
.hk-sc { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; }
.hk-sc button { font-size: 13px; }
dialog.hk-dlg.ask { width: min(460px, calc(100vw / var(--z, 1) - 32px)); }
.hk-q { margin: 0 0 10px; font-size: 15px; }
.hk-what { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding: 8px 10px; border: 1px solid var(--line); border-left: 4px solid var(--tc); border-radius: var(--radius); }
.hk-what > .mi { color: var(--tc); font-size: 26px; }
.hk-what span { display: flex; flex-direction: column; }
.hk-what small { color: var(--muted); }
.hk-ext { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 6px; font-size: 13px; }
.hk-ext label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.hk-ext input { margin-top: 3px; }
/* Ay görünümünde aynı hastanın aynı gündeki randevuları tek kartta (Calypso) */
.cc-types { display: flex; flex-wrap: wrap; gap: 4px; }
.ccard.merged .lg.view + .lg.view { margin-top: 6px; }
@media (max-width: 760px) {
  .hk-add { grid-template-columns: 1fr; }
  .hk-grid { grid-template-columns: 1fr; }
  .hk-slot.chk .hk-dt { grid-template-columns: 1fr 1fr; }
  .hk-slot.chk .hk-dt .of:first-child, .hk-slot.chk .hk-dt .of:nth-child(4):has(input[type=date]) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .plist { left: 8px; right: 8px; width: auto; max-height: calc(100vh / var(--z, 1) - var(--pl-top, 120px) - 8px); }
  .pl-tip { display: none; }
  dialog.hk-dlg { width: calc(100vw / var(--z, 1) - 16px); max-height: calc(100vh / var(--z, 1) - 16px); }
  .hk { max-height: calc(100vh / var(--z, 1) - 16px); }
  .hk-body { padding: 10px; }
  .cm-add { display: grid; width: 22px; height: 22px; padding: 0; margin: 0; }
  .cm-add i { font-size: 11px; }
}

/* Takvim çubuğunun dört düğmesi (takvim-arac.js): filtre, tarihi değiştir, çıktı al pencereleri */
.cmenu.cal-pop { min-width: 300px; max-width: 340px; padding: 0; }
.cal-pop > header { display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 16px; border-bottom: 1px solid var(--line); }
.cal-pop > header h3 { flex: 1; margin: 0; font-size: 15px; font-weight: 500; text-transform: capitalize; }
.cmenu.cal-pop button.icon { width: 36px; height: 36px; padding: 0; justify-content: center; border-radius: 50%; flex: none; }
.cal-pop .cp-box { padding: 10px 16px 14px; display: flex; flex-direction: column; gap: 4px; }
.cal-pop .cp-types { display: flex; gap: 14px; margin-bottom: 4px; }
.cal-pop .cp-chk { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.cmenu.cal-pop button.primary { height: 38px; justify-content: center; border-radius: var(--radius); background: #3f51b5; color: #fff; margin-top: 6px; }
.cmenu.cal-pop button.primary .mi { color: #fff; }
.cal-pop .cp-acts { display: flex; gap: 8px; }
.cal-pop .cp-acts button { flex: 1; }
.cal-pop .muted { margin: 2px 0; font-size: 12px; }
.cal-pop.jump > header { padding-left: 6px; }
.cal-pop.jump select { flex: 1; height: 36px; font-size: 15px; text-align: center; border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius); background: #fff; }
.cal-pop .cp-months { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 10px; }
.cmenu.cal-pop .cp-months button { height: 40px; padding: 0 4px; justify-content: center; border-radius: var(--radius); text-transform: capitalize; }
.cmenu.cal-pop .cp-months button.on { background: #3f51b5; color: #fff; }

/* Hasta Kartındaki Extra Alanları Düzenleme */
dialog.kart-dlg { width: min(1100px, calc(100vw / var(--z, 1) - 32px)); max-height: calc(100vh / var(--z, 1) - 32px); }
.kart { display: flex; flex-direction: column; max-height: calc(100vh / var(--z, 1) - 34px); }
.kart-body { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 14px; min-height: 0; flex: 1; overflow: hidden; }
.kart fieldset { margin: 0; padding: 8px 10px 10px; border: 1px solid var(--line); border-radius: var(--radius); min-height: 0; display: flex; flex-direction: column; }
.kart legend { padding: 0 6px; font-size: 14px; font-weight: 500; }
.kart-scroll { overflow: auto; min-height: 0; max-height: calc(100vh / var(--z, 1) - 220px); flex: 1; }
.kart-src details { border-bottom: 1px solid var(--line); }
.kart-src summary { display: flex; align-items: center; gap: 6px; padding: 9px 4px; cursor: pointer; list-style: none; font-size: 13px; }
.kart-src summary::-webkit-details-marker { display: none; }
.kart-src details[open] > summary .mi { transform: rotate(90deg); }
.kart-src table { width: 100%; border-collapse: collapse; margin: 0 0 8px; }
.kart-src th { width: 36px; font-weight: 400; color: #6c757d; text-align: right; padding-right: 10px; }
.kart-src td { padding: 2px 0; font-size: 13px; }
.kart-src td:last-child { width: 40px; text-align: right; }
.kart-order { display: flex; gap: 8px; min-height: 0; flex: 1; }
.kart-moves { display: flex; flex-direction: column; gap: 6px; }
.kart-moves button { width: 38px; height: 38px; padding: 0; justify-content: center; }
.kart-item { border: 1px solid var(--line); border-left: 4px solid var(--tc, #3f51b5); border-radius: var(--radius); padding: 6px 10px 4px; margin-bottom: 8px; cursor: pointer; background: #fff; }
.kart-item.sel { background: #e8eaf6; border-color: #3f51b5; border-left-color: var(--tc, #3f51b5); }
.kart-head { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 12px; color: #6c757d; }
.kart-head span { flex: 1; }
.kart-item b { display: block; font-size: 14px; margin: 2px 0; }
.kart footer { display: flex; gap: 8px; align-items: center; padding: 10px 14px; background: #f7f7f7; border-top: 1px solid var(--line); }
@media (max-width: 760px) { .kart-body { grid-template-columns: 1fr; overflow: auto; } .kart-scroll { max-height: none; } }

/* Kart menüsü: satırın sağında "yeni sekmede aç" düğmesi (Calypso'daki flip_to_front) */
.cm-row1 { display: flex; align-items: center; }
.cm-row1 > button { flex: 1; min-width: 0; }
.cm-tab { display: grid; place-items: center; width: 40px; height: 48px; flex: none; color: rgba(0,0,0,.54); }
.cm-tab:hover { background: rgba(0,0,0,.04); }
.cm-tab .mi { font-size: 20px; }
.cm-sub .cm-row1 + .cm-caret { right: 8px; }
.cal-pop .cp-states { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 2px 0 4px; font-size: 13px; }
.cal-pop .cp-states label { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.rv-cost .table-scroll { max-height: 260px; overflow: auto; }
.rv-profit { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 10px 14px; font-size: 14px; }
.rv-profit dt { color: #6c757d; } .rv-profit dd { margin: 0; text-align: right; }
.rv-cost > p { margin: 0 14px 10px; }
/* Hasta masrafları (randevu Ücret bölümü, Calypso'daki sol taraf) */
.rv-cost { background: #d4edda33; }
/* Operasyonun Masraf ve Kârlılık sekmesi: ücret − masraf = kâr, kârlılık oranı */
.kar-dl { display: grid; grid-template-columns: 1fr auto; gap: 6px 0; margin: 6px 0 4px; padding: 12px 16px; background: #f8f9fa; border: 1px solid var(--line); border-radius: 4px; font-size: 15px; }
.kar-dl dt { color: #495057; } .kar-dl dd { margin: 0; padding-left: 16px; text-align: right; font-variant-numeric: tabular-nums; }
.kar-dl .kar-k { border-top: 1px solid var(--line); padding-top: 8px; font-size: 18px; color: #212529; }
.kar-dl .kar-o { font-size: 16px; color: #212529; }
.ms-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.ms-bar h3 { margin: 0; padding: 0; border: 0; font-size: 16px; }
.ms-kur { display: flex; align-items: center; gap: 8px; margin: 10px 14px 0; font-size: 13px; color: #495057; }
.ms-kur input { width: 120px; }
.ms-list { display: grid; gap: 10px; padding: 10px 14px; max-height: 520px; overflow: auto; }
.ms-list > .empty { margin: 6px 0; }
.ms-line { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 8px 10px; display: grid; gap: 6px; }
.ms-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ms-head input { flex: 1; min-width: 160px; }
.ms-head .icon { margin-left: auto; }
.ms-head .icon.danger { background: none; border-color: transparent; color: #dc3545; }
.ms-head .icon.danger:hover { background: #fdecea; }
.ms-cari { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #495057; }
.ms-cari select { flex: 1; min-width: 0; }
.ms-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; }
.ms-row label { display: grid; gap: 2px; font-size: 12px; color: #6c757d; }
.ms-row input, .ms-row select { width: 100%; min-width: 0; }
.ms-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #f8f9fa; margin: 0 -10px -8px; padding: 6px 10px; border-top: 1px solid var(--line); }
.ms-note, .ms-old { margin: 0 14px 10px; }
.ms-pick { width: min(760px, calc(96vw / var(--z, 1))); padding: 0; border: 0; border-radius: var(--radius); }
.ms-pick tr.on { background: #e7f1ff; }
.ms-pick .ms-q { width: 80px; }
.ms-pick-f { display: flex; gap: 8px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--line); }
.ms-menu { position: relative; }
.ms-drop { position: absolute; right: 0; top: calc(100% + 4px); z-index: 5; min-width: 230px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 6px 18px rgba(0,0,0,.15); padding: 4px 0; display: grid; }
.ms-drop[hidden] { display: none; }
.ms-drop button { border: 0; background: none; border-radius: 0; text-align: left; justify-content: flex-start; padding: 10px 16px; display: flex; gap: 10px; align-items: center; width: 100%; }
.ms-drop button:hover:not(:disabled) { background: #f1f3f5; }
.ms-drop hr { margin: 4px 0; border: 0; border-top: 1px solid var(--line); }
.ms-tl { display: flex; flex-direction: column; align-items: flex-end; margin: 0 14px 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.ms-tl span { font-size: 14px; color: #495057; }
.ms-tl b { font-size: 26px; font-weight: 600; }
.ms-drop button.danger { color: #dc3545; background: none; border: 0; }
.ms-drop button:disabled { color: #adb5bd; }
.ms-cari-btn { margin-left: auto; color: #3f51b5; }
.ms-head .ms-cari-btn + .icon { margin-left: 0; }
.ms-cari { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0; font-size: 13px; color: #1d4ed8; }
.ms-cari b { color: #1d4ed8; }

/* Para Giriş/çıkış İşlemi Ekleme Ekranı penceresi (Calypso'daki gibi; kartın üstünde açılır) */
dialog.po-pop { width: calc(100vw / var(--z, 1) - 24px); max-width: calc(100vw / var(--z, 1) - 24px); height: calc(100vh / var(--z, 1) - 24px); max-height: calc(100vh / var(--z, 1) - 24px); display: flex; flex-direction: column; overflow: hidden; background: #f4f6f8; }
dialog.po-pop:not([open]) { display: none; }
.po-pop-head { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 10px 6px 20px; background: var(--brand); color: #fff; }
.po-pop-head h2 { margin: 0; flex: 1; font-size: 18px; font-weight: 500; color: #fff; }
.po-pop-x { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; line-height: 0; display: inline-flex; align-items: center; justify-content: center; }
.po-pop-x:hover { background: rgba(255,255,255,.3); }
.po-pop-body { flex: 1; min-height: 0; overflow: auto; }
.po-pop .po-grid { min-height: calc(100vh / var(--z, 1) - 150px); }
.po-pop .pc { margin: 0; min-height: 100%; }
/* Hasta Listesi rapor süzgeci (suzgec.js, hasta-liste.js): solda sekmeli panel, sağda liste */
.hl-body { display: flex; align-items: flex-start; gap: 0; }
.hl-side { flex: 0 0 320px; width: 320px; position: sticky; top: 70px; max-height: calc(100vh / var(--z, 1) - 80px); overflow: auto; border-right: 1px solid var(--line); background: #fbfbfc; }
.hl-main { flex: 1; min-width: 0; }
.hl-info { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 2px 18px 8px; font-size: 14px; }
.hl-info > span:first-child { white-space: nowrap; }
.sz { display: flex; flex-direction: column; font-size: 13px; }
.sz-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px 6px 14px; }
.sz-head b { display: inline-flex; align-items: center; gap: 4px; font-weight: 500; font-size: 14px; }
.sz-head .mi { font-size: 18px; color: var(--accent); }
.sz-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding: 0 6px; }
.sz-tabs button { border: 0; background: none; padding: 7px 8px; font-size: 13px; color: #495057; border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; }
.sz-tabs button.on { color: var(--accent); border-bottom-color: var(--accent); font-weight: 500; }
.sz-n { display: inline-block; min-width: 17px; padding: 0 4px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 11px; line-height: 17px; text-align: center; }
.sz-pane { padding: 8px 12px 4px; }
.sz-row { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: center; gap: 8px; margin: 0 0 6px; }
.sz-row > span { text-align: right; font-weight: 500; color: #343a40; line-height: 1.2; }
.sz-row input, .sz-row select { width: 100%; min-width: 0; height: 30px; padding: 3px 6px; font-size: 13px; border: 1px solid #ced4da; border-radius: 3px; background: #fff; }
.sz-rng { display: flex; align-items: center; gap: 4px; min-width: 0; }
/* Aralıklar: tarih kutularına yer kalsın diye başlık üstte */
.sz-pane.stack .sz-row { grid-template-columns: minmax(0, 1fr); gap: 3px; margin-bottom: 9px; }
.sz-pane.stack .sz-row > span { text-align: left; }
.sz-rng input { flex: 1 1 0; }
.sz-rng i { font-style: normal; color: #868e96; }
.sz-chk { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; cursor: pointer; }
.sz-cols { columns: 2; column-gap: 10px; }
.sz-cols .sz-chk { break-inside: avoid; }
.sz-link { border: 0; background: none; padding: 4px 0; color: var(--accent); cursor: pointer; font-size: 13px; }
.sz-foot { padding: 8px 12px 12px; border-top: 1px solid var(--line); }
.sz-foot button { display: inline-flex; align-items: center; gap: 4px; }
.sz-foot .mi { font-size: 18px; }
.sz-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sz-chip { display: inline-flex; align-items: center; gap: 2px; border: 1px solid #b6d4fe; background: #e7f1ff; color: #084298; border-radius: 14px; padding: 2px 6px 2px 10px; font-size: 12px; cursor: pointer; }
.sz-chip .mi { font-size: 15px; }
.sz-chip:hover { background: #cfe2ff; }
/* Kayıtlı görünümler */
.sz-views { padding: 2px 12px 8px; border-bottom: 1px solid var(--line); }
.sz-vrow { display: flex; align-items: center; gap: 2px; }
.sz-vrow select { flex: 1; min-width: 0; height: 30px; padding: 3px 6px; font-size: 13px; border: 1px solid #ced4da; border-radius: 3px; background: #fff; }
.sz-vrow .icon .mi { font-size: 20px; }
.sz-vchg { display: flex; align-items: center; gap: 4px; margin-top: 6px; color: #856404; }
.sz-vchg .mi { font-size: 16px; }
.sz-vform { margin-top: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.sz-vform input[name="name"] { width: 100%; height: 30px; padding: 3px 6px; margin-bottom: 8px; font-size: 13px; border: 1px solid #ced4da; border-radius: 3px; }
.sz-vbtns { display: flex; gap: 6px; }
.sz-verr { margin: 6px 0 0; }
/* Sütunlar sekmesi: görünenler sırasıyla (sürüklenir), altında öteki sütunlar */
.sz-hint { margin: 0 0 8px; color: #6c757d; font-size: 12px; line-height: 1.35; }
.sz-order { margin-bottom: 10px; }
.sz-ocol { display: flex; align-items: center; gap: 2px; padding: 2px 2px 2px 0; margin-bottom: 2px; border: 1px solid #e9ecef; border-radius: 3px; background: #fff; cursor: grab; }
.sz-ocol .sz-chk { flex: 1; margin: 0; min-width: 0; }
.sz-ocol .icon { padding: 0 2px; }
.sz-ocol .icon .mi { font-size: 18px; }
.sz-ocol .icon:disabled { opacity: .25; }
.sz-grip { font-size: 18px; color: #adb5bd; }
.sz-sub { display: block; margin: 0 0 6px; font-weight: 500; color: #495057; }
.sz-drag { opacity: .45; }
.sz-ocol.sz-before { box-shadow: inset 0 3px 0 var(--accent); }
.sz-ocol.sz-after { box-shadow: inset 0 -3px 0 var(--accent); }
.hl th[draggable="true"] { cursor: grab; }
.hl th.sz-before { box-shadow: inset 3px 0 0 var(--accent), inset 0 -1px 0 var(--line); }
.hl th.sz-after { box-shadow: inset -3px 0 0 var(--accent), inset 0 -1px 0 var(--line); }
/* Sütun süzgeci (Dr. Doğanay'ın isteği, 14.11.2026; Excel'deki gibi): başlıktaki düğme ve açılan kutu (suzgec.js openColFilter) */
.cf-th { display: inline-flex; align-items: center; gap: 2px; }
.cf-btn { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 22px; height: 22px; padding: 0; margin-left: 2px; border: 1px solid transparent; border-radius: 3px; background: none; color: #868e96; cursor: pointer; }
.cf-btn .mi { font-size: 18px; }
.cf-btn:hover, .cf-btn:focus-visible { border-color: #ced4da; background: #f1f3f5; color: #343a40; }
.cf-btn.on { color: var(--accent); background: #e7f1ff; border-color: #b6d4fe; }
.cf-btn.on .mi { font-size: 16px; }
.cf-dir { font-size: 15px; color: var(--accent); }
.cmenu.cfpop { width: 300px; min-width: 0; max-width: calc(100vw / var(--z, 1) - 16px); padding: 4px 0 0; }
.cmenu.cfpop > button { height: 38px; gap: 12px; }
.cmenu.cfpop > button:disabled { color: #adb5bd; background: none; }
.cmenu.cfpop > button:disabled .mi { color: #ced4da; }
.cf-body { padding: 8px 12px 0; }
.cf-q { width: 100%; height: 32px; padding: 3px 8px; font-size: 13px; border: 1px solid #ced4da; border-radius: 3px; }
.cf-list { margin-top: 6px; height: 240px; max-height: calc(100vh / var(--z, 1) - 330px); min-height: 120px; overflow: auto; padding: 4px 0; border: 1px solid #dee2e6; border-radius: 3px; background: #fff; }
.cf-it { display: flex; align-items: center; gap: 8px; margin: 0; padding: 3px 8px; font-size: 13px; font-weight: 400; cursor: pointer; }
.cf-it:hover { background: #f1f3f5; }
.cf-it input { flex: none; width: auto; height: auto; margin: 0; }
.cf-it span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cf-it small { color: #868e96; font-size: 11px; }
.cf-it.all { font-weight: 500; }
.cf-it.bos span { color: #6c757d; font-style: italic; }
.cf-none { margin: 8px; color: #868e96; font-size: 13px; }
.cf-note { margin: 4px 0 0; font-size: 12px; color: #856404; }
/* Arama ya da aralık biçimi (bilgisi her satırda farklı olan sütunlar) */
.cmenu.cfpop > button small { color: #868e96; font-size: 12px; }
.cf-rng { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cf-rng label { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin: 0; font-size: 12px; font-weight: 600; color: #495057; }
.cf-rng input { width: 100%; min-width: 0; height: 32px; padding: 3px 6px; font-size: 13px; border: 1px solid #ced4da; border-radius: 3px; }
.cf-q:disabled, .cf-rng input:disabled { background: #f1f3f5; color: #adb5bd; }
.cf-opts { margin-top: 8px; padding: 4px 0; border: 1px solid #dee2e6; border-radius: 3px; background: #fff; }
.cf-res { margin: 6px 0 0; font-size: 12px; color: #495057; }
.cf-res.bad { color: #c92a2a; }
.cmenu.cfpop .cf-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 12px 12px; }
.cmenu.cfpop .cf-foot button { width: auto; height: 32px; padding: 0 16px; justify-content: center; border: 1px solid #ced4da; border-radius: 3px; font-size: 13px; }
.cmenu.cfpop .cf-foot button.primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.cmenu.cfpop .cf-foot button.primary:disabled { opacity: .5; cursor: default; }
/* Toplam satırı: süzülen bütün satırların para sütunlarındaki toplamı (suzgec.js totalsRow); listenin altında sabit */
.ctab tfoot tr.tot td { padding: 8px; background: #f1f3f5; font-weight: 600; font-size: 13px; vertical-align: top; white-space: nowrap; border-top: 1px solid var(--line); }
.rp-fix tfoot tr.tot td { position: sticky; bottom: 0; z-index: 1; border-top: 0; box-shadow: inset 0 1px 0 #ced4da; }
@media (max-width: 900px) {
  .hl-body { flex-direction: column; }
  .hl-side { position: static; width: auto; flex: none; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); align-self: stretch; }
}
/* Raporlarda başlık sabit (Dr. Doğanay'ın isteği, 13.11.2026; bütün raporlar için kural): sayfa ekran boyundadır, başlık, simgeler,
   kayıt sayısı ve sütun adları yerinde kalır; yalnız satırlar kayar (yan kaydırma çubuğu da hep görünür), sayfalama altta durur.
   Süzgeç paneli kendi içinde kayar. Kullanım: .clist.rp-fix > (.cl-tabs) + .cl-bar + .hl-body > (.hl-side) + .hl-main > .hl-info + .table-scroll + #pg */
.clist.rp-fix { height: calc(100vh / var(--z, 1) - 70px); height: calc(100dvh / var(--z, 1) - 70px); min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.rp-fix > .cl-bar, .rp-fix > .cl-tabs { flex: none; }
.rp-fix > .hl-body { flex: 1; min-height: 0; align-items: stretch; }
.rp-fix .hl-side { position: static; max-height: none; overflow: auto; }
.rp-fix .hl-main { display: flex; flex-direction: column; min-height: 0; }
.rp-fix .hl-main > :not(.table-scroll) { flex: none; }
.rp-fix .table-scroll { flex: 1; min-height: 0; overflow: auto; }
.rp-fix thead th { position: sticky; top: 0; z-index: 2; background: #fff; border-bottom: 0; box-shadow: inset 0 -1px 0 var(--line); }
@media (max-width: 900px) {
  .rp-fix .hl-side { flex: 0 1 auto; max-height: 45%; }
  .rp-fix .hl-main { flex: 1; }
}
@media (max-width: 640px) {
  .clist.rp-fix { height: calc(100vh / var(--z, 1) - 56px); height: calc(100dvh / var(--z, 1) - 56px); }
}
@media print {
  .clist.rp-fix { height: auto; overflow: visible; display: block; }
  .rp-fix .table-scroll { overflow: visible; }
}
@media (max-width: 640px) { .tform .upd-bar { margin: 0 -10px -10px; } }

/* ---------- Şubeler (Dr. Doğanay'ın kararı, 14.11.2026; sube-sec.js): üst çubuktaki şube seçimi, ekran başlığındaki şube kutucuğu,
   hesap / depo listelerindeki şube etiketi, kullanıcının yetkili şubeleri */
.tb-sube { display: inline-flex; align-items: center; gap: 6px; max-width: 220px; padding: 5px 8px 5px 10px; border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.2; }
.tb-sube[hidden] { display: none; }
.tb-sube:hover { background: rgba(255,255,255,.2); }
.tb-sube.all { border-style: dashed; font-weight: 400; }
.tb-sube .mi { font-size: 18px; }
.tb-sube .mi.sm { font-size: 16px; }
.tb-sube-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmenu.tb-sube-pop { min-width: 240px; max-width: 320px; }
.tb-sube-pop button { display: flex; align-items: center; gap: 10px; }
.tb-sube-pop button span { flex: 1; text-align: left; }
.tb-sube-pop button.on { color: var(--accent); font-weight: 600; }
.tb-sube-pop > p { border-top: 1px solid var(--line); font-size: 12px; line-height: 1.4; }
.sube-chip { display: inline-flex; align-items: center; gap: 4px; margin: 0 8px; padding: 2px 10px; border-radius: 999px; background: #e6f0f6;
  color: var(--brand); font-size: 13px; font-weight: 600; white-space: nowrap; vertical-align: middle; }
.sube-chip .mi { font-size: 16px; }
.sube-tag { --c: #2f7ea8; margin-left: 6px; vertical-align: middle; }
.ubr { grid-column: 1 / -1; margin: 4px 0 0; padding: 8px 12px 10px; border: 1px solid var(--line); border-radius: 4px; }
.ubr legend { padding: 0 4px; font-size: 13px; font-weight: 700; }
.ubr-list { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ubr .muted { margin: 6px 0 0; }
@media (max-width: 640px) {
  .tb-sube { max-width: 130px; padding: 4px 6px 4px 8px; font-size: 13px; }
  .tb-sube > .mi:first-child { display: none; }
  .sube-chip { margin: 0 4px; padding: 1px 8px; font-size: 12px; }
}

/* ---------- Kullanıcı yetkileri (Dr. Doğanay'ın kararı, 15.11.2026; yetki.js, yetki-ekran.js, roller.js): Roller ekranı, yetki yok uyarısı,
   rolle önizle şeridi; Excel / PDF izni olmayan rolde dışa aktarma düğmeleri gizli */
.no-export [data-xlsx], .no-export [data-pdf], .no-export .ib[data-print], .no-export .tool[data-act="xlsx"], .no-export .tool[data-act="print"] { display: none !important; }
.no-access { max-width: 640px; margin: 40px auto; padding: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); text-align: center; }
.no-access .empty { font-size: 17px; font-weight: 600; }
.setup-note { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 12px; padding: 10px 14px; border: 1px solid #f0d58a; border-radius: var(--radius);
  background: #fff8e1; color: #6b4e00; font-size: 14px; line-height: 1.45; }
.pv-bar { position: sticky; top: 0; z-index: 30; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 8px 16px;
  background: #fff3cd; border-bottom: 1px solid #f0d58a; color: #5c4400; font-size: 14px; }
.pv-bar span { flex: 1; min-width: 220px; }
.tb-role { display: flex; align-items: center; gap: 6px; margin: 0; padding: 6px 14px; border-bottom: 1px solid var(--line); }
.tb-pv-pop .pv-note { margin: 0; padding: 8px 14px; border-bottom: 1px solid var(--line); line-height: 1.4; }
.tb-pv-pop button.on { color: var(--accent); font-weight: 600; }
.tb-pv-pop .pv-ag { display: flex; flex-direction: column; gap: 4px; padding: 8px 14px; border-top: 1px solid var(--line); font-size: 13px; }
.roles-wrap .set-nav a span { display: flex; flex-direction: column; }
.roles-wrap .set-nav a small { font-size: 12px; }
.rl-new { margin: 8px 12px 12px; align-self: flex-start; }
.rl-main > header { display: flex; align-items: center; gap: 8px; }
.rl-form { padding: 14px; }
.rl-note { margin: 0 0 12px; padding: 10px 14px; border-radius: var(--radius); background: #e6f0f6; color: var(--brand); font-weight: 600; }
.rl-head { margin-bottom: 6px; }
.rl-help { margin: 4px 0 10px; line-height: 1.45; }
.rl-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.rl-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rl-table th, .rl-table td { padding: 7px 10px; border-bottom: 1px solid var(--line2); text-align: center; }
.rl-table th:first-child, .rl-table td:first-child { text-align: left; }
.rl-table thead th { position: sticky; top: 0; background: #f8f9fa; font-size: 13px; white-space: nowrap; }
.rl-table .rl-sec th { background: #eef3f8; color: var(--brand); font-size: 13px; text-align: left; }
.rl-table td.na { background: repeating-linear-gradient(135deg, #fafafa 0 6px, #f1f3f5 6px 12px); }
.rl-table input { width: 18px; height: 18px; }
.rl-reports { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 4px 2px 8px; }
.rl-reports .off { color: var(--muted); }
.rl-users { line-height: 1.6; }
.rl-form .upd-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.appt.busy { display: flex; align-items: center; gap: 4px; padding: 2px 6px; border-radius: 4px; background: repeating-linear-gradient(135deg, #eef0f3 0 6px, #e3e6ea 6px 12px);
  color: #6c757d; font-size: 12px; cursor: default; overflow: hidden; }
.cal.no-add .cm-add { visibility: hidden; }
.msel.ro { pointer-events: none; opacity: .75; }
@media (max-width: 640px) {
  .rl-table th, .rl-table td { padding: 6px 6px; font-size: 13px; }
  .rl-table thead th { font-size: 12px; }
}
/* Randevu penceresinde rolün görebildiği form yoksa */
.rv-noforms { display: flex; align-items: center; gap: 6px; padding: 18px 16px; margin: 0; }
/* Gerçek büyüklükte uydurma veri şeridi (yalnız o kip açıkken) */
.big-bar { background: #e7f1fb; border-bottom-color: #b9d4ee; color: #1d3557; }
/* Uzun raporlarda "Sonraki satırları göster" satırı */
.gt tr.more-row td { text-align: center; padding: 10px; background: #f8fafc; }
/* Ayarlar > Veri Aktarma (veri-aktar-ekran.js): eski programdan aktarma adımları ve karşılaştırma */
.imp-bar { background: #fdecef; border-bottom-color: #f2b8c2; color: #6b1d2b; }
.imp-bar a { color: inherit; font-weight: 700; }
/* Gerçek veri sitesi (app.js drawRealBar) */
.real-bar { background: #fff4e0; border-bottom-color: #f0cf98; color: #5c3b00; }
.va .va-load { margin: 0 16px 14px; padding: 12px 14px; border: 1px solid #f0cf98; border-radius: 6px; background: #fffaf0; }
.va .va-load p { margin: 0 0 10px; font-size: 14px; line-height: 1.5; }
.va .ncard + .ncard { margin-top: 16px; }
.va p.pad { margin: 0; padding: 12px 16px; font-size: 14px; line-height: 1.5; }
.va-steps { margin: 0; padding: 0 16px 12px 36px; font-size: 14px; line-height: 1.55; }
.va-steps li + li { margin-top: 6px; }
.va-sql { display: grid; gap: 8px; padding: 0 16px 16px; }
.va-q { border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 12px; min-width: 0; }
.va-qh { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.va-qh b { flex: 1; min-width: 200px; font-size: 14px; }
.va-q summary { cursor: pointer; font-size: 13px; color: var(--link); margin-top: 4px; }
.va-q pre { margin: 6px 0 0; padding: 8px; max-height: 260px; overflow: auto; background: #f8f9fa; border-radius: 4px; font-size: 12px; white-space: pre; }
.va-open .pad { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px 16px; }
.va-open .pad p { margin: 0; line-height: 1.45; }
.va-file { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; }
.va-file input { max-width: 100%; }
.va-chk { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.va-err { margin: 0; padding: 8px 12px; border-radius: var(--radius); background: #fdecef; color: #8a1c2c; font-size: 14px; }
.va-sum { margin: 0; padding: 12px 16px 4px 36px; font-size: 14px; line-height: 1.7; }
.va-scroll { overflow: auto; max-height: calc(70vh / var(--z, 1)); }
.va-t td.num, .va-t th.num { text-align: right; font-variant-numeric: tabular-nums; }
.va-ok, .va-exp, .va-bad { display: inline-block; padding: 0 6px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.va-ok { background: #e3f4e8; color: #1e6b34; }
.va-exp { background: #fff3cd; color: #6b4e00; }
.va-bad { background: #fdecef; color: #8a1c2c; }
tr.va-miss td { color: var(--muted); }
.va-date { flex-wrap: wrap; }
.va-date input { font: inherit; font-weight: 400; }
.va-again { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 0; }
.va-dates { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
