:root {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --text: #182033;
  --muted: #6b7280;
  --line: #e5e7eb;
  --primary: #5B4DF5;
  --primary-dark: #453ABE;
  --primary-bright: #7468F7;
  --primary-deep: #38309C;
  --primary-softest: #F8F7FF;
  --primary-soft: #F0EFFE;
  --primary-soft-strong: #E7E5FD;
  --primary-border: #D2CEFC;
  --primary-border-strong: #AFA8FA;
  --primary-focus: #8D84F8;
  --primary-contrast: #FFFFFF;
  --primary-dark-contrast: #FFFFFF;
  --primary-rgb: 91, 77, 245;
  --sidebar-bg: #1B1D42;
  --sidebar-hover: #2C315F;
  --sidebar-active: #33386E;
  --success: #0f9f6e;
  --danger: #dc4c64;
  --warning: #d97706;
  --shadow: 0 1rem 2.5rem rgba(30, 41, 59, .08);
  --radius: 1.125rem;
  --page-width: 96%;
  --content-max: 100rem;
  --control-height: 2.75rem;
}

* { box-sizing: border-box; }
html { min-height: 100%; font-size: 100%; }
body {
  margin: 0;
  min-height: 100%;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
p { line-height: 1.55; }
img, svg, video { max-width: 100%; height: auto; }

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: clamp(14rem, 18%, 18rem) minmax(0, 1fr);
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background: var(--sidebar-bg);
  color: #dbe1ef;
  padding: 1.4rem 6%;
  display: flex;
  flex-direction: column;
  z-index: 20;
  overflow-y: auto;
}
.brand { display: flex; align-items: center; gap: .7rem; font-weight: 800; letter-spacing: -.02em; min-width: 0; }
.sidebar .brand { padding: 0 4% 1.4rem; color: #ffffff; }
.sidebar .brand > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-mark {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.3rem;
  aspect-ratio: 1;
  border-radius: 34%;
  background: linear-gradient(145deg, var(--primary-bright), var(--primary-dark));
  color: var(--primary-contrast);
  box-shadow: 0 .5rem 1.25rem rgba(var(--primary-rgb), .35);
}
nav { display: flex; flex-direction: column; gap: .25rem; }
.nav-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  border: 0;
  border-radius: .75rem;
  padding: .7rem 5%;
  color: #aeb7c8;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.nav-link:hover { background: var(--sidebar-hover); color: #ffffff; }
.nav-link.active { background: var(--sidebar-active); color: #ffffff; }
.button-link { font: inherit; }
.sidebar-bottom { margin-top: auto; display: flex; flex-direction: column; gap: .25rem; }
.main { min-width: 0; width: 100%; }
.topbar {
  min-height: 4.9rem;
  padding: .8rem 2.5%;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(.75rem);
  border-bottom: .0625rem solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2%;
  position: sticky;
  top: 0;
  z-index: 10;
}
.topbar > div:nth-child(2) { min-width: 0; }
.topbar strong { font-size: 1.125rem; }
.small { font-size: .75rem; }
.muted { color: var(--muted); }
.user-chip { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.user-chip small { display: block; color: var(--muted); margin-top: .15rem; }
.user-chip > div { min-width: 0; }
.user-chip strong, .user-chip small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar {
  flex: 0 0 auto;
  width: 2.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--primary-soft-strong);
  color: var(--primary-dark);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.avatar.large { width: 3rem; }
.content { width: var(--page-width); max-width: var(--content-max); padding: 1.6rem 0; margin: 0 auto; }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.stats-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stat-card {
  min-width: 0;
  background: var(--panel);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  padding: 6%;
  display: flex;
  align-items: center;
  gap: 5%;
  box-shadow: var(--shadow);
}
.stat-card small { display: block; color: var(--muted); margin-bottom: .4rem; }
.stat-card strong { font-size: clamp(1.2rem, 2vw, 1.55rem); overflow-wrap: anywhere; }
.stat-card-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.stat-card-link:hover,
.stat-card-link:focus-visible {
  color: inherit;
  border-color: color-mix(in srgb, var(--primary) 42%, var(--line));
  box-shadow: 0 .85rem 2rem rgba(var(--primary-rgb), .14);
  transform: translateY(-.12rem);
  outline: none;
}
.stat-card-link:active { transform: translateY(0); }
.stat-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.8rem;
  aspect-ratio: 1;
  border-radius: 32%;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 1.25rem;
  font-weight: 800;
}
.stat-card.warning .stat-icon { background: #fff7ed; color: var(--warning); }
.stat-card.danger .stat-icon { background: #fff1f2; color: var(--danger); }
.two-col { display: grid; grid-template-columns: minmax(0, 57%) minmax(0, 43%); gap: 1.25rem; margin-bottom: 1.25rem; }
.panel {
  width: 100%;
  min-width: 0;
  background: var(--panel);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  padding: 2%;
  box-shadow: var(--shadow);
  margin-bottom: 1.25rem;
}
.table-panel { padding: 0; overflow: hidden; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 3%; padding-bottom: 1rem; }
.table-panel .panel-head { padding: 1.25rem 2% .9rem; }
.panel-head > div { min-width: 0; }
.panel-head h3 { margin-bottom: .25rem; }
.panel-head p { margin: 0; color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }

.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  min-height: var(--control-height);
  border: .0625rem solid transparent;
  border-radius: .7rem;
  padding: .6rem 1rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  max-width: 100%;
}
.btn.primary { background: var(--primary); color: var(--primary-contrast); }
.btn.primary:hover { background: var(--primary-dark); color: var(--primary-dark-contrast); }
.btn.secondary { background: #ffffff; border-color: var(--line); color: #374151; }
.btn.secondary:hover { background: #f8fafc; }
.btn.ghost { background: transparent; color: var(--primary); padding: .45rem; min-height: auto; white-space: normal; }
.btn.wide { width: 100%; }
.toolbar {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3%;
  margin-bottom: 1.15rem;
}
.toolbar > .muted { max-width: 65%; }
.filter-form, .search-form, .actions { display: flex; align-items: flex-end; gap: .65rem; flex-wrap: wrap; min-width: 0; }
.actions { justify-content: flex-end; }
.filter-form label { flex: 1 1 20%; min-width: 8.5rem; }
.search-form { flex: 1 1 50%; }
.search-form input { min-width: min(100%, 18rem); }

.timeline { display: flex; flex-direction: column; }
.timeline-item {
  display: grid;
  grid-template-columns: 8% 3% minmax(0, 1fr) auto;
  gap: 2%;
  align-items: center;
  padding: .8rem 0;
  border-top: .0625rem solid #f0f2f6;
}
.timeline-item:first-child { border-top: 0; }
.timeline-item time { font-weight: 800; }
.timeline-item p, .compact-row p, .customer-card p, .product-card p { margin: .2rem 0 0; color: var(--muted); font-size: .82rem; }
.timeline-dot { width: .65rem; aspect-ratio: 1; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 .25rem var(--primary-soft); }
.badge { display: inline-flex; align-items: center; border-radius: 999rem; padding: .35rem .6rem; font-size: .7rem; font-weight: 800; }
.badge.planned { background: #fff7ed; color: #b45309; }
.badge.confirmed { background: var(--primary-soft); color: var(--primary-dark); }
.badge.completed { background: #ecfdf5; color: #047857; }
.badge.cancelled, .badge.no_show { background: #fff1f2; color: #be123c; }
.compact-list { display: flex; flex-direction: column; }
.compact-row { display: flex; gap: 3%; align-items: center; padding: .75rem 0; border-top: .0625rem solid #f0f2f6; }
.compact-row:first-child { border-top: 0; }
.grow { flex: 1; min-width: 0; }
.date-box { flex: 0 0 2.7rem; aspect-ratio: .93; border-radius: .75rem; background: #f3f4f6; display: grid; place-items: center; line-height: 1; }
.date-box small { color: var(--muted); }

.table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; min-width: 48rem; }
th, td { text-align: left; padding: .9rem 1.2%; border-top: .0625rem solid var(--line); vertical-align: middle; overflow-wrap: anywhere; }
thead th { border-top: 0; background: #f9fafb; color: #667085; font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; }
tbody tr:hover { background: #fbfcfe; }
.empty { text-align: center; padding: 2.2rem 3%; color: var(--muted); }
.icon-button {
  flex: 0 0 auto;
  border: .0625rem solid var(--line);
  background: #ffffff;
  width: 2.3rem;
  aspect-ratio: 1;
  border-radius: 28%;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}
.icon-button:hover { background: #f9fafb; }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }
.customer-card, .product-card, .package-card {
  min-width: 0;
  background: #ffffff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  padding: 6%;
  box-shadow: var(--shadow);
}
.customer-top { display: flex; align-items: center; gap: 4%; min-width: 0; }
.customer-top > div { min-width: 0; }
.customer-top h3 { margin: 0; overflow-wrap: anywhere; }
.points, .stock-number { font-size: .75rem; font-weight: 800; background: var(--primary-soft); color: var(--primary-dark); border-radius: 999rem; padding: .45rem .65rem; }
.stock-number { font-size: 1.25rem; }
.customer-card dl { display: grid; grid-template-columns: 30% minmax(0, 70%); gap: .5rem; margin: 1.1rem 0; font-size: .82rem; }
.customer-card dt { color: var(--muted); }
.customer-card dd { margin: 0; overflow-wrap: anywhere; }
.price-row { display: flex; justify-content: space-between; gap: 4%; margin: 1rem 0; color: var(--muted); font-size: .82rem; }
.low-stock { border-color: #fecdd3; background: #fffafb; }
.progress { height: .5rem; background: #eef0f5; border-radius: 999rem; overflow: hidden; margin: 1.1rem 0 .5rem; }
.progress span { display: block; height: 100%; background: var(--primary); border-radius: 999rem; }
.package-meta { display: flex; justify-content: space-between; gap: 4%; }
.package-meta span { color: var(--muted); font-size: .82rem; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 2%; }
label { display: flex; flex-direction: column; gap: .45rem; font-size: .82rem; font-weight: 700; color: #374151; min-width: 0; }
input, select, textarea {
  width: 100%;
  min-width: 0;
  min-height: var(--control-height);
  border: .0625rem solid #d8dde8;
  border-radius: .65rem;
  padding: .65rem 3%;
  background: #ffffff;
  color: var(--text);
  outline: none;
}
select { text-overflow: ellipsis; }
input:focus, select:focus, textarea:focus { border-color: var(--primary-focus); box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12); }
textarea { resize: vertical; min-height: 6rem; }
.stack { display: flex; flex-direction: column; gap: .9rem; }
.check { flex-direction: row; align-items: flex-start; font-weight: 500; }
.check input { width: auto; min-height: auto; margin-top: .15rem; }

/* Modal pencereler: ekranın yüzdesine göre genişler ve taşan içerik kendi içinde kayar. */
dialog {
  border: 0;
  padding: 0;
  border-radius: 1.1rem;
  box-shadow: 0 1.9rem 5rem rgba(15, 23, 42, .25);
  width: 92%;
  max-width: 34rem;
  max-height: 92vh;
  overflow: hidden;
  background: var(--panel);
}
dialog.dialog-wide { width: 94%; max-width: 74rem; }
dialog::backdrop { background: rgba(15, 23, 42, .55); backdrop-filter: blur(.2rem); }
.modal-card {
  width: 100%;
  max-width: 100%;
  max-height: 90vh;
  padding: 3%;
  display: flex;
  flex-direction: column;
  gap: .9rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.wide-modal { width: 100%; max-width: 100%; }
.modal-head {
  position: sticky;
  top: -3%;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3%;
  padding: .25rem 0 .7rem;
  background: var(--panel);
}
.modal-head > div { min-width: 0; }
.modal-head h3 { margin-bottom: .25rem; }
.modal-head p { margin: 0; color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.modal-card > .btn:last-child {
  position: sticky;
  bottom: -3%;
  z-index: 3;
  margin-top: .2rem;
  box-shadow: 0 -.6rem 1.2rem rgba(255, 255, 255, .95);
}
.alert { padding: .8rem 1rem; border-radius: .75rem; margin-bottom: 1rem; font-weight: 650; overflow-wrap: anywhere; }
.alert.success { background: #ecfdf5; color: #047857; border: .0625rem solid #a7f3d0; }
.alert.danger { background: #fff1f2; color: #be123c; border: .0625rem solid #fecdd3; }
.floating-alert { position: fixed; z-index: 99; top: 2%; left: 50%; width: min(92%, 42rem); transform: translateX(-50%); }

.integration-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.integration-card { border: .0625rem solid var(--line); border-radius: .9rem; padding: 5%; min-width: 0; }
.integration-card p { color: var(--muted); font-size: .82rem; }
.auth-page { background: #ffffff; }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: 58% 42%; }
.auth-visual {
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .18), transparent 25%), linear-gradient(145deg, var(--primary-deep), var(--primary-dark) 58%, var(--primary-bright));
  display: flex;
  align-items: flex-end;
  padding: 8%;
  color: #ffffff;
}
.auth-copy { width: 100%; max-width: 40rem; }
.auth-copy h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.02; letter-spacing: -.05em; margin: 1.1rem 0; }
.auth-copy p { font-size: clamp(1rem, 1.5vw, 1.15rem); color: var(--primary-soft); }
.pill { display: inline-flex; border-radius: 999rem; padding: .45rem .7rem; background: rgba(255, 255, 255, .14); font-weight: 800; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.auth-panel { display: grid; place-items: center; padding: 6%; }
.auth-card { width: min(100%, 27rem); display: flex; flex-direction: column; gap: 1rem; }
.auth-card h2 { margin: 1.1rem 0 .15rem; }
.auth-brand { font-size: 1.25rem; }
.demo-note { padding: .8rem; border-radius: .7rem; background: var(--primary-softest); color: var(--primary-deep); font-size: .75rem; line-height: 1.55; }
.text-link { color: var(--primary); font-weight: 700; }
.centered { text-align: center; }

.booking-page { background: #f8fafc; }
.booking-shell { min-height: 100vh; }
.booking-header { min-height: 4.9rem; width: 94%; max-width: 78rem; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 3%; }
.booking-main {
  width: 94%;
  max-width: 78rem;
  margin: auto;
  padding: 5% 0 7%;
  display: grid;
  grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  gap: 6%;
  align-items: center;
}
.booking-copy h1 { font-size: clamp(2.5rem, 5vw, 4.25rem); line-height: 1.04; letter-spacing: -.05em; margin: 1.25rem 0; }
.booking-copy > p { font-size: clamp(1rem, 1.5vw, 1.15rem); color: var(--muted); max-width: 38rem; }
.booking-copy .pill { background: var(--primary-soft-strong); color: var(--primary-dark); }
.feature-list { display: flex; flex-direction: column; gap: .75rem; margin-top: 1.9rem; font-weight: 700; color: #475569; }
.booking-card { width: 100%; background: #ffffff; border: .0625rem solid var(--line); border-radius: 1.5rem; padding: 6%; box-shadow: 0 1.9rem 5rem rgba(51, 65, 85, .12); }
.success-page { min-height: 100vh; display: grid; place-items: center; padding: 4%; background: linear-gradient(145deg, var(--primary-softest), #f8fafc); }
.success-card { width: min(94%, 39rem); background: #ffffff; border: .0625rem solid var(--line); border-radius: 1.5rem; padding: 6%; text-align: center; box-shadow: var(--shadow); margin: auto; }
.success-icon { width: 4.4rem; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: #ecfdf5; color: #047857; font-size: 2.1rem; margin: 0 auto 1.25rem; }
.reference { background: #f8fafc; border-radius: .75rem; padding: .8rem; margin: 1.25rem 0; font-weight: 800; overflow-wrap: anywhere; }
.error-code { font-size: clamp(3rem, 8vw, 4rem); color: var(--primary); }
.mobile-only { display: none; }

/* v1.3+ hizmet kategorileri ve personel yetkileri */
.permission-fieldset { min-width: 0; border: .0625rem solid var(--line); border-radius: .9rem; padding: 2%; margin: .75rem 0; }
.permission-fieldset legend { max-width: 90%; padding: 0 1%; font-weight: 700; overflow-wrap: anywhere; }
.checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .65rem; max-height: 38vh; overflow-y: auto; padding-right: 1%; }
.check-card { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 4%; border: .0625rem solid var(--line); border-radius: .75rem; padding: 4%; background: #ffffff; cursor: pointer; min-width: 0; }
.check-card input { width: auto; min-height: auto; margin-top: .2rem; flex: 0 0 auto; }
.check-card span { display: grid; gap: .15rem; min-width: 0; }
.check-card strong, .check-card small { overflow-wrap: anywhere; }
.check-card small { color: var(--muted); }
.notice-box { padding: .8rem 2%; border-radius: .75rem; background: var(--primary-soft); color: var(--primary-deep); border: .0625rem solid var(--primary-border); margin: .75rem 0; overflow-wrap: anywhere; }
select option[hidden] { display: none; }

@media (max-width: 68.75em) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-main { grid-template-columns: 1fr; gap: 2.25rem; }
  .booking-copy { max-width: 48rem; }
  .integration-grid { grid-template-columns: 1fr; }
  dialog.dialog-wide { width: 96%; }
}

@media (max-width: 51.25em) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed;
    left: -100%;
    width: min(82%, 18rem);
    padding: 1.4rem 5%;
    transition: left .2s ease;
    box-shadow: 1rem 0 3rem rgba(15, 23, 42, .22);
  }
  .sidebar.open { left: 0; }
  .mobile-only { display: inline-grid; }
  .topbar { padding-inline: 3%; }
  .content { width: 94%; padding-block: 1rem; }
  .user-chip > div { display: none; }
  .two-col { grid-template-columns: 1fr; }
  .toolbar { align-items: stretch; flex-direction: column; }
  .toolbar > .muted { max-width: 100%; }
  .filter-form, .search-form, .actions { width: 100%; align-items: stretch; }
  .actions .btn { flex: 1 1 45%; }
  .filter-form label, .search-form input { min-width: 0; flex: 1 1 45%; }
  .card-grid { grid-template-columns: 1fr; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-visual { display: none; }
  .stats-grid, .stats-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid { grid-template-columns: 1fr; }
  .booking-main { padding-top: 2%; }
  .booking-card { padding: 5%; }
  .booking-header { min-height: 4.25rem; }
  .panel { padding: 4%; }
  .table-panel { padding: 0; }
  .table-panel .panel-head { padding-inline: 4%; }
  dialog, dialog.dialog-wide { width: 96%; max-width: 96%; }
  .modal-card { padding: 4%; }
  .modal-head { top: -4%; }
  .modal-card > .btn:last-child { bottom: -4%; }
  .checkbox-grid { max-height: 32vh; }
}

@media (max-width: 32.5em) {
  html { font-size: 94%; }
  .stats-grid, .stats-grid.compact { grid-template-columns: 1fr; }
  .topbar .muted { display: none; }
  .topbar { min-height: 4.2rem; }
  .content { width: 94%; }
  .panel-head { align-items: flex-start; flex-direction: column; }
  .toolbar .actions { flex-direction: column; }
  .actions .btn { width: 100%; flex-basis: auto; }
  .booking-copy h1 { font-size: 2.5rem; }
  .booking-header .btn { padding: .55rem .7rem; }
  .auth-panel { padding: 7%; }
  .timeline-item { grid-template-columns: 12% 3% minmax(0, 1fr); }
  .timeline-item .badge { display: none; }
  .compact-row { align-items: flex-start; }
  .customer-card dl { grid-template-columns: 35% minmax(0, 65%); }
  dialog, dialog.dialog-wide { width: 98%; max-width: 98%; max-height: 96vh; border-radius: .8rem; }
  .modal-card { max-height: 94vh; padding: 5%; }
  .checkbox-grid { grid-template-columns: 1fr; max-height: 30vh; }
  table { min-width: 44rem; }
}

/* v1.5 - Üç adımlı müşteri randevu deneyimi */
.booking-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--primary-rgb), .13), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(124, 58, 237, .1), transparent 30rem),
    #f7f8fc;
}
.booking-wizard-shell { display: flex; flex-direction: column; min-height: 100vh; }
.booking-wizard-header { flex: 0 0 auto; }
.booking-login-link svg,
.booking-pane svg,
.booking-wizard-card svg,
.booking-footer svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.booking-wizard-main {
  flex: 1 0 auto;
  width: 94%;
  max-width: 82rem;
  margin: 0 auto;
  padding: 2.5% 0 4%;
}
.booking-wizard-card {
  overflow: hidden;
  background: rgba(255, 255, 255, .96);
  border: .0625rem solid rgba(229, 231, 235, .9);
  border-radius: 1.65rem;
  box-shadow: 0 2rem 5rem rgba(30, 41, 59, .12);
}
.booking-wizard-intro {
  padding: 3.2% 4% 2.2%;
  text-align: center;
  background: linear-gradient(145deg, rgba(245, 243, 255, .95), rgba(255, 255, 255, .95));
  border-bottom: .0625rem solid var(--line);
}
.booking-wizard-intro .pill { background: var(--primary-soft-strong); color: var(--primary-dark); }
.booking-wizard-intro h1 {
  max-width: 54rem;
  margin: .9rem auto .55rem;
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.booking-wizard-intro p { max-width: 46rem; margin: 0 auto; color: var(--muted); }

.booking-stepper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 88%;
  margin: 0 auto;
  padding: 2.2% 0;
  list-style: none;
}
.booking-stepper::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 16%;
  right: 16%;
  height: .15rem;
  background: #e7e9f0;
  transform: translateY(-50%);
}
.booking-step {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  color: #8a93a5;
}
.booking-step-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1;
  border: .15rem solid #e7e9f0;
  border-radius: 50%;
  background: #ffffff;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.booking-step-icon svg { width: 1.25rem; height: 1.25rem; }
.booking-step-copy { display: grid; gap: .12rem; }
.booking-step-copy small { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.booking-step-copy strong { font-size: .9rem; color: #657084; }
.booking-step.is-active .booking-step-icon,
.booking-step.is-complete .booking-step-icon {
  border-color: var(--primary);
  background: var(--primary);
  color: #ffffff;
  box-shadow: 0 .6rem 1.5rem rgba(var(--primary-rgb), .23);
}
.booking-step.is-active .booking-step-icon { transform: scale(1.08); }
.booking-step.is-active .booking-step-copy small,
.booking-step.is-active .booking-step-copy strong,
.booking-step.is-complete .booking-step-copy small,
.booking-step.is-complete .booking-step-copy strong { color: var(--primary-dark); }

.booking-wizard-form { border-top: .0625rem solid #f0f1f5; }
.booking-pane { padding: 3.2% 4% 4%; animation: bookingPaneIn .22s ease; }
.booking-pane[hidden] { display: none !important; }
@keyframes bookingPaneIn { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: translateY(0); } }
.booking-pane-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.6rem; }
.booking-section-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 3.15rem;
  aspect-ratio: 1;
  border-radius: 32%;
  background: var(--primary-soft);
  color: var(--primary);
}
.booking-section-icon svg { width: 1.35rem; height: 1.35rem; }
.booking-pane-head h2 { margin: 0 0 .25rem; font-size: clamp(1.25rem, 2.3vw, 1.65rem); }
.booking-pane-head p { margin: 0; color: var(--muted); }

.booking-choice-grid,
.booking-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 2%;
}
.booking-choice-grid { margin-bottom: 1.25rem; }
.booking-choice-field,
.booking-form-grid label { gap: .5rem; }
.booking-field-label { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.booking-field-label small { color: var(--muted); font-weight: 500; }
.booking-select-wrap,
.booking-input-wrap { position: relative; display: block; }
.booking-select-wrap > svg,
.booking-input-wrap > svg {
  position: absolute;
  z-index: 1;
  left: 1rem;
  top: 50%;
  width: 1.1rem;
  height: 1.1rem;
  color: #81899a;
  transform: translateY(-50%);
  pointer-events: none;
}
.booking-select-wrap select,
.booking-input-wrap input,
.booking-input-wrap textarea {
  min-height: 3.15rem;
  padding-left: 3rem;
  border-radius: .85rem;
  background: #fbfcff;
}
.booking-textarea-wrap > svg { top: 1.1rem; transform: none; }
.booking-input-wrap textarea { min-height: 7rem; padding-top: .85rem; }

.booking-date-time-grid {
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  border: .0625rem solid var(--line);
  border-radius: 1.25rem;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 .8rem 2.5rem rgba(30, 41, 59, .06);
}
.booking-calendar-card,
.booking-slots-card { min-width: 0; padding: 5%; }
.booking-slots-card { border-left: .0625rem solid var(--line); background: #fbfcff; }
.booking-card-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.booking-card-title h3 { margin: .15rem 0 0; font-size: 1.25rem; }
.booking-mini-label { color: var(--primary); font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.booking-calendar-nav { display: flex; gap: .45rem; }
.booking-nav-button {
  display: grid;
  place-items: center;
  width: 2.4rem;
  aspect-ratio: 1;
  border: .0625rem solid var(--line);
  border-radius: .7rem;
  background: #ffffff;
  color: #505a6c;
  cursor: pointer;
}
.booking-nav-button:hover:not(:disabled) { border-color: var(--primary-border-strong); color: var(--primary); background: var(--primary-softest); }
.booking-nav-button:disabled { opacity: .38; cursor: not-allowed; }
.booking-calendar-month { display: flex; align-items: baseline; gap: .55rem; margin: 1.2rem 0; }
.booking-calendar-month strong { font-size: 1.45rem; }
.booking-calendar-month span { color: var(--muted); font-weight: 700; }
.booking-calendar-weekdays,
.booking-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.booking-calendar-weekdays { margin-bottom: .35rem; }
.booking-calendar-weekdays span { text-align: center; color: #8b93a3; font-size: .7rem; font-weight: 800; }
.booking-calendar-day {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  max-width: 3.1rem;
  justify-self: center;
  border: .0625rem solid transparent;
  border-radius: .72rem;
  background: transparent;
  color: #333d4f;
  font-weight: 750;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.booking-calendar-day:hover:not(:disabled) { background: var(--primary-soft); color: var(--primary); transform: translateY(-.08rem); }
.booking-calendar-day.is-today:not(.is-selected) { border-color: var(--primary-border-strong); color: var(--primary); }
.booking-calendar-day.is-selected { background: var(--primary); color: var(--primary-contrast); box-shadow: 0 .55rem 1.25rem rgba(var(--primary-rgb), .26); }
.booking-calendar-day.is-outside,
.booking-calendar-day.is-disabled { color: #c2c7d1; }
.booking-calendar-day:disabled { cursor: not-allowed; }
.booking-calendar-hint {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 1rem 0 0;
  padding: .75rem 3%;
  border-radius: .75rem;
  background: var(--primary-softest);
  color: var(--primary-dark);
  font-size: .75rem;
}
.booking-calendar-hint svg { flex: 0 0 auto; }

.booking-selected-date {
  max-width: 50%;
  padding: .4rem .65rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: .7rem;
  font-weight: 800;
  text-align: center;
}
.booking-slots-state {
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8%;
  border: .0625rem dashed #d9dce5;
  border-radius: 1rem;
  text-align: center;
  color: var(--muted);
  background: #ffffff;
}
.booking-slots-state > strong { margin: .85rem 0 .25rem; color: #475166; }
.booking-slots-state > p { max-width: 22rem; margin: 0; font-size: .8rem; }
.booking-slots-empty-icon {
  display: grid;
  place-items: center;
  width: 3.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--primary-soft);
  color: var(--primary);
}
.booking-slots-empty-icon svg { width: 1.5rem; height: 1.5rem; }
.booking-slots-state.is-warning .booking-slots-empty-icon { background: #fff7ed; color: var(--warning); }
.booking-slots-state.has-slots {
  min-height: 20rem;
  display: block;
  padding: 0;
  border: 0;
  text-align: left;
  background: transparent;
}
.booking-slot-group + .booking-slot-group { margin-top: 1.4rem; }
.booking-slot-group-title { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: #657084; font-size: .8rem; }
.booking-slot-group-title > span { color: var(--primary); }
.booking-slot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.booking-slot-button {
  min-height: 2.65rem;
  border: .0625rem solid #dfe2ea;
  border-radius: .72rem;
  background: #ffffff;
  color: #3d4657;
  font-weight: 800;
  cursor: pointer;
  transition: all .16s ease;
}
.booking-slot-button:hover { border-color: var(--primary-border-strong); color: var(--primary); background: var(--primary-softest); }
.booking-slot-button.is-selected { border-color: var(--primary); background: var(--primary); color: var(--primary-contrast); box-shadow: 0 .5rem 1rem rgba(var(--primary-rgb), .22); }
.booking-spinner { animation: bookingSpin .8s linear infinite; }
@keyframes bookingSpin { to { transform: rotate(360deg); } }

.booking-info-panel {
  padding: 3%;
  border: .0625rem solid var(--line);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #ffffff, #fbfcff);
}
.booking-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.booking-summary-card {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
  padding: 1rem;
  border: .0625rem solid var(--line);
  border-radius: .95rem;
  background: #ffffff;
}
.booking-summary-card.booking-summary-primary { border-color: var(--primary-border); background: var(--primary-softest); }
.booking-summary-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.65rem;
  aspect-ratio: 1;
  border-radius: 30%;
  background: var(--primary-soft);
  color: var(--primary);
}
.booking-summary-card > div { display: grid; min-width: 0; gap: .12rem; }
.booking-summary-card small { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.booking-summary-card strong { overflow-wrap: anywhere; }
.booking-summary-card span:not(.booking-summary-icon) { color: var(--muted); font-size: .75rem; overflow-wrap: anywhere; }
.booking-consent {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: .8rem;
  margin-top: 1rem;
  padding: 1rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .9rem;
  background: var(--primary-softest);
  cursor: pointer;
}
.booking-consent input { flex: 0 0 auto; width: 1.1rem; min-height: 1.1rem; margin-top: .15rem; accent-color: var(--primary); }
.booking-consent > span { display: grid; gap: .2rem; }
.booking-consent small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.booking-notice { margin: 1rem 0 0; }
.booking-validation-message {
  display: none;
  margin-top: 1rem;
  padding: .75rem 1rem;
  border: .0625rem solid #fecdd3;
  border-radius: .75rem;
  background: #fff1f2;
  color: #be123c;
  font-size: .8rem;
  font-weight: 700;
}
.booking-validation-message.is-visible { display: block; }
.booking-pane-actions { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1.35rem; }
.booking-actions-end { justify-content: flex-end; }
.booking-pane-actions .btn svg { flex: 0 0 auto; }
.booking-submit-button.is-loading { opacity: .75; cursor: wait; }
.booking-submit-button:disabled { cursor: wait; }
.booking-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: 94%;
  max-width: 82rem;
  margin: 0 auto;
  padding: 1.5rem 0 2rem;
  color: #81899a;
  font-size: .75rem;
}
.booking-disabled-card {
  width: min(94%, 38rem);
  margin: 8% auto;
  padding: 5%;
  border: .0625rem solid var(--line);
  border-radius: 1.4rem;
  background: #ffffff;
  text-align: center;
  box-shadow: var(--shadow);
}
.booking-hero-icon {
  display: grid;
  place-items: center;
  width: 4.5rem;
  aspect-ratio: 1;
  margin: 0 auto 1rem;
  border-radius: 34%;
  background: var(--primary-soft);
  color: var(--primary);
}
.booking-hero-icon svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 68.75em) {
  .booking-wizard-main { width: 96%; }
  .booking-stepper { width: 94%; }
  .booking-date-time-grid { grid-template-columns: 1fr; }
  .booking-slots-card { border-left: 0; border-top: .0625rem solid var(--line); }
  .booking-slots-state,
  .booking-slots-state.has-slots { min-height: 14rem; }
  .booking-slot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 51.25em) {
  .booking-wizard-intro { padding: 6% 5% 4%; }
  .booking-stepper { padding: 4% 0; }
  .booking-step { gap: .45rem; }
  .booking-step-icon { width: 2.55rem; }
  .booking-step-copy small { display: none; }
  .booking-step-copy strong { font-size: .78rem; }
  .booking-pane { padding: 5%; }
  .booking-choice-grid,
  .booking-form-grid,
  .booking-summary-grid { grid-template-columns: 1fr; }
  .booking-info-panel { padding: 5%; }
  .booking-slot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 32.5em) {
  .booking-wizard-header { width: 92%; }
  .booking-login-link span { display: none; }
  .booking-login-link { width: 2.75rem; padding: 0; }
  .booking-wizard-main { width: 94%; padding-top: 2%; }
  .booking-wizard-card { border-radius: 1.1rem; }
  .booking-wizard-intro { text-align: left; }
  .booking-wizard-intro h1 { font-size: 1.65rem; }
  .booking-stepper { width: 92%; }
  .booking-stepper::before { left: 12%; right: 12%; }
  .booking-step { flex-direction: column; text-align: center; }
  .booking-step-copy strong { font-size: .68rem; }
  .booking-step-icon { width: 2.35rem; }
  .booking-pane-head { align-items: flex-start; }
  .booking-section-icon { width: 2.75rem; }
  .booking-calendar-card,
  .booking-slots-card { padding: 6%; }
  .booking-calendar-weekdays,
  .booking-calendar-days { gap: .15rem; }
  .booking-calendar-day { border-radius: .55rem; font-size: .8rem; }
  .booking-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-pane-actions { flex-direction: column-reverse; }
  .booking-pane-actions .btn { width: 100%; }
  .booking-actions-end { flex-direction: column; }
  .booking-selected-date { max-width: 46%; }
  .booking-footer { flex-direction: column; text-align: center; padding-bottom: 1.5rem; }
}

/* v1.6 - Örnek akıştan esinlenen iki panelli tarih/saat şablonu */
.booking-pane-schedule {
  padding-top: 2.4%;
}

.booking-step1-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 38%) minmax(0, 62%);
  align-items: end;
  gap: 3%;
  margin-bottom: 1.25rem;
  padding: 2.2%;
  border: .0625rem solid var(--line);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #ffffff, var(--primary-softest));
}

.booking-step1-copy {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.booking-step1-copy h2,
.booking-info-heading h2 {
  margin: 0 0 .3rem;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.booking-step1-copy p,
.booking-info-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.booking-choice-grid-compact {
  margin: 0;
  gap: 2.5%;
}

.booking-date-time-grid.booking-date-time-template {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  border-radius: 1.25rem;
  background: #ffffff;
}

.booking-date-time-template .booking-calendar-card,
.booking-date-time-template .booking-slots-card {
  display: flex;
  flex-direction: column;
  min-height: 34rem;
  padding: 4.5%;
}

.booking-date-time-template .booking-slots-card {
  border-top: 0;
  border-left: .0625rem solid var(--line);
  background: #fbfcff;
}

.booking-panel-heading {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-height: 3.75rem;
  margin-bottom: 1rem;
}

.booking-panel-heading > div {
  min-width: 0;
}

.booking-panel-heading h3 {
  margin: 0 0 .2rem;
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
}

.booking-panel-heading p {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
}

.booking-panel-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.8rem;
  aspect-ratio: 1;
  border-radius: 30%;
  background: var(--primary-soft);
  color: var(--primary);
}

.booking-panel-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.booking-slots-heading .booking-selected-date {
  margin-left: auto;
}

.booking-calendar-toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  margin: .25rem 0 1.15rem;
  padding: .55rem;
  border: .0625rem solid #ececf3;
  border-radius: .9rem;
  background: #fbfcff;
}

.booking-calendar-toolbar .booking-calendar-month {
  justify-content: center;
  margin: 0;
  text-align: center;
}

.booking-calendar-toolbar .booking-calendar-month strong {
  font-size: 1.3rem;
}

.booking-calendar-toolbar .booking-nav-button {
  width: 2.45rem;
  background: #ffffff;
}

.booking-date-time-template .booking-calendar-days {
  flex: 1 0 auto;
}

.booking-date-time-template .booking-calendar-day {
  max-width: 3.35rem;
}

.booking-date-time-template .booking-calendar-hint {
  margin-top: auto;
}

.booking-date-time-template .booking-slots-state {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 25rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--primary-border) transparent;
}

.booking-date-time-template .booking-slots-state.has-slots {
  min-height: 0;
  padding-right: 1%;
}

.booking-date-time-template .booking-slot-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-date-time-template .booking-slot-button {
  min-height: 2.85rem;
}

.booking-pane-information {
  width: 86%;
  margin: 0 auto;
}

.booking-info-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.booking-info-selection-bar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .9rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .95rem;
  background: var(--primary-softest);
}

.booking-info-selection-icon {
  display: grid;
  place-items: center;
  width: 2.65rem;
  aspect-ratio: 1;
  border-radius: 30%;
  background: var(--primary);
  color: #ffffff;
}

.booking-info-selection-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.booking-info-selection-bar > div {
  display: grid;
  min-width: 0;
  gap: .15rem;
}

.booking-info-selection-bar small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.booking-info-selection-bar strong {
  overflow-wrap: anywhere;
}

.booking-edit-selection {
  border: .0625rem solid var(--primary-border);
  border-radius: 999rem;
  padding: .55rem .85rem;
  background: #ffffff;
  color: var(--primary-dark);
  font-weight: 800;
  cursor: pointer;
}

.booking-edit-selection:hover {
  border-color: var(--primary);
  background: var(--primary-soft);
}

.booking-pane-information .booking-info-panel {
  padding: 4%;
}

@media (max-width: 72em) {
  .booking-step1-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

@media (max-width: 56.25em) {
  .booking-date-time-grid.booking-date-time-template {
    grid-template-columns: 1fr;
  }

  .booking-date-time-template .booking-calendar-card,
  .booking-date-time-template .booking-slots-card {
    min-height: auto;
  }

  .booking-date-time-template .booking-slots-card {
    border-left: 0;
    border-top: .0625rem solid var(--line);
  }

  .booking-date-time-template .booking-slots-state {
    min-height: 16rem;
    max-height: none;
  }

  .booking-pane-information {
    width: 100%;
  }
}

@media (max-width: 51.25em) {
  .booking-choice-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-pane-information .booking-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 38em) {
  .booking-step1-toolbar {
    padding: 5%;
  }

  .booking-step1-copy {
    align-items: flex-start;
  }

  .booking-choice-grid-compact {
    grid-template-columns: 1fr;
    gap: .9rem;
  }

  .booking-panel-heading {
    align-items: flex-start;
  }

  .booking-slots-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .booking-slots-heading .booking-selected-date {
    grid-column: 1 / -1;
    max-width: 100%;
    margin: .25rem 0 0;
  }

  .booking-date-time-template .booking-slot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-info-selection-bar {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .booking-edit-selection {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* v1.7 - Tarih/saat, bilgi+hizmet ve onay+ödeme akışı */
.booking-step-one-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.booking-step-one-grid .booking-calendar-card,
.booking-step-one-grid .booking-slots-card {
  min-height: 37rem;
}

.booking-step-one-grid .booking-panel-heading h2 {
  margin: 0 0 .2rem;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.booking-reset-time {
  margin-left: auto;
  padding: .55rem .8rem;
  border: .0625rem solid var(--line);
  border-radius: .75rem;
  background: #ffffff;
  color: var(--muted);
  font-weight: 750;
  cursor: pointer;
}

.booking-reset-time:hover {
  border-color: var(--primary-border);
  color: var(--primary);
  background: var(--primary-softest);
}

.booking-selected-schedule,
.booking-selected-date-banner,
.booking-selected-time-banner {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .95rem;
  background: var(--primary-softest);
}

.booking-selected-schedule {
  margin-top: auto;
}

.booking-selected-date-banner {
  margin-bottom: 1rem;
}

.booking-selected-time-banner {
  margin-top: auto;
  border-color: var(--primary-border-strong);
  background: linear-gradient(145deg, var(--primary-soft), var(--primary-softest));
}

.booking-selected-date-banner[hidden],
.booking-selected-time-banner[hidden] {
  display: none;
}

.booking-selected-schedule-icon,
.booking-selected-date-banner > span,
.booking-selected-time-banner > span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.55rem;
  aspect-ratio: 1;
  border-radius: 32%;
  background: var(--primary);
  color: #ffffff;
}

.booking-selected-date-banner > span,
.booking-selected-time-banner > span {
  background: var(--primary-soft);
  color: var(--primary);
}

.booking-selected-schedule > div,
.booking-selected-date-banner > div,
.booking-selected-time-banner > div {
  display: grid;
  min-width: 0;
  gap: .15rem;
}

.booking-selected-schedule small,
.booking-selected-date-banner small,
.booking-selected-time-banner small {
  color: var(--muted);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.booking-selected-schedule strong,
.booking-selected-date-banner strong,
.booking-selected-time-banner strong {
  overflow-wrap: anywhere;
}

.booking-step-one-grid .booking-slots-state,
.booking-step-one-grid .booking-slots-state.has-slots {
  max-height: 23rem;
}

.booking-step-one-grid .booking-slot-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.booking-step-one-grid .booking-slot-button > span {
  color: var(--primary);
  font-weight: 850;
}

.booking-step-one-grid .booking-slot-button.is-selected > span {
  color: #ffffff;
}

.booking-pane-information {
  width: 100%;
}

.booking-information-layout {
  display: grid;
  grid-template-columns: minmax(0, 57%) minmax(0, 43%);
  gap: 2.5%;
  align-items: stretch;
}

.booking-appointment-overview,
.booking-details-panel,
.booking-final-summary,
.booking-payment-panel {
  min-width: 0;
  padding: 4.5%;
  border: .0625rem solid var(--line);
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 .8rem 2.5rem rgba(30, 41, 59, .055);
}

.booking-appointment-overview {
  display: flex;
  flex-direction: column;
  background: linear-gradient(150deg, #ffffff, var(--primary-softest));
}

.booking-overview-head {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin-bottom: 1.25rem;
}

.booking-overview-head h2 {
  margin: .15rem 0 .2rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.booking-overview-head p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
}

.booking-overview-datetime {
  display: grid;
  grid-template-columns: minmax(5rem, 24%) minmax(0, 1fr);
  overflow: hidden;
  border: .0625rem solid var(--primary-border);
  border-radius: 1rem;
  background: var(--primary-softest);
}

.booking-date-tile {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 9rem;
  padding: 10%;
  border-right: .0625rem dashed var(--primary-border);
  color: var(--primary-dark);
}

.booking-date-tile small,
.booking-date-tile span {
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .06em;
}

.booking-date-tile strong {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1;
}

.booking-overview-date-copy {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.booking-overview-date-copy > div {
  display: grid;
  align-content: center;
  gap: .2rem;
  padding: 8%;
}

.booking-overview-date-copy > div + div {
  border-top: .0625rem solid var(--primary-border);
}

.booking-overview-date-copy small,
.booking-overview-row small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.booking-overview-date-copy strong {
  font-size: 1rem;
}

.booking-overview-list {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
}

.booking-overview-row {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem;
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  background: #ffffff;
}

.booking-overview-row > span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.45rem;
  aspect-ratio: 1;
  border-radius: 30%;
  background: var(--primary-soft);
  color: var(--primary);
}

.booking-overview-row > div {
  display: grid;
  min-width: 0;
  gap: .15rem;
}

.booking-overview-row strong,
.booking-overview-row em {
  overflow-wrap: anywhere;
}

.booking-overview-row em {
  color: var(--muted);
  font-size: .72rem;
  font-style: normal;
}

.booking-overview-price {
  border-color: var(--primary-border);
  background: var(--primary-softest);
}

.booking-appointment-overview > .btn {
  margin-top: auto;
}

.booking-details-panel .booking-info-heading {
  margin-bottom: 1rem;
}

.booking-details-panel .booking-info-panel {
  padding: 0;
  border: 0;
  background: transparent;
}

.booking-customer-grid {
  margin-bottom: 1rem;
}

.booking-service-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 2%;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: .0625rem solid var(--line);
}

.booking-field-label b {
  color: var(--danger);
  font-size: .85rem;
}

.booking-field-help {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}

.booking-confirm-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5%;
  align-items: stretch;
}

.booking-final-summary-grid {
  grid-template-columns: 1fr;
}

.booking-payment-panel {
  display: flex;
  flex-direction: column;
}

.booking-payment-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .95rem;
  background: var(--primary-softest);
}

.booking-payment-total span {
  color: var(--muted);
  font-weight: 700;
}

.booking-payment-total strong {
  color: var(--primary-dark);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.booking-payment-options {
  display: grid;
  gap: .75rem;
}

.booking-payment-option {
  position: relative;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .9rem;
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.booking-payment-option:hover:not(.is-disabled) {
  border-color: var(--primary-border-strong);
  background: var(--primary-softest);
}

.booking-payment-option:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 .45rem 1.15rem rgba(var(--primary-rgb), .12);
}

.booking-payment-option input {
  width: 1.05rem;
  min-height: 1.05rem;
  margin: 0;
  accent-color: var(--primary);
}

.booking-payment-option-icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  aspect-ratio: 1;
  border-radius: 30%;
  background: var(--primary-soft);
  color: var(--primary);
}

.booking-payment-option > span:nth-of-type(2) {
  display: grid;
  min-width: 0;
  gap: .2rem;
}

.booking-payment-option small {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.4;
}

.booking-payment-option em {
  padding: .35rem .55rem;
  border-radius: 999rem;
  background: #f3f4f6;
  color: var(--muted);
  font-size: .65rem;
  font-style: normal;
  font-weight: 800;
}

.booking-payment-option.is-disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* Hatalı zorunlu alan: alt uyarıya ek olarak alanın kendisini de işaretle. */
.booking-input-wrap.is-invalid input,
.booking-input-wrap.is-invalid textarea,
.booking-input-wrap input.is-invalid,
.booking-input-wrap textarea.is-invalid,
.booking-select-wrap.is-invalid select,
.booking-select-wrap select.is-invalid {
  border-color: var(--danger) !important;
  background: #fff8f9;
  box-shadow: 0 0 0 .18rem rgba(220, 76, 100, .12);
}

.booking-input-wrap.is-invalid > svg,
.booking-select-wrap.is-invalid > svg {
  color: var(--danger);
}

.booking-calendar-card.is-invalid,
.booking-slots-card.is-invalid,
.booking-payment-options.is-invalid,
.booking-consent.is-invalid {
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 .18rem rgba(220, 76, 100, .12);
}

.booking-payment-options.is-invalid {
  padding: .55rem;
  border: .0625rem solid var(--danger);
  border-radius: 1rem;
  background: #fff8f9;
}

.booking-consent.is-invalid {
  background: #fff8f9;
}

@media (max-width: 64em) {
  .booking-information-layout,
  .booking-confirm-payment-grid {
    grid-template-columns: 1fr;
  }

  .booking-appointment-overview {
    gap: 0;
  }

  .booking-appointment-overview > .btn {
    margin-top: 0;
  }
}

@media (max-width: 56.25em) {
  .booking-step-one-grid {
    grid-template-columns: 1fr;
  }

  .booking-step-one-grid .booking-calendar-card,
  .booking-step-one-grid .booking-slots-card {
    min-height: auto;
  }

  .booking-service-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 38em) {
  .booking-overview-datetime {
    grid-template-columns: minmax(4.5rem, 28%) minmax(0, 1fr);
  }

  .booking-appointment-overview,
  .booking-details-panel,
  .booking-final-summary,
  .booking-payment-panel {
    padding: 6%;
  }

  .booking-payment-option {
    grid-template-columns: auto auto minmax(0, 1fr);
  }

  .booking-payment-option em {
    grid-column: 2 / -1;
    justify-self: start;
  }
}

.booking-payment-option.is-selected {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 .45rem 1.15rem rgba(var(--primary-rgb), .12);
}

/* v1.8 - Site ayarları ve kalıcı bağlantılar */
.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.brand-copy {
  display: grid;
  min-width: 0;
  line-height: 1.15;
}

.brand-copy strong,
.brand-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-copy small {
  margin-top: .25rem;
  color: #9da8bc;
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: 0;
}

.sidebar .brand > .brand-copy {
  white-space: normal;
}

.nav-group {
  display: grid;
  gap: .15rem;
}

.nav-submenu {
  display: none;
  margin: 0 0 .35rem 2.45rem;
  padding-left: .7rem;
  border-left: .0625rem solid rgba(255, 255, 255, .13);
}

.nav-group.open .nav-submenu {
  display: grid;
}

.nav-sublink {
  padding: .42rem .55rem;
  border-radius: .55rem;
  color: #98a4b8;
  font-size: .78rem;
}

.nav-sublink:hover,
.nav-sublink.active {
  color: #ffffff;
  background: rgba(255, 255, 255, .08);
}

.settings-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1.15rem;
}

.settings-tab {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  background: #ffffff;
  box-shadow: 0 .45rem 1.2rem rgba(30, 41, 59, .04);
}

.settings-tab > span:first-child {
  display: grid;
  place-items: center;
  width: 2.35rem;
  aspect-ratio: 1;
  border-radius: .7rem;
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 900;
}

.settings-tab > span:last-child {
  display: grid;
  min-width: 0;
}

.settings-tab small {
  margin-top: .15rem;
  color: var(--muted);
  font-size: .72rem;
}

.settings-tab.active {
  border-color: var(--primary-border-strong);
  background: var(--primary-softest);
  box-shadow: 0 .55rem 1.45rem rgba(var(--primary-rgb), .1);
}

.settings-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(16rem, .8fr);
  gap: 1.15rem;
  align-items: start;
}

.settings-main-panel {
  padding: clamp(1rem, 2.2%, 1.7rem);
}

.settings-heading {
  border-bottom: .0625rem solid var(--line);
  margin-bottom: 1.1rem;
}

.settings-heading p {
  max-width: 52rem;
}

.settings-form {
  gap: 1.15rem;
}

.settings-section {
  min-width: 0;
  margin: 0;
  padding: 1.1rem;
  border: .0625rem solid var(--line);
  border-radius: 1rem;
  background: #fbfcff;
}

.settings-section legend {
  padding: 0 .45rem;
  color: #2c3650;
  font-weight: 800;
}

.settings-section label small,
.settings-section > p {
  display: block;
  margin-top: .35rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 500;
}

.site-icon-setting {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: .25rem;
  padding: .9rem;
  border: .0625rem dashed #cfd4e2;
  border-radius: .9rem;
  background: #ffffff;
}

.site-icon-preview {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 4.2rem;
  aspect-ratio: 1;
  border-radius: 1rem;
  overflow: hidden;
  background: linear-gradient(145deg, var(--primary-bright), var(--primary-dark));
  color: var(--primary-contrast);
  font-size: 1.4rem;
  font-weight: 900;
  box-shadow: 0 .7rem 1.6rem rgba(var(--primary-rgb), .2);
}

.site-icon-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.compact-check {
  flex: 0 0 auto;
}

.settings-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.settings-choice-grid h4 {
  margin: 0 0 .65rem;
}

.choice-list {
  display: grid;
  gap: .55rem;
}

.choice-card {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem .85rem;
  border: .0625rem solid var(--line);
  border-radius: .8rem;
  background: #ffffff;
  cursor: pointer;
}

.choice-card:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 0 0 .15rem rgba(var(--primary-rgb), .1);
}

.choice-card input {
  width: 1rem;
  min-height: 1rem;
  accent-color: var(--primary);
}

.choice-card span {
  display: grid;
}

.choice-card small {
  margin-top: .12rem;
}

.settings-savebar {
  position: sticky;
  bottom: .75rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem .9rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .9rem;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 .9rem 2.2rem rgba(30, 41, 59, .13);
  backdrop-filter: blur(.65rem);
}

.settings-savebar span {
  color: var(--muted);
  font-size: .76rem;
}

.settings-side-column {
  position: sticky;
  top: 6rem;
  min-width: 0;
}

.settings-info-card dl {
  display: grid;
  gap: .8rem;
  margin: 0 0 1rem;
}

.settings-info-card dl > div {
  padding: .75rem;
  border-radius: .75rem;
  background: #f7f8fc;
}

.settings-info-card dt {
  margin-bottom: .25rem;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.settings-info-card dd {
  margin: 0;
  font-size: .78rem;
  overflow-wrap: anywhere;
}

.settings-info-card dd a {
  color: var(--primary);
}

.permalink-options {
  display: grid;
  gap: .7rem;
}

.permalink-option {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(10rem, .8fr) minmax(16rem, 1.2fr);
  align-items: center;
  gap: .9rem;
  padding: .9rem 1rem;
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  background: #ffffff;
  cursor: pointer;
}

.permalink-option > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.permalink-radio-ui {
  width: 1.2rem;
  aspect-ratio: 1;
  border: .12rem solid #b9c0cf;
  border-radius: 50%;
  box-shadow: inset 0 0 0 .2rem #ffffff;
}

.permalink-option:has(> input:checked) {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 0 0 .15rem rgba(var(--primary-rgb), .09);
}

.permalink-option:has(> input:checked) .permalink-radio-ui {
  border-color: var(--primary);
  background: var(--primary);
}

.permalink-option-copy {
  display: grid;
  min-width: 0;
}

.permalink-option-copy strong {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
}

.permalink-option-copy small {
  margin-top: .18rem;
  color: var(--muted);
  font-size: .72rem;
}

.permalink-option-copy em {
  padding: .22rem .45rem;
  border-radius: 999rem;
  background: var(--primary-soft-strong);
  color: var(--primary-deep);
  font-size: .62rem;
  font-style: normal;
}

.permalink-option > code {
  min-width: 0;
  padding: .55rem .65rem;
  border-radius: .6rem;
  background: #f5f6fa;
  color: #4a556d;
  font-size: .72rem;
  overflow-wrap: anywhere;
}

.permalink-custom-input {
  min-width: 0;
}

.permalink-slugs {
  margin-top: .2rem;
}

.permalink-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.permalink-preview-grid article {
  min-width: 0;
  padding: .8rem;
  border: .0625rem solid var(--line);
  border-radius: .8rem;
  background: #f8f9fc;
}

.permalink-preview-grid span {
  display: block;
  margin-bottom: .35rem;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.permalink-preview-grid strong {
  display: block;
  color: var(--primary-dark);
  font-size: .76rem;
  overflow-wrap: anywhere;
}

.permalink-status {
  padding: .9rem 1rem;
  border: .0625rem solid;
  border-radius: .9rem;
}

.permalink-status.success {
  border-color: #a7e7d0;
  background: #f1fcf8;
  color: #17634c;
}

.permalink-status.warning {
  border-color: #f3d39d;
  background: #fffaf0;
  color: #8b5a12;
}

.permalink-status ul {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  margin: .65rem 0;
  padding-left: 1.1rem;
  font-size: .76rem;
}

.permalink-status p {
  margin: 0;
  font-size: .76rem;
}

@media (max-width: 72em) {
  .settings-layout {
    grid-template-columns: 1fr;
  }

  .settings-side-column {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (max-width: 52em) {
  .settings-tabs,
  .settings-choice-grid,
  .permalink-preview-grid,
  .settings-side-column {
    grid-template-columns: 1fr;
  }

  .permalink-option {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .permalink-option > code,
  .permalink-custom-input {
    grid-column: 2;
  }

  .settings-savebar {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 38em) {
  .settings-tabs {
    gap: .5rem;
  }

  .settings-tab,
  .settings-section,
  .permalink-option {
    padding: .75rem;
  }

  .site-icon-setting {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .site-icon-setting .grow {
    flex: 1 1 70%;
  }
}

/* v1.9 — Tatil ve kapalı günler */
.booking-calendar-day.is-closed {
  position: relative;
  grid-template-rows: auto auto;
  gap: .08rem;
  border-color: #f2c9cf;
  background: #fff5f6;
  color: #b94a58;
}

.booking-calendar-day.is-closed .booking-closed-day-icon {
  width: .72rem;
  height: .72rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.booking-calendar-day.is-closed.is-today {
  border-color: #e79aa5;
  box-shadow: inset 0 0 0 .08rem rgba(185, 74, 88, .1);
}

.settings-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.closed-weekday-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin-top: .85rem;
}

.closed-weekday-card {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-width: 0;
  padding: .8rem;
  border: .0625rem solid var(--line);
  border-radius: .85rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.closed-weekday-card:hover {
  border-color: var(--primary-border-strong);
  transform: translateY(-.06rem);
}

.closed-weekday-card:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 0 0 .14rem rgba(var(--primary-rgb), .09);
}

.closed-weekday-card input {
  width: 1rem;
  min-height: 1rem;
  accent-color: var(--primary);
}

.closed-weekday-short {
  display: grid;
  place-items: center;
  width: 2.35rem;
  aspect-ratio: 1;
  border-radius: .7rem;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: .72rem;
  font-weight: 900;
}

.closed-weekday-card > span:last-child {
  display: grid;
  min-width: 0;
}

.closed-weekday-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.closed-weekday-card small {
  margin-top: .12rem;
  color: var(--muted);
  font-size: .68rem;
}

.settings-inline-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: .0625rem solid var(--line);
}

.settings-inline-actions span {
  color: var(--muted);
  font-size: .74rem;
}

.closed-range-form-grid {
  grid-template-columns: minmax(0, .7fr) minmax(0, .7fr) minmax(15rem, 1.6fr);
  align-items: start;
}

.closed-range-label-field {
  grid-column: auto;
}

.closed-range-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}

.closed-range-section-head h4 {
  margin: 0 0 .25rem;
}

.closed-range-section-head p,
.closed-range-empty p {
  margin: 0;
}

.closed-range-list {
  display: grid;
  gap: .65rem;
}

.closed-range-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .8rem;
  padding: .8rem;
  border: .0625rem solid var(--line);
  border-radius: .85rem;
  background: #ffffff;
}

.closed-range-date-block {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.closed-range-date-block > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.35rem;
  aspect-ratio: 1;
  border-radius: .7rem;
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 900;
}

.closed-range-date-block > div {
  display: grid;
  min-width: 0;
}

.closed-range-date-block strong {
  overflow-wrap: anywhere;
}

.closed-range-date-block small {
  margin-top: .18rem;
  color: var(--muted);
}

.closed-range-status {
  padding: .32rem .55rem;
  border-radius: 999rem;
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
}

.closed-range-status.upcoming {
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.closed-range-status.current {
  background: #fff0f2;
  color: #b33c4c;
}

.closed-range-status.past {
  background: #f1f3f7;
  color: #717a8c;
}

.closed-range-empty {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 1rem;
  border: .0625rem dashed #cfd4e2;
  border-radius: .85rem;
  background: #ffffff;
}

.closed-range-empty > span {
  display: grid;
  place-items: center;
  width: 2.35rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #eaf9f2;
  color: #18865d;
  font-weight: 900;
}

.closed-day-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .75rem 0 1rem;
}

.closed-day-tags span {
  padding: .38rem .6rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: .72rem;
  font-weight: 800;
}

.btn.compact {
  padding: .48rem .7rem;
  font-size: .72rem;
}

@media (max-width: 72em) {
  .closed-weekday-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .closed-range-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .closed-range-label-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 52em) {
  .settings-tabs,
  .closed-weekday-grid,
  .closed-range-form-grid {
    grid-template-columns: 1fr;
  }

  .closed-range-label-field {
    grid-column: auto;
  }

  .settings-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .closed-range-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .closed-range-row form {
    grid-column: 1 / -1;
  }

  .closed-range-row form .btn {
    width: 100%;
  }
}

@media (max-width: 38em) {
  .closed-range-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .closed-range-status {
    justify-self: start;
  }
}

/* v1.10 — İnternetten tatil takvimi ve seçmeli kapatma */
.holiday-import-section {
  overflow: hidden;
}

.holiday-import-head,
.holiday-selection-toolbar,
.holiday-category-head,
.holiday-source-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.holiday-import-head h4,
.holiday-category-head strong {
  margin: 0;
}

.holiday-import-head p {
  margin: .28rem 0 0;
}

.settings-eyebrow {
  display: inline-block;
  margin-bottom: .28rem;
  color: var(--primary);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.holiday-source-bar {
  align-items: center;
  margin-top: 1rem;
  padding: .78rem .88rem;
  border: .0625rem solid #bfe8d8;
  border-radius: .85rem;
  background: #f1fbf7;
}

.holiday-source-bar.is-fallback {
  border-color: #f0d6a7;
  background: #fff9ed;
}

.holiday-source-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.15rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #dcf6eb;
  color: #16805a;
  font-weight: 900;
}

.holiday-source-bar.is-fallback .holiday-source-icon {
  background: #ffedc9;
  color: #9b650c;
}

.holiday-source-bar > div {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
}

.holiday-source-bar small,
.holiday-source-time,
.holiday-selection-toolbar span,
.holiday-category-head > span {
  color: var(--muted);
  font-size: .7rem;
}

.holiday-source-bar small {
  margin-top: .12rem;
}

.holiday-source-time {
  flex: 0 0 auto;
  white-space: nowrap;
}

.holiday-import-form {
  margin-top: 1rem;
}

.holiday-selection-toolbar {
  align-items: center;
  padding: .72rem 0;
  border-block: .0625rem solid var(--line);
}

.holiday-selection-toolbar > div:first-child {
  display: grid;
  gap: .12rem;
}

.holiday-selection-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
}

.holiday-category-stack {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.holiday-category-group {
  display: grid;
  gap: .65rem;
}

.holiday-category-head {
  align-items: center;
}

.holiday-category-head > div {
  display: flex;
  align-items: center;
  gap: .48rem;
}

.holiday-category-dot {
  width: .62rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #8e95a6;
}

.holiday-category-dot.resmi {
  background: var(--primary);
}

.holiday-category-dot.dini {
  background: #16805a;
}

.holiday-category-dot.ozel {
  background: #d98418;
}

.holiday-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .62rem;
}

.holiday-option-card {
  position: relative;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: .68rem;
  min-width: 0;
  padding: .72rem;
  border: .0625rem solid var(--line);
  border-radius: .88rem;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.holiday-option-card:hover:not(.is-closed) {
  border-color: var(--primary-border-strong);
  box-shadow: 0 .45rem 1.2rem rgba(37, 31, 98, .07);
  transform: translateY(-.05rem);
}

.holiday-option-card:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-softest);
  box-shadow: 0 0 0 .12rem rgba(var(--primary-rgb), .08);
}

.holiday-option-card.dini:has(input:checked) {
  border-color: #39a87f;
  background: #f2fbf7;
  box-shadow: 0 0 0 .12rem rgba(22, 128, 90, .08);
}

.holiday-option-card.ozel:has(input:checked) {
  border-color: #e6ad67;
  background: #fffaf2;
  box-shadow: 0 0 0 .12rem rgba(217, 132, 24, .08);
}

.holiday-option-card.is-closed {
  border-style: dashed;
  background: #f6f7fa;
  cursor: default;
  opacity: .8;
}

.holiday-option-card input {
  position: absolute;
  width: .0625rem;
  height: .0625rem;
  opacity: 0;
  pointer-events: none;
}

.holiday-option-check {
  display: grid;
  place-items: center;
  width: 1.3rem;
  aspect-ratio: 1;
  border: .0625rem solid #cbd0dc;
  border-radius: .38rem;
  background: #fff;
  color: transparent;
  font-size: .72rem;
  font-weight: 900;
}

.holiday-option-card:has(input:checked) .holiday-option-check {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}

.holiday-option-card.dini:has(input:checked) .holiday-option-check {
  border-color: #16805a;
  background: #16805a;
}

.holiday-option-card.ozel:has(input:checked) .holiday-option-check {
  border-color: #d98418;
  background: #d98418;
}

.holiday-option-date {
  display: grid;
  place-items: center;
  align-content: center;
  width: 3.2rem;
  aspect-ratio: 1;
  border-radius: .75rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  line-height: 1;
}

.holiday-option-card.dini .holiday-option-date {
  background: #eaf8f2;
  color: #126c4d;
}

.holiday-option-card.ozel .holiday-option-date {
  background: #fff3df;
  color: #a86109;
}

.holiday-option-date strong {
  font-size: 1.08rem;
}

.holiday-option-date small {
  margin-top: .2rem;
  font-size: .58rem;
  font-weight: 900;
}

.holiday-option-content {
  display: grid;
  min-width: 0;
}

.holiday-option-content > strong {
  overflow-wrap: anywhere;
}

.holiday-option-content > small {
  margin-top: .16rem;
  overflow: hidden;
  color: var(--muted);
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.holiday-option-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .32rem;
  margin-top: .42rem;
}

.holiday-type-badge {
  padding: .24rem .42rem;
  border-radius: 999rem;
  background: #eceafc;
  color: var(--primary-dark);
  font-size: .58rem;
  font-style: normal;
  font-weight: 800;
}

.holiday-type-badge.dini {
  background: #e5f6ef;
  color: #126c4d;
}

.holiday-type-badge.ozel,
.holiday-type-badge.partial {
  background: #fff0d9;
  color: #995b0a;
}

.holiday-type-badge.closed {
  background: #e9ebf0;
  color: #626b7b;
}

.holiday-import-submit {
  margin-top: 1rem;
}

@media (max-width: 68em) {
  .holiday-option-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 52em) {
  .holiday-import-head,
  .holiday-selection-toolbar,
  .holiday-source-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .holiday-import-head form,
  .holiday-import-head .btn,
  .holiday-selection-actions,
  .holiday-selection-actions .btn {
    width: 100%;
  }

  .holiday-selection-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .holiday-source-time {
    white-space: normal;
  }
}

@media (max-width: 38em) {
  .holiday-selection-actions {
    grid-template-columns: 1fr;
  }

  .holiday-option-card {
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: .5rem;
    padding: .62rem;
  }

  .holiday-option-date {
    width: 2.7rem;
  }
}

/* v1.18.18 — Paket satışında varsayılan pasif otomatik randevu anahtarı */
.package-sale-dialog {
  width: 96%;
  max-width: 92rem;
  max-height: 94vh;
}
.package-sale-form {
  gap: 1.1rem;
  max-height: 92vh;
}
.package-sale-form .modal-head p { margin: .25rem 0 0; }
.package-form-section {
  border: .0625rem solid var(--line);
  border-radius: 1rem;
  padding: 1.25rem 2%;
  background: #ffffff;
}
.package-schedule-section {
  background: linear-gradient(180deg, var(--primary-softest) 0%, #ffffff 100%);
  border-color: var(--primary-border);
}
.package-section-head {
  display: flex;
  align-items: center;
  gap: 3%;
  margin-bottom: 1rem;
}
.package-section-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.package-section-title > div { min-width: 0; }
.package-section-head h4 { margin: 0 0 .25rem; font-size: 1.05rem; }
.package-section-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.package-auto-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 5.65rem;
  padding: .38rem .58rem;
  border: .0625rem solid transparent;
  border-radius: 999rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.package-auto-toggle:hover { transform: translateY(-.04rem); }
.package-auto-toggle:focus-visible { outline: .16rem solid rgba(var(--primary-rgb), .24); outline-offset: .12rem; }
.package-auto-toggle strong { font-size: .74rem; line-height: 1; }
.package-auto-toggle-track {
  position: relative;
  display: inline-flex;
  width: 2.15rem;
  height: 1.18rem;
  padding: .12rem;
  border-radius: 999rem;
  background: #f87171;
  transition: background .16s ease;
}
.package-auto-toggle-track span {
  display: block;
  width: .94rem;
  height: .94rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 .08rem .25rem rgba(15,23,42,.25);
  transform: translateX(0);
  transition: transform .16s ease;
}
.package-auto-toggle.is-passive {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b42318;
}
.package-auto-toggle.is-active {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #047857;
}
.package-auto-toggle.is-active .package-auto-toggle-track { background: #22c55e; }
.package-auto-toggle.is-active .package-auto-toggle-track span { transform: translateX(.96rem); }
.package-schedule-section.is-passive { border-color: #e4e7ec; background: #fbfcfe; }
.package-schedule-section.is-active { border-color: var(--primary-border); background: linear-gradient(180deg, var(--primary-softest) 0%, #ffffff 100%); }
.package-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.package-date-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .9rem; }
.package-date-grid input[readonly] { background: #f5f7fb; color: #475569; cursor: not-allowed; }
.package-interval-block[hidden],
.package-plan-grid[hidden],
#packageScheduleFields[hidden] { display: none !important; }
.package-interval-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 34%);
  align-items: end;
  gap: 3%;
  margin-top: 1rem;
  padding: 1rem 1.5%;
  border: .0625rem dashed var(--primary-border-strong);
  border-radius: .9rem;
  background: var(--primary-softest);
}
.package-interval-title { display: flex; flex-direction: column; gap: .25rem; }
.package-interval-title span { color: var(--muted); font-size: .8rem; }
.package-interval-controls {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  gap: 4%;
}
.package-plan-grid {
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  gap: 1rem;
  margin-top: 1rem;
  align-items: stretch;
}
.package-plan-calendar,
.package-plan-list-panel {
  min-width: 0;
  border: .0625rem solid var(--line);
  border-radius: 1rem;
  background: #ffffff;
  overflow: hidden;
}
.package-plan-head {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3%;
  padding: .85rem 3%;
  border-bottom: .0625rem solid var(--line);
  background: #fbfcff;
}
.package-plan-head > div:first-child { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.package-plan-head span { color: var(--muted); font-size: .76rem; overflow-wrap: anywhere; }
.package-calendar-nav { display: flex; align-items: center; gap: .45rem; white-space: nowrap; }
.package-calendar-nav strong { min-width: 7.5rem; text-align: center; font-size: .9rem; }
.package-calendar-weekdays,
.package-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.package-calendar-weekdays {
  padding: .65rem 2% .35rem;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  text-align: center;
}
.package-calendar-days { padding: 0 2% .75rem; gap: .3rem; }
.package-calendar-day {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.12;
  display: grid;
  place-items: center;
  border: .0625rem solid transparent;
  border-radius: .65rem;
  color: #475569;
  background: #f8fafc;
  font-size: .8rem;
}
.package-calendar-day.is-outside { opacity: .32; }
.package-calendar-day.is-planned {
  border-color: var(--primary-border-strong);
  background: var(--primary-soft-strong);
  color: #3328a8;
  font-weight: 800;
  box-shadow: inset 0 0 0 .0625rem rgba(var(--primary-rgb), .08);
}
.package-calendar-day.is-first {
  background: var(--primary);
  border-color: var(--primary-dark);
  color: #ffffff;
}
.package-calendar-day small {
  position: absolute;
  right: 8%;
  bottom: 7%;
  min-width: 1rem;
  min-height: 1rem;
  display: grid;
  place-items: center;
  padding: .05rem .2rem;
  border-radius: 999rem;
  background: #ffffff;
  color: var(--primary-dark);
  font-size: .55rem;
  line-height: 1;
}
.package-calendar-day.is-first small { background: rgba(255,255,255,.94); }
.package-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: .7rem 3% .9rem;
  border-top: .0625rem solid var(--line);
  color: var(--muted);
  font-size: .72rem;
}
.package-calendar-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.package-calendar-legend i { width: .8rem; aspect-ratio: 1; border-radius: .25rem; background: var(--primary-soft-strong); border: .0625rem solid var(--primary-border-strong); }
.package-calendar-legend span:last-child i { background: var(--primary); border-color: var(--primary-dark); }
.package-plan-list {
  max-height: 29rem;
  overflow-y: auto;
  padding: .75rem 3%;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.package-plan-item {
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr);
  gap: .7rem;
  align-items: center;
  padding: .72rem 3%;
  border: .0625rem solid var(--line);
  border-radius: .75rem;
  background: #ffffff;
}
.package-plan-item.is-first { border-color: var(--primary-border-strong); background: var(--primary-softest); }
.package-session-number {
  width: 2.15rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--primary-soft-strong);
  color: var(--primary-dark);
  font-size: .78rem;
  font-weight: 900;
}
.package-plan-item.is-first .package-session-number { background: var(--primary); color: var(--primary-contrast); }
.package-plan-item > div { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.package-plan-item strong { font-size: .85rem; }
.package-plan-item span:not(.package-session-number),
.package-plan-item small { color: var(--muted); font-size: .72rem; overflow-wrap: anywhere; }
.package-plan-empty {
  min-height: 13rem;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted);
  padding: 8%;
  border: .0625rem dashed var(--line);
  border-radius: .8rem;
}
.package-form-actions {
  position: sticky;
  bottom: -2%;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  gap: .7rem;
  padding: .9rem 0 .25rem;
  background: linear-gradient(180deg, rgba(255,255,255,0), #ffffff 28%);
}
.required-mark { color: var(--danger); }

@media (max-width: 70em) {
  .package-plan-grid { grid-template-columns: minmax(0, 50%) minmax(0, 50%); }
  .package-plan-list { max-height: 25rem; }
}

@media (max-width: 54em) {
  .package-section-head { align-items: flex-start; }
  .package-section-title { width: 100%; align-items: flex-start; }
  .package-service-grid, .package-date-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-interval-block { grid-template-columns: 1fr; }
  .package-plan-grid { grid-template-columns: 1fr; }
  .package-plan-list { max-height: 22rem; }
}

@media (max-width: 38em) {
  .package-sale-dialog { width: 98%; max-width: 98%; }
  .package-form-section { padding: 1rem 4%; }
  .package-service-grid, .package-date-grid, .package-interval-controls { grid-template-columns: 1fr; }
  .package-plan-head { align-items: flex-start; flex-direction: column; }
  .package-calendar-nav { width: 100%; justify-content: space-between; }
  .package-calendar-nav strong { min-width: 0; }
  .package-calendar-day { aspect-ratio: 1; font-size: .72rem; }
  .package-form-actions { flex-direction: column-reverse; }
  .package-form-actions .btn { width: 100%; }
}

/* v1.12 - Müşteri not kataloğu, çoklu seçim ve anlık yeni not ekleme */
.customer-note-fieldset {
  min-width: 0;
  border: .0625rem solid var(--line);
  border-radius: 1rem;
  padding: 2.2%;
  margin: .25rem 0;
  background: #fbfcff;
}
.customer-note-fieldset legend {
  padding: 0 .6rem;
  font-size: .95rem;
  font-weight: 800;
  color: var(--text);
}
.customer-note-help { margin: 0 0 1rem; }
.customer-note-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 62%) minmax(15rem, 38%);
  gap: 2%;
  align-items: stretch;
}
.customer-note-select-panel,
.customer-note-create-panel {
  min-width: 0;
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  background: #ffffff;
  padding: 3%;
}
.customer-note-select-panel { display: flex; flex-direction: column; gap: .75rem; }
.customer-note-create-panel {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  background: linear-gradient(145deg, var(--primary-softest), #ffffff);
}
.customer-note-create-panel p { margin: .25rem 0 0; }
.customer-note-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: .55rem;
  max-height: 16rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .15rem .35rem .15rem 0;
}
.customer-note-option-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.4rem;
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
  border: .0625rem solid #dfe3ee;
  border-radius: .75rem;
  background: #ffffff;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.customer-note-option-row[hidden],
.customer-note-option-row.is-filtered-out { display: none !important; }
.customer-note-option-row:hover {
  border-color: var(--primary-border-strong);
  background: var(--primary-softest);
  transform: translateY(-.04rem);
}
.customer-note-option-row:has(.customer-note-option input:checked) {
  border-color: var(--primary);
  background: #f2f0ff;
  color: var(--primary-dark);
}
.customer-note-option {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: .7rem .75rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-weight: 700;
}
.customer-note-option input {
  flex: 0 0 auto;
  width: 1.05rem;
  min-height: 1.05rem;
  margin: 0;
  accent-color: var(--primary);
}
.customer-note-option span { min-width: 0; overflow-wrap: anywhere; }
.customer-note-delete-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  min-width: 2.4rem;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-left: .0625rem solid transparent;
  border-radius: 0;
  background: transparent;
  color: #dc2626;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}
.customer-note-delete-button:hover,
.customer-note-delete-button:focus-visible {
  border-left-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
  outline: none;
}
.customer-note-delete-button:disabled {
  opacity: .5;
  cursor: wait;
}
.customer-note-delete-button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.customer-note-empty {
  grid-column: 1 / -1;
  padding: 1rem;
  border: .0625rem dashed #cfd5e2;
  border-radius: .75rem;
  color: var(--muted);
  text-align: center;
  font-size: .8rem;
}
.customer-note-selection-summary {
  min-height: 1.3rem;
  color: var(--primary);
  font-size: .78rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.customer-note-feedback { min-height: 1.25rem; margin: 0 !important; font-weight: 700; }
.customer-note-feedback.is-success { color: var(--success); }
.customer-note-feedback.is-error { color: var(--danger); }
.customer-note-badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.customer-note-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border-radius: 999rem;
  padding: .3rem .55rem;
  background: var(--primary-soft);
  color: #4c3fd3;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.customer-legacy-note { margin: .55rem 0 0 !important; color: #7c5a15 !important; }

@media (max-width: 64em) {
  .customer-note-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 34em) {
  .customer-note-fieldset { padding: 4%; }
  .customer-note-select-panel,
  .customer-note-create-panel { padding: 4%; }
  .customer-note-options { grid-template-columns: 1fr; max-height: 14rem; }
}

/* v1.13 - Paket durum/silme işlemleri ve müşteri ızgara listesi */
.btn.danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #be123c;
}
.btn.danger:hover { background: #ffe4e6; border-color: #fda4af; }

.package-card-grid { align-items: stretch; }
.package-card { display: flex; flex-direction: column; }
.package-card-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: auto;
  padding-top: .8rem;
  border-top: .0625rem solid var(--line);
}
.package-card-actions form { min-width: 0; margin: 0; }
.package-card-actions .btn { width: 100%; padding-inline: .55rem; }
.package-use-button { margin-top: .65rem; }
.package-edit-form .notice-box { margin-bottom: .9rem; }

.customer-list-panel .panel-head { align-items: center; }
.customer-table-wrap { overflow-x: auto; }
.customer-grid-table { min-width: 72rem; }
.customer-grid-table th:nth-child(1) { width: 16%; }
.customer-grid-table th:nth-child(2) { width: 16%; }
.customer-grid-table th:nth-child(3) { width: 20%; }
.customer-grid-table th:nth-child(4),
.customer-grid-table th:nth-child(5) { width: 12%; }
.customer-grid-table th:nth-child(6),
.customer-grid-table th:nth-child(7) { width: 8%; }
.customer-grid-table th:last-child { width: 8%; }
.customer-table-person,
.customer-contact-cell {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
}
.customer-table-person > div,
.customer-contact-cell { min-width: 0; }
.customer-table-person strong,
.customer-contact-cell strong,
.customer-contact-cell small {
  display: block;
  overflow-wrap: anywhere;
}
.customer-table-person small,
.customer-contact-cell small,
.customer-last-appointment {
  color: var(--muted);
  font-size: .75rem;
}
.customer-contact-cell { align-items: flex-start; flex-direction: column; gap: .15rem; }
.customer-notes-cell { min-width: 12rem; }
.customer-legacy-note { display: block; margin-top: .35rem; color: var(--muted); }
.customer-count-badge {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: .2rem .55rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-weight: 900;
}

@media (max-width: 66em) {
  .package-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-card-actions form:last-child { grid-column: span 2; }
}

@media (max-width: 48em) {
  .customer-list-panel { background: transparent; border: 0; box-shadow: none; overflow: visible; }
  .customer-list-panel .panel-head { padding: 0 0 .8rem; }
  .customer-table-wrap { overflow: visible; }
  .customer-grid-table,
  .customer-grid-table tbody,
  .customer-grid-table tr,
  .customer-grid-table td { display: block; width: 100%; min-width: 0; }
  .customer-grid-table thead { display: none; }
  .customer-grid-table tbody { display: grid; gap: .85rem; }
  .customer-grid-table tr {
    overflow: hidden;
    border: .0625rem solid var(--line);
    border-radius: var(--radius);
    background: #ffffff;
    box-shadow: var(--shadow);
  }
  .customer-grid-table tr:hover { background: #ffffff; }
  .customer-grid-table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 38%) minmax(0, 62%);
    align-items: center;
    gap: .7rem;
    padding: .72rem 4%;
    border-top: .0625rem solid var(--line);
  }
  .customer-grid-table td:first-child { border-top: 0; }
  .customer-grid-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
  }
  .customer-grid-table .customer-name-cell {
    display: block;
    padding-block: .9rem;
    background: #fbfcff;
  }
  .customer-grid-table .customer-name-cell::before { display: none; }
  .customer-notes-cell { min-width: 0; }
  .customer-grid-table td[data-label="İşlem"] .btn { width: 100%; }
}

@media (max-width: 36em) {
  .package-card-actions { grid-template-columns: 1fr; }
  .package-card-actions form:last-child { grid-column: auto; }
  .customer-grid-table td { grid-template-columns: 1fr; gap: .35rem; }
}

/* v1.14 - Görsel referansa uyarlanmış müşteri listesi */
.sr-only {
  position: absolute;
  width: .0625rem;
  height: .0625rem;
  padding: 0;
  margin: -.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.customer-page-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2%;
  margin-bottom: 1rem;
}
.customer-page-title-group {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .7rem;
  flex-wrap: wrap;
}
.customer-page-title-group h1 {
  margin: 0;
  color: #394258;
  font-size: clamp(1.32rem, 2.05vw, 1.88rem);
  font-weight: 500;
  letter-spacing: -.035em;
}
.customer-page-title-group h1 span { color: var(--primary-dark); font-weight: 700; }
.customer-filter-pill {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  border: 0;
  border-radius: 999rem;
  padding: .45rem .75rem;
  background: #677386;
  color: #ffffff;
  cursor: pointer;
  font-weight: 750;
}
.customer-filter-pill:hover,
.customer-filter-pill.is-active { background: var(--primary); }
.customer-filter-pill svg,
.customer-new-button svg,
.customer-toolbar-button svg,
.customer-square-button svg,
.customer-action-button svg,
.customer-export-summary svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.customer-filter-pill b {
  min-width: 1.25rem;
  min-height: 1.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999rem;
  background: rgba(255,255,255,.22);
  font-size: .68rem;
}
.customer-new-button { min-height: 2.4rem; padding-inline: .9rem; }
.customer-list-shell {
  overflow: hidden;
  background: var(--panel);
  border: .0625rem solid var(--line);
  border-radius: .25rem;
  box-shadow: 0 .4rem 1.4rem rgba(30,41,59,.035);
}
.customer-list-toolbar {
  min-height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2%;
  padding: .85rem .8%;
  background: #f1f2f4;
  border-bottom: .0625rem solid #dfe3e9;
}
.customer-list-toolbar-main,
.customer-list-toolbar-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  min-width: 0;
}
.customer-list-toolbar-actions { flex-wrap: nowrap; }
.customer-toolbar-button {
  min-height: 2.4rem;
  border-color: var(--primary);
  background: var(--primary);
  color: #ffffff;
  border-radius: .3rem;
  padding: .5rem .75rem;
}
.customer-toolbar-button:hover { background: var(--primary-dark); }
.customer-toolbar-button.is-outline {
  background: #ffffff;
  color: var(--primary);
  border-color: var(--primary);
}
.customer-toolbar-button.is-outline:hover { background: #f7f9fc; }
.customer-filter-result {
  padding-left: .25rem;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 700;
}
.customer-square-button {
  width: 2.35rem;
  aspect-ratio: 1;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: .3rem;
  background: var(--primary);
  color: #ffffff;
  cursor: pointer;
}
.customer-square-button:hover { background: var(--primary-dark); }
.customer-data-table-wrap { width: 100%; overflow-x: auto; }
.customer-data-table {
  min-width: 78rem;
  table-layout: fixed;
}
.customer-data-table thead th {
  padding: 1rem .85%;
  background: #ffffff;
  color: #101828;
  font-size: .76rem;
  font-weight: 750;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: .0625rem solid #d9dee7;
}
.customer-data-table tbody td {
  padding: 1rem .85%;
  color: #111827;
  border-top: .0625rem solid #e4e7ec;
  background: #ffffff;
}
.customer-data-table tbody tr:hover td { background: #fafbff; }
.customer-data-table tbody tr.is-blocked-customer td { background: #fffafb; }
.customer-data-table th:nth-child(1) { width: 20%; }
.customer-data-table th:nth-child(2) { width: 14%; }
.customer-data-table th:nth-child(3),
.customer-data-table th:nth-child(4) { width: 11%; }
.customer-data-table th:nth-child(5),
.customer-data-table th:nth-child(6),
.customer-data-table th:nth-child(7),
.customer-data-table th:nth-child(8) { width: 8%; }
.customer-data-table th:last-child { width: 12%; }
.customer-primary-cell strong,
.customer-phone-cell strong {
  display: block;
  color: #05070b;
  font-size: clamp(.98rem, 1.4vw, 1.18rem);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.customer-primary-cell small {
  display: block;
  margin-top: .2rem;
  color: var(--muted);
  font-size: .72rem;
  overflow-wrap: anywhere;
}
.customer-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.2rem;
  padding: .3rem .55rem;
  border-radius: 999rem;
  font-size: .7rem;
  font-weight: 850;
}
.customer-status-badge.is-active { background: #ecfdf5; color: #047857; }
.customer-status-badge.is-blocked { background: #fff1f2; color: #be123c; }
.customer-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .42rem;
}
.customer-action-button {
  width: 2.3rem;
  aspect-ratio: 1;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: .3rem;
  background: var(--primary);
  color: #ffffff;
  cursor: pointer;
}
.customer-action-button:hover { background: var(--primary-dark); transform: translateY(-.04rem); }
.customer-actions-heading { text-align: right; }
.customer-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 2%;
  border-top: .0625rem solid var(--line);
  background: #fbfcfe;
}
.customer-pagination span { color: var(--muted); font-size: .82rem; }
.customer-pagination .is-disabled { opacity: .45; pointer-events: none; }
.customer-filter-dialog { max-width: 30rem; }
.customer-filter-form { gap: 1rem; }
.customer-filter-footer {
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: .25rem;
}
.customer-columns-dialog { max-width: 28rem; }
.customer-column-options { display: grid; gap: .8rem; }
.customer-detail-dialog { max-width: 46rem; }
.customer-detail-card { gap: 1rem; }
.customer-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.customer-detail-stats > div {
  min-width: 0;
  padding: 1rem 5%;
  border: .0625rem solid var(--line);
  border-radius: .8rem;
  background: #f8f9ff;
}
.customer-detail-stats small { display: block; color: var(--muted); margin-bottom: .35rem; }
.customer-detail-stats strong { display: block; overflow-wrap: anywhere; }
.customer-detail-list {
  display: grid;
  grid-template-columns: 30% minmax(0, 70%);
  gap: .7rem 2%;
  margin: 0;
  padding: 1rem 0;
  border-top: .0625rem solid var(--line);
  border-bottom: .0625rem solid var(--line);
}
.customer-detail-list dt { color: var(--muted); }
.customer-detail-list dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.customer-detail-notes h4 { margin: 0 0 .65rem; }
.customer-detail-notes p { margin: .65rem 0 0; }
.customer-block-check {
  padding: .85rem 1rem;
  border: .0625rem solid #fecdd3;
  border-radius: .75rem;
  background: #fffafb;
  color: #9f1239;
}

@media (max-width: 72em) {
  .customer-data-table { min-width: 68rem; }
  .customer-data-table th:nth-child(1) { width: 18%; }
}

@media (max-width: 48em) {
  .customer-page-titlebar { align-items: flex-start; }
  .customer-new-button span { display: none; }
  .customer-list-toolbar { align-items: flex-start; }
  .customer-list-toolbar-main { flex: 1; }
  .customer-filter-result { width: 100%; }
  .customer-data-table-wrap { overflow: visible; }
  .customer-data-table,
  .customer-data-table tbody,
  .customer-data-table tr,
  .customer-data-table td { display: block; width: 100%; min-width: 0; }
  .customer-data-table thead { display: none; }
  .customer-data-table tbody { display: grid; gap: .8rem; padding: .8rem 2%; background: #f6f7fb; }
  .customer-data-table tbody tr {
    overflow: hidden;
    border: .0625rem solid var(--line);
    border-radius: .85rem;
    box-shadow: 0 .45rem 1.2rem rgba(30,41,59,.05);
  }
  .customer-data-table tbody td {
    display: grid;
    grid-template-columns: minmax(7.4rem, 38%) minmax(0, 62%);
    gap: .75rem;
    align-items: center;
    padding: .72rem 4%;
  }
  .customer-data-table tbody td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
  }
  .customer-data-table .customer-primary-cell {
    display: block;
    padding-block: 1rem;
    background: var(--primary-softest);
  }
  .customer-data-table .customer-primary-cell::before { display: none; }
  .customer-row-actions {
    display: flex !important;
    justify-content: flex-end;
  }
  .customer-row-actions::before { margin-right: auto; }
  .customer-pagination { justify-content: space-between; gap: .5rem; }
  .customer-pagination .btn { padding-inline: .65rem; }
  .customer-detail-stats { grid-template-columns: 1fr; }
}

@media (max-width: 34em) {
  .customer-page-title-group { gap: .5rem; }
  .customer-page-title-group h1 { width: 100%; }
  .customer-list-toolbar { padding: .75rem 3%; }
  .customer-toolbar-button { flex: 1 1 100%; }
  .customer-list-toolbar-actions { align-self: stretch; flex-direction: column; }
  .customer-square-button { width: 2.4rem; }
  .customer-filter-footer { flex-direction: column-reverse; }
  .customer-filter-footer .btn { width: 100%; }
  .customer-detail-list { grid-template-columns: 1fr; gap: .25rem; }
  .customer-detail-list dd { margin-bottom: .55rem; }
}


/* v1.15 - Müşteri hızlı filtre, dışa aktarma ve sütun anahtarları */
.customer-list-toolbar-expanded {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .8rem;
  padding: .9rem 1%;
}
.customer-quick-filter-form {
  display: grid;
  grid-template-columns: minmax(8.5rem, .85fr) minmax(8.5rem, .85fr) minmax(9.5rem, 1fr) minmax(9.5rem, 1fr) auto auto;
  gap: .7rem;
  align-items: end;
  width: 100%;
}
.customer-quick-filter-form > label {
  display: grid;
  gap: .35rem;
  min-width: 0;
  color: #263247;
  font-size: .75rem;
  font-weight: 800;
}
.customer-quick-filter-form input,
.customer-quick-filter-form select {
  width: 100%;
  min-height: 2.55rem;
  border: .0625rem solid #d7dce5;
  border-radius: .65rem;
  background: #ffffff;
  color: #172033;
  padding: .55rem .75rem;
}
.customer-quick-filter-form input:focus,
.customer-quick-filter-form select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 .2rem rgba(91,70,246,.12);
  outline: 0;
}
.customer-quick-filter-submit,
.customer-detailed-search-button {
  min-height: 2.55rem;
  white-space: nowrap;
}
.customer-list-toolbar-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2%;
  padding-top: .75rem;
  border-top: .0625rem solid #dde2ea;
}
.customer-export-menu {
  position: relative;
}
.customer-export-summary {
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border: .0625rem solid var(--primary);
  border-radius: .35rem;
  padding: .5rem .7rem;
  background: #ffffff;
  color: var(--primary-dark);
  cursor: pointer;
  font-size: .78rem;
  font-weight: 800;
  list-style: none;
  user-select: none;
}
.customer-export-summary::-webkit-details-marker { display: none; }
.customer-export-summary svg:last-child { width: .85rem; height: .85rem; transition: transform .2s ease; }
.customer-export-menu[open] .customer-export-summary svg:last-child { transform: rotate(180deg); }
.customer-export-options {
  position: absolute;
  z-index: 20;
  top: calc(100% + .45rem);
  right: 0;
  min-width: 12rem;
  display: grid;
  padding: .4rem;
  border: .0625rem solid var(--line);
  border-radius: .65rem;
  background: #ffffff;
  box-shadow: 0 .8rem 2rem rgba(17,24,39,.14);
}
.customer-export-options a {
  padding: .65rem .75rem;
  border-radius: .45rem;
  color: #263247;
  font-size: .78rem;
  font-weight: 750;
}
.customer-export-options a:hover { background: var(--primary-soft); color: var(--primary-dark); }
.customer-column-toggle {
  width: 100%;
  min-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5%;
  border: .0625rem solid var(--line);
  border-radius: .7rem;
  padding: .65rem .8rem;
  background: #ffffff;
  color: #263247;
  cursor: pointer;
  text-align: left;
  font-weight: 750;
}
.customer-column-toggle strong {
  min-width: 4.2rem;
  padding: .32rem .55rem;
  border-radius: 999rem;
  text-align: center;
  font-size: .68rem;
}
.customer-column-toggle.is-active { border-color: #a7f3d0; background: #f0fdf8; }
.customer-column-toggle.is-active strong { background: #dcfce7; color: #047857; }
.customer-column-toggle.is-passive { border-color: #e4e7ec; background: #f8fafc; color: #7b8495; }
.customer-column-toggle.is-passive strong { background: #e9edf3; color: #667085; }
.customer-data-table { min-width: 92rem; }
.customer-data-table th:nth-child(1) { width: 15%; }
.customer-data-table th:nth-child(2) { width: 11%; }
.customer-data-table th:nth-child(3) { width: 15%; }
.customer-data-table th:nth-child(4) { width: 7%; }
.customer-data-table th:nth-child(5),
.customer-data-table th:nth-child(6) { width: 9%; }
.customer-data-table th:nth-child(7),
.customer-data-table th:nth-child(8),
.customer-data-table th:nth-child(9),
.customer-data-table th:nth-child(10) { width: 6.5%; }
.customer-data-table th:last-child { width: 8%; }
.customer-email-cell span { display: block; overflow-wrap: anywhere; }

@media (max-width: 82em) {
  .customer-quick-filter-form {
    grid-template-columns: repeat(4, minmax(8rem, 1fr));
  }
  .customer-quick-filter-submit,
  .customer-detailed-search-button { width: 100%; }
}

@media (max-width: 64em) {
  .customer-quick-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-list-toolbar-secondary { align-items: flex-start; }
  .customer-data-table { min-width: 88rem; }
}

@media (max-width: 48em) {
  .customer-list-toolbar-expanded { padding: .8rem 3%; }
  .customer-list-toolbar-secondary { flex-direction: column; align-items: stretch; }
  .customer-list-toolbar-actions { justify-content: flex-end; }
  .customer-export-menu { margin-right: auto; }
  .customer-export-options { left: 0; right: auto; }
}

@media (max-width: 34em) {
  .customer-quick-filter-form { grid-template-columns: 1fr; }
  .customer-list-toolbar-actions { flex-direction: row; align-items: center; }
  .customer-export-summary span { display: none; }
  .customer-export-summary { aspect-ratio: 1; padding: .55rem; }
  .customer-export-summary svg:last-child { display: none; }
}

/* v1.16 - Müşteri ekranını online randevu tasarım diliyle eşleştirme */
.customer-booking-hero {
  position: relative;
  overflow: hidden;
  min-height: 9.5rem;
  padding: 2.2rem 2.4%;
  border: .0625rem solid rgba(229, 231, 235, .95);
  border-radius: 1.65rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(var(--primary-rgb), .14), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(248,247,255,.97));
  box-shadow: 0 2rem 5rem rgba(30, 41, 59, .10);
}
.customer-booking-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.customer-booking-hero-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 4rem;
  aspect-ratio: 1;
  border-radius: 32%;
  background: var(--primary-soft);
  color: var(--primary);
  box-shadow: 0 .8rem 2rem rgba(var(--primary-rgb), .14);
}
.customer-booking-hero-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.customer-booking-title-copy { min-width: 0; }
.customer-booking-title-copy .pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  margin-bottom: .55rem;
  padding: .3rem .7rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.customer-page-title-group h1,
.customer-booking-title-copy h1 {
  margin: 0;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.45rem, 2.35vw, 1.9rem);
  font-weight: 850;
  letter-spacing: -.04em;
  line-height: 1.08;
}
.customer-booking-title-copy h1 span { color: var(--primary); }
.customer-booking-title-copy p {
  max-width: 44rem;
  margin: .55rem 0 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.55;
}
.customer-booking-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}
.customer-booking-hero .customer-filter-pill,
.customer-booking-hero .customer-new-button {
  min-height: 3rem;
  border-radius: .85rem;
  padding: .65rem 1rem;
  font-weight: 800;
}
.customer-booking-hero .customer-filter-pill {
  border: .0625rem solid var(--primary-border);
  background: var(--primary-softest);
  color: var(--primary-dark);
}
.customer-booking-hero .customer-filter-pill:hover,
.customer-booking-hero .customer-filter-pill.is-active {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
  box-shadow: 0 .6rem 1.5rem rgba(var(--primary-rgb), .2);
}
.customer-booking-hero .customer-new-button {
  border: 0;
  background: linear-gradient(135deg, var(--primary), var(--primary-bright));
  color: #fff;
  box-shadow: 0 .6rem 1.5rem rgba(var(--primary-rgb), .23);
}
.customer-booking-hero .customer-new-button:hover {
  transform: translateY(-.08rem);
  box-shadow: 0 .9rem 1.8rem rgba(var(--primary-rgb), .28);
}

.customer-booking-card {
  margin-top: 1.25rem;
  overflow: hidden;
  border: .0625rem solid rgba(229,231,235,.95);
  border-radius: 1.65rem;
  background: rgba(255,255,255,.98);
  box-shadow: 0 2rem 5rem rgba(30,41,59,.09);
}
.customer-booking-card .customer-list-toolbar {
  padding: 1.2rem 1.5%;
  background: linear-gradient(180deg, #fbfcff, var(--primary-softest));
  border-bottom: .0625rem solid #eceaf8;
}
.customer-booking-card .customer-list-toolbar-expanded { gap: 1rem; }
.customer-booking-card .customer-quick-filter-form > label {
  gap: .48rem;
  color: #475166;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.customer-booking-card .customer-quick-filter-form input,
.customer-booking-card .customer-quick-filter-form select {
  min-height: 3.15rem;
  border-color: #dfe2ea;
  border-radius: .85rem;
  padding: .7rem .9rem;
  background: #fbfcff;
  color: #253047;
  font-weight: 650;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.customer-booking-card .customer-quick-filter-form input:hover,
.customer-booking-card .customer-quick-filter-form select:hover { background: #fff; }
.customer-booking-card .customer-quick-filter-form input:focus,
.customer-booking-card .customer-quick-filter-form select:focus {
  border-color: var(--primary-border-strong);
  background: #fff;
  box-shadow: 0 0 0 .22rem rgba(var(--primary-rgb), .12);
}
.customer-booking-card .customer-quick-filter-submit,
.customer-booking-card .customer-detailed-search-button,
.customer-booking-card .customer-toolbar-button,
.customer-booking-card .customer-export-summary,
.customer-booking-card .customer-square-button {
  min-height: 3.15rem;
  border-radius: .85rem;
}
.customer-booking-card .customer-quick-filter-submit,
.customer-booking-card .customer-toolbar-button:not(.is-outline) {
  border: 0;
  background: linear-gradient(135deg, var(--primary), var(--primary-bright));
  box-shadow: 0 .45rem 1rem rgba(var(--primary-rgb), .18);
}
.customer-booking-card .customer-detailed-search-button,
.customer-booking-card .customer-toolbar-button.is-outline,
.customer-booking-card .customer-export-summary {
  border-color: var(--primary-border);
  background: #fff;
  color: var(--primary-dark);
}
.customer-booking-card .customer-detailed-search-button:hover,
.customer-booking-card .customer-toolbar-button.is-outline:hover,
.customer-booking-card .customer-export-summary:hover {
  border-color: var(--primary-border-strong);
  background: var(--primary-softest);
}
.customer-booking-card .customer-square-button {
  width: 3.15rem;
  border: .0625rem solid var(--primary-border);
  background: #fff;
  color: var(--primary);
}
.customer-booking-card .customer-square-button:hover {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary-dark);
}
.customer-booking-card .customer-list-toolbar-secondary {
  padding-top: 1rem;
  border-top-color: #eceaf8;
}
.customer-booking-card .customer-filter-result {
  padding: .4rem .7rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: .72rem;
}
.customer-booking-card .customer-export-options {
  border-radius: .9rem;
  border-color: var(--primary-border);
  box-shadow: 0 1.2rem 2.8rem rgba(30,41,59,.15);
}
.customer-booking-card .customer-export-options a { border-radius: .65rem; }

.customer-booking-card .customer-data-table-wrap { background: #fff; }
.customer-booking-card .customer-data-table thead th {
  padding: 1.05rem .85%;
  background: var(--primary-softest);
  color: #596276;
  border-bottom-color: var(--primary-border);
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.customer-booking-card .customer-data-table tbody td {
  padding: 1.05rem .85%;
  border-top-color: #eef0f5;
  color: #303a4c;
  font-size: .82rem;
  vertical-align: middle;
}
.customer-booking-card .customer-data-table tbody tr { transition: transform .16s ease, box-shadow .16s ease; }
.customer-booking-card .customer-data-table tbody tr:hover td { background: var(--primary-softest); }
.customer-booking-card .customer-primary-cell strong,
.customer-booking-card .customer-phone-cell strong {
  color: #182033;
  font-size: .92rem;
  font-weight: 800;
}
.customer-booking-card .customer-primary-cell strong { color: var(--primary-dark); }
.customer-booking-card .customer-status-badge {
  min-height: 1.85rem;
  padding: .35rem .7rem;
  border: .0625rem solid transparent;
}
.customer-booking-card .customer-status-badge.is-active { border-color: #a7f3d0; }
.customer-booking-card .customer-status-badge.is-blocked { border-color: #fecdd3; }
.customer-booking-card .customer-action-button {
  width: 2.55rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .75rem;
  background: var(--primary-softest);
  color: var(--primary);
}
.customer-booking-card .customer-action-button:hover {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
  box-shadow: 0 .45rem 1rem rgba(var(--primary-rgb), .2);
}
.customer-booking-card .customer-pagination {
  padding: 1.2rem 2%;
  border-top-color: #eceaf8;
  background: #fbfcff;
}
.customer-booking-card .customer-pagination .btn { border-radius: .8rem; }

.customer-filter-dialog .modal-card,
.customer-columns-dialog .modal-card,
.customer-detail-dialog .modal-card,
#customerDetailedSearch .modal-card,
dialog[id^="customer"] .customer-form,
#newCustomer .customer-form {
  border: .0625rem solid rgba(229,231,235,.96);
  border-radius: 1.35rem;
  background: linear-gradient(145deg, #fff, #fbfcff);
  box-shadow: 0 2rem 5rem rgba(30,41,59,.18);
}
.customer-filter-dialog .modal-head,
.customer-columns-dialog .modal-head,
.customer-detail-dialog .modal-head,
#customerDetailedSearch .modal-head,
dialog[id^="customer"] .customer-form .modal-head,
#newCustomer .customer-form .modal-head {
  padding-bottom: 1rem;
  border-bottom: .0625rem solid #eceaf8;
}
.customer-filter-dialog .modal-head h3,
.customer-columns-dialog .modal-head h3,
.customer-detail-dialog .modal-head h3,
#customerDetailedSearch .modal-head h3,
dialog[id^="customer"] .customer-form .modal-head h3,
#newCustomer .customer-form .modal-head h3 {
  font-size: 1.35rem;
  font-weight: 850;
  letter-spacing: -.035em;
}
.customer-filter-form input,
.customer-filter-form select,
.customer-form input,
.customer-form select,
.customer-form textarea,
.customer-note-create-panel input,
.customer-note-select-panel input {
  min-height: 3.1rem;
  border-radius: .85rem;
  background: #fbfcff;
}
.customer-detail-stats > div,
.customer-detail-notes,
.customer-note-select-panel,
.customer-note-create-panel {
  border-radius: 1rem;
  background: var(--primary-softest);
}
.customer-column-toggle { border-radius: .9rem; }
.customer-column-toggle.is-active { border-color: var(--primary-border); background: var(--primary-softest); }
.customer-column-toggle.is-active strong { background: var(--primary); color: var(--primary-contrast); }

@media (max-width: 64em) {
  .customer-booking-hero { align-items: flex-start; }
  .customer-booking-hero-actions { align-self: center; }
}
@media (max-width: 48em) {
  .customer-booking-hero {
    min-height: 0;
    padding: 1.4rem 4%;
    border-radius: 1.25rem;
  }
  .customer-booking-heading { align-items: flex-start; }
  .customer-booking-hero-icon { width: 3.25rem; }
  .customer-booking-title-copy p { font-size: .78rem; }
  .customer-booking-hero-actions { width: 100%; justify-content: flex-start; }
  .customer-booking-hero .customer-filter-pill,
  .customer-booking-hero .customer-new-button { flex: 1 1 auto; }
  .customer-booking-card { border-radius: 1.25rem; }
  .customer-booking-card .customer-data-table tbody { background: var(--primary-softest); }
  .customer-booking-card .customer-data-table tbody tr {
    border-color: var(--primary-border);
    border-radius: 1rem;
    box-shadow: 0 .75rem 1.6rem rgba(30,41,59,.07);
  }
  .customer-booking-card .customer-data-table .customer-primary-cell { background: var(--primary-softest); }
}
@media (max-width: 34em) {
  .customer-booking-heading { gap: .75rem; }
  .customer-booking-hero-icon { width: 2.85rem; }
  .customer-booking-title-copy h1 { font-size: 1.35rem; }
  .customer-booking-title-copy .pill { font-size: .6rem; }
  .customer-booking-hero-actions { flex-direction: column; align-items: stretch; }
  .customer-booking-hero .customer-filter-pill,
  .customer-booking-hero .customer-new-button { width: 100%; }
}


/* v1.16.1 - Müşteri ekranını randevular sayfasındaki sade yerleşime yaklaştırma */
.customer-booking-hero.customer-booking-hero-plain {
  min-height: 0;
  margin-bottom: 1.15rem;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.customer-booking-hero-plain .customer-booking-heading {
  align-items: flex-start;
}
.customer-booking-hero-plain .customer-booking-title-copy h1 {
  font-size: clamp(1.3rem, 2vw, 1.65rem);
}
.customer-booking-hero-plain .customer-booking-title-copy p {
  margin-top: .35rem;
  font-size: .82rem;
}
.customer-booking-hero-plain .customer-new-button {
  min-height: var(--control-height);
  border-radius: .7rem;
  padding: .6rem 1rem;
  box-shadow: none;
}
.customer-booking-hero-plain .customer-new-button:hover {
  transform: none;
  box-shadow: none;
}

.customer-booking-card {
  margin-top: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.customer-booking-card .customer-list-toolbar,
.customer-booking-card .customer-list-toolbar-expanded {
  min-height: 0;
  padding: 0 0 1.15rem;
  gap: .75rem;
  background: transparent;
  border: 0;
}
.customer-booking-card .customer-quick-filter-form {
  display: flex;
  align-items: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}
.customer-booking-card .customer-quick-filter-form > label {
  flex: 1 1 20%;
  min-width: 8.5rem;
  gap: .45rem;
  color: #374151;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
}
.customer-booking-card .customer-quick-filter-form input,
.customer-booking-card .customer-quick-filter-form select {
  min-height: var(--control-height);
  border-color: #d8dde8;
  border-radius: .65rem;
  padding: .65rem 3%;
  background: #fff;
  color: var(--text);
  font-weight: 400;
  box-shadow: none;
}
.customer-booking-card .customer-quick-filter-form input:hover,
.customer-booking-card .customer-quick-filter-form select:hover {
  background: #fff;
}
.customer-booking-card .customer-quick-filter-form input:focus,
.customer-booking-card .customer-quick-filter-form select:focus {
  border-color: var(--primary-focus);
  background: #fff;
  box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12);
}
.customer-booking-card .customer-quick-filter-submit,
.customer-booking-card .customer-detailed-search-button {
  min-height: var(--control-height);
  border-radius: .7rem;
  padding: .6rem 1rem;
  box-shadow: none;
}
.customer-booking-card .customer-quick-filter-submit {
  border-color: var(--line);
  background: #fff;
  color: #374151;
}
.customer-booking-card .customer-quick-filter-submit:hover {
  background: #f8fafc;
}
.customer-booking-card .customer-detailed-search-button {
  border-color: var(--line);
  background: #fff;
  color: #374151;
}
.customer-booking-card .customer-detailed-search-button:hover {
  border-color: var(--line);
  background: #f8fafc;
  color: #374151;
}

.customer-booking-card .customer-list-toolbar-secondary {
  min-height: 0;
  padding: 0 0 .75rem;
  border: 0;
}
.customer-booking-card .customer-list-toolbar-main:empty {
  display: none;
}
.customer-booking-card .customer-list-toolbar-main:empty + .customer-list-toolbar-actions {
  margin-left: auto;
}
.customer-booking-card .customer-export-summary,
.customer-booking-card .customer-square-button {
  min-height: var(--control-height);
  border-radius: .7rem;
  box-shadow: none;
}
.customer-booking-card .customer-square-button {
  width: var(--control-height);
}
.customer-booking-card .customer-data-table-wrap {
  overflow-x: auto;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.customer-booking-card .customer-data-table thead th {
  background: #f8fafc;
  color: #596276;
}
.customer-booking-card .customer-pagination {
  margin-top: .75rem;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

@media (max-width: 64em) {
  .customer-booking-card .customer-quick-filter-form > label {
    flex: 1 1 45%;
  }
}
@media (max-width: 48em) {
  .customer-booking-hero.customer-booking-hero-plain {
    padding: 0;
    border-radius: 0;
  }
  .customer-booking-card .customer-list-toolbar,
  .customer-booking-card .customer-list-toolbar-expanded {
    padding: 0 0 1rem;
  }
  .customer-booking-card .customer-data-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
}
@media (max-width: 34em) {
  .customer-booking-card .customer-quick-filter-form > label {
    flex: 1 1 100%;
  }
  .customer-booking-card .customer-quick-filter-submit,
  .customer-booking-card .customer-detailed-search-button {
    flex: 1 1 100%;
    width: 100%;
  }
}


/* v1.16.2 - Müşteri hızlı filtre alanlarını randevu listesi ölçülerine küçültme */
.customer-booking-card .customer-quick-filter-form {
  justify-content: flex-start;
}
.customer-booking-card .customer-quick-filter-form > label {
  flex: 0 1 auto;
  width: 100%;
  max-width: 14rem;
  font-size: .75rem;
  gap: .35rem;
}
.customer-booking-card .customer-quick-filter-form > label.customer-quick-person,
.customer-booking-card .customer-quick-filter-form > label.customer-quick-status {
  max-width: 16rem;
}
.customer-booking-card .customer-quick-filter-form input,
.customer-booking-card .customer-quick-filter-form select,
.customer-booking-card .customer-quick-filter-submit,
.customer-booking-card .customer-detailed-search-button {
  min-height: 2.6rem;
}
.customer-booking-card .customer-quick-filter-form input,
.customer-booking-card .customer-quick-filter-form select {
  padding: .5rem .7rem;
}
.customer-booking-card .customer-quick-filter-submit,
.customer-booking-card .customer-detailed-search-button {
  padding: .5rem .85rem;
}

@media (max-width: 64em) {
  .customer-booking-card .customer-quick-filter-form > label,
  .customer-booking-card .customer-quick-filter-form > label.customer-quick-person,
  .customer-booking-card .customer-quick-filter-form > label.customer-quick-status {
    flex: 1 1 45%;
    max-width: none;
  }
}

@media (max-width: 34em) {
  .customer-booking-card .customer-quick-filter-form > label,
  .customer-booking-card .customer-quick-filter-form > label.customer-quick-person,
  .customer-booking-card .customer-quick-filter-form > label.customer-quick-status {
    flex: 1 1 100%;
    max-width: none;
  }
}

/* v1.16.3 - Müşteri filtresini Randevular sayfasıyla birebir eşleştirme */
.customer-booking-card .customer-filter-toolbar-row {
  align-items: flex-end;
  margin-bottom: 1.15rem;
  padding: 0;
}
.customer-booking-card .customer-filter-form-exact {
  width: auto;
  flex: 0 1 auto;
}
.customer-booking-card .customer-filter-form-exact label {
  flex: 1 1 20%;
  min-width: 8.5rem;
  max-width: none;
  gap: .45rem;
  color: #374151;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
}
.customer-booking-card .customer-filter-form-exact input,
.customer-booking-card .customer-filter-form-exact select {
  min-height: var(--control-height);
  border: .0625rem solid #d8dde8;
  border-radius: .65rem;
  padding: .65rem 3%;
  background: #ffffff;
  color: var(--text);
  font: inherit;
  font-weight: 400;
  box-shadow: none;
}
.customer-booking-card .customer-filter-form-exact input:focus,
.customer-booking-card .customer-filter-form-exact select:focus {
  border-color: var(--primary-focus);
  box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12);
}
.customer-booking-card .customer-filter-form-exact > .btn {
  min-height: var(--control-height);
  border-radius: .7rem;
  padding: .6rem 1rem;
  box-shadow: none;
}
.customer-booking-card .customer-filter-actions-right {
  width: auto;
  flex: 0 0 auto;
  margin-left: auto;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
}
.customer-booking-card .customer-filter-actions-right .customer-filter-result {
  align-self: center;
  white-space: nowrap;
}

@media (max-width: 64em) {
  .customer-booking-card .customer-filter-toolbar-row {
    align-items: stretch;
    flex-direction: column;
  }
  .customer-booking-card .customer-filter-form-exact,
  .customer-booking-card .customer-filter-actions-right {
    width: 100%;
  }
  .customer-booking-card .customer-filter-actions-right {
    margin-left: 0;
    justify-content: flex-end;
  }
}

@media (max-width: 48em) {
  .customer-booking-card .customer-filter-form-exact label {
    min-width: 0;
    flex: 1 1 45%;
  }
}

@media (max-width: 34em) {
  .customer-booking-card .customer-filter-form-exact label,
  .customer-booking-card .customer-filter-form-exact > .btn {
    flex: 1 1 100%;
    width: 100%;
  }
  .customer-booking-card .customer-filter-actions-right {
    flex-direction: row;
    align-items: center;
  }
}

/* v1.16.4 - Müşteri filtre araç çubuğu kesin hizalama */
.customer-booking-card .customer-filter-toolbar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 1.4rem;
  row-gap: .8rem;
  width: 100%;
}
.customer-booking-card .customer-filter-left {
  display: flex;
  align-items: flex-end;
  gap: .75rem;
  min-width: 0;
  justify-self: start;
}
.customer-booking-card .customer-filter-form-exact {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
  gap: .65rem;
  min-width: 0;
  width: auto;
}
.customer-booking-card .customer-filter-result-left {
  flex: 0 0 auto;
  align-self: center;
  white-space: nowrap;
}
.customer-booking-card .customer-filter-actions-right {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: .65rem;
  width: auto;
  margin-left: 0;
  justify-self: end;
}

@media (max-width: 86em) {
  .customer-booking-card .customer-filter-form-exact {
    flex-wrap: wrap;
  }
}

@media (max-width: 64em) {
  .customer-booking-card .customer-filter-toolbar-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .customer-booking-card .customer-filter-left {
    width: 100%;
    flex-wrap: wrap;
  }
  .customer-booking-card .customer-filter-form-exact {
    width: 100%;
  }
  .customer-booking-card .customer-filter-actions-right {
    width: 100%;
    justify-self: stretch;
    justify-content: flex-end;
  }
}

@media (max-width: 34em) {
  .customer-booking-card .customer-filter-actions-right {
    justify-content: flex-start;
  }
}

/* v1.16.5 - Randevular sayfasını Müşteriler sayfasının tasarım sistemine taşıma */
.appointment-page-titlebar .appointment-new-button svg,
.appointment-list-shell .customer-action-button svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.appointment-list-shell {
  margin-top: 0;
}

.appointment-list-shell .appointment-filter-toolbar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  width: 100%;
  margin-bottom: 1.15rem;
  padding: 0;
}

.appointment-list-shell .appointment-filter-left {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  min-width: 0;
}

.appointment-list-shell .appointment-filter-form {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: .65rem;
  width: auto;
  min-width: 0;
}

.appointment-list-shell .appointment-filter-form label {
  flex: 0 1 auto;
  min-width: 8.5rem;
  gap: .45rem;
  color: #374151;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
}

.appointment-list-shell .appointment-filter-form input,
.appointment-list-shell .appointment-filter-form select {
  min-height: var(--control-height);
  border: .0625rem solid #d8dde8;
  border-radius: .65rem;
  padding: .65rem 3%;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 400;
  box-shadow: none;
}

.appointment-list-shell .appointment-filter-form input:focus,
.appointment-list-shell .appointment-filter-form select:focus {
  border-color: var(--primary-focus);
  background: #fff;
  box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12);
}

.appointment-list-shell .appointment-filter-form > .btn {
  min-height: var(--control-height);
  border-radius: .7rem;
  padding: .6rem 1rem;
  box-shadow: none;
}

.appointment-data-table-wrap {
  overflow-x: auto;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.appointment-data-table {
  min-width: 70rem;
}

.appointment-data-table th:nth-child(1) { width: 15%; }
.appointment-data-table th:nth-child(2) { width: 17%; }
.appointment-data-table th:nth-child(3) { width: 17%; }
.appointment-data-table th:nth-child(4) { width: 16%; }
.appointment-data-table th:nth-child(5) { width: 11%; }
.appointment-data-table th:nth-child(6) { width: 14%; }
.appointment-data-table th:nth-child(7) { width: 10%; }

.appointment-data-table thead th {
  padding: 1.05rem .85%;
  background: #f8fafc;
  color: #596276;
  border-bottom-color: var(--primary-border);
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.appointment-data-table tbody td {
  padding: 1.05rem .85%;
  border-top-color: #eef0f5;
  color: #303a4c;
  font-size: .82rem;
  vertical-align: middle;
}

.appointment-data-table tbody tr {
  transition: transform .16s ease, box-shadow .16s ease;
}

.appointment-data-table tbody tr:hover td {
  background: var(--primary-softest);
}

.appointment-date-cell strong,
.appointment-customer-cell strong,
.appointment-service-cell strong,
.appointment-staff-cell strong,
.appointment-price-cell strong {
  display: block;
  color: #182033;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.35;
}

.appointment-date-cell strong {
  color: var(--primary-dark);
}

.appointment-date-cell small,
.appointment-customer-cell small,
.appointment-service-cell small,
.appointment-staff-cell small,
.appointment-status-cell small {
  display: block;
  margin-top: .22rem;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.35;
}

/* Randevu saatini tarihten farklı fakat uyumlu bir vurgu rengiyle öne çıkarır. */
.appointment-date-cell small {
  color: #0e7490;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .01em;
}

.appointment-status-cell .badge {
  min-height: 1.85rem;
  padding: .35rem .7rem;
  border: .0625rem solid transparent;
}

.appointment-status-cell .badge.planned { border-color: #fed7aa; }
.appointment-status-cell .badge.confirmed { border-color: var(--primary-border); }
.appointment-status-cell .badge.completed { border-color: #a7f3d0; }
.appointment-status-cell .badge.cancelled,
.appointment-status-cell .badge.no_show { border-color: #fecdd3; }

.appointment-actions-heading {
  text-align: right;
}

.appointment-row-actions {
  white-space: nowrap;
}

.appointment-dialog .modal-card {
  border-radius: 1.15rem;
}

@media (max-width: 86em) {
  .appointment-list-shell .appointment-filter-form {
    flex-wrap: wrap;
  }
}

@media (max-width: 64em) {
  .appointment-list-shell .appointment-filter-left,
  .appointment-list-shell .appointment-filter-form {
    width: 100%;
  }

  .appointment-list-shell .appointment-filter-form label {
    flex: 1 1 45%;
    min-width: 0;
  }
}

@media (max-width: 48em) {
  .appointment-data-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .appointment-data-table,
  .appointment-data-table tbody,
  .appointment-data-table tr,
  .appointment-data-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .appointment-data-table thead {
    display: none;
  }

  .appointment-data-table tbody {
    display: grid;
    gap: .85rem;
    background: transparent;
  }

  .appointment-data-table tbody tr {
    overflow: hidden;
    border: .0625rem solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
  }

  .appointment-data-table tbody tr:hover td {
    background: #fff;
  }

  .appointment-data-table tbody td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 38%) minmax(0, 62%);
    align-items: center;
    gap: .7rem;
    padding: .72rem 4%;
    border-top: .0625rem solid var(--line);
  }

  .appointment-data-table tbody td:first-child {
    border-top: 0;
  }

  .appointment-data-table tbody td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .appointment-row-actions {
    justify-content: flex-start;
  }

  .appointment-data-table .empty {
    display: block;
  }

  .appointment-data-table .empty::before {
    content: none;
  }
}

@media (max-width: 34em) {
  .appointment-page-titlebar.customer-booking-hero-plain {
    align-items: stretch;
  }

  .appointment-page-titlebar .appointment-new-button {
    width: 100%;
  }

  .appointment-list-shell .appointment-filter-form label,
  .appointment-list-shell .appointment-filter-form > .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  .appointment-data-table tbody td {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}


/* v1.16.6 - Randevular yardımcı kontrolleri ve iki uçlu araç çubuğu */
.appointment-list-shell .appointment-filter-toolbar-row {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 1.25rem;
  row-gap: .85rem;
  align-items: end;
}

.appointment-list-shell .appointment-filter-left {
  min-width: 0;
}

.appointment-list-shell .appointment-filter-actions-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  justify-self: end;
  white-space: nowrap;
}

.appointment-list-shell .appointment-filter-actions-right .customer-export-summary,
.appointment-list-shell .appointment-filter-actions-right .customer-square-button {
  min-height: var(--control-height);
  border-radius: .7rem;
  box-shadow: none;
}

.appointment-list-shell .appointment-filter-actions-right .customer-square-button {
  width: var(--control-height);
}

.appointment-list-shell .appointment-filter-form .customer-detailed-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  white-space: nowrap;
}

.appointment-list-shell .appointment-filter-form .customer-detailed-search-button svg,
.appointment-list-shell .appointment-filter-actions-right svg,
.appointment-columns-dialog svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.appointment-detailed-search-form .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.appointment-columns-dialog {
  max-width: 28rem;
}

@media (max-width: 86em) {
  .appointment-list-shell .appointment-filter-toolbar-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .appointment-list-shell .appointment-filter-actions-right {
    width: 100%;
    justify-self: stretch;
    justify-content: flex-end;
  }
}

@media (max-width: 64em) {
  .appointment-detailed-search-form .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48em) {
  .appointment-list-shell .appointment-filter-actions-right {
    justify-content: flex-start;
  }
  .appointment-list-shell .appointment-export-menu {
    margin-right: auto;
  }
  .appointment-list-shell .appointment-export-menu .customer-export-options {
    left: 0;
    right: auto;
  }
}

@media (max-width: 34em) {
  .appointment-detailed-search-form .form-grid {
    grid-template-columns: 1fr;
  }
  .appointment-list-shell .appointment-filter-actions-right {
    width: 100%;
  }
  .appointment-list-shell .appointment-filter-actions-right .customer-export-summary span {
    display: none;
  }
  .appointment-list-shell .appointment-filter-actions-right .customer-export-summary {
    width: var(--control-height);
    padding: .55rem;
    justify-content: center;
  }
  .appointment-list-shell .appointment-filter-actions-right .customer-export-summary svg:last-child {
    display: none;
  }
}

/* v1.17 - Randevu düzenleme penceresi */
.appointment-edit-dialog {
  width: 92%;
  max-width: 42rem;
  max-height: 92vh;
  border-radius: 1.25rem;
  overflow: hidden;
}

.appointment-edit-dialog--financial {
  max-width: 52rem;
}

.appointment-edit-dialog--compact {
  max-width: 38rem;
}

.appointment-edit-card {
  gap: 1rem;
  padding: 1.35rem;
  max-height: 90vh;
  background: #fff;
}

.appointment-edit-head {
  top: -1.35rem;
  margin: -1.35rem -1.35rem 0;
  padding: 1.2rem 1.35rem 1rem;
  border-bottom: .0625rem solid #e9e8f3;
  background: #fff;
}

.appointment-edit-eyebrow {
  display: inline-flex;
  margin-bottom: .3rem;
  color: var(--primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.appointment-edit-head h3 {
  margin: 0;
  color: #24213a;
  font-size: 1.28rem;
  line-height: 1.25;
}

.appointment-edit-head p {
  margin-top: .35rem;
  color: #6e6a82;
  font-size: .84rem;
  font-weight: 650;
}

.appointment-edit-close {
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border: .0625rem solid #dfddeb;
  border-radius: .7rem;
  background: #f8f7fc;
  color: #5b566e;
  font-size: 1.4rem;
}

.appointment-edit-close:hover {
  border-color: var(--primary-border-strong);
  background: var(--primary-soft);
  color: #5145c8;
}

.appointment-edit-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

.appointment-edit-summary-item {
  min-width: 0;
  padding: .85rem;
  border: .0625rem solid #e7e5f0;
  border-radius: .85rem;
  background: #faf9fd;
}

.appointment-edit-summary-item > span {
  display: block;
  margin-bottom: .32rem;
  color: #858096;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.appointment-edit-summary-item strong,
.appointment-edit-summary-item small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.appointment-edit-summary-item strong {
  color: #2d2942;
  font-size: .86rem;
}

.appointment-edit-summary-item small {
  margin-top: .25rem;
  color: #777287;
  font-size: .74rem;
}

.appointment-edit-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .85rem;
  padding: 1rem;
  border: .0625rem solid #e6e3f1;
  border-radius: .95rem;
  background: #fff;
}

.appointment-edit-form-grid--financial {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.65fr);
  align-items: start;
}

.appointment-edit-field {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0;
  color: #4e4960;
  font-size: .78rem;
  font-weight: 750;
}

.appointment-edit-field select {
  width: 100%;
  min-height: 2.65rem;
  border-radius: .72rem;
  font-size: .86rem;
  font-weight: 650;
}

.appointment-edit-finance-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  gap: .75rem;
  align-items: stretch;
}

.appointment-edit-finance-panel[hidden] {
  display: none;
}

.appointment-edit-income-option {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: .7rem;
  min-width: 0;
  padding: .78rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .78rem;
  background: #f8f6ff;
  cursor: pointer;
}

.appointment-edit-income-option input {
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  margin-top: .12rem;
  accent-color: var(--primary);
}

.appointment-edit-income-option span {
  min-width: 0;
}

.appointment-edit-income-option strong,
.appointment-edit-income-option small {
  display: block;
}

.appointment-edit-income-option strong {
  color: #3d3759;
  font-size: .8rem;
}

.appointment-edit-income-option small {
  margin-top: .2rem;
  color: #777287;
  font-size: .7rem;
  line-height: 1.45;
}

.appointment-edit-actions {
  position: sticky;
  bottom: -1.35rem;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  margin: 0 -1.35rem -1.35rem;
  padding: .95rem 1.35rem 1.2rem;
  border-top: .0625rem solid #e9e8f3;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -.7rem 1.5rem rgba(255, 255, 255, .96);
}

.appointment-edit-actions .btn {
  min-width: 8.5rem;
  min-height: 2.55rem;
}

@media (max-width: 64em) {
  .appointment-edit-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .appointment-edit-form-grid--financial,
  .appointment-edit-finance-panel {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 40em) {
  .appointment-edit-dialog,
  .appointment-edit-dialog--financial,
  .appointment-edit-dialog--compact {
    width: 96%;
    max-width: 96%;
    max-height: 95vh;
    border-radius: .95rem;
  }

  .appointment-edit-card {
    max-height: 94vh;
    padding: 1rem;
  }

  .appointment-edit-head {
    top: -1rem;
    margin: -1rem -1rem 0;
    padding: 1rem;
  }

  .appointment-edit-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .appointment-edit-summary-item strong,
  .appointment-edit-summary-item small {
    white-space: normal;
  }

  .appointment-edit-actions {
    bottom: -1rem;
    margin: 0 -1rem -1rem;
    padding: .85rem 1rem 1rem;
    flex-direction: column-reverse;
  }

  .appointment-edit-actions .btn {
    width: 100%;
  }
}

/* v1.17.2 - Müşteri not araması, kompakt cinsiyet seçimi ve yasak anahtarı */
.customer-gender-editor {
  position: relative;
  min-width: 0;
}
.customer-gender-editor.is-dropdown-open,
.customer-gender-editor.is-popover-open {
  z-index: 60;
}
.customer-gender-editor > label {
  min-width: 0;
}
.customer-gender-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.55rem;
  gap: .55rem;
  align-items: stretch;
}
.customer-gender-combobox {
  position: relative;
  min-width: 0;
}
.customer-gender-native-select,
.customer-gender-native-select[hidden] {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.customer-gender-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  width: 100%;
  min-width: 0;
  min-height: 3.1rem;
  padding: .65rem 3%;
  border: .0625rem solid #d8dde8;
  border-radius: .85rem;
  background: #fbfcff;
  color: var(--text);
  font: inherit;
  line-height: normal;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.customer-gender-dropdown-toggle:hover,
.customer-gender-dropdown-toggle:focus-visible,
.customer-gender-editor.is-dropdown-open .customer-gender-dropdown-toggle {
  border-color: var(--primary-focus);
  background: #fff;
  box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12);
  outline: none;
}
.customer-gender-dropdown-toggle > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-gender-dropdown-toggle svg {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .16s ease;
}
.customer-gender-editor.is-dropdown-open .customer-gender-dropdown-toggle svg {
  transform: rotate(180deg);
}
.customer-gender-dropdown {
  position: absolute;
  z-index: 55;
  top: calc(100% + .35rem);
  left: 0;
  right: 0;
  max-height: 16rem;
  overflow-y: auto;
  padding: .3rem;
  border: .0625rem solid #cfd5e2;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgba(27, 31, 59, .2);
  overscroll-behavior: contain;
}
.customer-gender-dropdown[hidden] { display: none !important; }
.customer-gender-option-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.45rem;
  align-items: stretch;
  min-width: 0;
  border-radius: .62rem;
}
.customer-gender-option-row + .customer-gender-option-row {
  margin-top: .15rem;
}
.customer-gender-option-row:hover,
.customer-gender-option-row:focus-within {
  background: #f6f5ff;
}
.customer-gender-option-row.is-placeholder {
  grid-template-columns: minmax(0, 1fr);
}
.customer-gender-option {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 2.8rem;
  padding: .65rem .8rem;
  border: 0;
  border-radius: .62rem;
  background: transparent;
  color: #1f2937;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.customer-gender-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-gender-option:hover,
.customer-gender-option:focus-visible,
.customer-gender-option.is-selected {
  background: var(--primary-soft);
  color: var(--primary-dark);
  outline: none;
}
.customer-gender-option.is-selected {
  font-weight: 750;
}
.customer-gender-delete-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 2.1rem;
  height: 2.1rem;
  padding: 0;
  border: .0625rem solid transparent;
  border-radius: .6rem;
  background: transparent;
  color: #dc2626;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}
.customer-gender-delete-button:hover,
.customer-gender-delete-button:focus-visible {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
  outline: none;
}
.customer-gender-delete-button:disabled {
  opacity: .5;
  cursor: wait;
}
.customer-gender-delete-button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.customer-gender-add-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  min-width: 2.55rem;
  min-height: 2.55rem;
  padding: 0;
  border: .0625rem solid #cfd5e2;
  border-radius: .72rem;
  background: #fff;
  color: var(--primary);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
.customer-gender-add-button:hover,
.customer-gender-add-button[aria-expanded="true"] {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary-dark);
  transform: translateY(-.04rem);
}
.customer-gender-add-button svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.customer-gender-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + .45rem);
  right: 0;
  width: min(22rem, 92vw);
  padding: .85rem;
  border: .0625rem solid #d9dce7;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgba(27, 31, 59, .18);
}
.customer-gender-popover[hidden] { display: none !important; }
.customer-gender-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .7rem;
}
.customer-gender-popover .icon-button {
  width: 2rem;
  min-height: 2rem;
}
.customer-gender-popover .btn {
  margin-top: .65rem;
}
.customer-gender-feedback {
  min-height: 1.2rem;
  margin: .55rem 0 0;
  font-size: .8rem;
}
.customer-gender-feedback:empty {
  display: none;
}
.customer-gender-feedback.is-success { color: #047857; }
.customer-gender-feedback.is-error { color: #b42318; }
.customer-detailed-search-grid small {
  display: block;
  margin-top: .35rem;
  line-height: 1.4;
}
.customer-ban-toggle-form {
  display: inline-flex;
  margin: 0;
}
.customer-ban-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 5.9rem;
  padding: .3rem .55rem;
  border: .0625rem solid transparent;
  border-radius: 999rem;
  background: transparent;
  cursor: pointer;
  font: inherit;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.customer-ban-toggle:hover { transform: translateY(-.04rem); }
.customer-ban-toggle strong {
  font-size: .74rem;
  line-height: 1;
}
.customer-ban-toggle-track {
  position: relative;
  display: inline-flex;
  width: 2.15rem;
  height: 1.18rem;
  padding: .12rem;
  border-radius: 999rem;
  background: #cbd5e1;
  transition: background .16s ease;
}
.customer-ban-toggle-track span {
  display: block;
  width: .94rem;
  height: .94rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 .08rem .25rem rgba(15, 23, 42, .25);
  transform: translateX(0);
  transition: transform .16s ease;
}
.customer-ban-toggle.is-active {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b42318;
}
.customer-ban-toggle.is-active .customer-ban-toggle-track { background: #ef4444; }
.customer-ban-toggle.is-active .customer-ban-toggle-track span { transform: translateX(.96rem); }
.customer-ban-toggle.is-passive {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #047857;
}
.customer-ban-toggle.is-passive .customer-ban-toggle-track { background: #86efac; }

@media (max-width: 52rem) {
  .customer-gender-popover {
    left: 0;
    right: auto;
    width: min(22rem, 86vw);
  }
}

@media (max-width: 36rem) {
  .customer-gender-control-row { grid-template-columns: minmax(0, 1fr) 2.45rem; }
  .customer-gender-add-button { width: 2.45rem; min-width: 2.45rem; min-height: 2.45rem; }
  .customer-ban-toggle { min-width: 5.4rem; }
}


/* v1.17.3 · Personel çoklu şube ve unvan tanımı */
.staff-branch-fieldset {
  margin: 0;
  padding: 1rem;
  border: .0625rem solid #d9dce7;
  border-radius: 1rem;
  background: var(--primary-softest);
}
.staff-branch-fieldset legend {
  padding: 0 .35rem;
  font-weight: 750;
  color: var(--text);
}
.staff-branch-fieldset > .muted { margin: 0 0 .8rem; }
.staff-branch-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: .65rem;
}
.staff-branch-option {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  min-height: 4.2rem;
  padding: .75rem;
  border: .0625rem solid #d9dce7;
  border-radius: .85rem;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.staff-branch-option:has(input:checked) {
  border-color: #8064e8;
  background: #f5f1ff;
  box-shadow: 0 0 0 .18rem rgba(124, 92, 230, .1);
}
.staff-branch-option input { margin-top: .18rem; }
.staff-branch-option span { display: grid; gap: .18rem; }
.staff-branch-option strong { color: var(--text); }
.staff-branch-option small { color: #727188; line-height: 1.35; }
.field-feedback { min-height: 1.1rem; margin: .55rem 0 0; color: #b42318; font-size: .82rem; }
.staff-form-grid { align-items: start; }

/* v1.17.4 - Yönetici müşteri/randevu kalıcı silme işlemleri */
.customer-booking-card .customer-action-button.is-danger,
.customer-action-button.is-danger {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #be123c;
}

.customer-booking-card .customer-action-button.is-danger:hover,
.customer-action-button.is-danger:hover {
  border-color: #e11d48;
  background: #e11d48;
  color: #ffffff;
  box-shadow: 0 .45rem 1rem rgba(190, 18, 60, .22);
}

.delete-confirm-dialog {
  width: min(92%, 31rem);
  max-width: 31rem;
}

.delete-confirm-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  padding: 1.35rem;
  border: .0625rem solid #fecdd3;
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 2rem 5rem rgba(30, 41, 59, .22);
}

.delete-confirm-icon {
  width: 3.3rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 999rem;
  background: #fff1f2;
  color: #be123c;
}

.delete-confirm-icon svg {
  width: 1.55rem;
  height: 1.55rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.delete-confirm-copy {
  min-width: 0;
}

.delete-confirm-copy h3 {
  margin: 0 0 .45rem;
  color: #111827;
  font-size: 1.2rem;
  font-weight: 850;
  letter-spacing: -.025em;
}

.delete-confirm-copy p {
  margin: 0;
  line-height: 1.55;
}

.delete-confirm-copy p + p {
  margin-top: .45rem;
  font-size: .82rem;
}

.delete-confirm-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  padding-top: .35rem;
}

.delete-confirm-actions .btn.danger {
  background: #e11d48;
  border-color: #e11d48;
  color: #ffffff;
}

.delete-confirm-actions .btn.danger:hover {
  background: #be123c;
  border-color: #be123c;
}

@media (max-width: 36em) {
  .delete-confirm-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .delete-confirm-icon {
    margin-inline: auto;
  }

  .delete-confirm-actions {
    grid-column: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

/* v1.17.6 - Ayarlar / Silinen Müşteriler */
.deleted-customers-titlebar { margin-top: 1.2rem; }
.deleted-customers-filter-form > label:first-of-type { flex-basis: 18rem; }
.deleted-customers-table { min-width: 74rem; }
.deleted-customers-table th:nth-child(1) { width: 17%; }
.deleted-customers-table th:nth-child(2) { width: 12%; }
.deleted-customers-table th:nth-child(3) { width: 15%; }
.deleted-customers-table th:nth-child(4) { width: 13%; }
.deleted-customers-table th:nth-child(5) { width: 12%; }
.deleted-customers-table th:nth-child(6) { width: 8%; }
.deleted-customers-table th:nth-child(7) { width: 10%; }
.deleted-customers-table th:nth-child(8) { width: 8%; }
.deleted-customers-table th:last-child { width: 5%; }
.customer-action-button.is-restore {
  border: .0625rem solid #a7f3d0;
  background: #ecfdf5;
  color: #047857;
}
.customer-action-button.is-restore:hover {
  border-color: #059669;
  background: #059669;
  color: #fff;
  box-shadow: 0 .45rem 1rem rgba(5, 150, 105, .22);
}
.restore-confirm-card { border-color: #a7f3d0; }
.restore-confirm-icon { background: #ecfdf5; color: #047857; }
.restore-confirm-question {
  margin: .3rem 0 .55rem;
  color: #064e3b;
  font-size: 1rem;
}
.restore-primary-button {
  border-color: #059669;
  background: #059669;
  color: #fff;
}
.restore-primary-button:hover { border-color: #047857; background: #047857; }
.restore-confirm-card .delete-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: .7rem;
  margin-top: 1rem;
}
@media (max-width: 52rem) {
  .deleted-customers-filter-form > label:first-of-type { flex-basis: 100%; }
  .deleted-customers-table { min-width: 0; }
}


/* =========================================================
   v1.18.0 - Ayrıntılı müşteri dosyası ve müşteri portalı
   ========================================================= */
.customer-profile-page,.customer-detail-page{display:grid;gap:1.25rem}
.customer-profile-topbar,.detail-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:1.35rem 1.5rem;background:#fff;border:.0625rem solid #e6e9f2;border-radius:1.15rem;box-shadow:0 .7rem 2rem rgba(31,41,55,.06)}
.customer-profile-topbar h1,.detail-page-header h1{margin:.35rem 0 .2rem;font-size:clamp(1.35rem,2vw,1.8rem);color:#18223b}
.customer-profile-topbar p,.detail-page-header p{margin:0;color:#718096}
.profile-back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--primary);font-weight:750;text-decoration:none;font-size:.9rem}
.customer-profile-kpis{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.customer-profile-kpis span{min-width:7rem;padding:.7rem .85rem;background:#f7f7fc;border:.0625rem solid #ececf5;border-radius:.8rem;display:grid;gap:.15rem}
.customer-profile-kpis small{color:#7a8398;font-size:.72rem}.customer-profile-kpis strong{color:#202a44;font-size:.95rem}
.customer-profile-layout{display:grid;grid-template-columns:minmax(13rem,18%) minmax(0,1fr);gap:1.2rem;align-items:start}
.customer-profile-nav{position:sticky;top:1rem;display:grid;gap:.35rem;padding:.65rem;background:#fff;border:.0625rem solid #e6e9f2;border-radius:1rem;box-shadow:0 .5rem 1.5rem rgba(31,41,55,.05)}
.customer-profile-nav a{display:flex;align-items:center;gap:.7rem;padding:.78rem .85rem;border-radius:.75rem;color:#5e687e;text-decoration:none;font-size:.88rem;font-weight:650;transition:.18s ease}
.customer-profile-nav a span{width:1.35rem;text-align:center}.customer-profile-nav a:hover{background:var(--primary-softest);color:var(--primary-dark)}.customer-profile-nav a.active{background:linear-gradient(135deg,var(--primary),var(--primary-bright));color:var(--primary-contrast);box-shadow:0 .45rem 1.2rem rgba(var(--primary-rgb), .22)}
.customer-profile-main{min-width:0}.profile-content-card{background:#fff;border:.0625rem solid #e6e9f2;border-radius:1rem;padding:1.25rem;box-shadow:0 .5rem 1.5rem rgba(31,41,55,.05);display:grid;gap:1.15rem}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading h2,.profile-content-card h2{margin:0;color:#1e2944;font-size:1.15rem}.section-heading p{margin:.25rem 0 0;color:#7a8398;font-size:.85rem}
.customer-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.customer-summary-grid>div{padding:.85rem;background:#f8f9fc;border:.0625rem solid #eceef4;border-radius:.8rem;display:grid;gap:.25rem}.customer-summary-grid small{color:#7c8699;font-size:.73rem}.customer-summary-grid strong{color:#26324e;font-size:.9rem;overflow-wrap:anywhere}
.profile-note-area{padding:1rem;background:var(--primary-softest);border:.0625rem solid var(--primary-border);border-radius:.85rem}.profile-note-area h3{margin:0 0 .7rem;font-size:.95rem;color:#3c365b}.profile-note-area p{margin:.7rem 0 0;color:#606b80}
.profile-form,.upload-panel{display:grid;gap:1rem}.form-span-2{grid-column:1/-1}.profile-balance{padding:.6rem .85rem;border-radius:999rem;background:#eeebff;color:#5c4cc6;font-weight:800}
.inline-adjust-form{display:grid;grid-template-columns:minmax(8rem,.6fr) minmax(14rem,1fr) auto;gap:.75rem;align-items:end;padding:1rem;background:#f8f9fc;border-radius:.85rem}.inline-adjust-form label{margin:0}
.table-actions{display:flex;gap:.35rem;align-items:center}.text-success{color:#0f9f72!important}.text-danger{color:#d74455!important}
.sale-item-editor{display:grid;gap:.6rem}.sale-item-row{display:grid;grid-template-columns:minmax(12rem,1.7fr) minmax(6rem,.55fr) minmax(7rem,.65fr) auto;gap:.55rem;align-items:center;padding:.65rem;background:#f8f9fc;border:.0625rem solid #e8eaf1;border-radius:.75rem}.product-sale-dialog .modal-card{max-height:92vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;position:sticky;bottom:0;background:#fff;padding-top:.85rem}
.upload-panel{grid-template-columns:minmax(12rem,1.2fr) minmax(12rem,1fr) auto;align-items:end;padding:1rem;background:#f8f9fc;border:.0625rem solid #e8eaf1;border-radius:.85rem}.upload-panel small{grid-column:1/-1;color:#7d8799}
.document-grid{display:grid;gap:.7rem}.document-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.85rem;border:.0625rem solid #e7eaf1;border-radius:.8rem}.document-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.75rem;background:var(--primary-soft);font-size:1.25rem}.document-card>div:nth-child(2){display:grid;gap:.2rem;min-width:0}.document-card strong{overflow-wrap:anywhere}.document-card small{color:#7d8799}.document-card p{margin:0;color:#606b80}.document-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.document-actions form{margin:0}
.photo-filter{display:flex;justify-content:flex-end}.photo-filter label{min-width:min(100%,22rem)}.appointment-photo-groups{display:grid;gap:1rem}.photo-appointment-card{border:.0625rem solid #e7eaf1;border-radius:.9rem;padding:1rem}.photo-appointment-card h3{margin:0 0 .9rem;color:#2f3954;font-size:1rem}.photo-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.photo-columns h4{margin:0 0 .6rem;color:#6657ce}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.65rem}.photo-gallery figure{margin:0;border:.0625rem solid #e7eaf1;border-radius:.75rem;overflow:hidden;background:#fff}.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-gallery figcaption{padding:.55rem;font-size:.75rem;color:#687388;display:flex;justify-content:space-between;gap:.35rem}.photo-gallery figcaption form{margin:0}.link-danger{border:0;background:none;color:#d74455;cursor:pointer;font-weight:700;padding:0}
.portal-account-card{padding:1rem;background:var(--primary-softest);border:.0625rem solid var(--primary-border);border-radius:.85rem}.portal-account-card h3{margin-top:0}.portal-account-card .form-grid{align-items:end}
.detail-page-grid{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);gap:1rem}.detail-definition-list{display:grid;grid-template-columns:minmax(7rem,.4fr) minmax(0,1fr);gap:.7rem;margin:0}.detail-definition-list dt{color:#7d8799;font-size:.8rem}.detail-definition-list dd{margin:0;color:#2b3650;font-weight:650;overflow-wrap:anywhere}
.customer-portal-auth-shell{min-height:100vh;display:grid;place-items:center;padding:5%;background:linear-gradient(145deg,var(--primary-softest),var(--primary-soft))}.customer-portal-auth-card{width:min(92%,28rem);padding:2rem;background:#fff;border:.0625rem solid #e5e7f0;border-radius:1.2rem;box-shadow:0 1.3rem 3.8rem rgba(50,44,96,.14);display:grid;gap:1rem}.customer-portal-auth-card h1{margin:0;color:#202943}.customer-portal-auth-card p{margin:0}.customer-portal-auth-card .btn{margin-top:.25rem}
.customer-portal-shell{min-height:100vh;background:#f5f6fa;padding:clamp(1rem,3vw,2.5rem)}.customer-portal-header{max-width:78rem;margin:0 auto 1.2rem;padding:1.3rem 1.5rem;background:#fff;border:.0625rem solid #e6e9f2;border-radius:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.customer-portal-header h1{margin:.25rem 0;color:#202943}.customer-portal-header p{margin:0;color:#7b8599}.eyebrow{font-size:.7rem;letter-spacing:.12em;color:#6a59d5;font-weight:850}.customer-portal-content{max-width:78rem;margin:auto;display:grid;gap:1rem}.portal-feedback-form{display:grid;grid-template-columns:minmax(6rem,.45fr) minmax(10rem,1fr) auto;gap:.35rem;align-items:center}.portal-feedback-form select,.portal-feedback-form input{min-height:2.35rem}
.empty-state,.empty-cell{text-align:center;color:#7d8799;padding:1.2rem}.responsive-table small{display:block;color:#7d8799;margin-top:.18rem}
@media(max-width:68rem){.customer-profile-layout{grid-template-columns:1fr}.customer-profile-nav{position:static;display:flex;overflow-x:auto;white-space:nowrap}.customer-profile-nav a{flex:0 0 auto}.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-page-grid{grid-template-columns:1fr}.upload-panel{grid-template-columns:1fr 1fr}.upload-panel button{align-self:end}}
@media(max-width:48rem){.customer-profile-topbar,.detail-page-header,.customer-portal-header,.section-heading{align-items:flex-start;flex-direction:column}.customer-profile-kpis{justify-content:flex-start}.customer-summary-grid,.photo-columns{grid-template-columns:1fr}.inline-adjust-form,.upload-panel,.sale-item-row,.portal-feedback-form{grid-template-columns:1fr}.document-card{grid-template-columns:auto minmax(0,1fr)}.document-actions{grid-column:1/-1}.form-span-2{grid-column:auto}.profile-content-card{padding:1rem}}
.appointment-item-add-form{display:grid;grid-template-columns:minmax(7rem,.55fr) minmax(11rem,1.3fr) minmax(6rem,.55fr) minmax(7rem,.65fr) auto;gap:.55rem;align-items:end;padding:.85rem;background:#f8f9fc;border:.0625rem solid #e7eaf1;border-radius:.8rem}.appointment-item-add-form label{margin:0}.appointment-item-add-form [hidden]{display:none!important}@media(max-width:64rem){.appointment-item-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:42rem){.appointment-item-add-form{grid-template-columns:1fr}}


/* =========================================================
   v1.18.1 - Müşteri detay bağlantısı ve toplam borç sütunu
   ========================================================= */
.customer-name-link{display:inline-flex;align-items:center;color:#26324e;text-decoration:none;border-radius:.35rem;transition:color .16s ease,background .16s ease,box-shadow .16s ease}
.customer-name-link:hover,.customer-name-link:focus-visible{color:var(--primary);text-decoration:underline;text-underline-offset:.18rem}
.customer-name-link:focus-visible{outline:none;box-shadow:0 0 0 .18rem rgba(98,84,217,.18)}
.customer-debt-cell strong{display:inline-flex;align-items:center;justify-content:flex-end;min-width:5.5rem;font-variant-numeric:tabular-nums}
.customer-debt-cell .has-debt{color:#c24155;font-weight:850}
.customer-debt-cell .no-debt{color:#6b7280;font-weight:700}

/* =========================================================
   v1.18.2 - Müşteri tablosu yüzde tabanlı sütun yerleşimi
   ========================================================= */
.customer-booking-card .customer-data-table {
  width: 100%;
  min-width: 100%;
  table-layout: fixed;
}
.customer-booking-card .customer-data-table th:nth-child(1) { width: 14%; }
.customer-booking-card .customer-data-table th:nth-child(2) { width: 11%; }
.customer-booking-card .customer-data-table th:nth-child(3) { width: 13%; }
.customer-booking-card .customer-data-table th:nth-child(4) { width: 6%; }
.customer-booking-card .customer-data-table th:nth-child(5) { width: 8%; }
.customer-booking-card .customer-data-table th:nth-child(6) { width: 8%; }
.customer-booking-card .customer-data-table th:nth-child(7) { width: 6%; }
.customer-booking-card .customer-data-table th:nth-child(8) { width: 7%; }
.customer-booking-card .customer-data-table th:nth-child(9) { width: 7%; }
.customer-booking-card .customer-data-table th:nth-child(10) { width: 5%; }
.customer-booking-card .customer-data-table th:nth-child(11) { width: 7%; }
.customer-booking-card .customer-data-table th:nth-child(12) { width: 8%; }
.customer-booking-card .customer-data-table th,
.customer-booking-card .customer-data-table td {
  overflow-wrap: anywhere;
}
.customer-booking-card .customer-data-table th:nth-child(7),
.customer-booking-card .customer-data-table th:nth-child(8),
.customer-booking-card .customer-data-table th:nth-child(9),
.customer-booking-card .customer-data-table th:nth-child(10),
.customer-booking-card .customer-data-table th:nth-child(11),
.customer-booking-card .customer-data-table td:nth-child(7),
.customer-booking-card .customer-data-table td:nth-child(8),
.customer-booking-card .customer-data-table td:nth-child(9),
.customer-booking-card .customer-data-table td:nth-child(10),
.customer-booking-card .customer-data-table td:nth-child(11) {
  text-align: center;
}
.customer-booking-card .customer-data-table th:nth-child(12),
.customer-booking-card .customer-data-table td:nth-child(12) {
  text-align: right;
}
.customer-debt-cell strong {
  width: 100%;
  min-width: 0;
  justify-content: center;
}
.customer-booking-card .customer-data-table td:nth-child(9) > span,
.customer-booking-card .customer-data-table td:nth-child(10) > span {
  display: inline-flex;
  width: 100%;
  justify-content: center;
}
.customer-booking-card .customer-row-actions {
  width: 100%;
  justify-content: flex-end;
  gap: 4%;
}
.customer-booking-card .customer-row-actions .customer-action-button {
  flex: 0 1 28%;
  width: 28%;
  max-width: 2.3rem;
  min-width: 1.85rem;
}
@media (max-width: 48rem) {
  .customer-booking-card .customer-data-table {
    min-width: 0;
  }
  .customer-booking-card .customer-data-table td:nth-child(7),
  .customer-booking-card .customer-data-table td:nth-child(8),
  .customer-booking-card .customer-data-table td:nth-child(9),
  .customer-booking-card .customer-data-table td:nth-child(10),
  .customer-booking-card .customer-data-table td:nth-child(11),
  .customer-booking-card .customer-data-table td:nth-child(12) {
    text-align: left;
  }
  .customer-debt-cell strong,
  .customer-booking-card .customer-data-table td:nth-child(9) > span,
  .customer-booking-card .customer-data-table td:nth-child(10) > span {
    width: auto;
    justify-content: flex-start;
  }
  .customer-booking-card .customer-row-actions {
    justify-content: flex-end;
  }
}


/* =========================================================
   v1.18.3 - Fatura bilgilerinde Şahıs / Şirket ayrımı
   ========================================================= */
.billing-profile-form{display:grid;gap:1rem}
.billing-profile-form .billing-type-row,.billing-profile-form .billing-form-section{align-items:start}
.billing-profile-form [data-billing-section][hidden],.billing-profile-form .billing-form-section[hidden]{display:none!important}
.billing-profile-form .billing-save-button{width:100%;justify-content:center}
.billing-profile-form input,.billing-profile-form select,.billing-profile-form textarea{width:100%}
.billing-profile-form textarea{min-height:6rem;resize:vertical}
@media(max-width:48rem){.billing-profile-form .billing-type-row,.billing-profile-form .billing-form-section{grid-template-columns:1fr}.billing-profile-form .form-span-2{grid-column:auto}}

/* v1.18.4 - Fatura bilgilerindeki e-Fatura seçeneği */
.billing-einvoice-toggle {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  width: auto;
  max-width: 100%;
  gap: .55rem;
  padding: .1rem 0;
  font-weight: 650;
  color: #374151;
  cursor: pointer;
}
.billing-einvoice-toggle input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  min-height: 1rem;
  flex: 0 0 1rem;
  margin: 0;
  padding: 0;
  accent-color: var(--primary);
}
.billing-einvoice-toggle span {
  display: inline-block;
  line-height: 1.25;
  white-space: nowrap;
}
@media (max-width: 48rem) {
  .billing-einvoice-toggle { justify-self: start; }
}


/* v1.18.6 - Hizmetler sayfası kompakt liste tipografisi */
.service-list-panel {
  box-shadow: 0 .55rem 1.65rem rgba(30, 41, 59, .055);
}
.service-list-panel .panel-head {
  padding: 1rem 1.4% .72rem;
}
.service-list-panel .panel-head h3 {
  margin: 0 0 .18rem;
  color: #101828;
  font-size: .98rem;
  line-height: 1.25;
  font-weight: 720;
  letter-spacing: -.012em;
}
.service-list-panel .panel-head p {
  font-size: .75rem;
  line-height: 1.4;
  color: #7a8496;
}
.service-table-wrap {
  scrollbar-width: thin;
}
.service-list-table {
  table-layout: auto;
  color: #344054;
}
.service-list-table thead th {
  padding: .68rem 1%;
  color: #667085;
  background: #f8fafc;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 720;
  letter-spacing: .045em;
  white-space: nowrap;
}
.service-list-table tbody td {
  padding: .66rem 1%;
  color: #344054;
  font-size: .81rem;
  line-height: 1.35;
  font-weight: 430;
  white-space: nowrap;
}
.service-list-table tbody tr {
  min-height: 2.9rem;
}
.service-list-table tbody tr:hover {
  background: #fafbfe;
}
.service-list-table .service-primary-text {
  color: #101828;
  font-size: .84rem;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.006em;
}
.service-list-table .badge {
  padding: .26rem .48rem;
  font-size: .64rem;
  line-height: 1.1;
  font-weight: 720;
}
.service-list-table .actions {
  flex-wrap: nowrap;
  gap: .28rem;
}
.service-list-table .btn.ghost {
  padding: .3rem .38rem;
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 650;
}
.service-category-table {
  min-width: 38rem;
}
.service-items-table {
  min-width: 66rem;
}
.service-category-table th:nth-child(1) { width: 42%; }
.service-category-table th:nth-child(2) { width: 14%; }
.service-category-table th:nth-child(3) { width: 16%; }
.service-category-table th:nth-child(4) { width: 28%; }
.service-items-table th:nth-child(1) { width: 16%; }
.service-items-table th:nth-child(2) { width: 13%; }
.service-items-table th:nth-child(3) { width: 7%; }
.service-items-table th:nth-child(4) { width: 9%; }
.service-items-table th:nth-child(5) { width: 7%; }
.service-items-table th:nth-child(6) { width: 9%; }
.service-items-table th:nth-child(7) { width: 12%; }
.service-items-table th:nth-child(8) { width: 8%; }
.service-items-table th:nth-child(9) { width: 19%; }

@media (max-width: 51.25em) {
  .service-list-panel .panel-head {
    padding: .9rem 4% .68rem;
  }
  .service-list-table thead th {
    font-size: .66rem;
  }
  .service-list-table tbody td {
    font-size: .79rem;
  }
}


/* v1.18.7 - Hizmet/kategori aktiflik, düzenleme ve soft-delete yönetimi */
.catalog-action-heading { text-align: right; }
.catalog-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .42rem;
  white-space: nowrap;
}
.catalog-icon-button {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  aspect-ratio: 1;
  padding: 0;
  border: .0625rem solid var(--primary-border);
  border-radius: .62rem;
  background: var(--primary-softest);
  color: var(--primary);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.catalog-icon-button svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.catalog-icon-button:hover {
  transform: translateY(-.05rem);
  border-color: var(--primary);
  background: var(--primary-soft);
}
.catalog-icon-button.is-delete {
  border-color: #fecdd3;
  background: #fff7f8;
  color: #dc2626;
}
.catalog-icon-button.is-delete:hover {
  border-color: #ef4444;
  background: #fff1f2;
  color: #b91c1c;
}
.catalog-status-form {
  display: inline-flex;
  margin: 0;
}
.catalog-status-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 5.65rem;
  padding: .3rem .55rem;
  border: .0625rem solid transparent;
  border-radius: 999rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.catalog-status-toggle:hover { transform: translateY(-.04rem); }
.catalog-status-toggle strong {
  font-size: .73rem;
  line-height: 1;
}
.catalog-status-track {
  position: relative;
  display: inline-flex;
  width: 2.15rem;
  height: 1.18rem;
  padding: .12rem;
  border-radius: 999rem;
  background: #cbd5e1;
  transition: background .16s ease;
}
.catalog-status-track span {
  display: block;
  width: .94rem;
  height: .94rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 .08rem .25rem rgba(15, 23, 42, .25);
  transform: translateX(0);
  transition: transform .16s ease;
}
.catalog-status-toggle.is-active {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #047857;
}
.catalog-status-toggle.is-active .catalog-status-track { background: #22c55e; }
.catalog-status-toggle.is-active .catalog-status-track span { transform: translateX(.96rem); }
.catalog-status-toggle.is-passive {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b42318;
}
.catalog-status-toggle.is-passive .catalog-status-track { background: #f87171; }
.catalog-inline-warning {
  display: block;
  margin-top: .18rem;
  color: #b45309;
  font-size: .68rem;
  font-weight: 700;
}
.modal-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: .35rem;
}
.catalog-history-label {
  display: inline;
  transition: opacity .16s ease;
}
.catalog-history-label.is-deleted {
  color: #7c8496 !important;
  opacity: .58;
  text-decoration: line-through;
  text-decoration-thickness: .045em;
}
.catalog-history-label.is-deleted::after {
  content: " · silinmiş hizmet";
  font-size: .72em;
  font-weight: 650;
  text-decoration: none;
}
.catalog-history-row.is-deleted-service {
  opacity: .72;
}
.catalog-history-row.is-deleted-service:hover {
  opacity: .88;
}
@media (max-width: 48em) {
  .catalog-row-actions { justify-content: flex-start; }
  .catalog-status-toggle { min-width: 5.35rem; }
  .modal-form-actions { flex-direction: column-reverse; }
  .modal-form-actions .btn { width: 100%; }
}

/* v1.18.8 - Hizmet kategorilerini dört sütunlu kart düzeninde listeleme */
.service-category-panel {
  overflow: hidden;
}
.service-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  padding: .35rem 1.4% 1.15rem;
}
.service-category-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: .9rem;
  padding: .9rem;
  border: .0625rem solid #e4e7ec;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 .2rem .65rem rgba(15, 23, 42, .035);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.service-category-card:hover {
  border-color: var(--primary-border);
  box-shadow: 0 .35rem .95rem rgba(var(--primary-rgb), .08);
  transform: translateY(-.04rem);
}
.service-category-card-head {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
}
.service-category-card-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .22rem;
}
.service-category-card .service-primary-text {
  display: block;
  overflow-wrap: anywhere;
  color: #101828;
  font-size: .84rem;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.006em;
}
.service-category-order {
  color: #7a8496;
  font-size: .69rem;
  line-height: 1.2;
  font-weight: 560;
}
.service-category-card .catalog-row-actions {
  flex: 0 0 auto;
  gap: .3rem;
}
.service-category-card .catalog-icon-button {
  width: 2rem;
  border-radius: .55rem;
}
.service-category-card .catalog-icon-button svg {
  width: .92rem;
  height: .92rem;
}
.service-category-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: .65rem;
  border-top: .0625rem solid #f0f1f4;
}
.service-category-card .catalog-status-toggle {
  min-width: 5.25rem;
  padding: .25rem .48rem;
}
.service-category-empty {
  margin: 0 1.4% 1.15rem;
  padding: 1.25rem;
  border: .0625rem dashed #d9dde7;
  border-radius: .8rem;
  background: #fafbfc;
  text-align: center;
}

@media (max-width: 70em) {
  .service-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 51.25em) {
  .service-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem;
    padding: .3rem 4% 1rem;
  }
  .service-category-empty {
    margin: 0 4% 1rem;
  }
}
@media (max-width: 34em) {
  .service-category-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.18.9 - Kategori kartlarında kompakt durum anahtarı ve tek satır araç düzeni */
.service-category-card {
  gap: 0;
  min-height: 4.15rem;
  padding: .68rem .72rem;
}
.service-category-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  justify-content: initial;
  gap: .34rem;
}
.service-category-card-copy {
  gap: .14rem;
}
.service-category-card .service-primary-text {
  font-size: .8rem;
  line-height: 1.22;
  font-weight: 650;
}
.service-category-order {
  font-size: .64rem;
}
.service-category-status-form {
  flex: 0 0 auto;
}
.service-category-card .service-category-status-toggle {
  min-width: 4.05rem;
  gap: .28rem;
  padding: .16rem .3rem;
  border-radius: 999rem;
}
.service-category-card .service-category-status-toggle strong {
  font-size: .62rem;
  font-weight: 720;
  letter-spacing: -.005em;
}
.service-category-card .service-category-status-toggle .catalog-status-track {
  width: 1.55rem;
  height: .88rem;
  padding: .09rem;
}
.service-category-card .service-category-status-toggle .catalog-status-track span {
  width: .7rem;
  height: .7rem;
  box-shadow: 0 .05rem .16rem rgba(15, 23, 42, .22);
}
.service-category-card .service-category-status-toggle.is-active .catalog-status-track span {
  transform: translateX(.67rem);
}
.service-category-actions {
  gap: .2rem !important;
}
.service-category-card .catalog-icon-button {
  width: 1.76rem;
  border-radius: .48rem;
}
.service-category-card .catalog-icon-button svg {
  width: .8rem;
  height: .8rem;
}

@media (max-width: 25em) {
  .service-category-card-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .service-category-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}


/* v1.18.10 - Hizmet kategorilerini altı sütunlu kompakt düzende listeleme */
@media (min-width: 78.01em) {
  .service-category-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .48rem;
    padding-inline: 1%;
  }
  .service-category-card {
    min-height: 3.72rem;
    padding: .52rem .5rem;
    border-radius: .66rem;
  }
  .service-category-card-head {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .18rem;
  }
  .service-category-card-copy {
    gap: .08rem;
  }
  .service-category-card .service-primary-text {
    font-size: .74rem;
    line-height: 1.16;
    letter-spacing: -.009em;
  }
  .service-category-order {
    font-size: .58rem;
    line-height: 1.1;
  }
  .service-category-card .service-category-status-toggle {
    min-width: 3.5rem;
    gap: .2rem;
    padding: .12rem .22rem;
  }
  .service-category-card .service-category-status-toggle strong {
    font-size: .56rem;
  }
  .service-category-card .service-category-status-toggle .catalog-status-track {
    width: 1.36rem;
    height: .76rem;
    padding: .07rem;
  }
  .service-category-card .service-category-status-toggle .catalog-status-track span {
    width: .62rem;
    height: .62rem;
  }
  .service-category-card .service-category-status-toggle.is-active .catalog-status-track span {
    transform: translateX(.58rem);
  }
  .service-category-actions {
    gap: .1rem !important;
  }
  .service-category-card .catalog-icon-button {
    width: 1.54rem;
    min-width: 1.54rem;
    height: 1.54rem;
    padding: 0;
    border-radius: .42rem;
  }
  .service-category-card .catalog-icon-button svg {
    width: .7rem;
    height: .7rem;
  }
}

@media (min-width: 70.01em) and (max-width: 78em) {
  .service-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .58rem;
  }
}
@media (min-width: 60.01em) and (max-width: 70em) {
  .service-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .64rem;
  }
}
@media (min-width: 51.26em) and (max-width: 60em) {
  .service-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* v1.18.11 - Ürün ve stok sayfası kompakt dört sütunlu katalog yönetimi */
.product-page-toolbar {
  align-items: center;
}
.product-catalog-panel {
  overflow: hidden;
  box-shadow: 0 .55rem 1.65rem rgba(30, 41, 59, .055);
}
.product-catalog-panel .panel-head,
.product-movement-panel .panel-head {
  padding: 1rem 1.4% .72rem;
}
.product-catalog-panel .panel-head h3,
.product-movement-panel .panel-head h3 {
  margin: 0 0 .18rem;
  color: #101828;
  font-size: .98rem;
  line-height: 1.25;
  font-weight: 720;
  letter-spacing: -.012em;
}
.product-catalog-panel .panel-head p,
.product-movement-panel .panel-head p {
  margin: 0;
  color: #7a8496;
  font-size: .75rem;
  line-height: 1.4;
}
.product-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .72rem;
  padding: .35rem 1.4% 1.15rem;
}
.product-catalog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .68rem;
  padding: .78rem;
  border: .0625rem solid #e4e7ec;
  border-radius: .78rem;
  background: #fff;
  box-shadow: 0 .2rem .65rem rgba(15, 23, 42, .035);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, opacity .16s ease;
}
.product-catalog-card:hover {
  border-color: var(--primary-border);
  box-shadow: 0 .35rem .95rem rgba(var(--primary-rgb), .08);
  transform: translateY(-.04rem);
}
.product-catalog-card.is-passive {
  background: #fbfbfc;
  opacity: .76;
}
.product-catalog-card.is-passive:hover {
  opacity: .92;
}
.product-catalog-card.is-low-stock {
  border-color: #fed7aa;
}
.product-catalog-card-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .3rem;
}
.product-catalog-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .12rem;
}
.product-catalog-name {
  overflow: hidden;
  color: #101828;
  font-size: .82rem;
  line-height: 1.22;
  font-weight: 670;
  letter-spacing: -.008em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-catalog-copy > span {
  overflow: hidden;
  color: #7a8496;
  font-size: .64rem;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-status-toggle {
  min-width: 4rem;
  gap: .28rem;
  padding: .16rem .3rem;
}
.product-status-toggle strong {
  font-size: .62rem;
  font-weight: 720;
}
.product-status-toggle .catalog-status-track {
  width: 1.55rem;
  height: .88rem;
  padding: .09rem;
}
.product-status-toggle .catalog-status-track span {
  width: .7rem;
  height: .7rem;
}
.product-status-toggle.is-active .catalog-status-track span {
  transform: translateX(.67rem);
}
.product-card-actions {
  gap: .2rem;
}
.product-catalog-card .catalog-icon-button {
  width: 1.76rem;
  min-width: 1.76rem;
  height: 1.76rem;
  border-radius: .48rem;
}
.product-catalog-card .catalog-icon-button svg {
  width: .8rem;
  height: .8rem;
}
.product-catalog-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .34rem;
}
.product-catalog-metrics > div {
  min-width: 0;
  padding: .44rem .35rem;
  border: .0625rem solid #eef0f4;
  border-radius: .55rem;
  background: #fafbfc;
  text-align: center;
}
.product-catalog-metrics small,
.product-catalog-metrics strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-catalog-metrics small {
  margin-bottom: .14rem;
  color: #8a93a5;
  font-size: .56rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.product-catalog-metrics strong {
  color: #344054;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 700;
}
.product-catalog-metrics strong.is-critical {
  color: #c2410c;
}
.product-stock-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  width: 100%;
  min-height: 2rem;
  padding: .38rem .55rem;
  border: .0625rem solid var(--primary-border);
  border-radius: .58rem;
  background: var(--primary-softest);
  color: var(--primary);
  font: inherit;
  font-size: .67rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.product-stock-action:hover {
  border-color: var(--primary);
  background: var(--primary-soft);
  transform: translateY(-.03rem);
}
.product-stock-action svg {
  width: .84rem;
  height: .84rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.product-catalog-empty {
  margin: 0 1.4% 1.15rem;
  padding: 1.25rem;
  border: .0625rem dashed #d9dde7;
  border-radius: .8rem;
  background: #fafbfc;
  text-align: center;
}
.product-movement-table thead th {
  padding: .68rem 1%;
  color: #667085;
  background: #f8fafc;
  font-size: .68rem;
  font-weight: 720;
  letter-spacing: .045em;
  white-space: nowrap;
}
.product-movement-table tbody td {
  padding: .66rem 1%;
  color: #344054;
  font-size: .8rem;
  line-height: 1.35;
}
.product-history-label.is-deleted {
  color: #7c8496 !important;
  opacity: .58;
  text-decoration: line-through;
  text-decoration-thickness: .045em;
}
.product-history-label.is-deleted::after {
  content: " · silinmiş ürün";
  font-size: .72em;
  font-weight: 650;
  text-decoration: none;
}
.catalog-history-row.is-deleted-product {
  opacity: .72;
}
.catalog-history-row.is-deleted-product:hover {
  opacity: .88;
}

@media (max-width: 74em) {
  .product-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 57em) {
  .product-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    padding: .3rem 4% 1rem;
  }
  .product-catalog-panel .panel-head,
  .product-movement-panel .panel-head { padding: .9rem 4% .68rem; }
  .product-catalog-empty { margin: 0 4% 1rem; }
}
@media (max-width: 35em) {
  .product-catalog-grid { grid-template-columns: 1fr; }
  .product-catalog-card-head { grid-template-columns: minmax(0, 1fr) auto; }
  .product-card-actions { grid-column: 1 / -1; justify-content: flex-end; }
}


/* v1.18.12.2 - Ürün kartı CSS dağıtım ve önbellek onarımı */
.product-catalog-panel > .product-catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch;
}
.product-catalog-panel .product-catalog-card {
  display: flex !important;
  min-width: 0;
}
.product-catalog-card .product-catalog-card-head {
  width: 100%;
}
.product-catalog-card .product-stock-action {
  margin-top: auto;
}
@media (max-width: 74em) {
  .product-catalog-panel > .product-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 57em) {
  .product-catalog-panel > .product-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 35em) {
  .product-catalog-panel > .product-catalog-grid { grid-template-columns: 1fr !important; }
}

/* v1.18.13 - Ürün kartı başlık, boşluk ve kare kart yerleşimi */
.product-catalog-panel {
  padding: 0;
  margin-bottom: .55rem;
}
.product-catalog-panel-head {
  align-items: center;
  gap: 2%;
  padding: .78rem 1.4% .48rem !important;
}
.product-catalog-head-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .42rem;
  margin-left: auto;
}
.product-head-button {
  min-height: 2.35rem;
  padding: .48rem .8rem;
  border-radius: .62rem;
  font-size: .76rem;
}
.product-catalog-grid {
  gap: .58rem;
  padding: .18rem 1.4% .72rem;
}
.product-catalog-card {
  gap: .5rem;
  min-height: 13.25rem;
  padding: .68rem;
  border-radius: .72rem;
}
.product-catalog-card-head {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .25rem;
}
.product-catalog-controls {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .18rem;
  min-width: 0;
}
.product-status-toggle {
  min-width: 3.55rem;
  gap: .2rem;
  padding: .13rem .24rem;
}
.product-status-toggle strong {
  font-size: .58rem;
}
.product-status-toggle .catalog-status-track {
  width: 1.42rem;
  height: .8rem;
  padding: .08rem;
}
.product-status-toggle .catalog-status-track span {
  width: .64rem;
  height: .64rem;
}
.product-status-toggle.is-active .catalog-status-track span {
  transform: translateX(.61rem);
}
.product-card-actions {
  display: inline-flex;
  align-items: center;
  gap: .14rem;
}
.product-catalog-card .catalog-icon-button {
  width: 1.68rem;
  min-width: 1.68rem;
  height: 1.68rem;
  border-radius: .45rem;
}
.product-catalog-card .catalog-icon-button svg {
  width: .75rem;
  height: .75rem;
}
.product-catalog-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .34rem;
  margin-top: .02rem;
}
.product-catalog-metrics > div {
  min-height: 2.72rem;
  padding: .42rem .32rem;
}
.product-catalog-metrics > div:nth-child(n+3) {
  background: #f8f8ff;
  border-color: var(--primary-border);
}
.product-stock-action {
  min-height: 1.92rem;
  margin-top: auto;
  padding: .34rem .5rem;
}
.product-movement-panel {
  margin-top: 0;
}
@media (min-width: 74.01em) {
  .product-catalog-card {
    aspect-ratio: 1.3 / 1;
  }
}
@media (max-width: 57em) {
  .product-catalog-panel-head {
    padding: .72rem 4% .45rem !important;
  }
  .product-catalog-grid {
    padding: .14rem 4% .7rem;
  }
  .product-catalog-card {
    min-height: auto;
  }
}
@media (max-width: 35em) {
  .product-catalog-panel-head {
    align-items: stretch;
    flex-direction: column;
  }
  .product-catalog-head-actions {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
  .product-head-button {
    flex: 1 1 auto;
  }
  .product-catalog-controls {
    gap: .16rem;
  }
  .product-card-actions {
    grid-column: auto;
    justify-content: flex-end;
  }
}


/* v1.18.14 - Ürün kartı değer tipografisi ve stok hareketi boşluğu */
.product-catalog-metrics small {
  font-size: .6rem;
  line-height: 1.15;
}
.product-catalog-metrics strong {
  font-size: .76rem;
  line-height: 1.18;
}
.product-catalog-card {
  gap: .34rem;
}
.product-stock-action {
  margin-top: 0;
}

/* v1.18.15 - Ürün kartındaki fiyatlar ile stok hareketi arasındaki boşluk */
.product-catalog-panel > .product-catalog-grid {
  align-items: start !important;
}
.product-catalog-card {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  align-self: start;
}
.product-catalog-card .product-stock-action {
  margin-top: 0 !important;
}
.product-catalog-metrics {
  margin-bottom: 0 !important;
}

/* v1.18.16 - Türkçe arayüz ve 0,00 TL para biçimi standardı */

/* v1.18.17 - Büyük müşteri listeleri için ortak aramalı müşteri seçici */
.customer-search-field {
  position: relative;
  width: 100%;
  min-width: 0;
  font-weight: 500;
}
.customer-search-control {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.customer-search-input {
  padding-left: 2.25rem;
  padding-right: 2.35rem;
}
.customer-search-icon {
  position: absolute;
  z-index: 1;
  left: .78rem;
  top: 50%;
  transform: translateY(-50%);
  color: #778195;
  font-size: 1rem;
  line-height: 1;
  pointer-events: none;
}
.customer-search-clear {
  position: absolute;
  z-index: 2;
  right: .42rem;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  min-width: 1.75rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #eef0f5;
  color: #667085;
  font-size: 1.05rem;
  cursor: pointer;
}
.customer-search-clear:hover { background: #e2e5ec; color: #344054; }
.customer-search-dropdown {
  position: absolute;
  z-index: 40;
  top: calc(100% + .35rem);
  left: 0;
  right: 0;
  overflow: hidden;
  border: .0625rem solid #d9ddea;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .18);
}
.customer-search-status {
  padding: .58rem .72rem;
  border-bottom: .0625rem solid #edf0f5;
  background: #f8f9fc;
  color: #667085;
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.35;
}
.customer-search-results {
  max-height: 17rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .3rem;
}
.customer-search-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  width: 100%;
  min-height: 3rem;
  padding: .58rem .65rem;
  border: 0;
  border-radius: .58rem;
  background: transparent;
  color: #273142;
  text-align: left;
  cursor: pointer;
}
.customer-search-result:hover,
.customer-search-result.is-active {
  background: var(--primary-soft);
  color: var(--primary-dark);
}
.customer-search-result-copy {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.customer-search-result-copy strong {
  overflow: hidden;
  font-size: .8rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-search-result-copy small {
  overflow: hidden;
  color: #7a8497;
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-search-blocked {
  flex: 0 0 auto;
  padding: .22rem .38rem;
  border-radius: 999rem;
  background: #fff1f2;
  color: #be123c;
  font-size: .6rem;
  font-weight: 800;
}
.customer-search-selection {
  display: flex;
  align-items: baseline;
  gap: .4rem;
  min-width: 0;
  padding: .35rem .12rem 0;
  color: #4b5565;
}
.customer-search-selection strong {
  overflow: hidden;
  flex: 0 1 auto;
  font-size: .7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-search-selection small {
  overflow: hidden;
  color: #8992a3;
  font-size: .65rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 35em) {
  .customer-search-results { max-height: 13rem; }
  .customer-search-result { align-items: flex-start; }
  .customer-search-selection { display: grid; gap: .12rem; }
}


/* v1.18.20 - Paket adı alanında manuel giriş ve hazır paket arama */
.package-search-field { position: relative; }
.package-search-help {
  display: block;
  padding: .35rem .12rem 0;
  color: #8992a3;
  font-size: .65rem;
  font-weight: 500;
  line-height: 1.35;
}
.package-search-selection {
  padding-top: .38rem;
}
.package-search-selection strong {
  color: var(--primary-dark);
}
.package-search-validity {
  flex: 0 0 auto;
  padding: .22rem .42rem;
  border-radius: 999rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}
.is-definition-locked {
  background: #f7f7fb !important;
  color: #4b5565 !important;
  cursor: not-allowed;
}


/* v1.18.21 - Müşteri karşılama ekranı ve yönetim alanı */
.booking-welcome-screen {
  overflow: hidden;
  border: .0625rem solid rgba(229, 231, 235, .9);
  border-radius: 1.65rem;
  background: rgba(255,255,255,.97);
  box-shadow: 0 2rem 5rem rgba(30,41,59,.12);
}
.booking-welcome-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(20rem, .75fr); min-height: 42rem; }
.booking-welcome-information { min-width: 0; border-right: .0625rem solid var(--line); }
.booking-welcome-gallery { position: relative; min-height: 20rem; aspect-ratio: 16/7; overflow: hidden; background: linear-gradient(135deg,var(--primary-soft),var(--primary-soft-strong)); }
.booking-welcome-slide { position: absolute; inset: 0; margin: 0; animation: welcomeFade .35s ease; }
.booking-welcome-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
@keyframes welcomeFade { from { opacity: .3; transform: scale(1.015); } to { opacity: 1; transform: scale(1); } }
.booking-welcome-gallery-empty { height: 100%; min-height: 20rem; display: grid; place-items: center; align-content: center; gap: .8rem; color: var(--primary-dark); background: radial-gradient(circle at 20% 10%,rgba(255,255,255,.9),transparent 40%),linear-gradient(135deg,var(--primary-soft-strong),var(--primary-soft-strong)); }
.booking-welcome-gallery-empty svg { width: 4.5rem; height: 4.5rem; fill: none; stroke: currentColor; stroke-width: 1.35; }
.booking-welcome-gallery-empty span { font-size: 1.2rem; font-weight: 850; }
.booking-welcome-gallery-nav { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 2.65rem; aspect-ratio: 1; border: 0; border-radius: 50%; background: rgba(15,23,42,.62); color: #fff; font-size: 1.7rem; cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(.45rem); }
.booking-welcome-gallery-nav:hover { background: rgba(var(--primary-rgb), .9); }
.booking-welcome-gallery-nav.is-prev { left: 2%; }
.booking-welcome-gallery-nav.is-next { right: 2%; }
.booking-welcome-gallery-dots { position: absolute; z-index: 2; left: 50%; bottom: 1rem; display: flex; gap: .35rem; transform: translateX(-50%); }
.booking-welcome-gallery-dots button { width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 99rem; background: rgba(255,255,255,.62); cursor: pointer; transition: width .18s ease,background .18s ease; }
.booking-welcome-gallery-dots button.is-active { width: 1.5rem; background: #fff; }
.booking-welcome-copy { padding: 4.5%; }
.booking-welcome-copy h1 { margin: .85rem 0 .2rem; font-size: clamp(2rem,3.4vw,3.15rem); line-height: 1.05; letter-spacing: -.045em; }
.booking-welcome-copy h2 { margin: .45rem 0 .8rem; color: #5046b8; font-size: clamp(1.05rem,1.8vw,1.35rem); }
.booking-welcome-copy > p { max-width: 54rem; color: var(--muted); line-height: 1.7; }
.booking-welcome-address { display: flex; align-items: flex-start; gap: .8rem; margin-top: 1.25rem; padding: 1rem; border: .0625rem solid var(--primary-border); border-radius: .9rem; background: var(--primary-softest); }
.booking-welcome-address > span { flex: 0 0 auto; display: grid; place-items: center; width: 2.35rem; aspect-ratio: 1; border-radius: .7rem; background: var(--primary-soft-strong); color: var(--primary); }
.booking-welcome-address svg,.booking-welcome-screen svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.booking-welcome-address div { display: grid; gap: .18rem; }
.booking-welcome-address small { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.booking-welcome-address strong { line-height: 1.45; }
.booking-welcome-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: .85rem; }
.booking-welcome-contact-grid > a { display: flex; align-items: center; gap: .65rem; min-width: 0; padding: .85rem; border: .0625rem solid var(--line); border-radius: .85rem; color: inherit; background: #fff; text-decoration: none; }
.booking-welcome-contact-grid > a > span { flex: 0 0 auto; display: grid; place-items: center; width: 2rem; aspect-ratio: 1; border-radius: .6rem; color: var(--primary); background: #efedff; font-weight: 900; }
.booking-welcome-contact-grid div { display: grid; min-width: 0; }
.booking-welcome-contact-grid small { color: var(--muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.booking-welcome-contact-grid strong { overflow-wrap: anywhere; }
.booking-welcome-map { overflow: hidden; margin-top: 1rem; border: .0625rem solid var(--line); border-radius: 1rem; background: #fff; }
.booking-welcome-map iframe { display: block; width: 100%; height: 15rem; border: 0; }
.booking-welcome-map a,.booking-welcome-map-link { display: block; padding: .75rem 1rem; color: var(--primary); font-weight: 800; text-align: center; text-decoration: none; background: var(--primary-softest); }
.booking-welcome-actions { display: flex; flex-direction: column; justify-content: center; align-items: stretch; padding: 10%; background: linear-gradient(155deg,var(--primary-softest),#fff); }
.booking-welcome-actions-icon { display: grid; place-items: center; width: 4.6rem; aspect-ratio: 1; margin-bottom: 1.1rem; border-radius: 1.35rem; color: var(--primary); background: var(--primary-soft-strong); }
.booking-welcome-actions-icon svg { width: 2.15rem; height: 2.15rem; }
.booking-welcome-actions h2 { margin: .7rem 0 .75rem; font-size: clamp(1.55rem,2.6vw,2.25rem); line-height: 1.15; letter-spacing: -.035em; }
.booking-welcome-actions > p { margin: 0 0 1.25rem; color: var(--muted); line-height: 1.65; }
.booking-welcome-primary-action { min-height: 3.75rem; justify-content: space-between; text-align: left; line-height: 1.35; }
.booking-whatsapp-action { display: flex; align-items: center; gap: .8rem; min-height: 3.75rem; margin-top: .75rem; padding: .7rem .85rem; border: .0625rem solid #b7ebcf; border-radius: .75rem; color: #087a3c; background: #effcf5; text-decoration: none; transition: transform .16s ease,border-color .16s ease; }
.booking-whatsapp-action:hover { transform: translateY(-.1rem); border-color: #56c88a; }
.booking-whatsapp-icon { flex: 0 0 auto; display: grid; place-items: center; width: 2.35rem; aspect-ratio: 1; border-radius: 50%; color: #fff; background: #20b95a; }
.booking-whatsapp-icon svg { width: 1.35rem; height: 1.35rem; }
.booking-whatsapp-action > span:last-child { display: grid; gap: .1rem; }
.booking-whatsapp-action small { color: #57856a; }
.booking-welcome-trust { margin-top: 1.25rem; color: #70798a; font-size: .75rem; text-align: center; }
.booking-welcome-trust span { color: #12a150; font-weight: 900; }
.booking-welcome-back { position: absolute; left: 3%; top: 1.2rem; border: 0; background: transparent; color: var(--primary); font-weight: 800; cursor: pointer; }
.booking-wizard-intro { position: relative; }

.welcome-image-manager { display: grid; gap: 1rem; margin-top: 1rem; }
.welcome-image-editor { display: grid; grid-template-columns: minmax(11rem, 28%) minmax(0, 1fr); gap: 1rem; padding: 1rem; border: .0625rem solid var(--line); border-radius: 1rem; background: #fff; }
.welcome-image-editor > img { width: 100%; height: 10rem; object-fit: cover; border-radius: .75rem; background: #eef0f5; }
.welcome-image-editor-fields { display: grid; grid-template-columns: minmax(0,1fr) 7rem; align-content: center; gap: .75rem; }
.welcome-image-editor-fields .compact-check { align-self: center; }
.welcome-image-editor-fields .btn { justify-self: start; align-self: center; }
.welcome-settings-preview { display: grid; gap: .75rem; }
.welcome-settings-preview-image { width: 100%; height: 11rem; object-fit: cover; border-radius: .85rem; }
.welcome-settings-preview .btn + .btn { margin-top: 0; }
.compact-empty { padding: 1.5rem; min-height: auto; }

@media (max-width: 68.75em) {
  .booking-welcome-layout { grid-template-columns: 1fr; }
  .booking-welcome-information { border-right: 0; border-bottom: .0625rem solid var(--line); }
  .booking-welcome-actions { padding: 6%; }
}
@media (max-width: 51.25em) {
  .booking-welcome-gallery { aspect-ratio: 4/3; min-height: 16rem; }
  .booking-welcome-copy { padding: 6%; }
  .booking-welcome-contact-grid { grid-template-columns: 1fr; }
  .booking-welcome-actions { padding: 8% 6%; }
  .welcome-image-editor { grid-template-columns: 1fr; }
  .welcome-image-editor > img { height: 14rem; }
}
@media (max-width: 32.5em) {
  .booking-welcome-screen { border-radius: 1.1rem; }
  .booking-welcome-gallery { aspect-ratio: 1/1; }
  .booking-welcome-copy h1 { font-size: 2rem; }
  .booking-welcome-actions { padding: 10% 7%; }
  .booking-welcome-back { position: static; display: block; margin: 0 0 .8rem; }
  .welcome-image-editor-fields { grid-template-columns: 1fr; }
}

/* v1.18.22 - Taslak uyumlu karşılama ekranı, dinamik çalışma saatleri ve müşteri yorumları */
.booking-welcome-screen {
  overflow: hidden;
  border: .0625rem solid rgba(226,232,240,.95);
  border-radius: 1.7rem;
  background: rgba(255,255,255,.98);
  box-shadow: 0 2.2rem 5.5rem rgba(30,41,59,.13);
}
.booking-welcome-masthead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  min-height: 8.5rem;
  padding: 2.4rem 2.6rem 2rem;
  border-bottom: .0625rem solid #ebeef5;
  background: linear-gradient(135deg,#fff 0%,var(--primary-softest) 58%,var(--primary-softest) 100%);
}
.booking-welcome-brand-copy { max-width: 54rem; }
.booking-welcome-kicker {
  display: block;
  margin-bottom: .45rem;
  color: #151c2d;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.booking-welcome-brand-copy h1 {
  margin: 0;
  color: #111827;
  font-size: clamp(2rem,4vw,3.45rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.booking-welcome-brand-copy > strong {
  display: block;
  margin-top: .6rem;
  color: var(--primary);
  font-size: clamp(1rem,1.7vw,1.3rem);
}
.booking-welcome-brand-copy > p {
  max-width: 52rem;
  margin: .65rem 0 0;
  color: #667085;
  line-height: 1.6;
}
.booking-welcome-login {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
  padding: .72rem .9rem;
  border: .0625rem solid #e3e6ee;
  border-radius: .75rem;
  color: #4b5565;
  background: rgba(255,255,255,.82);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}
.booking-welcome-login svg { width: 1rem; height: 1rem; }
.booking-welcome-layout {
  display: grid;
  grid-template-columns: minmax(0,2.05fr) minmax(20rem,.95fr);
  align-items: stretch;
  min-height: 48rem;
}
.booking-welcome-information {
  min-width: 0;
  border-right: .0625rem solid #e8eaf0;
  background: #fff;
}
.booking-welcome-gallery {
  position: relative;
  min-height: 23rem;
  aspect-ratio: 16/7;
  overflow: hidden;
  background: linear-gradient(135deg,#e7ecff,#d8ecf5);
}
.booking-welcome-gallery::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  pointer-events: none;
  background: linear-gradient(transparent,rgba(15,23,42,.13));
}
.booking-welcome-slide { z-index: 0; }
.booking-welcome-gallery-nav,.booking-welcome-gallery-dots { z-index: 3; }
.booking-welcome-gallery-nav { width: 2.8rem; background: rgba(30,41,59,.72); }
.booking-welcome-gallery-dots button { width: .62rem; height: .62rem; }
.booking-welcome-gallery-dots button.is-active { width: 1.35rem; }
.booking-welcome-details { padding: 1.3rem 1.65rem 1.55rem; }
.booking-welcome-address {
  margin: 0;
  padding: 1rem 1.1rem;
  border-color: var(--primary-border);
  border-radius: 1rem;
  background: var(--primary-softest);
}
.booking-welcome-address > span { width: 2.55rem; border-radius: .8rem; }
.booking-welcome-contact-grid { margin-top: .85rem; }
.booking-welcome-contact-grid > a { padding: .9rem 1rem; }
.booking-welcome-map { margin-top: .9rem; border-radius: 1rem; }
.booking-welcome-map iframe { height: 15.5rem; }
.booking-welcome-map-placeholder {
  display: grid;
  place-items: center;
  min-height: 13rem;
  color: #6b7280;
  background: #eef1f6;
}
.booking-welcome-map-placeholder > span { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; }
.booking-welcome-map-placeholder > span svg { width: 2.5rem; height: 2.5rem; }
.booking-welcome-map-placeholder a { align-self: end; width: 100%; }
.booking-working-hours {
  display: grid;
  grid-template-columns: minmax(7rem,.4fr) minmax(0,1fr);
  gap: 1.2rem;
  margin-top: 1rem;
  padding: .25rem .45rem .15rem;
}
.booking-working-hours h2 {
  margin: .2rem 0 0;
  font-size: clamp(1.35rem,2vw,1.8rem);
  font-weight: 600;
  line-height: 1.05;
}
.booking-working-hours-list { display: grid; }
.booking-working-hours-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.15rem;
  border-bottom: .0625rem solid #e5e7eb;
  color: #667085;
  font-size: .82rem;
}
.booking-working-hours-row strong { color: #4b5563; font-weight: 650; }
.booking-working-hours-row.is-closed strong { color: #9a5360; }
.booking-welcome-sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
}
.booking-welcome-actions {
  display: block;
  padding: 2.15rem 1.75rem 1.65rem;
  border-bottom: .0625rem solid #e4e7ed;
  background: linear-gradient(150deg,#fff,var(--primary-softest));
}
.booking-welcome-actions .booking-mini-label { display: none; }
.booking-welcome-actions h2 {
  margin: 0 0 .75rem;
  color: #111827;
  font-size: clamp(1.85rem,3vw,2.75rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.booking-welcome-actions > p { margin: 0 0 1.45rem; color: #667085; line-height: 1.55; }
.booking-welcome-choice-row {
  display: grid;
  grid-template-columns: 4.5rem minmax(0,1fr);
  align-items: stretch;
  gap: .75rem;
  margin-top: .8rem;
}
.booking-welcome-choice-icon,.booking-welcome-choice-row .booking-whatsapp-icon {
  display: grid;
  place-items: center;
  width: auto;
  min-height: 4rem;
  border-radius: 1rem;
}
.booking-welcome-choice-icon { color: var(--primary); background: var(--primary-soft-strong); }
.booking-welcome-choice-icon svg { width: 1.9rem; height: 1.9rem; }
.booking-welcome-choice-row .booking-whatsapp-icon { border-radius: .85rem; background: #22c55e; }
.booking-welcome-choice-row .booking-whatsapp-icon svg { width: 2.1rem; height: 2.1rem; }
.booking-welcome-primary-action,.booking-whatsapp-action {
  min-height: 4rem;
  margin: 0;
  padding: .9rem 1rem;
  justify-content: flex-start;
  border: 0;
  border-radius: .65rem;
  color: #fff;
  background: var(--primary);
  box-shadow: none;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
}
.booking-whatsapp-action:hover,.booking-welcome-primary-action:hover { color: #fff; transform: translateY(-.08rem); }
.booking-welcome-reviews { flex: 1 1 auto; min-height: 0; padding: 0 1rem 1.2rem; }
.booking-review-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: 1rem .25rem;
  border-bottom: .0625rem solid #dedfe5;
}
.booking-review-summary > div:first-child { display: grid; font-size: 1.45rem; line-height: .95; }
.booking-review-summary > div:first-child strong { font-weight: 500; }
.booking-review-score { display: grid; justify-items: end; gap: .2rem; text-align: right; }
.booking-review-stars,.booking-review-card-stars { color: #ff9500; letter-spacing: .12em; }
.booking-review-score small { color: #6b7280; white-space: nowrap; }
.booking-review-list { display: grid; max-height: 34rem; overflow-y: auto; }
.booking-review-card { padding: 1rem .15rem; border-bottom: .0625rem solid #e5e7eb; }
.booking-review-card-head { display: flex; align-items: center; gap: .7rem; }
.booking-review-avatar {
  display: grid;
  place-items: center;
  width: 2.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: #30343b;
  font-size: 1rem;
  font-weight: 900;
}
.booking-review-card-head > div { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; }
.booking-review-card-head strong { color: #e0525d; font-size: .86rem; }
.booking-review-card-head small { color: #7b8190; font-size: .68rem; }
.booking-review-card p { margin: .7rem 0 .55rem; color: #687080; font-size: .75rem; line-height: 1.48; }
.booking-review-card-stars { font-size: 1.05rem; }
.booking-review-card-stars span { color: #e5e7eb; }
.booking-review-empty { padding: 2rem .5rem; color: #7a8291; text-align: center; }

.weekly-hours-editor { display: grid; gap: .65rem; margin-top: .75rem; }
.weekly-hours-row {
  display: grid;
  grid-template-columns: minmax(8rem,.75fr) minmax(8rem,1fr) minmax(8rem,1fr);
  align-items: end;
  gap: .75rem;
  padding: .75rem;
  border: .0625rem solid var(--line);
  border-radius: .85rem;
  background: #fff;
}
.weekly-hours-row > .check { align-self: center; margin: 0; }
.weekly-hours-row.is-closed { background: #f7f8fb; }
.weekly-hours-row.is-closed label:not(.check) { opacity: .55; }
.weekly-hours-row label { margin: 0; }

@media (max-width: 72em) {
  .booking-welcome-layout { grid-template-columns: minmax(0,1.55fr) minmax(19rem,.85fr); }
  .booking-welcome-gallery { min-height: 20rem; }
}
@media (max-width: 62em) {
  .booking-welcome-layout { grid-template-columns: 1fr; }
  .booking-welcome-information { border-right: 0; }
  .booking-welcome-sidebar { border-top: .0625rem solid #e5e7eb; }
  .booking-welcome-reviews { padding-inline: 1.5rem; }
  .booking-review-list { max-height: none; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
}
@media (max-width: 51.25em) {
  .booking-welcome-masthead { padding: 1.5rem; }
  .booking-welcome-login { align-self: flex-start; }
  .booking-welcome-gallery { min-height: 17rem; aspect-ratio: 4/3; }
  .booking-welcome-details { padding: 1rem; }
  .booking-working-hours { grid-template-columns: 1fr; gap: .5rem; }
  .booking-working-hours h2 { margin-top: .5rem; }
  .weekly-hours-row { grid-template-columns: 1fr 1fr; }
  .weekly-hours-row > .check { grid-column: 1/-1; }
}
@media (max-width: 37.5em) {
  .booking-welcome-screen { border-radius: 1.05rem; }
  .booking-welcome-masthead { display: block; }
  .booking-welcome-login { margin-top: 1rem; }
  .booking-welcome-brand-copy h1 { font-size: 2.25rem; }
  .booking-welcome-contact-grid { grid-template-columns: 1fr; }
  .booking-welcome-actions { padding: 1.5rem 1rem; }
  .booking-welcome-choice-row { grid-template-columns: 3.8rem minmax(0,1fr); gap: .55rem; }
  .booking-review-summary { align-items: flex-start; }
  .booking-review-summary > div:first-child { font-size: 1.2rem; }
  .booking-review-list { grid-template-columns: 1fr; }
  .weekly-hours-row { grid-template-columns: 1fr; }
  .weekly-hours-row > .check { grid-column: auto; }
}
.booking-review-stars span { color: #e5e7eb; }

/* v1.18.23 - Sade karşılama üst alanı, kompakt tipografi ve merkezi çalışma saatleri */
.booking-wizard-main {
  padding-top: .85rem;
}
.booking-welcome-screen {
  border-radius: 1.25rem;
}
.booking-welcome-layout {
  min-height: 44rem;
}
.booking-welcome-actions {
  padding: 1.45rem 1.4rem 1.35rem;
}
.booking-welcome-actions h2 {
  margin-bottom: .55rem;
  font-size: clamp(1.35rem,2.2vw,1.85rem);
  line-height: 1.16;
  letter-spacing: -.025em;
}
.booking-welcome-actions > p {
  margin-bottom: 1rem;
  font-size: .88rem;
  line-height: 1.5;
}
.booking-welcome-action-list {
  display: grid;
  gap: .65rem;
}
.booking-welcome-primary-action,
.booking-whatsapp-action {
  display: flex;
  width: 100%;
  min-height: 3.75rem;
  align-items: center;
  justify-content: flex-start;
  gap: .85rem;
  padding: .7rem .9rem;
  border-radius: .85rem;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}
.booking-welcome-primary-action {
  background: var(--primary);
}
.booking-whatsapp-action {
  color: #fff;
  background: #22a94f;
}
.booking-whatsapp-action:hover {
  background: #178a3d;
}
.booking-action-button-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: .7rem;
  color: currentColor;
  background: rgba(255,255,255,.17);
}
.booking-action-button-icon svg {
  width: 1.45rem;
  height: 1.45rem;
}
.booking-working-hours h2 {
  font-size: clamp(1.15rem,1.65vw,1.45rem);
  font-weight: 600;
}
.booking-review-summary > div:first-child {
  font-size: 1.22rem;
}
.booking-review-summary > div:first-child strong {
  font-weight: 560;
}

@media (max-width: 51.25em) {
  .booking-wizard-main { padding-top: .6rem; }
  .booking-welcome-actions { padding: 1.25rem 1rem; }
}
@media (max-width: 37.5em) {
  .booking-welcome-screen { border-radius: .9rem; }
  .booking-welcome-actions h2 { font-size: 1.35rem; }
  .booking-welcome-primary-action,
  .booking-whatsapp-action { font-size: .8rem; }
}


/* v1.18.24 - Görseldeki gibi belirgin WhatsApp randevu kartı */
.booking-welcome-action-list .booking-whatsapp-action {
  display: flex;
  width: 100%;
  min-height: 4.55rem;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: .62rem 1.05rem .62rem .7rem;
  border: .125rem solid #0caf58;
  border-radius: 1rem;
  color: #fff;
  background: linear-gradient(135deg,#18c968 0%,#0eb85b 100%);
  box-shadow: 0 .5rem 1.2rem rgba(14,184,91,.22);
  font-size: .92rem;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
}
.booking-welcome-action-list .booking-whatsapp-action:hover {
  color: #fff;
  background: linear-gradient(135deg,#13bb5e 0%,#0aa451 100%);
  box-shadow: 0 .65rem 1.4rem rgba(14,184,91,.3);
  transform: translateY(-.08rem);
}
.booking-welcome-action-list .booking-whatsapp-action .booking-whatsapp-logo {
  flex: 0 0 3.2rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  color: #12bb5e;
  background: #fff;
  box-shadow: 0 .2rem .55rem rgba(0,0,0,.12);
}
.booking-welcome-action-list .booking-whatsapp-action .booking-whatsapp-logo svg {
  width: 2.15rem;
  height: 2.15rem;
  fill: currentColor;
  stroke: none;
}
.booking-welcome-action-list .booking-whatsapp-copy {
  display: block;
  min-width: 0;
}
.booking-welcome-action-list .booking-whatsapp-action.is-disabled {
  cursor: not-allowed;
  opacity: .58;
  filter: grayscale(.15);
  box-shadow: none;
}
.booking-welcome-action-list .booking-whatsapp-action.is-disabled:hover {
  transform: none;
}
@media (max-width: 35rem) {
  .booking-welcome-action-list .booking-whatsapp-action {
    min-height: 4.2rem;
    gap: .75rem;
    padding: .55rem .75rem .55rem .6rem;
    font-size: .83rem;
  }
  .booking-welcome-action-list .booking-whatsapp-action .booking-whatsapp-logo {
    flex-basis: 2.9rem;
    width: 2.9rem;
    height: 2.9rem;
  }
  .booking-welcome-action-list .booking-whatsapp-action .booking-whatsapp-logo svg {
    width: 1.95rem;
    height: 1.95rem;
  }
}


/* v1.18.25 - Randevu seçeneklerinde sabit kart genişliği ve taşmayan metin */
.booking-welcome-action-list {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.booking-welcome-action-list .booking-welcome-primary-action,
.booking-welcome-action-list .booking-whatsapp-action {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: normal;
}
.booking-welcome-action-list .booking-welcome-primary-action > span:last-child,
.booking-welcome-action-list .booking-whatsapp-copy {
  display: -webkit-box;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  font-size: clamp(.7rem, .72vw, .84rem);
  line-height: 1.25;
}
.booking-welcome-action-list .booking-action-button-icon,
.booking-welcome-action-list .booking-whatsapp-logo {
  flex-shrink: 0;
}
@media (max-width: 35rem) {
  .booking-welcome-action-list .booking-welcome-primary-action > span:last-child,
  .booking-welcome-action-list .booking-whatsapp-copy {
    font-size: clamp(.67rem, 2.9vw, .78rem);
  }
}

/* v1.18.26 - Çevrim içi randevuda çoklu hizmet seçimi ve yeni adım sırası */
.booking-service-fields {
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.booking-services-field,
.booking-staff-field {
  min-width: 0;
}

.booking-service-field-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .5rem;
}

.booking-service-rows {
  display: grid;
  gap: .65rem;
}

.booking-service-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.15rem;
  gap: .65rem;
  align-items: end;
  min-width: 0;
}

.booking-service-row .booking-choice-field,
.booking-service-row .booking-select-wrap,
.booking-service-row select {
  min-width: 0;
  width: 100%;
}

.booking-add-service,
.booking-remove-service {
  display: inline-grid;
  place-items: center;
  width: 3.15rem;
  height: 3.15rem;
  padding: 0;
  border: .0625rem solid var(--primary-border);
  border-radius: .85rem;
  background: #f0efff;
  color: var(--primary);
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.booking-add-service:hover,
.booking-add-service:focus-visible {
  border-color: var(--primary);
  background: var(--primary-border);
  transform: translateY(-.0625rem);
}

.booking-add-service:disabled {
  cursor: not-allowed;
  opacity: .45;
  transform: none;
}

.booking-remove-service {
  border-color: #f2c9ce;
  background: #fff2f3;
  color: var(--danger);
  font-size: 1.45rem;
}

.booking-remove-service:hover,
.booking-remove-service:focus-visible {
  border-color: var(--danger);
  background: #ffe7ea;
}

.booking-service-rows.is-invalid,
.booking-service-row.is-invalid {
  border-radius: .9rem;
  box-shadow: 0 0 0 .125rem rgba(220, 53, 69, .18);
}

.booking-staff-field {
  width: 100%;
}

@media (max-width: 38em) {
  .booking-service-row {
    grid-template-columns: minmax(0, 1fr) 2.85rem;
    gap: .5rem;
  }

  .booking-add-service,
  .booking-remove-service {
    width: 2.85rem;
    height: 3.15rem;
  }
}


/* v1.18.27 - Randevu formu solda, özet sağda */
.booking-information-layout .booking-details-panel {
  order: 1;
}

.booking-information-layout .booking-appointment-overview {
  order: 2;
}

.booking-information-layout .booking-overview-head {
  margin-bottom: .85rem;
}

.booking-information-layout .booking-overview-list {
  margin-top: 0;
}

/* v1.18.28 - Her hizmete ayrı personel ve dolu saat görünümü */
.booking-service-columns-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 3.15rem;
  gap: .65rem;
  align-items: end;
  margin: 0 0 .35rem;
  padding: 0 .15rem;
  color: #687386;
  font-size: .72rem;
  font-weight: 850;
}

.booking-service-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 3.15rem;
  align-items: end;
}

.booking-service-choice-field,
.booking-service-staff-field {
  min-width: 0;
}

.booking-service-row .booking-service-staff-select:disabled {
  color: #8a93a3;
  background: #f7f8fb;
}

.booking-slot-legend {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin: 0 0 .8rem;
  color: #6d7687;
  font-size: .72rem;
  font-weight: 750;
}

.booking-slot-legend span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.booking-slot-legend i {
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  border: .0625rem solid #cbcfe0;
  background: #ffffff;
}

.booking-slot-legend i.is-available {
  border-color: var(--primary-border-strong);
  background: #f0efff;
}

.booking-slot-legend i.is-busy {
  border-color: #e4c4c8;
  background: #f4e7e9;
}

.booking-step-one-grid .booking-slot-button b {
  font: inherit;
}

.booking-slot-button.is-busy,
.booking-slot-button.is-busy:hover {
  cursor: not-allowed;
  border-color: #e1e3e9;
  background: #f2f3f6;
  color: #8a909c;
  box-shadow: none;
  opacity: .9;
}

.booking-step-one-grid .booking-slot-button.is-busy > span {
  color: #a6acb7;
}

.booking-slot-button.is-busy small {
  display: inline-flex;
  align-items: center;
  min-height: 1.15rem;
  padding: .08rem .35rem;
  border-radius: 999px;
  background: #e8dfe1;
  color: #9a5360;
  font-size: .58rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.booking-all-slots-busy {
  margin: 1rem 0 0;
  padding: .75rem .85rem;
  border: .0625rem solid #f0d5d8;
  border-radius: .75rem;
  background: #fff7f8;
  color: #9a5360;
  font-size: .75rem;
  line-height: 1.5;
}

@media (max-width: 48em) {
  .booking-service-columns-heading {
    display: none;
  }

  .booking-service-row {
    grid-template-columns: minmax(0, 1fr) 2.85rem;
    gap: .5rem;
  }

  .booking-service-choice-field {
    grid-column: 1;
    grid-row: 1;
  }

  .booking-service-staff-field {
    grid-column: 1;
    grid-row: 2;
  }

  .booking-service-row .booking-add-service,
  .booking-service-row .booking-remove-service {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    width: 2.85rem;
    height: auto;
    min-height: 3.15rem;
  }
}

.booking-success-assignments {
  display: grid;
  gap: .55rem;
  width: min(100%, 34rem);
  margin: 1rem auto 1.25rem;
  text-align: left;
}

.booking-success-assignments > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .75rem .85rem;
  border: .0625rem solid var(--line);
  border-radius: .8rem;
  background: #fbfcff;
}

.booking-success-assignments span,
.booking-success-assignments strong,
.booking-success-assignments small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.booking-success-assignments small {
  color: var(--muted);
  white-space: nowrap;
}

@media (max-width: 35em) {
  .booking-success-assignments > div {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}


/* v1.18.29 - Yönetici bildirim merkezi ve randevu çakışma uyarıları */
.topbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:.75rem; min-width:0; }
.notification-center { position:relative; flex:0 0 auto; }
.notification-bell { position:relative; display:grid; place-items:center; width:2.65rem; height:2.65rem; padding:0; border:.0625rem solid var(--line); border-radius:50%; background:#fff; color:#334155; cursor:pointer; transition:.18s ease; }
.notification-bell:hover, .notification-bell[aria-expanded="true"] { border-color:var(--primary-border); color:var(--primary); background:var(--primary-softest); transform:translateY(-.05rem); }
.notification-bell svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.notification-badge { position:absolute; top:-.3rem; right:-.35rem; min-width:1.2rem; height:1.2rem; padding:0 .3rem; border:.14rem solid #fff; border-radius:999px; display:grid; place-items:center; background:var(--danger); color:#fff; font-size:.62rem; font-weight:800; line-height:1; }
.notification-dropdown { position:absolute; top:calc(100% + .65rem); right:0; z-index:70; width:min(24rem, 88vw); overflow:hidden; border:.0625rem solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 1.25rem 3rem rgba(15,23,42,.18); }
.notification-dropdown-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-bottom:.0625rem solid var(--line); }
.notification-dropdown-head button { border:0; padding:0; background:transparent; color:var(--primary); font-size:.75rem; cursor:pointer; }
.notification-dropdown-list { max-height:24rem; overflow:auto; }
.notification-mini-item { display:grid; grid-template-columns:.55rem minmax(0,1fr); gap:.65rem; padding:.85rem 1rem; border-bottom:.0625rem solid #f1f5f9; background:#fff; }
.notification-mini-item:hover { background:#f8fafc; }
.notification-mini-item.is-unread { background:var(--primary-softest); }
.notification-type-dot { width:.5rem; height:.5rem; margin-top:.35rem; border-radius:50%; background:#cbd5e1; }
.notification-mini-item.is-unread .notification-type-dot { background:var(--danger); box-shadow:0 0 0 .2rem rgba(220,76,100,.12); }
.notification-mini-item strong { display:block; margin-bottom:.2rem; font-size:.84rem; }
.notification-mini-item small { display:-webkit-box; overflow:hidden; color:#64748b; font-size:.74rem; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.notification-mini-item time { display:block; margin-top:.35rem; color:#94a3b8; font-size:.68rem; }
.notification-empty { padding:1.5rem; text-align:center; color:var(--muted); font-size:.82rem; }
.notification-dropdown-footer { display:block; padding:.8rem 1rem; text-align:center; background:#f8fafc; color:var(--primary); font-size:.8rem; font-weight:700; }
.notification-page { display:grid; gap:1rem; }
.notification-page-head { margin:0; padding:1.2rem 1.35rem; border:.0625rem solid var(--line); border-radius:var(--radius); background:#fff; }
.notification-page-head h1 { margin-bottom:.2rem; font-size:1.5rem; }
.notification-page-head p { margin:0; color:var(--muted); }
.notification-page-list { display:grid; gap:.8rem; }
.notification-card { display:grid; grid-template-columns:2.7rem minmax(0,1fr); gap:1rem; padding:1.1rem 1.2rem; border:.0625rem solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 .45rem 1.2rem rgba(15,23,42,.04); }
.notification-card.is-unread { border-color:var(--primary-border); background:linear-gradient(135deg,var(--primary-softest),#fff); box-shadow:inset .23rem 0 0 var(--primary),0 .5rem 1.3rem rgba(var(--primary-rgb), .07); }
.notification-card-icon { display:grid; place-items:center; width:2.7rem; height:2.7rem; border-radius:.85rem; background:var(--primary-soft); font-size:1.1rem; }
.notification-card-copy { min-width:0; }
.notification-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.notification-card-title h2 { margin:0; font-size:1rem; }
.notification-card-title time { flex:0 0 auto; color:#94a3b8; font-size:.72rem; }
.notification-card-copy > p { margin:.45rem 0 .75rem; color:#475569; }
.notification-contact-list { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.8rem; }
.notification-contact-list span { padding:.4rem .6rem; border-radius:.65rem; background:#f1f5f9; color:#475569; font-size:.78rem; }
.notification-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.notification-card-actions form { margin:0; }
.notification-read-label { color:#64748b; font-size:.75rem; font-weight:700; }
.notification-page-empty { padding:2rem; text-align:center; }
@media (max-width:51.25em) { .notification-dropdown { position:fixed; top:4.6rem; right:3%; width:94%; } }
@media (max-width:32.5em) { .topbar-actions { gap:.4rem; } .notification-card { grid-template-columns:1fr; } .notification-card-icon { display:none; } .notification-card-title { flex-direction:column; gap:.25rem; } }

/* v1.18.34 - Personel bazlı günlük randevu takvimi */
.appointment-calendar-page .content {
  width: 98%;
  max-width: none;
  padding-top: 1rem;
}
.appointment-calendar-shell {
  min-width: 0;
  display: grid;
  gap: .75rem;
}
.appointment-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
}
.appointment-calendar-toolbar-left,
.appointment-calendar-toolbar-right {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}
.appointment-calendar-toolbar-right { justify-content: flex-end; }
.calendar-square-button {
  flex: 0 0 auto;
  width: 2.55rem;
  height: 2.55rem;
  display: grid;
  place-items: center;
  border: .0625rem solid #dce2ea;
  border-radius: .55rem;
  background: #fff;
  color: #334155;
  box-shadow: 0 .18rem .5rem rgba(15, 23, 42, .08);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.calendar-square-button:hover {
  background: #f8fafc;
  border-color: #c7d0dc;
  transform: translateY(-.05rem);
}
.calendar-square-button svg,
.calendar-staff-picker summary svg,
.calendar-view-control svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.calendar-date-form { margin: 0; min-width: min(25rem, 38vw); }
.calendar-date-control {
  position: relative;
  min-height: 2.55rem;
  display: grid;
  place-items: center;
  border: .0625rem solid #dce2ea;
  border-radius: .55rem;
  background: #fff;
  box-shadow: 0 .18rem .5rem rgba(15, 23, 42, .06);
  overflow: hidden;
  cursor: pointer;
}
.calendar-date-control input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.calendar-date-control strong {
  max-width: 100%;
  padding: 0 2.4rem 0 .8rem;
  font-size: .86rem;
  font-weight: 650;
  color: #364152;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar-date-control::after {
  content: "";
  position: absolute;
  right: .8rem;
  width: .45rem;
  height: .45rem;
  border-right: .1rem solid #657186;
  border-bottom: .1rem solid #657186;
  transform: rotate(45deg) translateY(-.15rem);
  pointer-events: none;
}
.calendar-staff-picker { position: relative; }
.calendar-staff-picker summary,
.calendar-view-control {
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: .0625rem solid #dce2ea;
  border-radius: .55rem;
  background: #fff;
  color: #4a5669;
  padding: .55rem .75rem;
  box-shadow: 0 .18rem .5rem rgba(15, 23, 42, .06);
  font-size: .82rem;
  white-space: nowrap;
}
.calendar-staff-picker summary { cursor: pointer; list-style: none; }
.calendar-staff-picker summary::-webkit-details-marker { display: none; }
.calendar-staff-picker[open] summary { border-color: var(--primary-border-strong); box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .1); }
.calendar-staff-picker-panel {
  position: absolute;
  right: 0;
  top: calc(100% + .45rem);
  z-index: 30;
  width: min(22rem, 88vw);
  padding: .9rem;
  border: .0625rem solid #dfe4ec;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, .18);
}
.calendar-staff-picker-head,
.calendar-staff-picker-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.calendar-staff-picker-head { padding: .1rem .15rem .65rem; }
.calendar-staff-picker-head button {
  border: 0;
  padding: .25rem;
  background: transparent;
  color: var(--primary);
  font-size: .75rem;
  font-weight: 750;
  cursor: pointer;
}
.calendar-staff-picker-list {
  max-height: 20rem;
  overflow: auto;
  display: grid;
  gap: .25rem;
  padding: .25rem 0 .7rem;
}
.calendar-staff-picker-list label {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
  padding: .55rem;
  border-radius: .6rem;
  cursor: pointer;
}
.calendar-staff-picker-list label:hover { background: #f7f8fc; }
.calendar-staff-picker-list input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--primary); }
.calendar-staff-picker-list i {
  width: .65rem;
  height: 1.7rem;
  border-radius: 99rem;
  background: var(--staff-color);
}
.calendar-staff-picker-list span { min-width: 0; }
.calendar-staff-picker-list strong,
.calendar-staff-picker-list small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-staff-picker-list strong { font-size: .82rem; }
.calendar-staff-picker-list small { margin-top: .1rem; color: var(--muted); font-size: .7rem; }
.calendar-staff-picker-actions { padding-top: .7rem; border-top: .0625rem solid #edf0f4; }
.calendar-staff-picker-actions .btn { min-height: 2.35rem; padding: .45rem .75rem; }
.calendar-view-control { position: relative; padding: 0; overflow: hidden; }
.calendar-view-control select {
  min-height: 2.45rem;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  color: #4a5669;
  padding: .4rem 2.4rem .4rem .75rem;
  font-size: .82rem;
  cursor: pointer;
}
.calendar-view-control svg { position: absolute; right: .65rem; pointer-events: none; }
.appointment-calendar-board {
  min-width: 0;
  overflow: hidden;
  border: .0625rem solid #d9dfe7;
  border-radius: .45rem;
  background: #fff;
  box-shadow: 0 .45rem 1.3rem rgba(15,23,42,.07);
}
.appointment-calendar-head-grid,
.appointment-calendar-body-grid {
  display: grid;
  grid-template-columns: 4.35rem repeat(var(--calendar-staff-count), minmax(0, 1fr));
  min-width: 0;
}
.appointment-calendar-head-grid {
  position: relative;
  z-index: 4;
  min-height: 2.3rem;
  border-bottom: .0625rem solid #d4dbe4;
}
.calendar-time-head { background: #f5f7fa; border-right: .0625rem solid #d4dbe4; }
.calendar-staff-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  padding: .45rem .3rem;
  border-right: .0625rem solid rgba(255,255,255,.35);
  background: var(--staff-color);
  color: #fff;
  text-align: center;
  text-shadow: 0 .08rem .18rem rgba(0,0,0,.22);
}
.calendar-staff-head:last-child { border-right: 0; }
.calendar-staff-head strong,
.calendar-staff-head small {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-staff-head strong { font-size: clamp(.58rem, .76vw, .78rem); text-transform: uppercase; }
.calendar-staff-head small { font-size: .58rem; opacity: .86; }
.appointment-calendar-scroll {
  max-height: calc(100vh - 12.8rem);
  min-height: 28rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
.appointment-calendar-body-grid { position: relative; min-height: var(--calendar-grid-height); }
.calendar-time-lane,
.calendar-staff-lane {
  position: relative;
  min-width: 0;
  background:
    repeating-linear-gradient(
      to bottom,
      #fffdf0 0,
      #fffdf0 calc(var(--calendar-row-height) - 1px),
      #dfe4e8 calc(var(--calendar-row-height) - 1px),
      #dfe4e8 var(--calendar-row-height)
    );
}
.calendar-time-lane {
  z-index: 2;
  border-right: .0625rem solid #d4dbe4;
  background:
    repeating-linear-gradient(
      to bottom,
      #f7f9fc 0,
      #f7f9fc calc(var(--calendar-row-height) - 1px),
      #dfe4e8 calc(var(--calendar-row-height) - 1px),
      #dfe4e8 var(--calendar-row-height)
    );
}
.calendar-time-lane time {
  position: absolute;
  right: .45rem;
  transform: translateY(-50%);
  padding: 0 .18rem;
  background: #f7f9fc;
  color: #637087;
  font-size: .69rem;
  line-height: 1.1;
  white-space: nowrap;
}
.calendar-staff-lane { border-right: .0625rem solid #d7dde5; }
.calendar-staff-lane:last-of-type { border-right: 0; }
.calendar-event {
  position: absolute;
  z-index: 3;
  top: var(--event-top);
  left: calc(var(--event-left) + .14rem);
  width: calc(var(--event-width) - .28rem);
  height: var(--event-height);
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: .08rem;
  padding: .27rem .38rem .25rem .45rem;
  border: .0625rem solid color-mix(in srgb, var(--staff-color) 75%, #111827);
  border-left-width: .28rem;
  border-radius: .38rem;
  background: color-mix(in srgb, var(--staff-color) 84%, #ffffff);
  color: #fff;
  box-shadow: 0 .18rem .45rem rgba(15,23,42,.2);
  text-shadow: 0 .05rem .12rem rgba(0,0,0,.25);
  transition: filter .15s ease, transform .15s ease, z-index .15s ease;
}
.calendar-event:hover {
  z-index: 8;
  filter: brightness(1.05);
  transform: translateY(-.05rem);
}
.calendar-event-time { font-size: clamp(.52rem, .6vw, .66rem); font-weight: 800; line-height: 1.1; }
.calendar-event strong,
.calendar-event small,
.calendar-event em {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-event strong { font-size: clamp(.58rem, .68vw, .74rem); line-height: 1.12; }
.calendar-event small { font-size: clamp(.5rem, .58vw, .64rem); opacity: .92; }
.calendar-event em { margin-top: auto; font-size: .5rem; font-style: normal; opacity: .84; }
.calendar-event.status-completed { filter: saturate(.75); }
.calendar-event.status-cancelled,
.calendar-event.status-no_show { opacity: .48; text-decoration: line-through; }
.calendar-no-staff {
  min-height: 24rem;
  display: grid;
  place-content: center;
  gap: .35rem;
  color: var(--muted);
  text-align: center;
}
.calendar-no-staff strong { color: #344054; }
.appointment-calendar-legend {
  display: flex;
  align-items: center;
  gap: .9rem;
  flex-wrap: wrap;
  padding: .15rem .25rem;
  color: #687386;
  font-size: .7rem;
}
.appointment-calendar-legend span { display: inline-flex; align-items: center; gap: .3rem; }
.appointment-calendar-legend i { width: .55rem; height: .55rem; border-radius: 50%; background: #f59e0b; }
.appointment-calendar-legend i.is-confirmed { background: var(--primary); }
.appointment-calendar-legend i.is-completed { background: #10b981; }
.appointment-calendar-legend i.is-cancelled { background: #94a3b8; }
.appointment-calendar-legend small { margin-left: auto; font-size: .68rem; }

@media (max-width: 72rem) {
  .appointment-calendar-toolbar { align-items: flex-start; }
  .appointment-calendar-toolbar-right { flex-wrap: wrap; }
  .calendar-date-form { min-width: min(22rem, 34vw); }
  .calendar-staff-head small { display: none; }
}
@media (max-width: 51.25em) {
  .appointment-calendar-page .content { width: 96%; }
  .appointment-calendar-toolbar { flex-direction: column; align-items: stretch; }
  .appointment-calendar-toolbar-left,
  .appointment-calendar-toolbar-right { width: 100%; }
  .appointment-calendar-toolbar-right { justify-content: flex-start; }
  .calendar-date-form { flex: 1 1 auto; min-width: 0; }
  .calendar-staff-picker { margin-left: auto; }
  .appointment-calendar-scroll { max-height: calc(100vh - 16.5rem); }
  .appointment-calendar-head-grid,
  .appointment-calendar-body-grid { grid-template-columns: 3.55rem repeat(var(--calendar-staff-count), minmax(0, 1fr)); }
  .calendar-time-lane time { right: .28rem; font-size: .62rem; }
  .calendar-staff-head { padding-inline: .15rem; }
  .calendar-staff-head strong { font-size: clamp(.48rem, 1.4vw, .66rem); }
  .calendar-event { padding-inline: .28rem; border-left-width: .2rem; }
  .calendar-event small,
  .calendar-event em { display: none; }
  .appointment-calendar-legend small { width: 100%; margin-left: 0; }
}
@media (max-width: 35rem) {
  .calendar-date-control strong { font-size: .72rem; padding-inline: .4rem 1.7rem; }
  .calendar-staff-picker summary span { max-width: 7rem; overflow: hidden; text-overflow: ellipsis; }
  .calendar-view-control select { max-width: 8.7rem; }
  .appointment-calendar-head-grid,
  .appointment-calendar-body-grid { grid-template-columns: 3.1rem repeat(var(--calendar-staff-count), minmax(0, 1fr)); }
  .calendar-time-lane time { font-size: .56rem; }
  .calendar-event-time { display: none; }
  .calendar-event strong { font-size: .54rem; }
}

/* v1.18.35 - Günlük takvim sürükle-bırak randevu taşıma */
.calendar-event.is-movable {
  cursor: grab;
  user-select: none;
  -webkit-user-drag: element;
}
.calendar-event.is-movable:active { cursor: grabbing; }
.calendar-event.is-dragging {
  opacity: .28;
  filter: grayscale(.35);
  transform: scale(.985);
}
.calendar-is-dragging,
.calendar-is-dragging * { cursor: grabbing !important; }
.calendar-staff-lane.is-drag-target {
  background:
    linear-gradient(rgba(var(--primary-rgb), .055), rgba(var(--primary-rgb), .055)),
    repeating-linear-gradient(
      to bottom,
      #fffdf0 0,
      #fffdf0 calc(var(--calendar-row-height) - 1px),
      #dfe4e8 calc(var(--calendar-row-height) - 1px),
      #dfe4e8 var(--calendar-row-height)
    );
  box-shadow: inset 0 0 0 .12rem rgba(var(--primary-rgb), .36);
}
.calendar-drop-preview {
  position: absolute;
  z-index: 12;
  left: .2rem;
  right: .2rem;
  min-height: 1.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .08rem;
  padding: .25rem .45rem;
  border: .12rem dashed var(--primary);
  border-radius: .42rem;
  background: rgba(237,233,254,.92);
  color: var(--primary-dark);
  box-shadow: 0 .35rem .9rem rgba(var(--primary-rgb), .16);
  pointer-events: none;
}
.calendar-drop-preview strong,
.calendar-drop-preview span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-drop-preview strong { font-size: .7rem; }
.calendar-drop-preview span { font-size: .62rem; font-weight: 750; }
.calendar-drag-hint {
  color: var(--primary);
  font-weight: 700;
}
.calendar-move-dialog {
  width: min(36rem, 92vw);
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: transparent;
  overflow: visible;
}
.calendar-move-dialog::backdrop {
  background: rgba(15,23,42,.48);
  backdrop-filter: blur(.12rem);
}
.calendar-move-card {
  width: 100%;
  padding: 1.15rem;
  border: .0625rem solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1.4rem 4rem rgba(15,23,42,.25);
}
.calendar-move-card .modal-head { align-items: flex-start; }
.calendar-move-card .modal-head h3 { margin: 0; }
.calendar-move-card .modal-head p {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .78rem;
}
.calendar-move-question {
  margin: 1rem 0 .85rem;
  color: #172033;
  font-size: 1rem;
  font-weight: 750;
}
.calendar-move-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: stretch;
  gap: .65rem;
}
.calendar-move-summary > div {
  min-width: 0;
  padding: .8rem;
  border: .0625rem solid #e2e8f0;
  border-radius: .72rem;
  background: #f8fafc;
}
.calendar-move-summary > div:last-child {
  border-color: var(--primary-border);
  background: var(--primary-soft);
}
.calendar-move-summary span,
.calendar-move-summary strong,
.calendar-move-summary small { display: block; }
.calendar-move-summary span {
  margin-bottom: .3rem;
  color: #64748b;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.calendar-move-summary strong {
  overflow: hidden;
  color: #1e293b;
  font-size: .86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-move-summary small {
  margin-top: .18rem;
  color: #475569;
  font-size: .75rem;
  font-weight: 700;
}
.calendar-move-summary > svg {
  align-self: center;
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: #6366f1;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.calendar-move-error {
  margin: .8rem 0 0;
  padding: .68rem .75rem;
  border: .0625rem solid #fecaca;
  border-radius: .65rem;
  background: #fef2f2;
  color: #b91c1c;
  font-size: .78rem;
  font-weight: 650;
}
.calendar-move-actions {
  display: flex;
  justify-content: flex-end;
  gap: .6rem;
  margin-top: 1rem;
}
.calendar-move-actions .btn { min-width: 6.5rem; }
@media (max-width: 34rem) {
  .calendar-move-summary { grid-template-columns: 1fr; }
  .calendar-move-summary > svg { transform: rotate(90deg); }
  .calendar-move-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .calendar-move-actions .btn { min-width: 0; }
  .calendar-drag-hint { width: 100%; }
}

/* v1.18.36 - Yetkisiz personele atama için ikinci onay */
.calendar-move-warning {
  margin: 0 0 .85rem;
  padding: .72rem .8rem;
  border: .0625rem solid #fbbf24;
  border-radius: .68rem;
  background: #fffbeb;
  color: #92400e;
  font-size: .79rem;
  font-weight: 700;
  line-height: 1.45;
}
.calendar-move-actions .btn.warning {
  border-color: #d97706;
  background: #d97706;
  color: #fff;
}
.calendar-move-actions .btn.warning:hover { background: #b45309; }

/* v1.18.39 - Randevu detay penceresi: beyaz zemin, satır düzeni ve müşteri bağlantısı */
.calendar-detail-dialog {
  width: min(94vw, 35rem);
  max-height: min(90vh, 46rem);
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.calendar-detail-dialog::backdrop { background: rgba(15, 23, 42, .48); backdrop-filter: blur(2px); }
.calendar-detail-card {
  width: 100%;
  max-height: min(90vh, 46rem);
  padding: 1rem;
  border-radius: 1rem;
  overflow: auto;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .22);
}
.calendar-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .72rem;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.calendar-detail-head span {
  display: block;
  margin-bottom: .15rem;
  color: #6b7280;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.calendar-detail-head h3 { margin: 0; color: #111827; font-size: 1rem; line-height: 1.25; }
.calendar-detail-head small { display: block; margin-top: .18rem; color: #6b7280; font-size: .7rem; }
.calendar-detail-loading { padding: 2.2rem 1rem; color: #6b7280; font-size: .78rem; text-align: center; background: #fff; }
.calendar-detail-error {
  margin: .85rem 0 0;
  padding: .7rem .8rem;
  border-radius: .65rem;
  background: #fef2f2;
  color: #b91c1c;
  font-size: .75rem;
}
.calendar-detail-content { background: #fff; }
.calendar-detail-list {
  display: grid;
  gap: 0;
  margin: .6rem 0 0;
  border: 1px solid #e5e7eb;
  border-radius: .8rem;
  overflow: hidden;
  background: #fff;
}
.calendar-detail-line {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: .35rem;
  padding: .6rem .72rem;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  color: #111827;
  font-size: .75rem;
  line-height: 1.45;
}
.calendar-detail-line:last-child { border-bottom: 0; }
.calendar-detail-line > strong {
  color: #4b5563;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}
.calendar-detail-line > span,
.calendar-detail-line > a,
.calendar-detail-line > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.calendar-detail-line > a {
  color: var(--primary);
  font-weight: 750;
  text-decoration: none;
}
.calendar-detail-line > a:hover { text-decoration: underline; }
.calendar-detail-line > a[aria-disabled="true"] { pointer-events: none; color: #111827; }
.calendar-detail-services,
.calendar-detail-staff {
  display: grid;
  gap: .22rem;
}
.calendar-detail-services > div,
.calendar-detail-staff > div {
  min-width: 0;
  color: #111827;
  font-size: .75rem;
  font-weight: 650;
  line-height: 1.45;
}
.calendar-detail-total { color: #047857 !important; font-weight: 850 !important; }
.calendar-detail-notes { white-space: pre-wrap; font-weight: 500 !important; }
.calendar-detail-actions {
  display: flex;
  justify-content: flex-end;
  gap: .55rem;
  padding-top: .8rem;
  background: #fff;
}
.calendar-detail-actions .btn { min-height: 2.25rem; padding: .58rem .9rem; font-size: .72rem; }
.calendar-detail-actions [aria-disabled="true"] { pointer-events: none; opacity: .5; }
@media (max-width: 560px) {
  .calendar-detail-card { padding: .78rem; }
  .calendar-detail-line { gap: .28rem; padding: .56rem .62rem; font-size: .72rem; }
  .calendar-detail-line > strong { font-size: .69rem; }
  .calendar-detail-services > div,
  .calendar-detail-staff > div { font-size: .72rem; }
  .calendar-detail-actions { justify-content: stretch; }
  .calendar-detail-actions .btn { flex: 1; }
}


.appointment-detail-row { cursor: pointer; }
.appointment-detail-row:hover td { background: var(--primary-softest); }
.appointment-detail-row:focus-visible { outline: 2px solid #6256f6; outline-offset: -2px; }


/* v1.18.40 - Randevu detay penceresi tipografi ve buton düzeni */
.calendar-detail-card {
  font-family: Arial, Helvetica, sans-serif;
}
.calendar-detail-head h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
.calendar-detail-head small {
  margin-top: .28rem;
  color: var(--primary-dark);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}
.calendar-detail-line {
  font-size: .875rem;
  line-height: 1.45;
}
.calendar-detail-line > strong {
  font-size: .875rem;
  font-weight: 700;
}
.calendar-detail-services > div,
.calendar-detail-staff > div {
  font-size: .875rem;
  line-height: 1.45;
}
.calendar-detail-staff > div {
  color: var(--primary);
  font-weight: 700;
}
.calendar-detail-actions {
  justify-content: flex-end;
}
.calendar-detail-actions .btn {
  font-size: .82rem;
}
@media (max-width: 560px) {
  .calendar-detail-line,
  .calendar-detail-line > strong,
  .calendar-detail-services > div,
  .calendar-detail-staff > div {
    font-size: .82rem;
  }
}

/* v1.18.41 - Gelişmiş iki sütunlu randevu düzenleme ekranı */
.appointment-edit-dialog--advanced {
  width: min(94vw, 76rem);
  max-width: min(94vw, 76rem);
  max-height: 94vh;
  border-radius: 1.15rem;
  background: #fff;
}
.appointment-edit-dialog--advanced .appointment-edit-card {
  width: 100%;
  max-width: none;
  max-height: 92vh;
  overflow: hidden;
  padding: 0;
  gap: 0;
}
.appointment-edit-dialog--advanced .appointment-edit-head {
  position: sticky;
  top: 0;
  z-index: 8;
  margin: 0;
  padding: 1rem 1.2rem;
}
.appointment-editor-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(19rem, .82fr);
  min-height: 0;
  max-height: calc(92vh - 5.4rem);
  overflow: hidden;
}
.appointment-editor-column {
  min-width: 0;
  overflow-y: auto;
  padding: 1rem;
  background: #f7f8fc;
}
.appointment-editor-left {
  border-right: .0625rem solid #e4e7ef;
}
.appointment-editor-right {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  background: #fff;
}
.appointment-editor-section {
  margin-bottom: .8rem;
  padding: .9rem;
  border: .0625rem solid #e3e6ee;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 .2rem .75rem rgba(31, 41, 55, .035);
}
.appointment-editor-column .appointment-editor-section:last-child { margin-bottom: 0; }
.appointment-editor-section-head,
.appointment-editor-toggle-row,
.appointment-editor-payment-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}
.appointment-editor-section-head { margin-bottom: .7rem; }
.appointment-editor-section h4,
.appointment-editor-toggle-row h4 {
  margin: 0;
  color: #202536;
  font-size: .88rem;
  line-height: 1.3;
}
.appointment-editor-section p,
.appointment-editor-toggle-row p {
  margin: .18rem 0 0;
  color: #788196;
  font-size: .7rem;
  line-height: 1.45;
}
.appointment-editor-field,
.appointment-editor-service-row > label {
  display: flex;
  flex-direction: column;
  gap: .32rem;
  min-width: 0;
  color: #4d5568;
  font-size: .72rem;
  font-weight: 750;
}
.appointment-editor-field input,
.appointment-editor-field select,
.appointment-editor-service-row input,
.appointment-editor-service-row select,
.appointment-editor-section textarea {
  width: 100%;
  min-height: 2.45rem;
  border: .0625rem solid #d9deea;
  border-radius: .62rem;
  padding: .55rem .65rem;
  background: #fff;
  color: #202536;
  font: inherit;
  font-size: .78rem;
  font-weight: 550;
}
.appointment-editor-section textarea {
  min-height: 5rem;
  resize: vertical;
}
.appointment-editor-field input:focus,
.appointment-editor-field select:focus,
.appointment-editor-service-row input:focus,
.appointment-editor-service-row select:focus,
.appointment-editor-section textarea:focus {
  border-color: #8176ef;
  outline: 0;
  box-shadow: 0 0 0 .18rem rgba(var(--primary-rgb), .1);
}
.appointment-editor-add-service {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: .58rem;
  background: var(--primary);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  cursor: pointer;
}
.appointment-editor-service-list {
  display: grid;
  gap: .55rem;
}
.appointment-editor-service-row {
  display: grid;
  grid-template-columns: minmax(11rem, 1fr) minmax(5.6rem, .28fr) minmax(6.5rem, .34fr) 1.8rem;
  align-items: end;
  gap: .5rem;
  padding: .62rem;
  border: .0625rem solid #e2e6ef;
  border-radius: .72rem;
  background: #fafbfe;
}
.appointment-editor-service-name small {
  overflow: hidden;
  color: #777f92;
  font-size: .65rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.appointment-editor-input-suffix {
  position: relative;
  min-width: 0;
}
.appointment-editor-input-suffix input { padding-right: 2.35rem; }
.appointment-editor-input-suffix em {
  position: absolute;
  top: 50%;
  right: .62rem;
  transform: translateY(-50%);
  color: #7e879a;
  font-size: .68rem;
  font-style: normal;
  font-weight: 800;
  pointer-events: none;
}
.appointment-editor-remove-service {
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 2.45rem;
  border: .0625rem solid #f0c9ce;
  border-radius: .55rem;
  background: #fff5f6;
  color: #c43d4d;
  font-size: 1.1rem;
  cursor: pointer;
}
.appointment-editor-compact-section { padding: .75rem .9rem; }
.appointment-editor-switch {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  cursor: pointer;
  user-select: none;
}
.appointment-editor-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.appointment-editor-switch-track {
  position: relative;
  width: 2.25rem;
  height: 1.24rem;
  border-radius: 999rem;
  background: #cbd1dc;
  transition: .2s ease;
}
.appointment-editor-switch-track i {
  position: absolute;
  top: .15rem;
  left: .16rem;
  width: .94rem;
  height: .94rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 .08rem .25rem rgba(0,0,0,.18);
  transition: .2s ease;
}
.appointment-editor-switch.is-active .appointment-editor-switch-track { background: #22b96f; }
.appointment-editor-switch.is-active .appointment-editor-switch-track i { transform: translateX(1rem); }
.appointment-editor-switch > strong {
  min-width: 2.7rem;
  color: #5d6678;
  font-size: .68rem;
}
.appointment-editor-photo-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .6rem;
}
.appointment-editor-photo-upload {
  display: flex;
  flex-direction: column;
  gap: .38rem;
  padding: .7rem;
  border: .0625rem dashed #cfd5e2;
  border-radius: .72rem;
  background: #fafbfe;
  color: #40485a;
  font-size: .72rem;
  font-weight: 750;
}
.appointment-editor-photo-upload input { min-height: auto; padding: 0; border: 0; font-size: .68rem; }
.appointment-editor-photo-upload small { color: #81899a; font-size: .64rem; }
.appointment-editor-photo-preview {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .55rem;
}
.appointment-editor-photo-preview a,
.appointment-editor-photo-preview img {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: .5rem;
}
.appointment-editor-photo-preview img { object-fit: cover; border: .0625rem solid #e0e4ec; }
.appointment-editor-status-options {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .45rem;
}
.appointment-editor-status-options label { cursor: pointer; }
.appointment-editor-status-options input { position: absolute; opacity: 0; }
.appointment-editor-status-options span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: .45rem;
  border: .0625rem solid #dce1eb;
  border-radius: .65rem;
  background: #f9fafc;
  color: #586174;
  font-size: .7rem;
  font-weight: 800;
  text-align: center;
}
.appointment-editor-status-options input:checked + span {
  border-color: #6759ef;
  background: #eeeafd;
  color: #5143db;
  box-shadow: 0 0 0 .14rem rgba(var(--primary-rgb), .09);
}
.appointment-editor-right-placeholder {
  display: grid;
  place-items: center;
  margin: auto 0;
  padding: 2rem 1rem;
  color: #788196;
  text-align: center;
}
.appointment-editor-right-placeholder[hidden],
.appointment-editor-arrived-panel[hidden],
.appointment-editor-field[hidden],
.appointment-package-usage-modal[hidden] { display: none !important; }
.appointment-editor-placeholder-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: .7rem;
  border-radius: 50%;
  background: #eeeafd;
  color: #6557df;
  font-size: 1.35rem;
  font-weight: 900;
}
.appointment-editor-right-placeholder h4 { margin: 0; color: #2b3040; font-size: 1rem; }
.appointment-editor-right-placeholder p { max-width: 22rem; margin: .45rem 0 0; font-size: .76rem; line-height: 1.55; }
.appointment-editor-arrived-panel { display: grid; gap: .8rem; }
.appointment-editor-arrived-panel .appointment-editor-section { margin: 0; }
.appointment-editor-package-list { display: grid; gap: .45rem; }
.appointment-editor-package-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .6rem;
  border: .0625rem solid #e3e7ef;
  border-radius: .62rem;
  background: #fafbfe;
}
.appointment-editor-package-list strong { color: #2d3343; font-size: .75rem; }
.appointment-editor-package-list span { color: #697286; font-size: .68rem; white-space: nowrap; }
.appointment-editor-empty { margin: 0 !important; padding: .75rem; border-radius: .62rem; background: #f6f7fa; text-align: center; }
.appointment-editor-total-card,
.appointment-editor-net-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .35rem .7rem;
  padding: .72rem;
  border-radius: .7rem;
  background: var(--primary-soft);
  color: #4c43bd;
}
.appointment-editor-total-card span,
.appointment-editor-net-total span { font-size: .72rem; font-weight: 750; }
.appointment-editor-total-card strong,
.appointment-editor-net-total strong { font-size: .96rem; }
.appointment-editor-total-card small { flex-basis: 100%; color: #77718e; font-size: .64rem; }
.appointment-editor-payment-row {
  margin-top: .65rem;
  padding-top: .65rem;
  border-top: .0625rem solid #e8eaf0;
}
.appointment-editor-payment-row strong { display: block; color: #33394a; font-size: .75rem; }
.appointment-editor-payment-row small { display: block; margin-top: .14rem; color: #7c8496; font-size: .64rem; }
.appointment-editor-payment-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .55rem;
  margin-top: .65rem;
}
.appointment-editor-net-total { margin-top: .75rem; background: #eaf9f1; color: #13764c; }
.appointment-editor-save {
  position: sticky;
  bottom: 0;
  width: 100%;
  min-height: 2.75rem;
  margin-top: auto;
  box-shadow: 0 -.45rem 1rem rgba(255,255,255,.9);
}
.appointment-package-usage-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(22, 27, 40, .55);
}
.appointment-package-usage-card {
  width: min(94vw, 34rem);
  max-height: 88vh;
  overflow: auto;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgba(20,25,38,.3);
}
.appointment-package-usage-card .modal-head { position: static; margin: -1rem -1rem .9rem; padding: 1rem; background: #fff; }
.appointment-package-usage-list { display: grid; gap: .5rem; margin-top: .75rem; }
.appointment-package-usage-list label {
  display: grid;
  grid-template-columns: minmax(0,1fr) 5rem;
  align-items: center;
  gap: .7rem;
  padding: .65rem;
  border: .0625rem solid #e0e4ed;
  border-radius: .7rem;
  background: #fafbfe;
}
.appointment-package-usage-list strong,
.appointment-package-usage-list small { display: block; }
.appointment-package-usage-list strong { color: #303647; font-size: .76rem; }
.appointment-package-usage-list small { margin-top: .15rem; color: #788196; font-size: .65rem; }
.appointment-package-usage-list input { width: 100%; min-height: 2.25rem; border: .0625rem solid #d7dce7; border-radius: .55rem; padding: .4rem; }
.appointment-package-usage-actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: .9rem; }

@media (max-width: 62em) {
  .appointment-editor-columns { grid-template-columns: 1fr; overflow-y: auto; }
  .appointment-editor-column { overflow: visible; }
  .appointment-editor-left { border-right: 0; border-bottom: .0625rem solid #e4e7ef; }
  .appointment-editor-right { min-height: 18rem; }
}
@media (max-width: 42em) {
  .appointment-edit-dialog--advanced { width: 98vw; max-width: 98vw; max-height: 97vh; }
  .appointment-edit-dialog--advanced .appointment-edit-card { max-height: 96vh; }
  .appointment-editor-columns { max-height: calc(96vh - 5.2rem); }
  .appointment-editor-service-row { grid-template-columns: minmax(0,1fr) minmax(5rem,.38fr) 1.8rem; }
  .appointment-editor-service-name { grid-column: 1 / -1; }
  .appointment-editor-service-row > label:nth-of-type(3) { grid-column: 2; }
  .appointment-editor-photo-columns,
  .appointment-editor-payment-grid { grid-template-columns: 1fr; }
  .appointment-editor-status-options { grid-template-columns: 1fr; }
}


/* v1.18.42 - Randevu düzenleme ekranı hizalama, tipografi ve durum kararlılığı */
.appointment-edit-dialog--advanced,
.appointment-edit-dialog--advanced button,
.appointment-edit-dialog--advanced input,
.appointment-edit-dialog--advanced select,
.appointment-edit-dialog--advanced textarea {
  font-family: Arial, Helvetica, sans-serif;
}
.appointment-edit-dialog--advanced .appointment-edit-eyebrow {
  font-size: .75rem;
  letter-spacing: .04em;
}
.appointment-edit-dialog--advanced .appointment-edit-head h3 {
  font-size: 1.125rem;
  font-weight: 700;
}
.appointment-edit-dialog--advanced .appointment-edit-head p {
  font-size: .875rem;
  font-weight: 600;
}
.appointment-editor-columns {
  align-items: start;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.appointment-editor-column {
  min-height: 100%;
  overflow: visible;
}
.appointment-editor-section h4,
.appointment-editor-toggle-row h4,
.appointment-editor-right-placeholder h4 {
  font-size: .875rem;
  font-weight: 700;
}
.appointment-editor-section p,
.appointment-editor-toggle-row p,
.appointment-editor-right-placeholder p {
  font-size: .75rem;
}
.appointment-editor-field,
.appointment-editor-service-row > label,
.appointment-editor-photo-upload {
  font-size: .875rem;
  font-weight: 700;
}
.appointment-editor-field input,
.appointment-editor-field select,
.appointment-editor-service-row input,
.appointment-editor-service-row select,
.appointment-editor-section textarea {
  font-size: .875rem;
  font-weight: 400;
}
.appointment-editor-status-section {
  scroll-margin-top: .75rem;
}
.appointment-editor-status-options span {
  font-size: .875rem;
}
.appointment-editor-service-row {
  grid-template-columns: minmax(12rem, 1fr) minmax(6.5rem, .28fr) minmax(7.5rem, .34fr) 2rem;
  align-items: start;
}
.appointment-editor-service-row > label {
  display: grid;
  grid-template-rows: 1.15rem 2.65rem auto;
  align-content: start;
  gap: .35rem;
}
.appointment-editor-service-row > label > span {
  line-height: 1.15rem;
}
.appointment-editor-service-row select,
.appointment-editor-service-row input,
.appointment-editor-input-suffix {
  height: 2.65rem;
  min-height: 2.65rem;
}
.appointment-editor-input-suffix input {
  height: 100%;
}
.appointment-editor-service-name small {
  min-height: 1rem;
  font-size: .75rem;
  line-height: 1rem;
}
.appointment-editor-remove-service {
  width: 2rem;
  height: 2.65rem;
  margin-top: 1.5rem;
}
.appointment-editor-photo-upload {
  min-width: 0;
}
.appointment-editor-file-control {
  position: relative;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-height: 2.65rem;
  overflow: hidden;
  border: .0625rem solid #d9deea;
  border-radius: .62rem;
  background: #fff;
  cursor: pointer;
}
.appointment-editor-file-control input[type="file"] {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.appointment-editor-file-button {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  padding: 0 .8rem;
  border-right: .0625rem solid #d9deea;
  background: #f1f3f8;
  color: #303647;
  font-size: .8125rem;
  font-weight: 700;
  white-space: nowrap;
}
.appointment-editor-file-name {
  min-width: 0;
  overflow: hidden;
  padding: 0 .7rem;
  color: #70798c;
  font-size: .8125rem;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.appointment-editor-photo-upload small {
  font-size: .75rem;
}
.appointment-editor-switch > strong,
.appointment-editor-package-list strong,
.appointment-editor-package-list span,
.appointment-editor-total-card span,
.appointment-editor-net-total span,
.appointment-editor-payment-row strong,
.appointment-editor-payment-row small,
.appointment-editor-empty {
  font-size: .8125rem;
}
.appointment-editor-save {
  font-size: .875rem;
}
@media (max-width: 42em) {
  .appointment-editor-service-row {
    grid-template-columns: minmax(0, 1fr) minmax(6rem, .42fr) 2rem;
  }
  .appointment-editor-service-name {
    grid-column: 1 / -1;
  }
  .appointment-editor-service-row > label:nth-of-type(3) {
    grid-column: 2;
  }
  .appointment-editor-remove-service {
    grid-column: 3;
    grid-row: 2;
  }
  .appointment-editor-file-control {
    grid-template-columns: 1fr;
  }
  .appointment-editor-file-button {
    justify-content: center;
    min-height: 2.2rem;
    border-right: 0;
    border-bottom: .0625rem solid #d9deea;
  }
  .appointment-editor-file-name {
    min-height: 2.2rem;
    line-height: 2.2rem;
  }
}

/* v1.18.44 - Tarih ve saat alanları ortak görünüm */
input[type="date"],
input[type="time"] {
  cursor: pointer;
}

/* Tarih alanları metin alanları kadar geniş görünmesin. */
label > input[type="date"],
.filter-form input[type="date"],
.form-grid input[type="date"] {
  width: min(100%, 11.5rem);
  max-width: 11.5rem;
}

label > input[type="time"],
.form-grid input[type="time"] {
  width: min(100%, 8.5rem);
  max-width: 8.5rem;
}

.date-time-field-pair {
  display: grid;
  grid-template-columns: minmax(9.5rem, 11.5rem) minmax(7rem, 8.5rem);
  align-items: end;
  gap: .65rem;
  min-width: 0;
}

.date-time-field-pair > label {
  min-width: 0;
}

.date-time-field-pair input[type="date"],
.date-time-field-pair input[type="time"] {
  width: 100%;
  max-width: none;
}

.appointment-editor-datetime-row {
  margin-top: .15rem;
}

.appointment-create-datetime {
  align-self: end;
}

@media (max-width: 42rem) {
  .date-time-field-pair {
    grid-template-columns: minmax(0, 1fr) minmax(7rem, .62fr);
    width: 100%;
  }
  label > input[type="date"],
  .filter-form input[type="date"],
  .form-grid input[type="date"],
  label > input[type="time"],
  .form-grid input[type="time"] {
    width: 100%;
    max-width: none;
  }
}


/* v1.18.45 - Analog saat kadranı seçici */
input[type="time"][data-custom-time-picker="1"] {
  cursor: pointer;
}

input[type="time"][data-custom-time-picker="1"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

.randevupro-time-picker {
  position: fixed;
  z-index: 100000;
  width: 15.625rem;
  max-width: calc(100vw - 1rem);
  overflow: hidden;
  border: .0625rem solid #cfd4de;
  border-radius: .28rem;
  background: #fff;
  box-shadow: 0 .65rem 1.8rem rgba(28, 39, 64, .20);
  color: #222936;
  font-family: Arial, sans-serif;
  user-select: none;
}

.randevupro-time-picker[hidden] {
  display: none !important;
}

.randevupro-clock-display {
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .24rem;
  border-bottom: .0625rem solid #e1e4e9;
  background: #fff;
}

.randevupro-clock-display-part {
  min-width: 2.55rem;
  border: 0;
  background: transparent;
  padding: .18rem .12rem;
  color: #8e949d;
  font: 700 1.55rem/1 Arial, sans-serif;
  cursor: pointer;
}

.randevupro-clock-display-part.is-active {
  color: #2875b9;
}

.randevupro-clock-display-separator {
  color: #717782;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1;
}

.randevupro-clock-stage {
  padding: .38rem .5rem .18rem;
  color: #8a909a;
  font-size: .68rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .015em;
}

.randevupro-clock-face {
  position: relative;
  width: 13.75rem;
  height: 13.75rem;
  max-width: calc(100vw - 2rem);
  max-height: calc(100vw - 2rem);
  margin: .15rem auto .45rem;
  border: .0625rem solid #cfd3d9;
  border-radius: 50%;
  background: #fff;
  cursor: crosshair;
  touch-action: manipulation;
}

.randevupro-clock-values {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.randevupro-clock-number {
  position: absolute;
  z-index: 4;
  width: 1.78rem;
  height: 1.78rem;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  color: #303642;
  font: 400 .78rem/1 Arial, sans-serif;
  cursor: pointer;
}

.randevupro-clock-number[data-clock-ring="inner"] {
  font-size: .86rem;
}

.randevupro-clock-number:hover,
.randevupro-clock-number:focus-visible {
  outline: 0;
  background: #eaf4fb;
  color: #1775b8;
}

.randevupro-clock-number.is-selected {
  background: #d8f2fb;
  color: #1476b8;
  font-weight: 700;
}

.randevupro-clock-hand {
  --clock-hand-angle: 0deg;
  --clock-hand-length: 42%;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: .095rem;
  height: var(--clock-hand-length);
  transform-origin: 50% 100%;
  transform: translate(-50%, -100%) rotate(var(--clock-hand-angle));
  border-radius: 999rem;
  background: #129fe3;
  pointer-events: none;
}

.randevupro-clock-hand[hidden] {
  display: none;
}

.randevupro-clock-center {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: .28rem;
  height: .28rem;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #129fe3;
  pointer-events: none;
}

.randevupro-clock-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .3rem;
  min-height: 2.4rem;
  padding: .35rem .55rem .5rem;
  border-top: .0625rem solid #eceef2;
}

.randevupro-clock-footer-button {
  border: 0;
  border-radius: .25rem;
  padding: .38rem .58rem;
  background: transparent;
  color: #2875b9;
  font: 700 .72rem/1 Arial, sans-serif;
  cursor: pointer;
}

.randevupro-clock-footer-button:hover,
.randevupro-clock-footer-button:focus-visible {
  outline: 0;
  background: #eef5fb;
}

.randevupro-clock-footer-button.is-muted {
  margin-right: auto;
  color: #7b818b;
}

@media (max-width: 28rem) {
  .randevupro-time-picker {
    width: min(15.625rem, calc(100vw - 1rem));
  }
  .randevupro-clock-face {
    width: min(13.75rem, calc(100vw - 2rem));
    height: min(13.75rem, calc(100vw - 2rem));
  }
}


/* v1.18.46 - Randevu düzenlemede anlık tahsilat ve bakiye */
.appointment-editor-payment-history {
  margin-top: .68rem;
  border-top: .0625rem solid #e8eaf0;
  padding-top: .68rem;
}
.appointment-editor-payment-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin-bottom: .42rem;
}
.appointment-editor-payment-history-head strong { color: #33394a; font-size: .75rem; }
.appointment-editor-payment-history-head span { color: #7c8496; font-size: .64rem; }
.appointment-editor-payment-history-list { display: grid; gap: .36rem; }
.appointment-editor-payment-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  padding: .48rem .55rem;
  border: .0625rem solid #e1e5ed;
  border-radius: .55rem;
  background: #fff;
}
.appointment-editor-payment-history-row > div { min-width: 0; }
.appointment-editor-payment-history-row strong { display: block; color: #13764c; font-size: .76rem; }
.appointment-editor-payment-history-row small {
  display: block;
  margin-top: .12rem;
  overflow: hidden;
  color: #7a8293;
  font-size: .62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.appointment-editor-payment-delete {
  flex: 0 0 auto;
  min-height: 1.8rem;
  border: .0625rem solid #f0c8cc;
  border-radius: .45rem;
  padding: .28rem .48rem;
  background: #fff5f6;
  color: #c23b49;
  font-size: .65rem;
  font-weight: 700;
  cursor: pointer;
}
.appointment-editor-payment-delete:hover { background: #ffecef; }
.appointment-editor-payment-delete:disabled { opacity: .5; cursor: wait; }
.appointment-editor-payment-empty {
  margin: 0;
  padding: .55rem;
  border-radius: .5rem;
  background: #f7f8fa;
  color: #848b99;
  font-size: .66rem;
  text-align: center;
}
.appointment-editor-payment-empty[hidden] { display: none !important; }
.appointment-editor-payment-entry { margin-top: .58rem; }
.appointment-editor-payment-submit {
  width: 100%;
  min-height: 2.2rem;
  margin-top: .5rem;
}
.appointment-editor-payment-message {
  margin: .4rem 0 0;
  padding: .42rem .5rem;
  border-radius: .45rem;
  font-size: .66rem;
  font-weight: 700;
}
.appointment-editor-payment-message[hidden] { display: none !important; }
.appointment-editor-payment-message.is-success { background: #eaf9f1; color: #13764c; }
.appointment-editor-payment-message.is-error { background: #fff0f1; color: #b63340; }

/* v1.18.47 - Sistem geneli tipografi standardı */
:root {
  --rp-font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --rp-font-base: 13px;
  --rp-font-label: 12px;
  --rp-font-emphasis: 14px;
  --rp-font-section: 22px;
  --rp-font-page: 26px;
}

html,
body {
  font-family: var(--rp-font-family) !important;
}

body {
  font-size: var(--rp-font-base) !important;
  line-height: 1.42;
}

body *,
body *::before,
body *::after {
  font-family: var(--rp-font-family) !important;
}

/* Ana içerik metinleri ve kontroller */
body :where(p, a, button, input, select, textarea, option, td, li, dd, dt, figcaption, output) {
  font-size: var(--rp-font-base) !important;
}

button,
input,
select,
textarea,
.btn,
.icon-button,
.nav-link,
.button-link {
  font-size: var(--rp-font-base) !important;
  line-height: 1.35;
}

/* Etiketler, tablo başlıkları ve yardımcı metinler */
label,
th,
small,
.small,
.muted,
.badge,
.pill,
.booking-mini-label,
.booking-step-copy small,
.booking-calendar-weekdays span,
.booking-summary-card small,
.appointment-editor-payment-history-head span,
.appointment-editor-payment-history-row small,
.appointment-editor-payment-message,
.appointment-editor-payment-empty {
  font-size: var(--rp-font-label) !important;
}

label,
th {
  font-weight: 600;
}

/* Standart başlık hiyerarşisi */
h1,
.page-title,
.profile-hero h1,
.auth-copy h1,
.booking-copy h1,
.booking-wizard-intro h1,
.booking-welcome-choice h2,
.error-code {
  font-size: var(--rp-font-page) !important;
  line-height: 1.18 !important;
  letter-spacing: -.015em !important;
}

h2,
.section-heading h2,
.booking-pane-head h2,
.booking-working-hours h2,
.appointment-editor-payment-title {
  font-size: var(--rp-font-section) !important;
  line-height: 1.22 !important;
  letter-spacing: -.01em !important;
}

h3,
h4,
.panel-head h3,
.modal-head h3,
.booking-card-title h3,
.package-section-head h4,
.photo-appointment-card h3,
.portal-account-card h3 {
  font-size: var(--rp-font-emphasis) !important;
  line-height: 1.3 !important;
}

/* Önemli içerik değerleri */
.topbar strong,
.stat-card strong,
.stock-number,
.points,
.profile-balance,
.service-title,
.product-card h3,
.customer-card h3,
.booking-calendar-month strong,
.appointment-editor-payment-history-row strong,
.appointment-detail-value,
.appointment-detail-customer,
.appointment-detail-phone,
.appointment-detail-person {
  font-size: var(--rp-font-emphasis) !important;
}

/* Açıklama/metin blokları */
.panel-head p,
.modal-head p,
.section-heading p,
.package-section-head p,
.booking-pane-head p,
.booking-copy > p,
.booking-wizard-intro p,
.timeline-item p,
.compact-row p,
.customer-card p,
.product-card p,
.package-meta span,
.price-row,
.demo-note,
.empty-state,
.empty-cell {
  font-size: var(--rp-font-base) !important;
  line-height: 1.45 !important;
}

/* Tablo ve liste okunabilirliği */
table,
tbody,
tfoot {
  font-size: var(--rp-font-base) !important;
}

thead th {
  font-size: var(--rp-font-label) !important;
  letter-spacing: 0 !important;
}

/* Randevu takvimi ve çevrim içi randevu */
.booking-step-copy strong,
.booking-calendar-day,
.booking-slot,
.booking-slot-time,
.booking-summary-card span:not(.booking-summary-icon),
.calendar-time-label,
.calendar-appointment,
.calendar-staff-head,
.appointment-calendar-toolbar,
.appointment-detail-row,
.appointment-detail-row * {
  font-size: var(--rp-font-base) !important;
}

/* Analog saat seçici: okunabilir ama genel tipografiyle uyumlu */
.randevupro-time-picker,
.randevupro-clock-display,
.randevupro-clock-number,
.randevupro-clock-number[data-clock-ring="inner"],
.randevupro-clock-footer-button {
  font-family: var(--rp-font-family) !important;
}
.randevupro-clock-display { font-size: var(--rp-font-page) !important; }
.randevupro-clock-number,
.randevupro-clock-number[data-clock-ring="inner"] { font-size: var(--rp-font-base) !important; }
.randevupro-clock-footer-button { font-size: var(--rp-font-label) !important; }

/* Mobilde de aynı tipografi ölçeğini koru */
@media (max-width: 48rem) {
  body { font-size: var(--rp-font-base) !important; }
  h1,
  .page-title,
  .profile-hero h1,
  .auth-copy h1,
  .booking-copy h1,
  .booking-wizard-intro h1,
  .booking-welcome-choice h2 { font-size: 24px !important; }
  h2,
  .section-heading h2,
  .booking-pane-head h2 { font-size: 20px !important; }
}

/* v1.18.48 - Yeni tipografiye uyumlu sistem geneli ölçü, boşluk ve yüzey standardı */
:root {
  --rp-space-1: 4px;
  --rp-space-2: 6px;
  --rp-space-3: 8px;
  --rp-space-4: 10px;
  --rp-space-5: 12px;
  --rp-space-6: 14px;
  --rp-space-7: 16px;
  --rp-control-height: 36px;
  --rp-control-height-sm: 32px;
  --rp-control-padding-x: 10px;
  --rp-card-padding: 14px;
  --rp-radius-sm: 6px;
  --rp-radius: 8px;
  --rp-radius-lg: 10px;
  --rp-shadow: 0 4px 14px rgba(30, 41, 59, .055);
  --control-height: var(--rp-control-height);
  --radius: var(--rp-radius);
  --shadow: var(--rp-shadow);
  --page-width: 98%;
  --content-max: 112rem;
}

html { scroll-padding-top: 64px; }
body {
  line-height: 1.35 !important;
  letter-spacing: 0;
}
h1, h2, h3, h4, h5, h6 { margin-bottom: var(--rp-space-3); }
p { margin-bottom: var(--rp-space-4); line-height: 1.42; }
small { line-height: 1.35; }
hr { margin: var(--rp-space-6) 0; border: 0; border-top: 1px solid var(--line); }

/* Yönetim kabuğu */
.app-shell { grid-template-columns: clamp(12.75rem, 15.5%, 15.25rem) minmax(0, 1fr); }
.sidebar {
  padding: 12px 10px;
}
.sidebar .brand {
  gap: 8px;
  padding: 0 6px 12px;
}
.brand-mark { width: 34px; border-radius: 9px; box-shadow: 0 3px 9px rgba(var(--primary-rgb), .25); }
.brand-copy { min-width: 0; }
.brand-copy strong { display: block; line-height: 1.2; }
.brand-copy small { display: block; margin-top: 2px; line-height: 1.25; }
nav { gap: 2px; }
.nav-link {
  gap: 8px;
  min-height: 36px;
  border-radius: 7px;
  padding: 7px 9px;
}
.nav-submenu { margin: 2px 0 4px; padding-left: 14px; }
.nav-sublink { min-height: 30px; padding: 6px 8px; border-radius: 6px; }
.sidebar-bottom { gap: 2px; }

.topbar {
  min-height: 58px;
  padding: 7px 1.25%;
  gap: 10px;
}
.topbar > div:nth-child(2) { line-height: 1.2; }
.topbar > div:nth-child(2) > .muted { margin-top: 2px; }
.topbar-actions { gap: 8px !important; }
.user-chip { gap: 7px; }
.avatar { width: 34px; }
.avatar.large { width: 42px; }
.content { padding: 12px 0 18px; }

/* Ortak yüzeyler, kartlar ve bölümler */
.panel,
.stat-card,
.customer-card,
.product-card,
.package-card,
.integration-card,
.notification-page-head,
.notification-card,
.booking-summary-card,
.booking-welcome-address,
.booking-working-hours,
.appointment-editor-section,
.photo-appointment-card,
.portal-account-card {
  border-radius: var(--rp-radius) !important;
  box-shadow: var(--rp-shadow) !important;
}
.panel { padding: var(--rp-card-padding); margin-bottom: 12px; }
.table-panel { padding: 0; }
.panel-head {
  gap: 10px;
  padding-bottom: 10px;
}
.table-panel .panel-head { padding: 12px 14px 9px; }
.panel-head h3, .panel-head p { margin-bottom: 0; }
.panel-head h3 + p { margin-top: 2px; }

.stats-grid,
.card-grid,
.integration-grid { gap: 10px; margin-bottom: 12px; }
.stat-card { padding: 12px; gap: 10px; }
.stat-card small { margin-bottom: 2px; }
.stat-icon { width: 38px; border-radius: 9px; }
.two-col { gap: 12px; margin-bottom: 12px; }
.customer-card,
.product-card,
.package-card { padding: 12px; }
.customer-card dl { gap: 6px 10px; margin: 10px 0; }
.price-row { margin: 8px 0; }
.progress { margin: 8px 0 4px; }

/* Form ve kontrol yoğunluğu */
.form-grid { gap: 10px 12px; }
.stack { gap: 10px; }
label { gap: 5px; line-height: 1.25; }
input,
select,
textarea {
  min-height: var(--rp-control-height) !important;
  border-radius: var(--rp-radius-sm) !important;
  padding: 7px var(--rp-control-padding-x) !important;
  line-height: 1.25 !important;
}
textarea { min-height: 78px !important; line-height: 1.4 !important; }
input[type="checkbox"],
input[type="radio"] { min-height: auto !important; padding: 0 !important; }
input[type="file"] { padding: 5px 7px !important; }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .1); }

.btn {
  min-height: var(--rp-control-height) !important;
  gap: 6px;
  border-radius: var(--rp-radius-sm) !important;
  padding: 7px 12px !important;
  line-height: 1.2 !important;
}
.btn.ghost { min-height: auto !important; padding: 5px 7px !important; }
.icon-button,
.customer-square-button,
.customer-action-button {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 7px !important;
}
.toolbar {
  gap: 10px;
  margin-bottom: 10px;
}
.filter-form,
.search-form,
.actions { gap: 7px; }
.filter-form label { min-width: 8rem; }

.alert { padding: 9px 12px; border-radius: 7px; margin-bottom: 10px; }
.badge, .pill { padding: 4px 7px; }
.empty, .empty-state, .empty-cell { padding-top: 20px !important; padding-bottom: 20px !important; }

/* Tablo ve liste satırları */
table { line-height: 1.3; }
th, td { padding: 8px 10px; }
thead th { height: 34px; }
tbody tr { min-height: 36px; }
.compact-row { padding: 8px 0; }
.timeline-item { padding: 8px 0; }
.date-box { flex-basis: 40px; border-radius: 7px; }

/* Modal, popup ve açılır pencereler */
dialog {
  border-radius: var(--rp-radius-lg) !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.22) !important;
  max-height: 94vh;
}
dialog.dialog-wide { width: 94%; max-width: 72rem; }
.modal-card {
  max-height: 92vh;
  padding: 14px !important;
  gap: 10px !important;
}
.modal-head {
  top: -14px;
  gap: 10px;
  padding: 3px 0 9px;
}
.modal-head h3 { margin: 0; }
.modal-head h3 + p { margin-top: 3px; }
.modal-card > .btn:last-child { bottom: -14px; }

.notification-dropdown,
.customer-export-options,
.customer-search-dropdown,
.customer-gender-popover,
.customer-column-options,
.permalink-options {
  border-radius: var(--rp-radius) !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.13) !important;
}
.notification-dropdown { width: min(22rem, 90vw); }
.notification-dropdown-head { padding: 9px 10px; gap: 8px; }
.notification-mini-item { gap: 7px; padding: 8px 10px; }
.notification-mini-item strong { margin-bottom: 2px; }
.notification-mini-item time { margin-top: 3px; }
.notification-dropdown-footer { padding: 8px 10px; }
.notification-bell { width: 34px; height: 34px; }
.notification-bell svg { width: 18px; height: 18px; }

/* Bildirim ve standart sayfa kartları */
.notification-page { gap: 10px; }
.notification-page-head { padding: 12px 14px; }
.notification-page-list { gap: 8px; }
.notification-card { grid-template-columns: 38px minmax(0,1fr); gap: 10px; padding: 10px 12px; }
.notification-card-icon { width: 38px; height: 38px; border-radius: 8px; }
.notification-card-copy > p { margin: 5px 0 8px; }
.notification-contact-list { gap: 5px; margin-bottom: 8px; }
.notification-contact-list span { padding: 4px 7px; border-radius: 6px; }
.notification-card-actions { gap: 6px; }

/* Müşteri/randevu filtre ve veri ekranları */
.customer-page-head,
.appointment-page-head,
.customer-filter-panel,
.appointment-filter-panel { margin-bottom: 10px !important; }
.customer-filter-toolbar,
.appointment-filter-toolbar { gap: 8px !important; }
.customer-filter-actions-right,
.appointment-filter-actions-right { gap: 6px !important; }
.customer-data-table-wrap,
.appointment-data-table-wrap { border-radius: var(--rp-radius) !important; }
.customer-data-table th,
.customer-data-table td,
.appointment-data-table th,
.appointment-data-table td { padding-top: 8px !important; padding-bottom: 8px !important; }

/* Çevrim içi randevu - aynı tipografiye göre yeniden sıkılaştırma */
.booking-header { min-height: 58px; }
.booking-main { padding-top: 10px !important; padding-bottom: 16px !important; }
.booking-card,
.booking-wizard-card { border-radius: 12px !important; box-shadow: 0 10px 30px rgba(51,65,85,.08) !important; }
.booking-wizard-intro { padding-top: 14px !important; padding-bottom: 12px !important; }
.booking-stepper { padding-top: 10px !important; padding-bottom: 10px !important; }
.booking-step { gap: 7px !important; }
.booking-step-icon { width: 34px !important; height: 34px !important; }
.booking-pane { padding: 14px 16px 16px !important; }
.booking-pane-head { gap: 9px; margin-bottom: 12px; }
.booking-section-icon { width: 36px !important; height: 36px !important; border-radius: 8px !important; }
.booking-choice-grid,
.booking-form-grid { gap: 10px 12px !important; }
.booking-choice-grid { margin-bottom: 10px; }
.booking-choice-field,
.booking-form-grid label { gap: 5px; }
.booking-select-wrap select,
.booking-input-wrap input,
.booking-input-wrap textarea { min-height: 38px !important; padding-top: 7px !important; padding-bottom: 7px !important; }
.booking-input-wrap textarea { min-height: 76px !important; }
.booking-calendar-card,
.booking-slots-card { padding: 12px !important; }
.booking-card-title { gap: 8px; margin-bottom: 8px; }
.booking-calendar-month { margin: 9px 0; }
.booking-calendar-weekdays,
.booking-calendar-days { gap: 4px; }
.booking-calendar-day { min-height: 36px !important; border-radius: 7px !important; }
.booking-slot-grid { gap: 6px !important; }
.booking-slot-button { min-height: 36px !important; border-radius: 7px !important; padding: 6px 8px !important; }
.booking-summary-grid { gap: 8px; }
.booking-summary-card { padding: 9px 10px !important; }
.booking-pane-actions { gap: 8px; margin-top: 12px; }
.booking-consent { padding: 9px 10px !important; border-radius: 7px !important; }
.booking-footer { min-height: 46px !important; }

/* Müşteri karşılama ekranı */
.booking-welcome-screen { border-radius: 12px !important; }
.booking-welcome-layout { min-height: 0 !important; }
.booking-welcome-details { padding: 12px 14px 14px !important; }
.booking-welcome-address { gap: 8px; margin-top: 9px; padding: 9px 10px; }
.booking-welcome-address > span { width: 34px !important; border-radius: 7px !important; }
.booking-welcome-contact-grid { gap: 8px; margin-top: 8px; }
.booking-welcome-contact-grid > a { gap: 7px; padding: 8px 9px !important; border-radius: 7px !important; }
.booking-welcome-contact-grid > a > span { width: 30px; border-radius: 6px; }
.booking-welcome-map { margin-top: 8px; border-radius: 8px !important; }
.booking-welcome-map a,
.booking-welcome-map-link { padding: 8px 10px; }
.booking-working-hours { margin-top: 9px !important; padding: 10px 12px !important; }
.booking-working-hours-row { padding-top: 6px !important; padding-bottom: 6px !important; }
.booking-welcome-sidebar { padding-top: 12px !important; padding-bottom: 12px !important; }
.booking-welcome-actions { padding: 14px !important; }
.booking-welcome-actions > p { margin-bottom: 10px !important; }
.booking-welcome-choice-row { gap: 8px !important; margin-bottom: 8px !important; }
.booking-welcome-primary-action,
.booking-whatsapp-action { min-height: 48px !important; border-radius: 8px !important; padding: 8px 10px !important; }
.booking-welcome-choice-icon,
.booking-welcome-choice-row .booking-whatsapp-icon { width: 38px !important; height: 38px !important; border-radius: 8px !important; }
.booking-welcome-reviews { padding: 0 12px 12px !important; }
.booking-review-summary { padding-top: 10px !important; padding-bottom: 10px !important; }
.booking-review-card { padding: 9px 2px !important; }

/* Günlük randevu takvimi */
.appointment-calendar-page .content { padding-top: 8px; }
.appointment-calendar-shell { gap: 7px; }
.appointment-calendar-toolbar { gap: 7px !important; }
.appointment-calendar-toolbar .btn,
.appointment-calendar-toolbar .icon-button,
.calendar-view-control { min-height: 34px !important; }
.calendar-staff-picker-list { gap: 4px !important; }
.calendar-staff-picker-list label { padding: 6px 7px !important; }
.calendar-staff-picker-actions { padding-top: 6px; }
.calendar-staff-head { min-height: 34px !important; padding: 5px 6px !important; }
.calendar-event { border-radius: 5px !important; padding: 4px 5px !important; }
.calendar-move-card { padding: 12px !important; }
.calendar-move-question { margin: 4px 0 8px !important; }
.calendar-move-summary { gap: 7px !important; }
.calendar-move-summary > div { padding: 8px !important; border-radius: 7px !important; }
.calendar-move-actions { gap: 7px; margin-top: 10px !important; }

/* Randevu bilgi pop-up */
.calendar-detail-dialog { max-width: 34rem !important; }
.calendar-detail-card { padding: 12px !important; }
.calendar-detail-head { padding-bottom: 8px !important; margin-bottom: 0 !important; }
.calendar-detail-line { min-height: 30px !important; padding: 6px 0 !important; gap: 4px !important; }
.calendar-detail-services,
.calendar-detail-staff { gap: 3px !important; }
.calendar-detail-services > div,
.calendar-detail-staff > div { padding: 0 !important; }
.calendar-detail-actions { padding-top: 10px !important; }
.calendar-detail-actions .btn { min-height: 34px !important; padding: 7px 10px !important; }

/* İki sütunlu randevu düzenleme */
.appointment-edit-dialog--advanced { width: min(96vw, 78rem) !important; max-width: 78rem !important; }
.appointment-edit-dialog--advanced .appointment-edit-head { padding: 9px 12px !important; }
.appointment-editor-columns { max-height: calc(94vh - 54px) !important; }
.appointment-editor-column { padding: 10px !important; }
.appointment-editor-right { gap: 8px; }
.appointment-editor-section { margin-bottom: 8px; padding: 10px !important; border-radius: 8px !important; }
.appointment-editor-section-head,
.appointment-editor-toggle-row,
.appointment-editor-payment-row { gap: 8px; }
.appointment-editor-section-head { margin-bottom: 8px; }
.appointment-editor-service-list { gap: 7px; }
.appointment-editor-service-row {
  gap: 7px !important;
  padding: 8px !important;
  border-radius: 7px !important;
}
.appointment-editor-field,
.appointment-editor-service-row > label { gap: 4px; }
.appointment-editor-field input,
.appointment-editor-field select,
.appointment-editor-service-row input,
.appointment-editor-service-row select,
.appointment-editor-section textarea,
.appointment-editor-service-row select,
.appointment-editor-input-suffix {
  min-height: 36px !important;
  height: 36px !important;
}
.appointment-editor-section textarea { height: auto !important; min-height: 72px !important; }
.appointment-editor-service-row > label { grid-template-rows: 16px 36px auto !important; gap: 4px !important; }
.appointment-editor-remove-service { width: 32px !important; height: 36px !important; margin-top: 20px !important; border-radius: 6px !important; }
.appointment-editor-add-service { width: 32px; height: 32px; border-radius: 6px; }
.appointment-editor-status-options { gap: 6px !important; }
.appointment-editor-status-options span { min-height: 34px !important; padding: 7px 8px !important; border-radius: 6px !important; }
.appointment-editor-photo-columns,
.appointment-editor-payment-grid { gap: 8px !important; }
.appointment-editor-photo-upload { padding: 8px !important; border-radius: 7px !important; }
.appointment-editor-file-control { min-height: 36px !important; border-radius: 6px !important; }
.appointment-editor-file-button { padding: 0 9px; }
.appointment-editor-package-list { gap: 6px; }
.appointment-editor-package-list > div { gap: 7px; padding: 7px 8px; border-radius: 6px; }
.appointment-editor-total-card,
.appointment-editor-net-total { gap: 5px 8px; padding: 8px 9px; border-radius: 7px; }
.appointment-editor-payment-row { margin-top: 8px; padding-top: 8px; }
.appointment-editor-payment-grid { margin-top: 8px; }
.appointment-editor-payment-history { margin-top: 8px; padding-top: 8px; }
.appointment-editor-payment-history-head { gap: 7px; margin-bottom: 6px; }
.appointment-editor-payment-history-list { gap: 5px; }
.appointment-editor-payment-history-row { gap: 8px; padding: 7px 8px; border-radius: 6px; }
.appointment-editor-payment-delete { min-height: 30px; padding: 5px 7px; border-radius: 6px; }
.appointment-editor-payment-entry { margin-top: 8px; }
.appointment-editor-payment-submit { min-height: 34px !important; margin-top: 7px; }
.appointment-editor-save { min-height: 36px !important; }
.appointment-package-usage-card { padding: 12px; border-radius: 9px; }
.appointment-package-usage-card .modal-head { margin: -12px -12px 8px; padding: 10px 12px; }
.appointment-package-usage-list { gap: 6px; margin-top: 8px; }
.appointment-package-usage-list label { gap: 8px; padding: 8px; border-radius: 7px; }
.appointment-package-usage-actions { gap: 7px; margin-top: 10px; }

/* Analog saat ve tarih/saat seçicilerinin ölçüsü */
.randevupro-time-picker { border-radius: 9px !important; box-shadow: 0 12px 34px rgba(15,23,42,.18) !important; }
.randevupro-clock-display { min-height: 50px !important; padding: 8px 10px !important; }
.randevupro-clock-footer { min-height: 38px; padding: 5px 8px 7px; }
.randevupro-clock-footer-button { padding: 6px 8px; }

/* Masaüstünde aşırı büyük boşlukları önle */
@media (min-width: 70rem) {
  .content { width: 98.5%; }
  .panel { padding: 14px; }
  .customer-card, .product-card, .package-card { padding: 12px; }
}

/* Tablet */
@media (max-width: 64rem) {
  .app-shell { grid-template-columns: 12.5rem minmax(0,1fr); }
  .content { width: 97%; }
  .panel { padding: 12px; }
  .booking-pane { padding: 12px !important; }
  .appointment-editor-columns { grid-template-columns: 1fr !important; }
}

/* Mobil: yoğun ama dokunulabilir ölçüleri koru */
@media (max-width: 48rem) {
  :root { --rp-control-height: 38px; --control-height: 38px; }
  .topbar { min-height: 54px; padding: 7px 10px; }
  .content { width: 95%; padding-top: 10px; }
  .panel { padding: 11px; margin-bottom: 10px; }
  .panel-head { padding-bottom: 8px; }
  .form-grid { gap: 9px; }
  .toolbar { gap: 8px; margin-bottom: 9px; }
  .btn { padding-left: 10px !important; padding-right: 10px !important; }
  th, td { padding: 8px; }
  dialog { width: 96%; max-height: 96vh; }
  .modal-card { padding: 12px !important; }
  .booking-pane { padding: 11px !important; }
  .booking-welcome-details,
  .booking-welcome-actions,
  .booking-welcome-reviews { padding-left: 10px !important; padding-right: 10px !important; }
  .appointment-editor-column { padding: 8px !important; }
  .appointment-editor-section { padding: 9px !important; }
}

/* =========================================================
   v1.18.49 - Müşteriler tablosu ad ve telefon tipografi düzeltmesi
   ========================================================= */
.customer-data-table .customer-primary-cell .customer-name-link,
.customer-data-table .customer-primary-cell .customer-name-link strong {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.customer-data-table .customer-primary-cell .customer-name-link strong {
  color: #26324e !important;
  font-weight: 600 !important;
}
.customer-data-table .customer-phone-cell strong {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #344054 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
@media (max-width: 48rem) {
  .customer-data-table .customer-primary-cell .customer-name-link,
  .customer-data-table .customer-primary-cell .customer-name-link strong,
  .customer-data-table .customer-phone-cell strong {
    font-size: 13px !important;
  }
}

/* v1.18.50 - Takvim hücresinden hızlı randevu ve personel saat kapatma */
.calendar-slot-trigger {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.calendar-slot-trigger:hover,
.calendar-slot-trigger:focus-visible {
  outline: 0;
  background: rgba(var(--primary-rgb), .08);
  box-shadow: inset 0 0 0 1px rgba(var(--primary-rgb), .22);
}
.calendar-time-block {
  position: absolute;
  z-index: 2;
  top: var(--block-top);
  left: 3px;
  right: 3px;
  height: var(--block-height);
  min-height: 24px;
  overflow: hidden;
  padding: 4px 25px 4px 7px;
  border: 1px solid #9aa5b4;
  border-left: 4px solid #64748b;
  border-radius: 5px;
  background: repeating-linear-gradient(135deg,#e9edf2 0,#e9edf2 7px,#dfe5eb 7px,#dfe5eb 14px);
  color: #475569;
  box-shadow: 0 1px 3px rgba(15,23,42,.08);
  pointer-events: auto;
}
.calendar-time-block > span,
.calendar-time-block > strong,
.calendar-time-block > small,
.calendar-time-block > em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-time-block > span { font-size: 11px; font-weight: 700; }
.calendar-time-block > strong { font-size: 12px; line-height: 1.15; }
.calendar-time-block > small { font-size: 11px; color:#64748b; }
.calendar-time-block > em { font-size: 10px; font-style:normal; color:#475569; }
.calendar-time-block-delete { position:absolute; top:3px; right:3px; margin:0; }
.calendar-time-block-delete button {
  width: 20px; height:20px; min-height:0; padding:0; border:0; border-radius:4px;
  background:rgba(255,255,255,.88); color:#64748b; font-size:15px; line-height:20px; cursor:pointer;
}
.calendar-time-block-delete button:hover { background:#fff; color:#dc2626; }

.calendar-quick-dialog {
  width: min(58rem, 96vw);
  max-width: 58rem;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  overflow: visible;
}
.calendar-quick-dialog::backdrop { background: rgba(15,23,42,.42); backdrop-filter: blur(1px); }
.calendar-quick-card {
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: visible;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15,23,42,.2);
}
.calendar-quick-head {
  min-height: 54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px 14px;
  border-bottom: 1px solid #e3e8ef;
}
.calendar-quick-head h3 { margin:0; font-size:16px; font-weight:600; color:#111827; }
.calendar-quick-head .icon-button { width:30px; height:30px; min-height:30px; font-size:18px; }
.calendar-quick-tabs {
  display:flex;
  align-items:flex-end;
  gap:0;
  margin: 14px 14px 0;
  border-bottom:1px solid #d9e0e8;
}
.calendar-quick-tabs button {
  min-height:36px;
  padding: 8px 14px;
  border:1px solid transparent;
  border-bottom:0;
  background:transparent;
  color:#536174;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.calendar-quick-tabs button.is-active {
  margin-bottom:-1px;
  border-color:#cfd8e4;
  border-top:2px solid #6d8fc0;
  border-radius:5px 5px 0 0;
  background:#fff;
  color:#334155;
}
.calendar-quick-panel { padding: 18px 18px 16px; }
.calendar-quick-panel[hidden] { display:none !important; }
.calendar-quick-form { margin:0; }
.calendar-quick-form label { margin:0; }
.calendar-quick-form label > span {
  display:block;
  margin-bottom:5px;
  color:#556274;
  font-size:12px;
  font-weight:600;
}
.calendar-quick-appointment-grid {
  display:grid;
  grid-template-columns:minmax(16rem,1.45fr) minmax(9.5rem,.62fr) minmax(8rem,.48fr);
  gap:12px;
  align-items:end;
}
.calendar-quick-customer .customer-search-field,
.calendar-quick-customer .customer-search-control { width:100%; }
.calendar-quick-note { display:block; margin-top:8px !important; }
.calendar-quick-service-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #edf0f4;
}
.calendar-quick-form input[type="text"],
.calendar-quick-form input[type="date"],
.calendar-quick-form input[type="time"],
.calendar-quick-form input[type="number"],
.calendar-quick-form select {
  width:100%;
  min-height:36px !important;
  height:36px;
  padding:6px 10px;
  border:1px solid #ccd5e1;
  border-radius:5px;
  background:#fff;
  font-size:13px;
}
.calendar-quick-submit { min-height:36px !important; margin-top:56px; font-size:13px !important; }
.calendar-block-form { max-width:none; }
.calendar-block-field-row { margin-bottom:9px; }
.calendar-block-field-row label {
  display:grid;
  grid-template-columns: 18rem minmax(0,1fr);
  align-items:center;
  gap:12px;
}
.calendar-block-field-row label > span { margin:0; color:#111827; }
.calendar-block-time-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:9px 0;
  padding-left: calc(18rem + 12px);
}
.calendar-block-time-row.is-disabled { opacity:.48; }
.calendar-switch-row {
  min-height:36px;
  display:grid;
  grid-template-columns:18rem auto;
  align-items:center;
  justify-content:start;
  gap:12px;
  margin:4px 0 !important;
}
.calendar-switch-row > span { margin:0 !important; color:#111827 !important; }
.calendar-switch-row > span small { display:inline; margin-left:6px; font-size:11px; font-weight:400; color:#7b8797; }
.calendar-switch-row input { position:absolute; opacity:0; pointer-events:none; }
.calendar-switch-row i {
  position:relative;
  width:42px; height:23px;
  border-radius:999px;
  background:#cbd3dc;
  transition:.15s ease;
  cursor:pointer;
}
.calendar-switch-row i::after {
  content:"";
  position:absolute;
  top:3px; left:3px;
  width:17px; height:17px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.18);
  transition:.15s ease;
}
.calendar-switch-row input:checked + i { background:#5b7fae; }
.calendar-switch-row input:checked + i::after { transform:translateX(19px); }
.calendar-block-form .calendar-quick-note { margin-top:14px !important; }
.calendar-block-form .calendar-quick-note input { width:100%; }
.calendar-block-form .calendar-quick-submit { margin-top:22px; }

@media (max-width: 760px) {
  .calendar-quick-dialog { width:96vw; }
  .calendar-quick-appointment-grid,
  .calendar-quick-service-row { grid-template-columns:1fr; }
  .calendar-block-field-row label { grid-template-columns:1fr; gap:4px; }
  .calendar-block-time-row { grid-template-columns:1fr 1fr; padding-left:0; }
  .calendar-switch-row { grid-template-columns:1fr auto; }
  .calendar-quick-submit { margin-top:24px; }
}

/* v1.18.51 - Takvim hızlı işlem penceresi: çoklu hizmet ve gelişmiş tekrarlama */
.calendar-quick-customer .customer-search-input { padding-left: 10px !important; }
.calendar-quick-service-section {
  display: grid;
  grid-template-columns: minmax(12rem,.9fr) minmax(0,1.55fr);
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #edf0f4;
  align-items: start;
}
.calendar-quick-staff-field { grid-row: 1 / span 2; }
.calendar-quick-service-list { display:grid; gap:8px; min-width:0; }
.calendar-quick-service-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px;
  gap:7px;
  align-items:end;
}
.calendar-quick-service-item label { min-width:0; }
.calendar-service-remove {
  width:30px;
  height:36px;
  min-height:36px;
  padding:0;
  border:1px solid #e2e8f0;
  border-radius:5px;
  background:#fff;
  color:#94a3b8;
  font-size:18px;
  cursor:pointer;
}
.calendar-service-remove:hover { border-color:#fecaca; background:#fff1f2; color:#dc2626; }
.calendar-add-service-button {
  width:30px;
  height:36px;
  min-height:36px;
  padding:0;
  border:1px solid #b9c8da;
  border-radius:5px;
  background:#f2f7fc;
  color:#315f8e;
  font-size:20px;
  line-height:1;
  font-weight:600;
  cursor:pointer;
}
.calendar-add-service-button:hover,
.calendar-add-service-button:focus-visible { border-color:#7f9fbe; background:#e8f1fa; color:#214f7d; }
.calendar-add-service-button:disabled { opacity:.45; cursor:not-allowed; }
.calendar-repeat-switch { margin-top: 14px !important; }
.calendar-repeat-config {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(8rem,.55fr);
  gap:12px;
  margin:8px 0 0;
  padding-left:calc(18rem + 12px);
}
.calendar-repeat-config[hidden],
.calendar-repeat-weekdays[hidden] { display:none !important; }
.calendar-repeat-weekdays {
  display:grid;
  grid-template-columns:18rem minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin-top:8px;
}
.calendar-repeat-weekdays > span { color:#111827; font-size:12px; font-weight:600; }
.calendar-repeat-weekdays > div { display:flex; flex-wrap:wrap; gap:6px; }
.calendar-repeat-weekdays label { position:relative; margin:0 !important; }
.calendar-repeat-weekdays input { position:absolute; opacity:0; pointer-events:none; }
.calendar-repeat-weekdays b {
  display:grid;
  place-items:center;
  min-width:38px;
  height:30px;
  padding:0 8px;
  border:1px solid #d6dee9;
  border-radius:5px;
  background:#fff;
  color:#475569;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
}
.calendar-repeat-weekdays input:checked + b { border-color:#5b7fae; background:#edf4ff; color:#315b91; }
.calendar-quick-submit { margin-top:22px !important; }

@media (max-width:760px) {
  .calendar-quick-service-section { grid-template-columns:1fr; }
  .calendar-quick-staff-field { grid-row:auto; }
  .calendar-repeat-config { grid-template-columns:1fr; padding-left:0; }
  .calendar-repeat-weekdays { grid-template-columns:1fr; gap:5px; }
}

/* v1.18.52 - Tekrarlayan randevularda kapalı gün onayı */
.calendar-warning-dialog {
  width: min(31rem, 92vw);
  max-width: 31rem;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
}
.calendar-warning-dialog::backdrop {
  background: rgba(15,23,42,.48);
  backdrop-filter: blur(1px);
}
.calendar-warning-card {
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(15,23,42,.24);
}
.calendar-warning-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #e4e9f0;
}
.calendar-warning-head h3 {
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 700;
  color: #a16207;
}
.calendar-warning-head p {
  margin: 0;
  font-size: 12px;
  color: #64748b;
}
.calendar-warning-body {
  padding: 15px 16px;
  font-size: 13px;
  color: #1f2937;
}
.calendar-warning-message {
  margin-bottom: 10px;
  font-weight: 600;
}
.calendar-warning-dates {
  max-height: 12rem;
  overflow-y: auto;
  margin: 0 0 13px;
  border: 1px solid #f0dfb5;
  border-radius: 6px;
  background: #fffaf0;
}
.calendar-warning-dates:empty { display: none; }
.calendar-warning-dates > div {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-bottom: 1px solid #f4e7c8;
}
.calendar-warning-dates > div:last-child { border-bottom: 0; }
.calendar-warning-dates strong { font-size: 13px; color: #92400e; }
.calendar-warning-dates span { font-size: 12px; color: #6b7280; }
.calendar-warning-body > strong {
  display: block;
  font-size: 13px;
  color: #111827;
}
.calendar-warning-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 11px 16px 14px;
  border-top: 1px solid #e4e9f0;
  background: #fafbfc;
}
.calendar-warning-actions .btn {
  min-width: 82px;
  min-height: 34px;
}


/* v1.18.53 - Metin alanlarında yalnızca alan içeriği gösterilir. */
/* Uygulama tarafından eklenen dekoratif alan simgeleri gizlenir. */
.customer-search-icon,
.booking-input-wrap > svg,
.booking-select-wrap > svg,
.booking-textarea-wrap > svg {
  display: none !important;
}

/* Simge için ayrılmış eski boşlukları kaldır. */
.customer-search-input,
.booking-input-wrap input,
.booking-input-wrap textarea,
.booking-select-wrap select {
  padding-left: .72rem !important;
}
.customer-search-input {
  padding-right: 2.35rem;
}
.booking-input-wrap textarea {
  padding-top: .72rem;
}

/* Tarayıcının metin alanlarının içine eklediği dekoratif arama / tarih / saat işaretlerini kaldır.
   Tarih alanı yine alanın tamamına tıklanınca showPicker() ile açılır; saat alanında özel analog seçici kullanılır. */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration,
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sayısal alanlardaki tarayıcı spin ikonlarını da kaldır; değer klavye ile girilmeye devam eder. */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}
input[type="number"] {
  -moz-appearance: textfield;
}

/* Eski Edge/IE alan içi temizleme ve parola gösterme işaretleri. */
input::-ms-clear,
input::-ms-reveal {
  display: none !important;
}

/* Otomatik doldurma sağlayıcılarının alan içine yerleştirdiği dekoratif yardımcı düğmeleri gizle. */
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}


/* v1.18.54 - Açılır seçim alanlarında arama + en fazla 4 görünür satır standardı */
.rp-search-select {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  font: inherit;
}
.rp-search-select-native {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.rp-search-select-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 5px 34px 5px 10px;
  border: 1px solid #ccd5e1;
  border-radius: 5px;
  background: #fff;
  color: #273142;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}
.rp-search-select-trigger:hover { border-color: #aebbd0; }
.rp-search-select-trigger:focus-visible {
  outline: 0;
  border-color: #6b8fbd;
  box-shadow: 0 0 0 2px rgba(91,127,174,.14);
}
.rp-search-select-trigger-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rp-search-select-arrow {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.5px solid #475569;
  border-bottom: 1.5px solid #475569;
  transform: rotate(45deg);
  pointer-events: none;
}
.rp-search-select.is-disabled .rp-search-select-trigger {
  background: #f4f6f8;
  color: #94a3b8;
  cursor: not-allowed;
}
.rp-search-select.is-invalid .rp-search-select-trigger { border-color: #dc2626; }
.rp-search-select-dropdown {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 4px);
  left: 0;
  width: max(100%, 220px);
  min-width: 100%;
  overflow: hidden;
  border: 1px solid #cfd7e2;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.16);
}
.rp-search-select-searchbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) 36px;
  gap: 0;
  padding: 10px;
  border-bottom: 1px solid #e5e9ef;
  background: #f7f9fb;
}
.rp-search-select-search {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  border: 1px solid #cbd4df !important;
  border-right: 0 !important;
  border-radius: 4px 0 0 4px !important;
  background: #fff !important;
  color: #1f2937 !important;
  font: 400 13px/1.2 Arial, "Helvetica Neue", sans-serif !important;
  box-shadow: none !important;
}
.rp-search-select-search:focus { outline: 0; border-color: #7393ba !important; }
.rp-search-select-search-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid #cbd4df;
  border-radius: 0 4px 4px 0;
  background: #fff;
  color: #24405e;
  cursor: pointer;
}
.rp-search-select-search-button:hover { background: #eef4fa; }
.rp-search-select-search-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}
.rp-search-select-results {
  --rp-select-row-height: 36px;
  max-height: calc(var(--rp-select-row-height) * var(--rp-select-visible-rows, 4));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
}
.rp-search-select-option {
  display: grid;
  align-content: center;
  gap: 1px;
  width: 100%;
  min-height: var(--rp-select-row-height);
  padding: 6px 10px;
  border: 0;
  border-bottom: 1px solid #eef1f5;
  border-radius: 0;
  background: #fff;
  color: #263447;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}
.rp-search-select-option:last-child { border-bottom: 0; }
.rp-search-select-option:hover,
.rp-search-select-option.is-active { background: #edf4fb; }
.rp-search-select-option.is-selected { background: #e6f0fb; color: #234f7d; font-weight: 600; }
.rp-search-select-option-main {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rp-search-select-option small {
  overflow: hidden;
  color: #7a8797;
  font-size: 10px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rp-search-select-empty {
  padding: 10px;
  color: #7b8797;
  font-size: 12px;
  text-align: center;
}

/* Müşteri ve paket aramalarında da açılır bölüm dört satırı geçmez. */
.customer-search-results {
  max-height: 12.4rem !important;
}
.customer-search-result {
  min-height: 2.85rem;
}

/* Takvim yeni randevu penceresinde müşteri seçimi tarih/saat satırını aşağı itmesin. */
.calendar-quick-customer .customer-search-selection { display: none !important; }
.calendar-quick-customer { min-width: 0; }
.calendar-quick-customer .customer-search-dropdown { z-index: 1300; }
.calendar-quick-appointment-grid { align-items: start; }
.calendar-quick-date,
.calendar-quick-time { align-self: start; }

/* Takvim hızlı işlem penceresindeki özelleştirilmiş selectler mevcut 36px yüksekliğe uysun. */
.calendar-quick-form .rp-search-select-trigger {
  min-height: 36px;
  height: 36px;
}
.calendar-quick-form .rp-search-select-dropdown { z-index: 1350; }

@media (max-width: 760px) {
  .rp-search-select-dropdown { width: 100%; min-width: 100%; }
}


/* v1.18.56 - Müşteri borç/tahsilat görünümü */
.customer-debt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.customer-debt-summary>div{display:grid;gap:.18rem;padding:.7rem .8rem;border:1px solid #e6e9f2;border-radius:.65rem;background:#fafbfe}
.customer-debt-summary small{font-size:12px;color:#727b8f}.customer-debt-summary strong{font-size:14px;color:#1e2944}
.customer-debt-table{min-width:1120px}.customer-debt-table th{white-space:nowrap}.customer-debt-table td{vertical-align:middle}
.debt-type{display:inline-flex;align-items:center;min-width:4.4rem;justify-content:center;padding:.22rem .48rem;border-radius:.45rem;font-size:12px;font-weight:600;background:#f0f2f7;color:#475169}
.debt-type-appointment{background:var(--primary-soft);color:var(--primary-deep)}.debt-type-product_sale{background:#eef9f2;color:#26764a}.debt-type-package{background:#fff5e8;color:#9a5c0c}
.debt-paid{color:#14804a}.debt-balance{color:#c13939}.debt-zero{color:#778096}
.customer-debt-table .money-input{min-width:8rem}.customer-debt-table input[type=date]{min-width:9.5rem}
.debt-created-user{display:block;font-weight:600;color:#273149}.customer-debt-table td small{display:block;margin-top:.12rem;color:#7b8496;font-size:12px}
.debt-plan-actions{display:flex;align-items:center;gap:.3rem}.customer-debt-note{margin:0}
@media(max-width:60rem){.customer-debt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:36rem){.customer-debt-summary{grid-template-columns:1fr}}


/* v1.18.57 - Kapalı gün takvimi etkileşime açık */
.calendar-closed-status {
  flex: 1 1 100%;
  padding: .42rem .62rem;
  border: .0625rem solid #fecaca;
  border-radius: .42rem;
  background: #fff7f7;
  color: #991b1b;
  line-height: 1.35;
}
.calendar-closed-status strong { color: #7f1d1d; }

/* v1.18.58 - Kapalı günlerde boş takvim hücreleri de yönetim işlemlerine açıktır. */


/* v1.18.59 - Sistem genelinde anlık randevu çakışması uyarı penceresi */
.conflict-alert-dialog {
  width: min(94vw, 48rem);
  max-width: 48rem;
  max-height: 90vh;
  padding: 0;
  border: 0;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .28);
  color: #263447;
}
.conflict-alert-dialog::backdrop {
  background: rgba(15, 23, 42, .54);
  backdrop-filter: blur(2px);
}
.conflict-alert-card { display: grid; max-height: 88vh; background: #fff; }
.conflict-alert-head {
  display: grid;
  grid-template-columns: 2.5rem minmax(0,1fr) 2rem;
  gap: .7rem;
  align-items: center;
  padding: .9rem 1rem;
  border-bottom: 1px solid #fee2e2;
  background: #fff7f7;
}
.conflict-alert-icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: #dc2626;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
}
.conflict-alert-head h2 { margin: 0; color: #991b1b; font-size: 18px; font-weight: 700; }
.conflict-alert-head p { margin: .18rem 0 0; color: #6b3440; font-size: 13px; line-height: 1.35; }
.conflict-alert-close {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: .4rem;
  background: transparent;
  color: #7f1d1d;
  font-size: 1.35rem;
  cursor: pointer;
}
.conflict-alert-close:hover { background: #fee2e2; }
.conflict-alert-list { display: grid; gap: .65rem; padding: .8rem; overflow-y: auto; }
.conflict-alert-item { border: 1px solid #e6e9ef; border-radius: .65rem; background: #fff; overflow: hidden; }
.conflict-alert-item-head {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: flex-start;
  padding: .6rem .75rem;
  border-bottom: 1px solid #edf0f4;
  background: #f8fafc;
}
.conflict-alert-item-head > div { display: flex; flex-wrap: wrap; gap: .25rem .55rem; align-items: baseline; }
.conflict-alert-item-head strong { color: #1f3f61; font-size: 14px; }
.conflict-alert-item-head span,
.conflict-alert-item-head time { color: #6b7585; font-size: 12px; }
.conflict-alert-appointments { display: grid; padding: .15rem .75rem .45rem; }
.conflict-alert-appointment {
  display: grid;
  grid-template-columns: 6.3rem minmax(0,1fr) auto;
  gap: .65rem;
  align-items: center;
  min-height: 3.3rem;
  padding: .55rem 0;
}
.conflict-alert-time { color: #b42318; font-size: 14px; white-space: nowrap; }
.conflict-alert-person { display: grid; min-width: 0; gap: .1rem; }
.conflict-alert-person b { overflow: hidden; color: #1d4f7a; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.conflict-alert-person span { overflow: hidden; color: #5e6979; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.conflict-alert-phone { color: #1d69a5; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.conflict-alert-phone:hover { text-decoration: underline; }
.conflict-alert-phone.is-empty { color: #929baa; font-weight: 400; }
.conflict-alert-versus {
  position: relative;
  display: flex;
  align-items: center;
  gap: .45rem;
  color: #b42318;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}
.conflict-alert-versus::before,
.conflict-alert-versus::after { content: ''; flex: 1; height: 1px; background: #fecaca; }
.conflict-alert-message { margin: .65rem 0 .2rem; color: #4b5565; font-size: 13px; line-height: 1.45; }
.conflict-alert-item-actions { display: flex; justify-content: flex-end; padding: .2rem .75rem .65rem; }
.conflict-alert-actions {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  padding: .75rem 1rem;
  border-top: 1px solid #e7eaf0;
  background: #fff;
}
@media (max-width: 40rem) {
  .conflict-alert-dialog { width: 96vw; max-height: 94vh; }
  .conflict-alert-card { max-height: 92vh; }
  .conflict-alert-head { grid-template-columns: 2.2rem minmax(0,1fr) 1.8rem; padding: .75rem; }
  .conflict-alert-appointment { grid-template-columns: 5.5rem minmax(0,1fr); gap: .45rem; }
  .conflict-alert-phone { grid-column: 2; }
  .conflict-alert-item-head { display: grid; }
  .conflict-alert-actions { flex-direction: column-reverse; }
  .conflict-alert-actions .btn { width: 100%; }
}

/* v1.18.60 - Randevu onay kuyruğu */
.pending-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.pending-page-head h1{margin:0;color:#21364b;font-size:26px;font-weight:600}.pending-page-head h1 span{color:#6c7a89;font-size:15px}.pending-page-head p{margin:.25rem 0 0;color:#667585;font-size:13px}.pending-filter-panel{margin-bottom:.75rem}.pending-filter-form{display:flex;align-items:flex-end;gap:.55rem;flex-wrap:wrap}.pending-filter-form label{display:grid;gap:.25rem;min-width:135px}.pending-filter-form label:first-child{flex:1;min-width:220px}.pending-appointment-list{display:grid;gap:.7rem}.pending-appointment-card{overflow:hidden;border:1px solid #dfe5ec;border-radius:.75rem;background:#fff;box-shadow:0 2px 8px rgba(27,48,70,.05)}.pending-appointment-card.is-focused{border-color:#2d77b5;box-shadow:0 0 0 3px rgba(45,119,181,.14)}.pending-appointment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border-bottom:1px solid #e8edf2;background:#f9fbfd}.pending-appointment-card-head h2{margin:.32rem 0 .08rem;color:#1f4f77;font-size:16px}.pending-appointment-card-head a{color:#1d69a5;font-size:13px;text-decoration:none}.pending-appointment-time{display:grid;justify-items:end;gap:.1rem;color:#34495e}.pending-appointment-time strong{font-size:14px}.pending-appointment-time span{font-size:13px}.pending-appointment-body{display:grid;gap:.38rem;padding:.75rem .9rem}.pending-detail-row{display:grid;grid-template-columns:125px minmax(0,1fr);gap:.5rem;align-items:start;font-size:13px}.pending-detail-row>strong{color:#4d5d6c;font-size:12px}.pending-detail-row>span,.pending-detail-row>div{color:#273849}.pending-services-row>div{display:grid;gap:.25rem}.pending-services-row>div span{display:block;padding:.32rem .45rem;border:1px solid #e5eaf0;border-radius:.4rem;background:#fafbfd}.pending-appointment-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.65rem .9rem;border-top:1px solid #e8edf2;background:#fcfdfe}.pending-appointment-actions form{margin:0}.sidebar-pending-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:auto;padding:0 .3rem;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:700}
@media(max-width:760px){.pending-page-head{display:grid}.pending-page-head .btn{width:100%}.pending-filter-form{display:grid;grid-template-columns:1fr 1fr}.pending-filter-form label,.pending-filter-form label:first-child{min-width:0}.pending-filter-form label:first-child{grid-column:1/-1}.pending-appointment-card-head{display:grid}.pending-appointment-time{justify-items:start}.pending-detail-row{grid-template-columns:1fr;gap:.12rem}.pending-appointment-actions{display:grid;grid-template-columns:1fr 1fr}.pending-appointment-actions .btn{width:100%}}

/* v1.18.60 - Her yeni randevu için sistem içi onay bildirimi */
.pending-alert-dialog{width:min(620px,94vw);max-height:90vh;padding:0;border:0;border-radius:.8rem;background:transparent;box-shadow:0 24px 70px rgba(24,45,68,.28)}.pending-alert-dialog::backdrop{background:rgba(21,35,51,.45);backdrop-filter:blur(2px)}.pending-alert-card{display:grid;max-height:88vh;overflow:hidden;border:1px solid #d8e3ee;border-radius:.8rem;background:#fff}.pending-alert-head{display:grid;grid-template-columns:2.45rem minmax(0,1fr) 2rem;align-items:center;gap:.65rem;padding:.8rem .9rem;border-bottom:1px solid #dfe8f0;background:#eef7ff}.pending-alert-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:#1d69a5;color:#fff;font-size:17px}.pending-alert-head h2{margin:0;color:#174f7d;font-size:18px;font-weight:700}.pending-alert-head p{margin:.18rem 0 0;color:#4d6d88;font-size:13px}.pending-alert-close{display:grid;place-items:center;width:1.9rem;height:1.9rem;padding:0;border:0;border-radius:50%;background:transparent;color:#5b6b79;font-size:20px;cursor:pointer}.pending-alert-close:hover{background:#dceeff}.pending-alert-list{display:grid;gap:.6rem;padding:.75rem;overflow-y:auto}.pending-alert-item{border:1px solid #dfe6ed;border-radius:.65rem;background:#fff}.pending-alert-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.65rem .75rem;border-bottom:1px solid #edf1f5;background:#fbfdff}.pending-alert-item-head strong{display:block;color:#1d4f7a;font-size:14px}.pending-alert-item-head span,.pending-alert-item-head time{color:#6d7b89;font-size:12px}.pending-alert-body{display:grid;gap:.28rem;padding:.65rem .75rem}.pending-alert-line{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.45rem;font-size:13px}.pending-alert-line b{color:#5b6977;font-size:12px}.pending-alert-line a{color:#1d69a5;text-decoration:none}.pending-alert-services{display:flex;flex-wrap:wrap;gap:.25rem}.pending-alert-services span{padding:.18rem .35rem;border-radius:.3rem;background:#eef5fb;color:#315873;font-size:12px}.pending-alert-item-actions{display:flex;justify-content:flex-end;padding:.2rem .75rem .65rem}.pending-alert-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.7rem .8rem;border-top:1px solid #dfe6ed;background:#fafcfe}@media(max-width:640px){.pending-alert-dialog{width:96vw}.pending-alert-head{grid-template-columns:2.2rem minmax(0,1fr) 1.8rem}.pending-alert-line{grid-template-columns:1fr;gap:.08rem}.pending-alert-actions{display:grid;grid-template-columns:1fr 1fr}.pending-alert-actions .btn{width:100%}}

/* v1.18.61 - Yeni randevu penceresi eski form düzenine döndürüldü. */
#appointmentCreateDialog select[name="status_display"]{opacity:1;color:#263746;background:#fff;cursor:default}

/* v1.18.62 - Takvim hızlı randevuda hizmet ekleme düğmesi alanın yanına taşındı. */
.calendar-quick-service-item > .calendar-add-service-button,
.calendar-quick-service-item > .calendar-service-remove { align-self:end; }


/* v1.18.63 - Kilitlenebilir, daralabilir ve sıralanabilir sol menü */
:root {
  --rp-sidebar-expanded-width: 15.25rem;
  --rp-sidebar-collapsed-width: 4.5rem;
}
.app-shell {
  grid-template-columns: var(--rp-sidebar-expanded-width) minmax(0, 1fr);
  transition: grid-template-columns .2s ease;
}
.sidebar {
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
  transition: width .2s ease, box-shadow .2s ease;
}
.sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 46px;
  padding: 0 4px 10px;
}
.sidebar-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  min-width: 0;
}
.sidebar-head .brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}
.sidebar-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  margin-left: auto;
}
.sidebar-head-button {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 7px;
  background: rgba(255,255,255,.055);
  color: #b9c4d5;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.sidebar-head-button:hover,
.sidebar-head-button[aria-pressed="true"][data-sidebar-order-toggle] {
  border-color: rgba(255,255,255,.28);
  background: var(--sidebar-hover);
  color: #fff;
}
.sidebar-head-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sidebar-lock-open { display: none; }
.sidebar-head-button[data-sidebar-pin-toggle][aria-pressed="false"] .sidebar-lock-closed { display: none; }
.sidebar-head-button[data-sidebar-pin-toggle][aria-pressed="false"] .sidebar-lock-open { display: block; }
.sidebar-order-hint {
  width: calc(100% - 8px);
  max-width: calc(100% - 8px);
  margin: -2px 4px 8px;
  padding: 6px 8px;
  border: 1px dashed rgba(255,255,255,.22);
  border-radius: 6px;
  color: #c8d1df;
  background: rgba(255,255,255,.045);
  font-size: 11px;
  line-height: 1.35;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.nav-link {
  position: relative;
  overflow: hidden;
}
.nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  width: 26px;
  min-width: 26px;
  height: 24px;
  color: currentColor;
  font-size: 19px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
.nav-icon-text {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.nav-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity .12s ease;
}
.app-shell.is-sidebar-collapsed,
html.rp-sidebar-collapsed-pref .app-shell {
  grid-template-columns: var(--rp-sidebar-collapsed-width) minmax(0, 1fr);
}
.app-shell.is-sidebar-collapsed .sidebar,
html.rp-sidebar-collapsed-pref .app-shell .sidebar {
  width: var(--rp-sidebar-collapsed-width);
}
.app-shell.is-sidebar-collapsed .sidebar:hover,
.app-shell.is-sidebar-collapsed .sidebar.is-ordering,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:hover,
html.rp-sidebar-collapsed-pref .app-shell .sidebar.is-ordering {
  width: var(--rp-sidebar-expanded-width);
  box-shadow: 14px 0 32px rgba(15,23,42,.25);
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-label,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-label {
  width: 0;
  opacity: 0;
  visibility: hidden;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-submenu,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-submenu {
  display: none !important;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-order-hint,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-order-hint {
  display: none !important;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-pending-count,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-pending-count {
  position: absolute;
  top: 2px;
  left: 31px;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  font-size: 9px;
}
.sidebar.is-ordering [data-menu-key] {
  position: relative;
  border: 1px dashed rgba(164,180,204,.42);
  border-radius: 8px;
  cursor: grab;
  user-select: none;
  transition: transform .14s ease, margin .14s ease, min-height .14s ease, background .14s ease, border-color .14s ease;
}
.sidebar.is-ordering [data-menu-key]:active { cursor: grabbing; }
.sidebar.is-ordering [data-menu-key].is-dragging {
  display: block;
  min-height: var(--sidebar-drag-height, 42px);
  height: var(--sidebar-drag-height, 42px);
  overflow: hidden;
  border: 1px solid #64748b;
  background: #202b3d;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.18), 0 5px 12px rgba(0,0,0,.16);
  color: transparent !important;
  cursor: grabbing;
}
.sidebar.is-ordering [data-menu-key].is-dragging > * {
  opacity: 0;
  pointer-events: none;
}
.sidebar.is-ordering [data-menu-key].is-dragging::after {
  content: "Buraya bırakın";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0 10px;
  color: #d8e0ec;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
  text-align: center;
  pointer-events: none;
}
.sidebar.is-ordering .nav-submenu { display: none !important; pointer-events: none; }

@media (max-width: 51.25em) {
  .app-shell,
  .app-shell.is-sidebar-collapsed,
  html.rp-sidebar-collapsed-pref .app-shell {
    grid-template-columns: 1fr;
  }
  .app-shell.is-sidebar-collapsed .sidebar,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar,
  .app-shell.is-sidebar-collapsed .sidebar:hover,
  .app-shell.is-sidebar-collapsed .sidebar.is-ordering,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:hover,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar.is-ordering {
    width: min(82%, 18rem);
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-label,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-label {
    width: auto;
    opacity: 1;
    visibility: visible;
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-submenu,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-submenu {
    display: none;
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-group.open .nav-submenu,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-group.open .nav-submenu {
    display: grid;
  }
  .sidebar-head { padding-inline: 2px; }
}


/* v1.18.64 - Dar menü yalnız logo ve sayfa simgelerini gösterir. */
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering),
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) {
  padding-inline: 8px;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-head,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-head {
  justify-content: center;
  gap: 0;
  padding-inline: 0;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-logo-link,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-logo-link {
  width: 100%;
  justify-content: center;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-head-actions,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-head-actions {
  display: none;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-link,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-link {
  justify-content: center;
  gap: 0;
  padding-inline: 0;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-icon,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-icon {
  flex-basis: 28px;
  width: 28px;
  min-width: 28px;
}
.app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-pending-count,
html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-pending-count {
  top: 1px;
  left: 32px;
}
@media (max-width: 51.25em) {
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-head-actions,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-head-actions {
    display: flex;
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-head,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-head {
    justify-content: space-between;
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .sidebar-logo-link,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .sidebar-logo-link {
    width: auto;
    justify-content: flex-start;
  }
  .app-shell.is-sidebar-collapsed .sidebar:not(:hover):not(.is-ordering) .nav-link,
  html.rp-sidebar-collapsed-pref .app-shell .sidebar:not(:hover):not(.is-ordering) .nav-link {
    justify-content: flex-start;
    gap: 8px;
    padding-inline: 9px;
  }
}


/* v1.18.65 - Takvim hızlı randevu ek alanları ve silinen randevular */
.calendar-quick-meta-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.calendar-quick-meta-grid select:disabled {
  opacity:1;
  color:#475569;
  background:#f8fafc;
}
.calendar-quick-note-before-submit { margin-top:14px !important; }
.calendar-quick-note-before-submit input { width:100%; }
.deleted-appointments-table { min-width:1120px; }
.deleted-appointment-customer small,
.deleted-appointment-service small { display:block; margin-top:2px; color:#7b8797; }
.deleted-appointment-restore-disabled { color:#a16207; font-size:12px; }
@media (max-width:760px) {
  .calendar-quick-meta-grid { grid-template-columns:1fr; }
}

/* v1.18.66 - Takvim hızlı randevu penceresi alan yerleşimi */
.calendar-quick-appointment-grid {
  grid-template-columns: minmax(17rem, 22rem) minmax(1rem, 1fr) 10.5rem 7.75rem;
  column-gap: 6px;
  row-gap: 10px;
  align-items: end;
}
.calendar-quick-customer {
  grid-column: 1;
  width: 100%;
  max-width: 22rem;
}
.calendar-quick-date {
  grid-column: 3;
  width: 10.5rem;
  justify-self: end;
}
.calendar-quick-time {
  grid-column: 4;
  width: 7.75rem;
  justify-self: end;
}
.calendar-quick-date input,
.calendar-quick-time input { width: 100% !important; }

.calendar-quick-status-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.calendar-quick-status-field select:disabled {
  opacity: 1;
  color: #475569;
  background: #f1f4f7;
  cursor: not-allowed;
}

.calendar-repeat-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 16px;
  margin-top: 12px;
}
.calendar-repeat-price-row .calendar-repeat-switch {
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  gap: 10px;
  min-height: 36px;
  margin: 0 !important;
}
.calendar-quick-price-field {
  display: block;
  width: 10.75rem;
  justify-self: end;
}
.calendar-money-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.25rem;
  width: 10.75rem;
  height: 36px;
  overflow: hidden;
  border: 1px solid #ccd5e1;
  border-radius: 5px;
  background: #fff;
}
.calendar-money-input:focus-within {
  border-color: #6b8fbd;
  box-shadow: 0 0 0 2px rgba(91, 127, 174, .14);
}
.calendar-quick-form .calendar-money-input input {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: right;
}
.calendar-money-input b {
  display: grid;
  place-items: center;
  border-left: 1px solid #d6dee9;
  background: #f7faf8;
  color: #15803d;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .calendar-quick-appointment-grid {
    grid-template-columns: minmax(14rem, 1fr) 9.75rem 7.25rem;
    gap: 7px;
  }
  .calendar-quick-customer { grid-column: 1; max-width: none; }
  .calendar-quick-date { grid-column: 2; width: 9.75rem; }
  .calendar-quick-time { grid-column: 3; width: 7.25rem; }
}

@media (max-width: 760px) {
  .calendar-quick-appointment-grid {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .calendar-quick-customer { grid-column: 1 / -1; width: 100%; }
  .calendar-quick-date { grid-column: 1; width: 100%; justify-self: stretch; }
  .calendar-quick-time { grid-column: 2; width: 100%; justify-self: stretch; }
  .calendar-quick-status-source-grid { grid-template-columns: 1fr; }
  .calendar-repeat-price-row { grid-template-columns: 1fr auto; gap: 10px; }
  .calendar-quick-price-field,
  .calendar-money-input { width: 9.75rem; }
}

/* v1.18.67 - Takvim hızlı randevuda Personel / Hizmet / Süre / Tutar satırı */
.calendar-quick-service-section {
  grid-template-columns: 9.6rem minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}
.calendar-quick-staff-field {
  grid-row: 1;
  width: 100%;
  min-width: 0;
}
.calendar-quick-service-list {
  gap: 5px;
  min-width: 0;
}
.calendar-quick-service-item {
  grid-template-columns: minmax(12rem, 1fr) 6.5rem 9rem 30px;
  gap: 6px;
  align-items: end;
  min-width: 0;
}
.calendar-quick-service-item > label {
  min-width: 0;
  width: 100%;
}
.calendar-quick-service-item:not(:first-child) > label > span:first-child {
  display: none;
}
.calendar-quick-service-item:not(:first-child) {
  margin-top: 0;
}
.calendar-quick-service-item .rp-search-select,
.calendar-quick-service-item .rp-select-trigger {
  width: 100%;
  min-width: 0;
}
.calendar-unit-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.2rem;
  width: 100%;
  height: 36px;
  overflow: hidden;
  border: 1px solid #ccd5e1;
  border-radius: 5px;
  background: #fff;
}
.calendar-unit-input:focus-within {
  border-color: #6b8fbd;
  box-shadow: 0 0 0 2px rgba(91,127,174,.14);
}
.calendar-quick-form .calendar-unit-input input {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: right;
}
.calendar-unit-input b {
  display: grid;
  place-items: center;
  border-left: 1px solid #d6dee9;
  background: #f7faf8;
  color: #15803d;
  font-size: 12px;
  font-weight: 700;
}
.calendar-service-duration-field .calendar-unit-input b { color: #526174; }
.calendar-repeat-price-row {
  grid-template-columns: minmax(0, 1fr) 8.75rem 10.75rem;
  gap: 10px;
}
.calendar-quick-duration-total-field {
  width: 8.75rem;
  justify-self: end;
}
.calendar-total-duration-input {
  width: 8.75rem;
  grid-template-columns: minmax(0,1fr) 2.25rem;
}
.calendar-total-duration-input b { color: #526174; }
.calendar-quick-price-field { width: 10.75rem; }
.calendar-quick-form [data-calendar-appointment-price][readonly],
.calendar-quick-form [data-calendar-appointment-duration-total][readonly] {
  background: #fff !important;
  color: #111827;
  cursor: default;
}

@media (max-width: 900px) {
  .calendar-quick-service-section { grid-template-columns: 8.5rem minmax(0,1fr); }
  .calendar-quick-service-item { grid-template-columns: minmax(9rem,1fr) 5.75rem 8rem 30px; gap:5px; }
}
@media (max-width: 760px) {
  .calendar-quick-service-section { grid-template-columns: 1fr; gap:8px; }
  .calendar-quick-staff-field { grid-row:auto; }
  .calendar-quick-service-item { grid-template-columns: minmax(0,1fr) 5.75rem 8rem 30px; }
  .calendar-repeat-price-row { grid-template-columns: minmax(0,1fr) 8.25rem 9.5rem; gap:7px; }
  .calendar-quick-duration-total-field,
  .calendar-total-duration-input { width:8.25rem; }
  .calendar-quick-price-field,
  .calendar-money-input { width:9.5rem; }
}
@media (max-width: 560px) {
  .calendar-quick-service-item {
    grid-template-columns: minmax(0,1fr) 30px;
    grid-template-areas:
      "service action"
      "duration price";
    gap:5px;
  }
  .calendar-service-field { grid-area:service; }
  .calendar-service-duration-field { grid-area:duration; }
  .calendar-service-price-field { grid-area:price; }
  .calendar-add-service-button,
  .calendar-service-remove { grid-area:action; }
  .calendar-quick-service-item:first-child .calendar-service-duration-field,
  .calendar-quick-service-item:first-child .calendar-service-price-field { margin-top:4px; }
  .calendar-quick-service-item:not(:first-child) { padding-top:4px; border-top:1px dashed #e5e7eb; }
  .calendar-repeat-price-row { grid-template-columns: 1fr 1fr; }
  .calendar-repeat-switch { grid-column:1 / -1; }
  .calendar-quick-duration-total-field,
  .calendar-total-duration-input,
  .calendar-quick-price-field,
  .calendar-money-input { width:100%; }
}

/* v1.18.68 - Takvim hızlı randevuda personel grupları ve sıkı hizmet satırları */
.calendar-quick-dialog {
  width: min(66rem, 96vw);
  max-width: 66rem;
}
.calendar-quick-service-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #edf0f4;
}
.calendar-quick-staff-group {
  min-width: 0;
}
.calendar-quick-staff-group + .calendar-quick-staff-group {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px dashed #d9e1eb;
}
.calendar-quick-service-list {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.calendar-quick-service-item {
  display: grid;
  grid-template-columns: 14.9rem minmax(10rem, 1fr) 5.2rem 7.2rem 64px;
  gap: 6px;
  align-items: end;
  min-width: 0;
  margin: 0;
}
.calendar-service-staff-slot {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  min-width: 0;
}
.calendar-service-staff-slot--empty {
  min-height: 36px;
}
.calendar-quick-staff-field {
  flex: 0 0 10.55rem;
  width: 10.55rem;
  min-width: 0;
}
.calendar-quick-staff-field .rp-search-select,
.calendar-quick-staff-field .rp-select-trigger,
.calendar-quick-staff-field select {
  width: 100%;
  min-width: 0;
}
.calendar-add-staff-button,
.calendar-remove-staff-button {
  flex: 0 0 30px;
  width: 30px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid #b9c8da;
  border-radius: 5px;
  background: #f2f7fc;
  color: #315f8e;
  font-size: 20px;
  line-height: 1;
  font-weight: 600;
  cursor: pointer;
}
.calendar-remove-staff-button {
  border-color: #e2e8f0;
  background: #fff;
  color: #94a3b8;
  font-size: 18px;
}
.calendar-add-staff-button:hover,
.calendar-add-staff-button:focus-visible {
  border-color: #7f9fbe;
  background: #e8f1fa;
  color: #214f7d;
}
.calendar-remove-staff-button:hover,
.calendar-remove-staff-button:focus-visible {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
}
.calendar-add-staff-button:disabled { opacity: .45; cursor: not-allowed; }
.calendar-service-actions {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 4px;
  width: 64px;
  min-width: 64px;
  height: 36px;
}
.calendar-service-actions .calendar-add-service-button,
.calendar-service-actions .calendar-service-remove {
  flex: 0 0 30px;
  align-self: stretch;
  margin: 0;
}
.calendar-quick-service-item > label,
.calendar-quick-service-item .calendar-unit-input,
.calendar-quick-service-item .rp-search-select,
.calendar-quick-service-item .rp-select-trigger {
  min-width: 0;
  width: 100%;
}
.calendar-quick-service-item:not(:first-child) > label > span:first-child,
.calendar-quick-service-item:not(:first-child) .calendar-service-staff-slot {
  display: none;
}
.calendar-quick-service-item:not(:first-child) {
  margin-top: 0;
}
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first label > span:first-child {
  display: none;
}
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first {
  align-items: center;
}
.calendar-service-duration-field .calendar-unit-input {
  grid-template-columns: minmax(0, 1fr) 1.85rem;
}
.calendar-service-price-field .calendar-unit-input {
  grid-template-columns: minmax(0, 1fr) 1.85rem;
}
.calendar-service-duration-field .calendar-unit-input input,
.calendar-service-price-field .calendar-unit-input input {
  padding-left: 4px !important;
  padding-right: 4px !important;
}
.calendar-service-totals-row {
  display: flex;
  justify-content: flex-end;
  align-items: end;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #edf0f4;
}
.calendar-service-totals-row .calendar-quick-duration-total-field {
  width: 7.5rem;
}
.calendar-service-totals-row .calendar-total-duration-input {
  width: 7.5rem;
}
.calendar-service-totals-row .calendar-quick-price-field,
.calendar-service-totals-row .calendar-money-input {
  width: 9rem;
}
.calendar-repeat-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.calendar-repeat-price-row .calendar-repeat-switch {
  width: 100%;
}

@media (max-width: 980px) {
  .calendar-quick-service-item {
    grid-template-columns: 13.8rem minmax(8rem, 1fr) 5rem 6.8rem 64px;
    gap: 5px;
  }
  .calendar-quick-staff-field {
    flex-basis: 9.5rem;
    width: 9.5rem;
  }
}

@media (max-width: 760px) {
  .calendar-quick-service-item {
    grid-template-columns: minmax(0, 1fr) 5rem 6.7rem 64px;
    grid-template-areas:
      "staff staff staff staff"
      "service duration price actions";
    gap: 5px;
  }
  .calendar-service-staff-slot { grid-area: staff; }
  .calendar-service-field { grid-area: service; }
  .calendar-service-duration-field { grid-area: duration; }
  .calendar-service-price-field { grid-area: price; }
  .calendar-service-actions { grid-area: actions; }
  .calendar-quick-staff-field {
    flex: 1 1 auto;
    width: auto;
  }
  .calendar-quick-service-item:not(:first-child) {
    grid-template-areas: "service duration price actions";
  }
  .calendar-quick-service-item:not(:first-child) .calendar-service-staff-slot { display: none; }
}

@media (max-width: 560px) {
  .calendar-quick-service-item {
    grid-template-columns: minmax(0, 1fr) 64px;
    grid-template-areas:
      "staff staff"
      "service actions"
      "duration price";
  }
  .calendar-quick-service-item:not(:first-child) {
    grid-template-areas:
      "service actions"
      "duration price";
  }
  .calendar-service-totals-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .calendar-service-totals-row .calendar-quick-duration-total-field,
  .calendar-service-totals-row .calendar-total-duration-input,
  .calendar-service-totals-row .calendar-quick-price-field,
  .calendar-service-totals-row .calendar-money-input {
    width: 100%;
  }
}

/* v1.18.68 düzeltme: aynı personele ait alt hizmet satırlarında personel sütunu yerini korur. */
.calendar-quick-service-item:not(:first-child) .calendar-service-staff-slot {
  display: block;
  visibility: hidden;
  min-height: 36px;
}
@media (max-width: 760px) {
  .calendar-quick-service-item:not(:first-child) .calendar-service-staff-slot {
    display: none;
    visibility: visible;
  }
}

/* v1.18.69 - Takvim hızlı randevu: hizmet hizaları, tek + düğmesi ve üst satır yerleşimi */
.calendar-quick-appointment-grid {
  grid-template-columns: minmax(17rem, 22rem) minmax(12rem, 1fr) 10.5rem 7.75rem;
  column-gap: 6px;
  row-gap: 10px;
  align-items: start;
}
.calendar-quick-customer { grid-column: 1; max-width: 22rem; }
.calendar-quick-note-inline {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
}
.calendar-quick-date { grid-column: 3; }
.calendar-quick-time { grid-column: 4; }
.calendar-quick-note-inline input { width: 100%; }

/* İlk satırdaki bütün başlıklar ve kontroller aynı başlangıç çizgisinde. */
.calendar-quick-service-item {
  grid-template-columns: 14.9rem minmax(10rem, 1fr) 5.2rem 7.2rem 30px;
  gap: 6px;
  align-items: start;
}
.calendar-quick-service-item > label > span:first-child,
.calendar-quick-staff-field > span:first-child {
  min-height: 15px;
  line-height: 15px;
  margin-bottom: 5px;
}
.calendar-service-staff-slot {
  align-items: flex-start;
}
.calendar-add-staff-button,
.calendar-remove-staff-button,
.calendar-service-actions {
  margin-top: 20px;
}
.calendar-service-actions {
  width: 30px;
  min-width: 30px;
  height: 36px;
  justify-content: flex-start;
  gap: 0;
}
.calendar-service-actions .calendar-add-service-button,
.calendar-service-actions .calendar-service-remove {
  flex: 0 0 30px;
  width: 30px;
}
/* Alt satırlarda yalnız silme düğmesi bulunur; olası eski klonlarda + da gizlenir. */
.calendar-quick-service-item:not(.calendar-quick-service-item--group-first) .calendar-service-actions [data-calendar-add-service] {
  display: none !important;
}

.calendar-service-totals-row {
  display: grid;
  grid-template-columns: 7.5rem 9rem;
  justify-content: end;
  align-items: end;
  gap: 12px;
  width: 100%;
}
.calendar-service-totals-row > label,
.calendar-service-totals-row .calendar-total-duration-input,
.calendar-service-totals-row .calendar-money-input {
  min-width: 0;
  width: 100% !important;
  max-width: 100%;
}

@media (max-width: 980px) {
  .calendar-quick-appointment-grid {
    grid-template-columns: minmax(14rem, 1.2fr) minmax(10rem, 1fr) 9.75rem 7.25rem;
  }
  .calendar-quick-customer { max-width: none; }
  .calendar-quick-date { width: 9.75rem; }
  .calendar-quick-time { width: 7.25rem; }
  .calendar-quick-service-item {
    grid-template-columns: 13.8rem minmax(8rem, 1fr) 5rem 6.8rem 30px;
    gap: 5px;
  }
}
@media (max-width: 760px) {
  .calendar-quick-appointment-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 9px;
  }
  .calendar-quick-customer { grid-column: 1 / -1; }
  .calendar-quick-note-inline { grid-column: 1 / -1; }
  .calendar-quick-date { grid-column: 1; width: 100%; }
  .calendar-quick-time { grid-column: 2; width: 100%; }
  .calendar-quick-service-item {
    grid-template-columns: minmax(0, 1fr) 5rem 6.7rem 30px;
    grid-template-areas:
      "staff staff staff staff"
      "service duration price actions";
  }
  .calendar-add-staff-button,
  .calendar-remove-staff-button { margin-top: 20px; }
  .calendar-service-actions { margin-top: 20px; }
}
@media (max-width: 560px) {
  .calendar-quick-service-item {
    grid-template-columns: minmax(0, 1fr) 30px;
    grid-template-areas:
      "staff staff"
      "service actions"
      "duration price";
  }
  .calendar-service-totals-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}
/* v1.18.69 hizalama ince ayarı: başlıklı ilk satır ve başlıksız alt satırlar */
.calendar-add-staff-button,
.calendar-remove-staff-button,
.calendar-service-actions {
  margin-top: 25px;
}
.calendar-quick-service-item:not(.calendar-quick-service-item--group-first) .calendar-service-actions,
.calendar-quick-staff-group:not(:first-child) .calendar-add-staff-button,
.calendar-quick-staff-group:not(:first-child) .calendar-remove-staff-button {
  margin-top: 0;
}
@media (max-width:760px) {
  .calendar-add-staff-button,
  .calendar-remove-staff-button,
  .calendar-service-actions { margin-top:25px; }
  .calendar-quick-service-item:not(.calendar-quick-service-item--group-first) .calendar-service-actions,
  .calendar-quick-staff-group:not(:first-child) .calendar-add-staff-button,
  .calendar-quick-staff-group:not(:first-child) .calendar-remove-staff-button { margin-top:0; }
}
.calendar-service-totals-row > label {
  display: grid;
  grid-template-rows: 15px 36px;
  row-gap: 5px;
  align-content: start;
  align-self: start;
}
.calendar-service-totals-row > label > span:first-child {
  min-height: 15px;
  line-height: 15px;
  margin: 0;
}

/* v1.18.70 - Takvim hızlı randevu: üst satır ve yeni personel grubu hizalama düzeltmesi */
.calendar-quick-appointment-grid > label {
  display: grid;
  grid-template-rows: 15px 36px;
  row-gap: 5px;
  align-content: start;
  align-self: start;
  min-width: 0;
  margin: 0 !important;
}
.calendar-quick-appointment-grid > label > span:first-child {
  min-height: 15px;
  height: 15px;
  line-height: 15px;
  margin: 0;
}
.calendar-quick-note-inline input,
.calendar-quick-date input,
.calendar-quick-time input,
.calendar-quick-customer .customer-search-field,
.calendar-quick-customer .customer-search-control,
.calendar-quick-customer .customer-search-input {
  height: 36px;
  min-height: 36px !important;
  align-self: start;
}
/* İkinci ve sonraki personel gruplarında başlıklar gizlidir; işlem düğmeleri de
   aynı kontrol başlangıç çizgisinde kalmalıdır. */
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first .calendar-service-actions {
  margin-top: 0 !important;
  align-self: start;
}
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first .calendar-add-service-button {
  margin-top: 0 !important;
}


/* v1.18.72 - Birleştir checkbox çerçeve kaldırma ve tam ortalama */
/* v1.18.71 - Takvim hızlı randevu: eş zamanlı hizmet birleştirme */
.calendar-quick-service-item {
  grid-template-columns: 14.9rem minmax(8rem, 1fr) 4.5rem 5.2rem 5.8rem 30px;
}
.calendar-service-merge-field {
  min-width: 0;
  width: 100%;
}
.calendar-merge-control {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.calendar-merge-control input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  accent-color: #315f8e;
}
.calendar-merge-control:focus-within {
  border: 0;
  box-shadow: none;
  outline: none;
}
.calendar-quick-service-item:not(:first-child) .calendar-service-merge-field > span:first-child {
  display: none;
}
@media (max-width: 980px) {
  .calendar-quick-service-item {
    grid-template-columns: 13.8rem minmax(7rem, 1fr) 4.2rem 4.8rem 5.4rem 30px;
  }
}
@media (max-width: 760px) {
  .calendar-quick-service-item {
    grid-template-columns: minmax(0, 1fr) 4.2rem 4.8rem 5.4rem 30px;
    grid-template-areas:
      "staff staff staff staff staff"
      "service merge duration price actions";
  }
  .calendar-service-merge-field { grid-area: merge; }
  .calendar-quick-service-item:not(:first-child) {
    grid-template-areas: "service merge duration price actions";
  }
}
@media (max-width: 560px) {
  .calendar-quick-service-item {
    grid-template-columns: 4.25rem minmax(0, 1fr) minmax(0, 1.15fr) 30px;
    grid-template-areas:
      "staff staff staff staff"
      "service service service actions"
      "merge duration price price";
  }
  .calendar-quick-service-item:not(:first-child) {
    grid-template-areas:
      "service service service actions"
      "merge duration price price";
  }
}

/* v1.18.73 - Birleştir checkbox sütun içinde kesin merkezleme */
.calendar-service-merge-field {
  display: grid !important;
  grid-template-rows: 15px 36px;
  row-gap: 5px;
  align-content: start;
  justify-items: stretch;
}
.calendar-service-merge-field > span:first-child {
  width: 100%;
  text-align: center;
}
.calendar-merge-control {
  position: relative;
  display: block;
  width: 100%;
  height: 36px;
  min-height: 36px;
}
.calendar-merge-control input[type="checkbox"] {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
}
.calendar-quick-service-item:not(:first-child) .calendar-service-merge-field,
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first .calendar-service-merge-field {
  grid-template-rows: 36px;
  row-gap: 0;
}

/* v1.18.74 - Takvim hızlı randevu penceresi kaydırma, Birleştir dikey hizası */
.calendar-quick-dialog {
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}
.calendar-quick-card {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}
.calendar-quick-head,
.calendar-quick-tabs {
  flex: 0 0 auto;
}
.calendar-quick-panel.is-active {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.calendar-quick-panel.is-active::-webkit-scrollbar {
  width: 9px;
}
.calendar-quick-panel.is-active::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #aeb9c7;
  background-clip: padding-box;
}
.calendar-quick-panel.is-active::-webkit-scrollbar-track {
  background: transparent;
}

/* Checkbox, komşu 36 px yüksekliğindeki girişlerin kontrol satırına göre ortalanır. */
.calendar-service-merge-field {
  display: grid !important;
  grid-template-rows: 15px 36px !important;
  row-gap: 5px !important;
  align-content: start !important;
}
.calendar-service-merge-field > span:first-child {
  height: 15px;
  min-height: 15px;
  line-height: 15px;
  margin: 0 !important;
  text-align: center;
}
.calendar-merge-control {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.calendar-merge-control input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  vertical-align: middle;
}
.calendar-quick-service-item:not(:first-child) .calendar-service-merge-field,
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first .calendar-service-merge-field {
  grid-template-rows: 36px !important;
  row-gap: 0 !important;
}
.calendar-quick-service-item:not(:first-child) .calendar-service-merge-field > span:first-child,
.calendar-quick-staff-group:not(:first-child) .calendar-quick-service-item--group-first .calendar-service-merge-field > span:first-child {
  display: none !important;
}

@media (max-height: 620px) {
  .calendar-quick-dialog,
  .calendar-quick-card {
    max-height: calc(100vh - 12px);
    max-height: calc(100dvh - 12px);
  }
  .calendar-quick-panel { padding-top: 12px; padding-bottom: 12px; }
}

/* v1.18.75 - Caps Lock yüzer bilgilendirmesi */
.rp-caps-lock-warning {
  position: fixed;
  z-index: 2147483000;
  left: 0;
  top: 0;
  transform: translateX(-50%);
  min-width: 118px;
  max-width: min(220px, calc(100vw - 16px));
  padding: 9px 11px;
  border: 1px solid #d8d2ad;
  border-radius: 4px;
  background: #fffef1;
  color: #1f2937;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .12);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .08s ease, visibility .08s ease;
}
.rp-caps-lock-warning.is-visible:not([hidden]) {
  opacity: 1;
  visibility: visible;
}
.rp-caps-lock-warning::before,
.rp-caps-lock-warning::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}
.rp-caps-lock-warning[data-position="below"]::before {
  top: -7px;
  border-bottom: 7px solid #d8d2ad;
}
.rp-caps-lock-warning[data-position="below"]::after {
  top: -6px;
  border-bottom: 7px solid #fffef1;
}
.rp-caps-lock-warning[data-position="above"]::before {
  bottom: -7px;
  border-top: 7px solid #d8d2ad;
}
.rp-caps-lock-warning[data-position="above"]::after {
  bottom: -6px;
  border-top: 7px solid #fffef1;
}
@media (max-width: 560px) {
  .rp-caps-lock-warning {
    min-width: 108px;
    padding: 8px 10px;
    font-size: 12px;
  }
}


/* v1.18.80 - Takvim yeni randevu penceresi ekran yüksekliğinin %80'i */
.calendar-quick-dialog {
  height: 80vh;
  height: 80dvh;
}
.calendar-quick-card {
  height: 100%;
  min-height: 0;
}
.calendar-quick-panel.is-active > .calendar-quick-form {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.calendar-quick-panel.is-active > .calendar-quick-form::after {
  content: "";
  order: 1;
  flex: 1 0 22px;
  min-height: 22px;
}
.calendar-quick-panel.is-active > .calendar-quick-form > .calendar-quick-submit {
  order: 2;
  margin-top: 0 !important;
}

/* v1.18.81 - Takvim hızlı randevu: Notlar alanı tekrarlama bölümünün altında */
.calendar-quick-customer {
  grid-column: 1 / span 2;
  max-width: none;
}
.calendar-quick-panel.is-active > .calendar-quick-form::after {
  content: none;
  display: none;
}
.calendar-quick-note-expanded {
  display: flex !important;
  flex: 1 1 7rem;
  flex-direction: column;
  min-height: 6rem;
  margin: 12px 0 12px !important;
}
.calendar-quick-note-expanded > span {
  flex: 0 0 auto;
}
.calendar-quick-form .calendar-quick-note-expanded textarea {
  flex: 1 1 auto;
  width: 100%;
  min-height: 4.5rem;
  height: auto;
  padding: 8px 10px;
  border: 1px solid #ccd5e1;
  border-radius: 5px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  resize: none;
}
.calendar-quick-form .calendar-quick-note-expanded textarea:focus {
  border-color: #6b8fbd;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(91, 127, 174, .14);
}
.calendar-quick-panel.is-active > .calendar-quick-form > .calendar-quick-submit {
  flex: 0 0 auto;
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  .calendar-quick-customer { grid-column: 1 / -1; }
  .calendar-quick-note-expanded { min-height: 5rem; }
}

/* v1.18.84 - Saat kapatma not alanı ve sabit işlem düğmesi */
.calendar-quick-panel.is-active[data-calendar-quick-panel="block"] {
  padding: 0;
  overflow: hidden;
}
.calendar-quick-panel.is-active > .calendar-block-form {
  height: 100%;
  min-height: 0;
}
.calendar-block-form-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 18px 18px 12px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.calendar-block-form-body::-webkit-scrollbar {
  width: 9px;
}
.calendar-block-form-body::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #aeb9c7;
  background-clip: padding-box;
}
.calendar-block-form-body::-webkit-scrollbar-track {
  background: transparent;
}
.calendar-block-form .calendar-block-note-expanded {
  flex: 1 1 7rem;
  min-height: 6rem;
  margin: 14px 0 0 !important;
}
.calendar-block-form-footer {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  padding: 12px 18px 16px;
  border-top: 1px solid #e3e8ef;
  background: #fff;
  box-shadow: 0 -8px 18px rgba(15, 23, 42, .06);
}
.calendar-block-form-footer .calendar-quick-submit {
  width: 100%;
  margin: 0 !important;
}
@media (max-width: 760px) {
  .calendar-block-form-body {
    padding: 12px 12px 10px;
  }
  .calendar-block-form-footer {
    padding: 10px 12px 12px;
  }
  .calendar-block-form .calendar-block-note-expanded {
    min-height: 5rem;
  }
}

/* v1.18.87 - Onaylı ve Bekleyen Randevular sayfalarını Müşteriler tasarım sistemiyle eşleştirme */
.pending-page-titlebar,
.pending-list-shell,
.appointment-page-titlebar,
.appointment-list-shell {
  font-family: var(--rp-font-family) !important;
}

.pending-page-titlebar .pending-approved-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.pending-page-titlebar .pending-approved-link svg,
.pending-list-shell .customer-square-button svg,
.pending-list-shell .customer-action-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Onaylı randevular tablosunda Müşteriler sayfasının başlık, satır ve metin ölçülerini kullan. */
.appointment-list-shell .appointment-data-table thead th,
.pending-list-shell .pending-data-table thead th {
  padding: 13px 10px;
  background: #f8fafc;
  color: #596276;
  border-bottom-color: var(--primary-border);
  font-size: var(--rp-font-label) !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.appointment-list-shell .appointment-data-table tbody td,
.pending-list-shell .pending-data-table tbody td {
  padding: 13px 10px;
  border-top-color: #eef0f5;
  color: #303a4c;
  font-size: var(--rp-font-base) !important;
  vertical-align: middle;
}
.appointment-list-shell .appointment-data-table tbody tr:hover td,
.pending-list-shell .pending-data-table tbody tr:hover td {
  background: var(--primary-softest);
}
.appointment-list-shell .appointment-date-cell strong,
.appointment-list-shell .appointment-customer-cell strong,
.appointment-list-shell .appointment-service-cell strong,
.appointment-list-shell .appointment-staff-cell strong,
.appointment-list-shell .appointment-price-cell strong,
.pending-list-shell .pending-data-table td strong {
  color: #182033;
  font-size: var(--rp-font-emphasis) !important;
  font-weight: 700;
  line-height: 1.3;
}
.appointment-list-shell .appointment-date-cell strong,
.pending-list-shell .pending-date-cell strong,
.pending-list-shell .pending-customer-cell strong {
  color: var(--primary-dark);
}
.appointment-list-shell .appointment-data-table td small,
.pending-list-shell .pending-data-table td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--rp-font-label) !important;
  line-height: 1.3;
}

/* Bekleyen randevular filtresi ve tablosu, Müşteriler sayfasının araç çubuğunu birebir kullanır. */
.pending-list-shell .pending-filter-toolbar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 18px;
  row-gap: 10px;
  width: 100%;
  margin-bottom: 14px;
  padding: 0;
}
.pending-list-shell .pending-filter-left {
  display: flex;
  align-items: flex-end;
  min-width: 0;
}
.pending-list-shell .pending-filter-form {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
  gap: 8px;
  width: auto;
  min-width: 0;
}
.pending-list-shell .pending-filter-form label {
  flex: 0 1 auto;
  min-width: 118px;
  gap: 5px;
  color: #374151;
  font-size: var(--rp-font-label) !important;
  font-weight: 600;
}
.pending-list-shell .pending-filter-form .pending-search-field {
  min-width: 230px;
}
.pending-list-shell .pending-filter-form input,
.pending-list-shell .pending-filter-form select {
  min-height: var(--control-height);
  border: 1px solid #d8dde8;
  border-radius: 7px;
  padding: 7px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 400;
  box-shadow: none;
}
.pending-list-shell .pending-filter-form input:focus,
.pending-list-shell .pending-filter-form select:focus {
  border-color: var(--primary-focus);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .12);
}
.pending-list-shell .pending-filter-form > .btn {
  min-height: var(--control-height);
  border-radius: 7px;
  padding: 7px 12px;
  box-shadow: none;
}
.pending-list-shell .pending-filter-actions-right {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 8px;
  justify-self: end;
}

.pending-data-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.pending-data-table {
  min-width: 104rem;
}
.pending-data-table th:nth-child(1) { width: 11%; }
.pending-data-table th:nth-child(2) { width: 14%; }
.pending-data-table th:nth-child(3) { width: 16%; }
.pending-data-table th:nth-child(4) { width: 10%; }
.pending-data-table th:nth-child(5) { width: 8%; }
.pending-data-table th:nth-child(6) { width: 9%; }
.pending-data-table th:nth-child(7) { width: 8%; }
.pending-data-table th:nth-child(8) { width: 11%; }
.pending-data-table th:nth-child(9) { width: 8%; }
.pending-data-table th:nth-child(10) { width: 5%; }
.pending-appointment-row.is-focused td {
  background: var(--primary-softest) !important;
}
.pending-date-cell .badge {
  display: inline-flex;
  margin-top: 6px;
  padding: 4px 7px;
  border: 1px solid #fed7aa;
  border-radius: 999px;
}
.pending-customer-cell a {
  display: block;
  margin-top: 3px;
  color: #4b5563;
}
.pending-customer-cell a:hover { color: var(--primary-dark); }
.pending-services-cell > strong,
.pending-staff-cell > strong,
.pending-price-cell > strong,
.pending-created-cell > strong {
  display: block;
}
.pending-more-services {
  display: inline-flex;
  margin-top: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: var(--rp-font-label) !important;
  font-weight: 600;
}
.pending-service-detail {
  display: none;
  gap: 4px;
  margin-top: 6px;
}
.pending-service-detail span {
  display: block;
  color: #596276;
  font-size: var(--rp-font-label) !important;
}
.pending-services-cell:hover .pending-service-detail,
.pending-services-cell:focus-within .pending-service-detail {
  display: grid;
}
.pending-notes-cell span {
  display: block;
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pending-actions-heading { text-align: right; }
.pending-row-actions {
  gap: 6px;
  white-space: nowrap;
}
.pending-row-actions form { margin: 0; }
.pending-row-actions .pending-approve-button {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}
.pending-row-actions .pending-approve-button:hover {
  border-color: #15803d;
  background: #15803d;
  color: #fff;
}

@media (max-width: 86em) {
  .pending-list-shell .pending-filter-form { flex-wrap: wrap; }
}
@media (max-width: 64em) {
  .pending-list-shell .pending-filter-toolbar-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .pending-list-shell .pending-filter-left,
  .pending-list-shell .pending-filter-form {
    width: 100%;
  }
  .pending-list-shell .pending-filter-form label,
  .pending-list-shell .pending-filter-form .pending-search-field {
    flex: 1 1 30%;
    min-width: 0;
  }
  .pending-list-shell .pending-filter-actions-right {
    width: 100%;
    justify-self: stretch;
    justify-content: flex-end;
  }
}
@media (max-width: 48em) {
  .pending-data-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .pending-data-table { min-width: 0; }
  .pending-data-table tbody { padding: 0; background: transparent; }
  .pending-data-table .pending-customer-cell {
    display: block;
    padding-block: 13px;
    background: var(--primary-softest);
  }
  .pending-data-table .pending-customer-cell::before { display: none; }
  .pending-notes-cell span {
    max-width: none;
    white-space: normal;
  }
  .pending-service-detail { display: grid; }
}
@media (max-width: 34em) {
  .pending-page-titlebar.customer-booking-hero-plain { align-items: stretch; }
  .pending-page-titlebar .pending-approved-link { width: 100%; }
  .pending-list-shell .pending-filter-form label,
  .pending-list-shell .pending-filter-form .pending-search-field,
  .pending-list-shell .pending-filter-form > .btn {
    flex: 1 1 100%;
    width: 100%;
  }
  .pending-list-shell .pending-filter-actions-right { justify-content: flex-start; }
}


/* v1.18.88 - Randevu listelerinde seçim sütunu ve toplu silme */
.appointment-bulk-delete-form { margin: 0; }
.appointment-bulk-delete-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: var(--control-height);
  border-radius: .7rem;
  white-space: nowrap;
  box-shadow: none;
}
.appointment-bulk-delete-button svg,
.pending-export-menu .customer-export-summary svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.appointment-bulk-delete-button:disabled {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
}
.appointment-selection-heading,
.appointment-selection-cell {
  width: 48px !important;
  min-width: 48px;
  max-width: 48px;
  text-align: center !important;
}
.appointment-selection-control {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  cursor: pointer;
}
.appointment-selection-control input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--primary);
  cursor: pointer;
}
.appointment-data-table tbody tr.is-selected td,
.pending-data-table tbody tr.is-selected td {
  background: var(--primary-soft) !important;
}
.appointment-data-table.has-selection,
.pending-data-table.has-selection { table-layout: fixed; }
.appointment-data-table.has-selection { min-width: 73rem; }
.appointment-data-table.has-selection th:nth-child(1) { width: 4%; }
.appointment-data-table.has-selection th:nth-child(2) { width: 14%; }
.appointment-data-table.has-selection th:nth-child(3) { width: 16%; }
.appointment-data-table.has-selection th:nth-child(4) { width: 16%; }
.appointment-data-table.has-selection th:nth-child(5) { width: 15%; }
.appointment-data-table.has-selection th:nth-child(6) { width: 10%; }
.appointment-data-table.has-selection th:nth-child(7) { width: 13%; }
.appointment-data-table.has-selection th:nth-child(8) { width: 12%; }
.pending-data-table.has-selection { min-width: 107rem; }
.pending-data-table.has-selection th:nth-child(1) { width: 3%; }
.pending-data-table.has-selection th:nth-child(2) { width: 10%; }
.pending-data-table.has-selection th:nth-child(3) { width: 13%; }
.pending-data-table.has-selection th:nth-child(4) { width: 15%; }
.pending-data-table.has-selection th:nth-child(5) { width: 9%; }
.pending-data-table.has-selection th:nth-child(6) { width: 8%; }
.pending-data-table.has-selection th:nth-child(7) { width: 8%; }
.pending-data-table.has-selection th:nth-child(8) { width: 8%; }
.pending-data-table.has-selection th:nth-child(9) { width: 10%; }
.pending-data-table.has-selection th:nth-child(10) { width: 8%; }
.pending-data-table.has-selection th:nth-child(11) { width: 8%; }

@media (max-width: 48em) {
  .appointment-selection-cell {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    min-width: 0;
    max-width: none;
  }
  .appointment-selection-cell::before {
    content: attr(data-label) !important;
  }
}
@media (max-width: 34em) {
  .appointment-filter-actions-right,
  .pending-filter-actions-right {
    flex-wrap: wrap;
  }
  .appointment-bulk-delete-form,
  .appointment-bulk-delete-button,
  .pending-export-menu {
    flex: 1 1 auto;
  }
  .appointment-bulk-delete-button { width: 100%; }
}


/* v1.18.92 - Müşteri doğum tarihi tıklama alanı ve tek cinsiyet seçici */
.customer-birth-date-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  color: #374151;
  font-size: var(--rp-font-label, .82rem);
  font-weight: 700;
  line-height: 1.25;
}
.customer-birth-date-field > span {
  display: block;
  width: max-content;
  max-width: 100%;
  cursor: default;
  user-select: text;
}
.customer-birth-date-field > input[type="date"] {
  width: min(100%, 11.5rem);
  max-width: 11.5rem;
}
.customer-gender-combobox > input[type="hidden"][data-customer-gender-select] {
  display: none !important;
}
@media (max-width: 42rem) {
  .customer-birth-date-field > input[type="date"] {
    width: 100%;
    max-width: none;
  }
}

/* v1.18.93 - Cinsiyet alanı form görünümü ve müşteri notu tanım silme */

/* v1.18.94 - Cinsiyet seçicisini standart müşteri form kontrolüyle birebir eşleştirme */
.customer-form .customer-gender-editor {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.customer-form .customer-gender-editor > label {
  display: block;
  margin: 0;
  min-height: 0;
  color: #374151;
  font-size: var(--rp-font-label) !important;
  font-weight: 600;
  line-height: 1.25;
}
.customer-form .customer-gender-control-row {
  grid-template-columns: minmax(0, 1fr) var(--rp-control-height);
  gap: 10px;
  align-items: center;
}
.customer-form .customer-gender-combobox {
  height: var(--rp-control-height);
}
.customer-form .customer-gender-dropdown-toggle {
  width: 100%;
  height: var(--rp-control-height) !important;
  min-height: var(--rp-control-height) !important;
  margin: 0 !important;
  padding: 7px var(--rp-control-padding-x) !important;
  border: 1px solid #d8dde8 !important;
  border-radius: var(--rp-radius-sm) !important;
  background: #fbfcff !important;
  color: var(--text) !important;
  font-family: var(--rp-font-family) !important;
  font-size: var(--rp-font-base) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  box-shadow: none;
}
.customer-form .customer-gender-dropdown-toggle:hover {
  border-color: #d8dde8 !important;
  background: #fbfcff !important;
  box-shadow: none;
}
.customer-form .customer-gender-dropdown-toggle:focus-visible,
.customer-form .customer-gender-editor.is-dropdown-open .customer-gender-dropdown-toggle {
  border-color: var(--primary-focus) !important;
  background: #fbfcff !important;
  box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .1) !important;
}
.customer-form .customer-gender-dropdown-toggle > span {
  line-height: 1.25;
}
.customer-form .customer-gender-dropdown-toggle svg {
  width: 14px;
  height: 14px;
}
.customer-form .customer-gender-add-button {
  width: var(--rp-control-height) !important;
  min-width: var(--rp-control-height) !important;
  height: var(--rp-control-height) !important;
  min-height: var(--rp-control-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d8dde8 !important;
  border-radius: var(--rp-radius-sm) !important;
  background: #fbfcff !important;
  box-shadow: none;
  transform: none;
}
.customer-form .customer-gender-add-button:hover,
.customer-form .customer-gender-add-button:focus-visible,
.customer-form .customer-gender-add-button[aria-expanded="true"] {
  border-color: var(--primary-focus) !important;
  background: #fbfcff !important;
  box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .1) !important;
  transform: none;
  outline: none;
}
.customer-form .customer-gender-feedback:empty {
  display: none !important;
}
@media (max-width: 42rem) {
  .customer-form .customer-gender-control-row {
    grid-template-columns: minmax(0, 1fr) var(--rp-control-height);
  }
}

/* v1.18.96 - Veritabanı tabanlı sistem renk paleti */
.theme-settings-section > p {
  margin: 0 0 .9rem;
}
.theme-palette-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.theme-palette-card {
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .75rem;
  border: .0625rem solid var(--line);
  border-radius: .85rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.theme-palette-card:hover {
  transform: translateY(-.06rem);
  border-color: color-mix(in srgb, var(--palette-color) 45%, var(--line));
}
.theme-palette-card:has(input:checked) {
  border-color: var(--palette-color);
  background: color-mix(in srgb, var(--palette-color) 6%, #ffffff);
  box-shadow: 0 0 0 .16rem color-mix(in srgb, var(--palette-color) 14%, transparent);
}
.theme-palette-card input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.theme-palette-swatch {
  width: 2.35rem;
  aspect-ratio: 1;
  border-radius: .7rem;
  background: linear-gradient(145deg, color-mix(in srgb, var(--palette-color) 76%, #ffffff), var(--palette-color));
  box-shadow: inset 0 0 0 .0625rem rgba(255,255,255,.25), 0 .35rem .8rem color-mix(in srgb, var(--palette-color) 24%, transparent);
}
.theme-palette-copy {
  display: grid;
  min-width: 0;
  gap: .12rem;
}
.theme-palette-copy strong {
  color: var(--text);
  font-size: .82rem;
}
.theme-palette-copy small {
  margin: 0 !important;
  overflow: hidden;
  color: var(--muted);
  font-size: .68rem !important;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-palette-check {
  display: grid;
  place-items: center;
  width: 1.35rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--palette-color);
  color: #ffffff;
  font-size: .72rem;
  font-weight: 900;
  opacity: 0;
  transform: scale(.75);
  transition: opacity .16s ease, transform .16s ease;
}
.theme-palette-card:has(input:checked) .theme-palette-check {
  opacity: 1;
  transform: scale(1);
}
.theme-custom-color-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin-top: .9rem;
}
.theme-color-picker-label {
  width: min(100%, 25rem);
}
.theme-color-picker-control {
  display: grid;
  grid-template-columns: 3.1rem minmax(0, 1fr);
  align-items: center;
  min-height: var(--control-height);
  margin-top: .35rem;
  overflow: hidden;
  border: .0625rem solid var(--line);
  border-radius: .7rem;
  background: #ffffff;
}
.theme-color-picker-control:focus-within {
  border-color: var(--primary-focus);
  box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .12);
}
.theme-color-picker-control input[type="color"] {
  width: 100%;
  height: var(--control-height);
  min-height: var(--control-height);
  padding: .25rem;
  border: 0;
  border-right: .0625rem solid var(--line);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.theme-color-picker-control output {
  padding: 0 .85rem;
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.theme-live-preview {
  --theme-preview-primary: var(--primary);
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  min-height: 10rem;
  margin-top: 1rem;
  overflow: hidden;
  border: .0625rem solid var(--line);
  border-radius: 1rem;
  background: #f6f8fc;
  box-shadow: 0 .8rem 2rem rgba(30,41,59,.08);
}
.theme-preview-sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  padding: .75rem .55rem;
  background: color-mix(in srgb, var(--theme-preview-primary) 16%, #0f172a);
}
.theme-preview-logo {
  display: grid;
  place-items: center;
  width: 2rem;
  aspect-ratio: 1;
  margin-bottom: .25rem;
  border-radius: .65rem;
  background: linear-gradient(145deg, color-mix(in srgb, var(--theme-preview-primary) 75%, #ffffff), var(--theme-preview-primary));
  color: #ffffff;
  font-size: .75rem;
  font-weight: 900;
}
.theme-preview-sidebar i {
  display: block;
  width: 100%;
  height: .52rem;
  border-radius: .25rem;
  background: rgba(255,255,255,.16);
}
.theme-preview-sidebar i.is-active {
  height: 1.45rem;
  background: color-mix(in srgb, var(--theme-preview-primary) 35%, #1e293b);
}
.theme-preview-content {
  min-width: 0;
}
.theme-preview-topbar {
  height: 2rem;
  border-bottom: .0625rem solid #e5e7eb;
  background: rgba(255,255,255,.94);
}
.theme-preview-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  margin: .85rem;
  padding: .9rem;
  border: .0625rem solid #e5e7eb;
  border-radius: .8rem;
  background: #ffffff;
}
.theme-preview-panel > span {
  color: #344054;
  font-size: .76rem;
  font-weight: 800;
}
.theme-preview-panel button {
  min-height: 2rem;
  padding: .35rem .7rem;
  border: 0;
  border-radius: .55rem;
  background: var(--theme-preview-primary);
  color: var(--theme-preview-contrast, #ffffff);
  font-size: .68rem;
  font-weight: 800;
  pointer-events: none;
}
.theme-preview-panel > div {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.4fr 1fr .7fr;
  gap: .45rem;
}
.theme-preview-panel b {
  height: 2.4rem;
  border-radius: .55rem;
  background: color-mix(in srgb, var(--theme-preview-primary) 7%, #ffffff);
  border: .0625rem solid color-mix(in srgb, var(--theme-preview-primary) 25%, #ffffff);
}

@media (max-width: 70rem) {
  .theme-palette-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 42rem) {
  .theme-palette-grid { grid-template-columns: 1fr; }
  .theme-live-preview { grid-template-columns: 4rem minmax(0, 1fr); }
  .theme-preview-panel { grid-template-columns: 1fr; }
  .theme-preview-panel button { justify-self: start; }
}


/* v1.18.97 - Bekleyen Randevular tablosu masaüstü sütun sıkıştırma */
@media (min-width: 48.01em) {
  .pending-data-table-wrap {
    overflow-x: hidden;
  }
  .pending-data-table,
  .pending-data-table.has-selection {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .pending-data-table th,
  .pending-data-table td {
    min-width: 0;
    overflow: hidden;
  }
  .pending-data-table .appointment-selection-heading,
  .pending-data-table .appointment-selection-cell {
    width: 44px !important;
    min-width: 44px;
    max-width: 44px;
    padding-inline: 5px !important;
  }
  .pending-data-table .pending-date-heading { width: 9%; }
  .pending-data-table .pending-customer-heading { width: 12%; }
  .pending-data-table .pending-services-heading { width: 14%; }
  .pending-data-table .pending-staff-heading { width: 9%; }
  .pending-data-table .pending-branch-heading,
  .pending-data-table .pending-branch-cell {
    width: calc(20ch + 20px);
    max-width: calc(20ch + 20px);
  }
  .pending-data-table .pending-source-heading { width: 7%; }
  .pending-data-table .pending-price-heading { width: 7%; }
  .pending-data-table .pending-created-heading { width: 10%; }
  .pending-data-table .pending-notes-heading { width: auto; }
  .pending-data-table .pending-actions-heading,
  .pending-data-table .pending-row-actions {
    width: 92px;
    max-width: 92px;
    padding-inline: 5px !important;
  }
  .pending-data-table .pending-branch-cell span {
    display: block;
    max-width: 20ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pending-data-table .pending-source-cell span,
  .pending-data-table .pending-staff-cell strong,
  .pending-data-table .pending-created-cell strong,
  .pending-data-table .pending-customer-cell strong,
  .pending-data-table .pending-customer-cell a,
  .pending-data-table .pending-services-cell > strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 48.01em) and (max-width: 86em) {
  .pending-list-shell .pending-data-table thead th,
  .pending-list-shell .pending-data-table tbody td {
    padding-inline: 7px;
  }
  .pending-data-table .pending-branch-heading,
  .pending-data-table .pending-branch-cell {
    width: calc(20ch + 14px);
    max-width: calc(20ch + 14px);
  }
}

/* v1.18.99 - Randevu ödeme türü sütunları, not önizlemesi ve tek kapatma eylemi */
.pending-alert-actions {
  display: flex;
  justify-content: flex-end;
}

.appointment-payment-heading,
.pending-payment-heading {
  text-align: center !important;
}
.appointment-payment-cell,
.pending-payment-cell {
  text-align: center;
  vertical-align: middle;
}
.appointment-payment-method {
  display: inline-flex;
  min-width: 4.9rem;
  max-width: 6.8rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .08rem;
  color: #4d586a;
  font-size: var(--rp-font-label, .72rem);
  font-weight: 650;
  line-height: 1.12;
  text-align: center;
  white-space: normal;
}
.appointment-payment-method > span {
  display: block;
  width: 100%;
}

.appointment-note-preview,
.appointment-note-empty {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #596276;
  font-size: var(--rp-font-label, .72rem);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.appointment-note-preview {
  cursor: help;
  outline: none;
}
.appointment-note-preview:focus {
  color: var(--primary-dark);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: .2rem;
}
.appointment-note-floating-tooltip {
  position: fixed;
  z-index: 100000;
  width: max-content;
  max-width: min(28rem, calc(100vw - 1.25rem));
  max-height: min(18rem, calc(100vh - 1.25rem));
  overflow: auto;
  padding: .7rem .8rem;
  border: .0625rem solid color-mix(in srgb, var(--primary) 24%, #d8dde8);
  border-radius: .55rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(24, 32, 51, .22);
  color: #303a4c;
  font-size: .78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  pointer-events: none;
}

@media (min-width: 48.01em) {
  .appointment-data-table .appointment-payment-heading,
  .appointment-data-table .appointment-payment-cell {
    width: 6.6rem;
    min-width: 6.6rem;
    max-width: 6.6rem;
    padding-inline: .35rem !important;
  }
  .appointment-data-table.has-selection {
    min-width: 79rem;
  }
  .appointment-data-table .appointment-actions-heading,
  .appointment-data-table .appointment-row-actions {
    width: 7rem;
    max-width: 7rem;
  }

  .pending-data-table .pending-payment-heading,
  .pending-data-table .pending-payment-cell {
    width: 5.9rem;
    min-width: 5.9rem;
    max-width: 5.9rem;
    padding-inline: .3rem !important;
  }
  .pending-data-table .pending-notes-heading,
  .pending-data-table .pending-notes-cell {
    min-width: 0;
  }
}

@media (max-width: 48em) {
  .appointment-payment-cell,
  .pending-payment-cell {
    text-align: right;
  }
  .appointment-payment-method {
    align-items: flex-end;
    text-align: right;
  }
}

@media (max-width: 40rem) {
  .pending-alert-actions {
    display: flex;
    grid-template-columns: none;
  }
  .pending-alert-actions .btn {
    width: 100%;
  }
}

/* v1.18.100 - Onaylı ve Bekleyen Randevular ortak sütun genişlikleri */
@media (min-width: 48.01em) {
  .appointment-data-table,
  .pending-data-table {
    --rp-appointment-col-date: 9%;
    --rp-appointment-col-customer: 12%;
    --rp-appointment-col-service: 14%;
    --rp-appointment-col-staff: 9%;
    --rp-appointment-col-price: 7%;
    --rp-appointment-col-payment: 5.9rem;
    --rp-appointment-col-selection: 44px;
  }

  /* Onaylı Randevular da Bekleyen Randevular gibi mevcut içerik genişliğine sığar. */
  .appointment-data-table-wrap {
    overflow-x: hidden;
  }
  .appointment-data-table,
  .appointment-data-table.has-selection {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .appointment-data-table th,
  .appointment-data-table td {
    min-width: 0;
    overflow: hidden;
  }

  /* İki sayfada ortak olan sütunlar aynı genişlik değerlerini kullanır. */
  .appointment-data-table [data-appointment-column="date"],
  .pending-data-table .pending-date-heading {
    width: var(--rp-appointment-col-date);
  }
  .appointment-data-table [data-appointment-column="customer"],
  .pending-data-table .pending-customer-heading {
    width: var(--rp-appointment-col-customer);
  }
  .appointment-data-table [data-appointment-column="service"],
  .pending-data-table .pending-services-heading {
    width: var(--rp-appointment-col-service);
  }
  .appointment-data-table [data-appointment-column="staff"],
  .pending-data-table .pending-staff-heading {
    width: var(--rp-appointment-col-staff);
  }
  .appointment-data-table [data-appointment-column="price"],
  .pending-data-table .pending-price-heading {
    width: var(--rp-appointment-col-price);
  }
  .appointment-data-table .appointment-payment-heading,
  .appointment-data-table .appointment-payment-cell,
  .pending-data-table .pending-payment-heading,
  .pending-data-table .pending-payment-cell {
    width: var(--rp-appointment-col-payment);
    min-width: var(--rp-appointment-col-payment);
    max-width: var(--rp-appointment-col-payment);
  }
  .appointment-data-table .appointment-selection-heading,
  .appointment-data-table .appointment-selection-cell,
  .pending-data-table .appointment-selection-heading,
  .pending-data-table .appointment-selection-cell {
    width: var(--rp-appointment-col-selection) !important;
    min-width: var(--rp-appointment-col-selection);
    max-width: var(--rp-appointment-col-selection);
  }

  /* Onaylı Randevular içeriğinin tabloyu yeniden genişletmesini engeller. */
  .appointment-data-table .appointment-customer-cell strong,
  .appointment-data-table .appointment-customer-cell small,
  .appointment-data-table .appointment-service-cell strong,
  .appointment-data-table .appointment-service-cell small,
  .appointment-data-table .appointment-staff-cell strong,
  .appointment-data-table .appointment-staff-cell small,
  .appointment-data-table .appointment-status-cell small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .appointment-data-table .appointment-status-cell {
    width: auto;
    min-width: 0;
  }
  .appointment-data-table .appointment-status-cell .badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .appointment-data-table .appointment-actions-heading,
  .appointment-data-table .appointment-row-actions {
    width: 7rem;
    min-width: 7rem;
    max-width: 7rem;
    padding-inline: .35rem !important;
  }
}

@media (min-width: 48.01em) and (max-width: 86em) {
  .appointment-list-shell .appointment-data-table thead th,
  .appointment-list-shell .appointment-data-table tbody td {
    padding-inline: 7px;
  }
}


/* =========================================================
   v1.18.101 - Çevrim içi randevu sayfası yatay taşma düzeltmesi
   ========================================================= */
.booking-page .booking-shell,
.booking-page .booking-wizard-main,
.booking-page .booking-wizard-card,
.booking-page .booking-wizard-form,
.booking-page .booking-pane,
.booking-page .booking-pane-head,
.booking-page .booking-date-time-grid,
.booking-page .booking-step-one-grid,
.booking-page .booking-information-layout,
.booking-page .booking-confirm-payment-grid,
.booking-page .booking-appointment-overview,
.booking-page .booking-details-panel,
.booking-page .booking-final-summary,
.booking-page .booking-payment-panel,
.booking-page .booking-service-fields,
.booking-page .booking-service-rows,
.booking-page .booking-service-row,
.booking-page .booking-choice-field,
.booking-page .booking-select-wrap,
.booking-page .booking-input-wrap,
.booking-page .booking-payment-options,
.booking-page .booking-payment-option,
.booking-page .booking-welcome-screen,
.booking-page .booking-welcome-layout,
.booking-page .booking-welcome-information,
.booking-page .booking-welcome-sidebar,
.booking-page .booking-welcome-actions,
.booking-page .booking-welcome-action-list,
.booking-page .booking-welcome-contact-grid,
.booking-page .booking-working-hours,
.booking-page .booking-review-list {
  min-width: 0;
  max-width: 100%;
}

.booking-page .booking-wizard-main {
  width: min(94%, 82rem);
}

.booking-page .booking-wizard-card,
.booking-page .booking-wizard-form,
.booking-page .booking-pane,
.booking-page .booking-select-wrap,
.booking-page .booking-input-wrap,
.booking-page .booking-select-wrap select,
.booking-page .booking-input-wrap input,
.booking-page .booking-input-wrap textarea {
  width: 100%;
}

.booking-page .booking-service-row > *,
.booking-page .booking-information-layout > *,
.booking-page .booking-confirm-payment-grid > *,
.booking-page .booking-welcome-layout > *,
.booking-page .booking-payment-option > *,
.booking-page .booking-welcome-contact-grid > * {
  min-width: 0;
}

.booking-page .booking-service-field-heading > *,
.booking-page .booking-pane-head > div,
.booking-page .booking-card-title > *,
.booking-page .booking-step-copy,
.booking-page .booking-welcome-actions h2,
.booking-page .booking-welcome-actions p,
.booking-page .booking-welcome-primary-action > span:last-child,
.booking-page .booking-whatsapp-copy,
.booking-page .booking-welcome-contact-grid strong,
.booking-page .booking-welcome-contact-grid small,
.booking-page .booking-welcome-address strong,
.booking-page .booking-working-hours-row span,
.booking-page .booking-working-hours-row strong,
.booking-page .booking-payment-option strong,
.booking-page .booking-payment-option small,
.booking-page .booking-payment-option em {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.booking-page .booking-welcome-primary-action,
.booking-page .booking-whatsapp-action,
.booking-page .booking-pane-actions .btn,
.booking-page .booking-edit-selection {
  max-width: 100%;
  white-space: normal;
}

.booking-page .booking-payment-option em {
  white-space: normal;
  text-align: center;
}

.booking-page .booking-step-copy strong,
.booking-page .booking-step-copy small {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 64rem) {
  .booking-page .booking-wizard-main {
    width: calc(100% - 24px);
    max-width: calc(100vw - 24px);
  }

  .booking-page .booking-information-layout,
  .booking-page .booking-confirm-payment-grid,
  .booking-page .booking-welcome-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .booking-page .booking-service-row {
    grid-template-columns: minmax(0, 1fr) 2.85rem;
  }

  .booking-page .booking-payment-option {
    grid-template-columns: auto auto minmax(0, 1fr);
  }

  .booking-page .booking-payment-option em {
    grid-column: 2 / -1;
    justify-self: start;
  }
}

@media (max-width: 30rem) {
  .booking-page .booking-wizard-main {
    width: calc(100% - 16px);
    max-width: calc(100vw - 16px);
  }

  .booking-page .booking-pane {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .booking-page .booking-service-row {
    grid-template-columns: minmax(0, 1fr) 2.6rem;
    gap: .4rem;
  }

  .booking-page .booking-service-row .booking-add-service,
  .booking-page .booking-service-row .booking-remove-service {
    width: 2.6rem;
  }

  .booking-page .booking-payment-option {
    gap: .55rem;
    padding: .75rem;
  }

  .booking-page .booking-stepper {
    width: 96%;
  }
}

/* =========================================================
   v1.18.102 - Onaylı Randevular yatay taşma kesin düzeltmesi
   ========================================================= */
@media (min-width: 48.01em) {
  .appointment-list-shell,
  .appointment-list-shell .appointment-filter-toolbar-row,
  .appointment-list-shell .appointment-filter-left,
  .appointment-list-shell .appointment-filter-form,
  .appointment-list-shell .appointment-filter-actions-right,
  .appointment-list-shell .appointment-data-table-wrap {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .appointment-list-shell .appointment-data-table-wrap {
    width: 100%;
    overflow-x: hidden !important;
  }

  .appointment-list-shell .appointment-data-table,
  .appointment-list-shell .appointment-data-table.has-selection {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    box-sizing: border-box;
  }

  .appointment-list-shell .appointment-data-table th,
  .appointment-list-shell .appointment-data-table td {
    min-width: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* Ortak sütunlar Bekleyen Randevular ölçülerini kullanmaya devam eder. */
  .appointment-list-shell .appointment-data-table [data-appointment-column="date"] { width: 9% !important; }
  .appointment-list-shell .appointment-data-table [data-appointment-column="customer"] { width: 12% !important; }
  .appointment-list-shell .appointment-data-table [data-appointment-column="service"] { width: 14% !important; }
  .appointment-list-shell .appointment-data-table [data-appointment-column="staff"] { width: 9% !important; }
  .appointment-list-shell .appointment-data-table [data-appointment-column="price"] { width: 7% !important; }
  .appointment-list-shell .appointment-data-table [data-appointment-column="payment"] {
    width: 5.9rem !important;
    min-width: 0 !important;
    max-width: 5.9rem !important;
  }

  /* Durum alanı kalan genişliği kullanır; içerik tabloyu büyütemez. */
  .appointment-list-shell .appointment-data-table [data-appointment-column="status"] {
    width: auto !important;
    min-width: 0 !important;
  }

  /* Onaylı listede üç işlem düğmesi bulunduğundan bu sütun yalnız gereken kadar yer kullanır. */
  .appointment-list-shell .appointment-data-table .appointment-actions-heading,
  .appointment-list-shell .appointment-data-table td.appointment-row-actions {
    width: 8.6rem !important;
    min-width: 8.6rem !important;
    max-width: 8.6rem !important;
    padding-left: .25rem !important;
    padding-right: .25rem !important;
  }

  /* td üzerinde flex tablo genişliğini bozmasın; düğmeler hücre içinde sağa yaslı kalsın. */
  .appointment-list-shell .appointment-data-table td.appointment-row-actions {
    display: table-cell;
    text-align: right;
    white-space: nowrap;
    font-size: 0;
  }
  .appointment-list-shell .appointment-data-table td.appointment-row-actions > * {
    margin-left: .25rem;
    vertical-align: middle;
  }
  .appointment-list-shell .appointment-data-table td.appointment-row-actions > *:first-child {
    margin-left: 0;
  }

  .appointment-list-shell .appointment-data-table .appointment-customer-cell strong,
  .appointment-list-shell .appointment-data-table .appointment-customer-cell small,
  .appointment-list-shell .appointment-data-table .appointment-service-cell strong,
  .appointment-list-shell .appointment-data-table .appointment-service-cell small,
  .appointment-list-shell .appointment-data-table .appointment-staff-cell strong,
  .appointment-list-shell .appointment-data-table .appointment-staff-cell small,
  .appointment-list-shell .appointment-data-table .appointment-status-cell small,
  .appointment-list-shell .appointment-data-table .appointment-status-cell .badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 48.01em) and (max-width: 86em) {
  .appointment-list-shell .appointment-data-table .appointment-actions-heading,
  .appointment-list-shell .appointment-data-table td.appointment-row-actions {
    width: 7.8rem !important;
    min-width: 7.8rem !important;
    max-width: 7.8rem !important;
  }
  .appointment-list-shell .appointment-data-table .customer-action-button {
    width: 2.25rem;
  }
}

/* =========================================================
   v1.18.103 - Bekleyen Randevular Kaynak / Oluşturan sütun dengesi
   ========================================================= */
@media (min-width: 48.01em) {
  .pending-list-shell .pending-data-table .pending-source-heading,
  .pending-list-shell .pending-data-table .pending-source-cell {
    width: 5.5% !important;
    max-width: 5.5% !important;
  }

  .pending-list-shell .pending-data-table .pending-created-heading,
  .pending-list-shell .pending-data-table .pending-created-cell {
    width: 12.5% !important;
    max-width: 12.5% !important;
  }
}

.pending-list-shell .pending-created-name {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #303a4c;
  font-size: var(--rp-font-base) !important;
  font-weight: 400 !important;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* v1.18.104 - Randevu tahsilat yöntemleri ve ileri tarihli alacak/taksit planı */
.appointment-editor-receivable-plan {
  margin-top: 8px;
  border-top: 1px solid #e8eaf0;
}
.appointment-editor-receivable-plan > .appointment-editor-payment-row {
  margin-top: 0;
  border-top: 0;
}
.appointment-editor-receivable-panel {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 9px;
  border: 1px solid var(--primary-border, #ded9ff);
  border-radius: 7px;
  background: var(--primary-soft, #f4f2ff);
}
.appointment-editor-receivable-panel[hidden] { display: none !important; }
.appointment-editor-receivable-grid { margin-top: 0 !important; }
.appointment-editor-receivable-existing {
  padding: 8px;
  border: 1px solid #e1e5ed;
  border-radius: 6px;
  background: #fff;
}
.appointment-editor-receivable-existing.is-stale {
  opacity: .62;
}
.appointment-editor-receivable-existing.is-stale::after {
  content: "Tahsilat sonrası plan kalan bakiyeye göre güncellendi. Güncel planı görmek için randevuyu kaydedin veya sayfayı yenileyin.";
  display: block;
  margin-top: 6px;
  color: #805a00;
  font-size: var(--rp-font-label, 12px);
  line-height: 1.35;
}
.appointment-editor-receivable-existing-list,
.appointment-editor-receivable-preview {
  display: grid;
  gap: 4px;
}
.appointment-editor-receivable-existing-list span,
.appointment-editor-receivable-preview span {
  display: flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 7px;
  border: 1px solid #e4e7ef;
  border-radius: 5px;
  background: #fff;
  color: #50586b;
  font-size: var(--rp-font-label, 12px) !important;
}
.appointment-editor-receivable-existing-list b,
.appointment-editor-receivable-preview b {
  margin-right: 4px;
  color: var(--primary, #5b4df5);
}
.appointment-editor-receivable-note {
  display: block;
  color: #737b8d;
  line-height: 1.4;
}
.debt-installment-stack {
  display: grid;
  gap: 3px;
}
.debt-installment-stack span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 48rem) {
  .appointment-editor-receivable-grid { grid-template-columns: 1fr !important; }
}


/* v1.18.105 - İleri tarihli alacak planlarında bağımsız tarih/tutar satırları */
.appointment-editor-receivable-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  border: 1px solid #e2e5ed;
  border-radius: 6px;
  background: #fff;
}
.appointment-editor-receivable-summary span {
  color: #656e80;
  font-size: var(--rp-font-label, 12px);
  font-weight: 600;
}
.appointment-editor-receivable-summary strong {
  color: var(--primary, #5b4df5);
  font-size: var(--rp-font-base, 13px);
}
.appointment-editor-receivable-rows {
  display: grid;
  gap: 7px;
}
.appointment-editor-receivable-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) 32px;
  gap: 6px;
  align-items: end;
  padding: 7px;
  border: 1px solid #e1e5ed;
  border-radius: 7px;
  background: #fff;
}
.appointment-editor-receivable-row-title {
  grid-column: 1 / -1;
  display: block;
  color: #4c5568;
  font-size: var(--rp-font-label, 12px);
  font-weight: 700;
  line-height: 1.2;
}
.appointment-editor-receivable-row .appointment-editor-field {
  min-width: 0;
}
.appointment-editor-receivable-row .appointment-editor-field input,
.appointment-editor-receivable-row .appointment-editor-input-suffix {
  width: 100%;
  min-width: 0;
}
.appointment-editor-receivable-remove {
  width: 32px;
  height: 36px;
  padding: 0;
  border: 1px solid #f1c6c9;
  border-radius: 6px;
  background: #fff5f5;
  color: #c63b45;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.appointment-editor-receivable-remove:hover {
  border-color: #e9969d;
  background: #ffe9ea;
}
.appointment-editor-receivable-add {
  width: 100%;
  min-height: 34px !important;
}
.appointment-editor-receivable-warning {
  margin: 0;
  padding: 7px 8px;
  border: 1px solid #f1c7a8;
  border-radius: 6px;
  background: #fff7ee;
  color: #9a4d12;
  font-size: var(--rp-font-label, 12px);
  line-height: 1.35;
}
.appointment-editor-receivable-warning[hidden] {
  display: none !important;
}
@media (max-width: 34rem) {
  .appointment-editor-receivable-row {
    grid-template-columns: minmax(0, 1fr) 32px;
  }
  .appointment-editor-receivable-row .appointment-editor-field {
    grid-column: 1 / 2;
  }
  .appointment-editor-receivable-remove {
    grid-column: 2 / 3;
    grid-row: 2 / span 2;
    align-self: center;
  }
}


/* v1.18.107 - Tekrarlayan anahtarında yalnız gerçek kontrol tıklanabilir */
.calendar-repeat-switch {
  width: max-content !important;
  max-width: 100%;
}
.calendar-repeat-switch .calendar-toggle-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0;
  cursor: pointer;
}
.calendar-repeat-switch .calendar-toggle-control i {
  flex: 0 0 auto;
}

/* v1.18.109 - Yetkilendirme sayfası listeli rol/yetki matrisi */
.authorization-layout{display:grid;grid-template-columns:minmax(13.5rem,17rem) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}
.authorization-role-list-panel{padding:0;overflow:hidden;position:sticky;top:1rem}
.authorization-role-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line,#e5e7eb);background:var(--primary-softest,#f8f7ff)}
.authorization-role-list-head strong{font-size:14px}
.authorization-role-list-head span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--primary-soft-strong,#e7e5fd);color:var(--primary-dark,#453abe);font-weight:700;font-size:11px}
.authorization-role-list{display:flex;flex-direction:column;gap:0;padding:5px}
.authorization-role-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid transparent;border-radius:7px;color:var(--text,#182033);transition:background .15s ease,border-color .15s ease,color .15s ease}
.authorization-role-list-item:hover{background:var(--primary-softest,#f8f7ff)}
.authorization-role-list-item.is-active{border-color:var(--primary-border,#d2cefc);background:var(--primary-soft,#f0effe);color:var(--primary-dark,#453abe)}
.authorization-role-list-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.authorization-role-list-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.authorization-role-list-copy small{color:var(--muted,#6b7280);font-size:11px!important}
.authorization-system-dot{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--primary-soft-strong,#e7e5fd);color:var(--primary-dark,#453abe);font-size:10px;font-weight:800}
.authorization-role-editor{min-width:0}
.authorization-role-editor-head{align-items:flex-start}
.authorization-role-form{display:flex;flex-direction:column;gap:13px}
.authorization-role-meta{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.authorization-list-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:2px}
.authorization-list-title>div{display:flex;flex-direction:column;gap:2px}
.authorization-list-title strong{font-size:14px}
.authorization-list-title small{color:var(--muted,#6b7280);font-size:11px!important}
.authorization-list-title>span{color:var(--primary-dark,#453abe);font-size:11px;font-weight:700;white-space:nowrap}
.authorization-table-wrap{width:100%;max-width:100%;overflow:auto;border:1px solid var(--line,#e5e7eb);border-radius:9px;background:#fff}
.authorization-permission-table{width:100%;min-width:690px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.authorization-permission-table th,.authorization-permission-table td{height:39px;padding:6px 8px;border-right:1px solid var(--line,#e5e7eb);border-bottom:1px solid var(--line,#e5e7eb);vertical-align:middle}
.authorization-permission-table tr:last-child>th,.authorization-permission-table tr:last-child>td{border-bottom:0}
.authorization-permission-table th:last-child,.authorization-permission-table td:last-child{border-right:0}
.authorization-permission-table thead th{position:sticky;top:0;z-index:2;background:var(--primary-soft-strong,#e7e5fd);color:var(--text,#182033);font-weight:700;text-align:center;white-space:nowrap}
.authorization-permission-table thead th:first-child{text-align:left}
.authorization-permission-name-col{width:34%}
.authorization-permission-check-col{width:10.2%}
.authorization-permission-extra-col{width:15%}
.authorization-module-row th,.authorization-module-row td{background:var(--primary-soft,#f0effe)}
.authorization-module-name{color:var(--text,#182033);font-weight:700;text-align:left}
.authorization-permission-cell{text-align:center}
.authorization-check{display:inline-grid;place-items:center;width:28px;height:28px;margin:0 auto;border-radius:6px;cursor:pointer}
.authorization-check:hover{background:rgba(var(--primary-rgb),.10)}
.authorization-check input{width:16px;height:16px;margin:0;accent-color:var(--primary,#5b4df5);cursor:pointer}
.authorization-check input:disabled{cursor:not-allowed;opacity:.62}
.authorization-not-applicable{color:#a8afbb;font-size:12px}
.authorization-extra-summary span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:21px;padding:0 7px;border-radius:999px;background:rgba(var(--primary-rgb),.11);color:var(--primary-dark,#453abe);font-size:10px;font-weight:700}
.authorization-extra-row td{background:#fff}
.authorization-extra-row:hover td{background:var(--primary-softest,#f8f7ff)}
.authorization-extra-name{padding-left:20px!important;color:#4b5563;font-size:12px!important}
.authorization-extra-name span{display:inline-block;margin-right:4px;color:var(--primary,#5b4df5);font-weight:800}
.authorization-extra-empty{text-align:center;background:#fff}
.authorization-role-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.authorization-new-role-dialog{width:min(94vw,78rem)}
.authorization-new-role-card{width:100%;max-height:90vh;overflow:auto}
.authorization-new-role-card .authorization-table-wrap{max-height:52vh}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.settings-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
@media(max-width:980px){.authorization-layout{grid-template-columns:1fr}.authorization-role-list-panel{position:static}.authorization-role-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.authorization-role-meta{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.authorization-role-meta{grid-template-columns:1fr}.settings-section-head{align-items:flex-start;flex-direction:column}.authorization-list-title{align-items:flex-start;flex-direction:column}.authorization-role-list{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.authorization-role-list{grid-template-columns:1fr}.authorization-permission-table{min-width:640px}}

/* v1.18.110 - Hesap Sahibi / RBAC arayüz korumaları */
.staff-card-actions .badge{vertical-align:middle}

/* v1.18.113 - SMS / Netgsm modülü */
.sms-tabs{margin-bottom:1.15rem}
.sms-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,20rem);gap:14px;align-items:start}
.sms-help-panel{position:sticky;top:1rem}
.sms-inline-filter,.sms-branch-picker{display:flex;align-items:end;gap:10px;margin-bottom:12px;padding:12px}
.sms-inline-filter label,.sms-branch-picker label{min-width:min(100%,22rem);margin:0}
.sms-send-form,.sms-settings-form{display:flex;flex-direction:column;gap:13px}
.sms-settings-form>.panel{margin:0}
.sms-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sms-rule-list{display:flex;flex-direction:column;gap:10px}
.sms-rule-row{padding:10px 11px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff}
.sms-rule-with-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,14rem);gap:12px;align-items:end}
.sms-rule-row .switch-row{margin:0}
.sms-rule-row .switch-row span{display:flex;flex-direction:column;gap:2px}
.sms-rule-row .switch-row small{color:var(--muted,#6b7280);font-weight:400}
.sms-cron-box{display:flex;align-items:center;gap:8px;min-width:0}
.sms-cron-box code{display:block;flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line,#e5e7eb);border-radius:7px;background:#f8fafc;overflow:auto;white-space:nowrap;font-size:11px}
.sms-recipient-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.sms-recipient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:21rem;overflow:auto;padding:1px}
.sms-recipient-card{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;min-width:0;padding:9px 10px!important;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff;cursor:pointer}
.sms-recipient-card:hover{border-color:var(--primary-border,#d2cefc);background:var(--primary-softest,#f8f7ff)}
.sms-recipient-card input{flex:0 0 auto;margin:0}
.sms-recipient-card span{display:flex;flex-direction:column;gap:2px;min-width:0}
.sms-recipient-card strong,.sms-recipient-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sms-recipient-card small{color:var(--muted,#6b7280);font-size:11px!important}
.sms-status-list{display:flex;flex-direction:column;gap:0;margin:0}
.sms-status-list div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.sms-status-list div:last-child{border-bottom:0}
.sms-status-list dt{color:var(--muted,#6b7280);font-size:12px}
.sms-status-list dd{margin:0;text-align:right;font-size:12px;font-weight:700}
.sms-template-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,20rem);gap:14px;align-items:start}
.sms-template-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.sms-template-card{margin:0}
.sms-template-card textarea{min-height:116px;resize:vertical}
.sms-template-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
.sms-variable-panel{position:sticky;top:1rem}
.sms-variable-panel dl{display:flex;flex-direction:column;gap:0;margin:0}
.sms-variable-panel dl div{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.sms-variable-panel dl div:last-child{border-bottom:0}
.sms-variable-panel dt,.sms-variable-panel dd{margin:0;font-size:11px}
.sms-variable-panel dd{color:var(--muted,#6b7280)}
.sms-report-filter{display:grid;grid-template-columns:minmax(10rem,1.4fr) repeat(4,minmax(8rem,1fr)) auto;gap:8px;align-items:end;margin-bottom:12px;padding:12px}
.sms-report-filter label{margin:0;min-width:0}
.sms-report-table-wrap{max-width:100%;overflow:auto}
.sms-report-table{width:100%;min-width:58rem;table-layout:fixed}
.sms-report-table th:nth-child(1){width:9rem}.sms-report-table th:nth-child(2){width:11rem}.sms-report-table th:nth-child(3){width:9rem}.sms-report-table th:nth-child(4){width:8rem}.sms-report-table th:nth-child(6){width:7rem}.sms-report-table th:nth-child(7){width:9rem}
.sms-report-table td{min-width:0;vertical-align:top}
.sms-report-table td>small{display:block;margin-top:2px;color:var(--muted,#6b7280)}
.sms-message-preview{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-sms-consent-check{margin-top:0!important}
@media(max-width:980px){.sms-two-column,.sms-template-layout{grid-template-columns:1fr}.sms-help-panel,.sms-variable-panel{position:static}.sms-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.sms-report-filter .btn{width:100%}}
@media(max-width:680px){.sms-settings-grid,.sms-recipient-grid,.sms-rule-with-field,.sms-report-filter{grid-template-columns:1fr}.sms-cron-box{align-items:stretch;flex-direction:column}.sms-template-footer{align-items:stretch;flex-direction:column}.sms-template-footer .btn{width:100%}}
