/* Hasta modalları v2 — yalnız Hasta Kartı, Hasta Düzenle ve silme onayı. */
:root{
  --patm-bg:#0b0e0c;
  --patm-surface:#111411;
  --patm-raised:#171a17;
  --patm-border:rgba(212,175,55,.23);
  --patm-line:rgba(255,255,255,.09);
  --patm-text:#f2f4f1;
  --patm-muted:#9aa19b;
  --patm-gold:#d7b74f;
  --patm-gold-soft:rgba(215,183,79,.12);
  --patm-green:#79c66b;
  --patm-red:#ef706c;
}

/* Ortak modal kabuğu */
.modal-card.modal-fit:has(.pat-modal-v2){
  width:min(1080px,calc(100vw - 28px))!important;
  height:min(680px,calc(100dvh - 16px))!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--patm-border)!important;
  border-radius:18px!important;
  background:
    radial-gradient(90% 55% at 50% -15%,rgba(212,175,55,.14),transparent 58%),
    var(--patm-bg)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.modal-card.modal-fit:has(.pat-modal-v2)::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  z-index:6;
  background:linear-gradient(90deg,transparent,var(--patm-gold),transparent);
}
.modal-card.modal-fit:has(.pat-modal-v2)>h2{display:none!important}
.modal-card.modal-fit:has(.pat-modal-v2)>#mb{
  display:block!important;
  flex:1 1 0!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  padding:0!important;
}
.modal-card.modal-fit:has(.pat-modal-v2)>.modal-x{
  top:16px!important;
  right:17px!important;
  width:38px!important;
  height:38px!important;
  z-index:20!important;
  border-radius:11px!important;
  color:var(--patm-muted)!important;
  border:1px solid var(--patm-line)!important;
  background:#151815!important;
}
.pat-modal-v2{
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0!important;
  padding:0!important;
  color:var(--patm-text);
}
.pat-modal-v2 *{box-sizing:border-box}
.pat-modal-head{
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 68px 11px 20px;
  border-bottom:1px solid var(--patm-line);
  background:linear-gradient(90deg,rgba(212,175,55,.055),transparent 60%);
}
.pat-modal-head-icon,
.pat-detail-avatar{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(212,175,55,.32);
  border-radius:13px;
  color:var(--patm-gold);
  background:var(--patm-gold-soft);
  font-size:13px;
  font-weight:800;
}
.pat-modal-head-icon--patient::before{
  content:"";
  width:22px;
  height:22px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7b74f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/svg%3E");
}
.pat-modal-head-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.pat-modal-kicker{
  color:var(--patm-gold);
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pat-modal-head h2{
  margin:0;
  color:var(--patm-text);
  font-size:20px;
  line-height:1.2;
  font-weight:760;
  letter-spacing:-.02em;
}
.pat-modal-head p{
  max-width:780px;
  margin:1px 0 0;
  overflow:hidden;
  color:var(--patm-muted);
  font-size:11px;
  line-height:1.3;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pat-modal-footer{
  min-width:0;
  min-height:0;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
  padding:10px 18px!important;
  border-top:1px solid var(--patm-line)!important;
  background:#0d100e!important;
}
.pat-modal-footer-note{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--patm-muted);
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pat-modal-footer-note i{
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--patm-gold);
  box-shadow:0 0 0 4px rgba(212,175,55,.10);
}
.pat-modal-footer-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pat-modal-footer button{
  min-width:100px!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 18px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:750!important;
}
.pat-modal-footer .ghost{
  color:#c4c9c4!important;
  border:1px solid var(--patm-line)!important;
  background:#121512!important;
}
.pat-modal-footer .primary{
  color:#111!important;
  border:1px solid #c4a43e!important;
  background:linear-gradient(135deg,#e4c65e,#cca83b)!important;
  box-shadow:0 7px 22px rgba(212,175,55,.18)!important;
}
.pat-modal-footer .danger{
  color:#ff8b86!important;
  border:1px solid rgba(239,112,108,.48)!important;
  background:rgba(125,28,25,.16)!important;
}

/* Hasta düzenle / oluştur */
.patient-form-modal.pat-form-v2{
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr) 62px!important;
  gap:0!important;
  overflow:hidden!important;
}
.pat-form-v2 .patient-form-body{
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:minmax(150px,1.12fr) minmax(102px,.8fr) minmax(112px,.86fr)!important;
  grid-template-areas:
    "identity meta"
    "contact dates"
    "contact wa"!important;
  gap:9px 10px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.pat-form-v2 .pat-form-card,
.pat-form-v2 .pat-form-wa{
  min-width:0;
  min-height:0;
  margin:0!important;
  padding:11px 12px!important;
  overflow:hidden;
  border:1px solid var(--patm-line)!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:none!important;
}
.pat-form-v2 .pat-form-identity{grid-area:identity;display:flex!important;gap:8px!important}
.pat-form-v2 .pat-form-meta{grid-area:meta}
.pat-form-v2 .pat-form-dates{grid-area:dates}
.pat-form-v2 .pat-form-contact{grid-area:contact}
.pat-form-v2 .pat-form-wa{grid-area:wa;border-top:1px solid var(--patm-line)!important}
.pat-form-v2 .pat-form-card-head{
  height:28px;
  margin:0 0 8px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.pat-form-v2 .pat-form-card-head span,
.pat-form-v2 .pat-form-group-lab{
  color:var(--patm-gold)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.pat-form-v2 .pat-form-card-head small{
  color:#757c76;
  font-size:9px;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
}
.pat-form-v2 .pat-form-lab{font-size:9px!important;line-height:1.15!important}
.pat-form-v2 .pat-form-name-hero{align-items:stretch!important;text-align:left!important;gap:4px!important}
.pat-form-v2 .pat-form-name-hero input{
  min-height:42px!important;
  height:42px!important;
  padding:0 12px!important;
  text-align:left!important;
  font-size:16px!important;
  border-radius:10px!important;
}
.pat-form-v2 .pat-form-identity-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:end!important;
}
.pat-form-v2 .pat-form-meta-row,
.pat-form-v2 .pat-form-quiet-row--3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.pat-form-v2 .pat-form-quiet-row{gap:8px!important}
.pat-form-v2 .pat-form-contact .pat-form-quiet-row+ .pat-form-quiet-row{margin-top:8px}
.pat-form-v2 input:not([type=checkbox]),
.pat-form-v2 select,
.pat-form-v2 textarea,
.pat-form-v2 .branchFixed{
  min-height:36px!important;
  height:36px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:11px!important;
  background:#0d100e!important;
  border-color:rgba(255,255,255,.11)!important;
}
.pat-form-v2 select{padding-right:34px!important;background-color:#0d100e!important}
.pat-form-v2 select option{color:#f2f4f1!important;background:#101310!important}
.pat-form-v2 textarea{
  min-height:50px!important;
  height:50px!important;
  padding:8px 10px!important;
  line-height:1.3!important;
  resize:none!important;
}
.pat-form-v2 .patient-active-pill{align-self:end!important;padding:0!important}
.pat-form-v2 .patient-active-pill-ui{height:36px!important;min-height:36px!important;padding:0 11px!important;font-size:10px!important}
.pat-form-v2 .pat-form-wa{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:18px 36px 36px;
  gap:5px 9px;
}
.pat-form-v2 .pat-form-wa>.pat-form-group-lab{grid-column:1/-1;margin:0!important}
.pat-form-v2 .pat-form-wa>.pat-form-quiet-row--wa{display:contents!important}
.pat-form-v2 .pat-form-wa>.pat-form-span{grid-column:1/-1}
.pat-form-v2 .pat-form-wa>.patient-form-wa-meta{
  display:none!important;
}
.pat-form-v2 .field-hint-err{font-size:9px;line-height:1.1}

/* Hasta detay */
.patient-detail-modal.pat-detail-v2{
  display:grid;
  grid-template-rows:76px 44px minmax(0,1fr) 62px;
  overflow:hidden;
}
.pat-detail-v2 .pat-detail-head{padding-right:72px}
.pat-detail-v2 .pat-detail-avatar{
  border-radius:50%;
  background:linear-gradient(135deg,#5d5025,#272311);
  color:#f5db7b;
}
.pat-detail-v2 .pat-detail-chip{
  flex:0 0 auto;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pat-detail-v2 .pat-detail-chip--ok{color:#9be58b;border:1px solid rgba(121,198,107,.42);background:rgba(53,115,42,.16)}
.pat-detail-v2 .pat-detail-chip--bad{color:#ff918d;border:1px solid rgba(239,112,108,.42);background:rgba(125,28,25,.16)}
.pat-detail-tabs{
  min-width:0;
  display:flex;
  align-items:end;
  gap:4px;
  padding:5px 14px 0;
  border-bottom:1px solid var(--patm-line);
  background:#0e110f;
}
.pat-detail-tabs button{
  min-width:145px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--patm-muted);
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  font-size:11px;
  font-weight:750;
}
.pat-detail-tabs button span{
  min-width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-size:9px;
}
.pat-detail-tabs button.is-active{
  color:#f1d674;
  border-bottom-color:var(--patm-gold);
  background:linear-gradient(180deg,transparent,rgba(212,175,55,.065));
}
.pat-detail-body{min-height:0;padding:10px 12px;overflow:hidden}
.pat-detail-panel-view{height:100%;min-height:0;overflow:hidden}
.pat-detail-panel-view[hidden]{display:none!important}
.pat-detail-panel-view[data-pat-detail-panel="overview"]{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pat-detail-overview-grid{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:9px 10px;
}
.pat-detail-card{
  min-width:0;
  min-height:0;
  padding:11px 12px;
  overflow:hidden;
  border:1px solid var(--patm-line);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.pat-detail-card>header{
  height:31px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.pat-detail-card>header span{color:var(--patm-gold);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pat-detail-card>header small{color:#757c76;font-size:9px;font-weight:600}
.pat-detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px}
.pat-detail-info{
  min-width:0;
  min-height:47px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:9px;
  background:rgba(0,0,0,.13);
}
.pat-detail-info.is-wide{grid-column:1/-1}
.pat-detail-info span,.pat-detail-kpi span{color:#777f78;font-size:8.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pat-detail-info strong{
  min-width:0;
  overflow:hidden;
  color:#e7eae6;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pat-detail-kpi-grid--track{
  height:calc(100% - 39px);
  min-height:0;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:7px!important;
}
.pat-detail-kpi-grid--track>.pat-detail-kpi{grid-column:span 2}
.pat-detail-kpi-grid--track>.pat-detail-kpi:nth-child(n+4){grid-column:span 3}
.pat-detail-kpi{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:7px 8px;
  border:1px solid rgba(212,175,55,.13);
  border-radius:9px;
  background:rgba(212,175,55,.035);
}
.pat-detail-kpi strong{
  min-width:0;
  overflow:hidden;
  color:#f0f2ef;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pat-detail-history-lock{
  flex:0 0 50px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  color:#efcf69;
  border:1px solid rgba(212,175,55,.28);
  border-radius:11px;
  background:rgba(212,175,55,.07);
}
.pat-detail-lock-icon{
  flex:0 0 25px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid rgba(212,175,55,.5);
  border-radius:50%;
  font-size:13px;
  font-weight:900;
}
.pat-detail-history-lock>span:last-child{display:flex;flex-direction:column;gap:1px}
.pat-detail-history-lock strong{font-size:10px}
.pat-detail-history-lock small{color:#9e9a87;font-size:9px}
.pat-detail-panel-view[data-pat-detail-panel="sales"],
.pat-detail-panel-view[data-pat-detail-panel="service"]{
  display:grid;
  grid-template-rows:48px minmax(0,1fr);
  border:1px solid var(--patm-line);
  border-radius:13px;
  background:var(--patm-surface);
}
.pat-detail-panel-head{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 13px;
  border-bottom:1px solid var(--patm-line);
}
.pat-detail-panel-head>span{display:flex;flex-direction:column;gap:1px}
.pat-detail-panel-head strong{color:#f0f2ef;font-size:12px}
.pat-detail-panel-head small{color:var(--patm-muted);font-size:9px}
.pat-detail-panel-head>b{color:var(--patm-gold);font-size:10px}
.pat-detail-table{min-height:0;overflow:auto}
.pat-detail-table .table{height:100%;min-height:0;overflow:auto!important;background:transparent!important}
.pat-detail-table table,
.pat-detail-table tbody,
.pat-detail-table tr,
.pat-detail-table td{background:#111411!important;color:#e5e8e4!important}
.pat-detail-table table{width:100%;border-collapse:collapse}
.pat-detail-table th{position:sticky;top:0;z-index:1;background:#171a17!important;color:#d7b74f!important;font-size:9px!important}
.pat-detail-table th,.pat-detail-table td{padding:10px 12px!important;border-bottom:1px solid rgba(255,255,255,.06)!important;font-size:10.5px!important}

/* Hasta silme onayı */
.modal-card:has(.patient-delete-dialog){
  width:min(520px,calc(100vw - 28px))!important;
  max-width:none!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(239,112,108,.34)!important;
  border-radius:17px!important;
  background:var(--patm-bg)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.66)!important;
}
.modal-card:has(.patient-delete-dialog)>h2{
  margin:0!important;
  padding:20px 64px 17px 20px!important;
  color:#f4f5f3!important;
  border-bottom:1px solid var(--patm-line)!important;
  font-size:18px!important;
  font-weight:760!important;
  text-align:left!important;
}
.modal-card:has(.patient-delete-dialog)>.modal-x{
  top:13px!important;right:14px!important;width:38px!important;height:38px!important;
  color:#b8bdb8!important;border:1px solid var(--patm-line)!important;background:#151815!important;
}
.patient-delete-dialog{padding:0!important;background:transparent!important}
.patient-delete-dialog .app-dialog-msg{margin:0!important;padding:16px 18px 14px!important;text-align:left!important}
.patient-delete-copy,.patient-delete-identity,.patient-delete-warning,.patient-delete-meta,.patient-delete-warning>span:last-child{display:flex}
.patient-delete-copy{flex-direction:column;gap:12px}
.patient-delete-identity{align-items:center;gap:11px;padding:11px;border:1px solid var(--patm-line);border-radius:12px;background:#121512}
.patient-delete-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(212,175,55,.32);border-radius:50%;color:#f2d673;background:rgba(212,175,55,.12);font-size:12px;font-weight:800}
.patient-delete-meta,.patient-delete-warning>span:last-child{min-width:0;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:3px}
.patient-delete-meta strong,.patient-delete-meta small{display:block;max-width:100%;line-height:1.25}
.patient-delete-identity strong{color:#f1f3f0;font-size:13px}
.patient-delete-identity small{color:var(--patm-muted);font-size:10px}
.patient-delete-warning{align-items:flex-start;gap:10px;padding:11px;border:1px solid rgba(239,112,108,.3);border-radius:12px;background:rgba(125,28,25,.14)}
.patient-delete-warning-icon{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(239,112,108,.55);border-radius:50%;color:#ff8984;font-weight:900}
.patient-delete-warning strong{color:#ff918c;font-size:11px}
.patient-delete-warning small{color:#c4aaa8;font-size:10px;line-height:1.4}
.patient-delete-dialog .app-dialog-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
  padding:12px 18px!important;
  border-top:1px solid var(--patm-line)!important;
  background:#0d100e!important;
}
.patient-delete-dialog .app-dialog-actions button{min-width:140px!important;height:40px!important;border-radius:10px!important;font-size:12px!important;font-weight:750!important}
.patient-delete-dialog .app-dialog-actions .ghost{color:#c4c9c4!important;border:1px solid var(--patm-line)!important;background:#121512!important}
.patient-delete-dialog .app-dialog-actions .primary{color:#fff!important;border:1px solid rgba(239,112,108,.7)!important;background:linear-gradient(135deg,#b84540,#8e2d2a)!important;box-shadow:0 7px 20px rgba(177,55,50,.2)!important}

html[data-theme="white-page"] .modal-card:has(.pat-modal-v2),
body.white-page .modal-card:has(.pat-modal-v2),
html[data-theme="white-page"] .modal-card:has(.patient-delete-dialog),
body.white-page .modal-card:has(.patient-delete-dialog){
  --patm-bg:#f5f6f4;
  --patm-surface:#fff;
  --patm-raised:#f0f2ef;
  --patm-line:rgba(24,32,27,.12);
  --patm-text:#172019;
  --patm-muted:#647069;
  background:#f5f6f4!important;
}
html[data-theme="white-page"] .pat-form-v2 input:not([type=checkbox]),
html[data-theme="white-page"] .pat-form-v2 select,
html[data-theme="white-page"] .pat-form-v2 textarea,
html[data-theme="white-page"] .pat-form-v2 .branchFixed{
  color:#172019!important;background:#fff!important;border-color:rgba(24,32,27,.16)!important;color-scheme:light;
}
html[data-theme="white-page"] .pat-form-v2 select option{color:#172019!important;background:#fff!important}

@media(max-width:900px){
  .modal-card.modal-fit:has(.pat-modal-v2){height:min(720px,calc(100dvh - 12px))!important}
  .pat-form-v2 .patient-form-body{display:flex!important;flex-direction:column!important;overflow:auto!important}
  .pat-form-v2 .pat-form-card,.pat-form-v2 .pat-form-wa{flex:0 0 auto}
  .pat-detail-overview-grid{grid-template-columns:1fr;grid-template-rows:none;overflow:auto}
  .pat-detail-card{min-height:150px}
}
@media(max-width:620px){
  .pat-modal-footer-note{display:none}
  .pat-modal-footer{justify-content:flex-end!important}
  .pat-form-v2 .pat-form-identity-row,.pat-form-v2 .pat-form-meta-row,.pat-form-v2 .pat-form-quiet-row--3{grid-template-columns:1fr!important}
  .pat-form-v2 .pat-form-wa{display:block}
  .pat-detail-tabs button{min-width:0;flex:1;padding:0 6px}
  .pat-detail-info-grid,.pat-detail-kpi-grid--track{grid-template-columns:1fr 1fr!important}
  .patient-delete-dialog .app-dialog-actions button{min-width:0!important;flex:1}
}
