/* Theme colors */
:root {
  --diyetisyencim-base-font: 15px;
  --diyetisyencim-primary: #ff8c42;
  --diyetisyencim-primary-dark: #f97316;
  --diyetisyencim-primary-rgb: 255, 140, 66;
  --diyetisyencim-contrast: #ffffff;
  --diyetisyencim-bg-1: #ffffff;
  --diyetisyencim-bg-2: #f8fafc;
  --diyetisyencim-bg-3: #eef2f7;
  --diyetisyencim-border: #e5e7eb;
  --diyetisyencim-text: #1f2937;
  --diyetisyencim-text-muted: #64748b;
  --diyetisyencim-muted: #64748b;
  --diyetisyencim-danger: #dc2626;
}

a,
a:hover,
a:focus,
a:active,
a:visited {
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Public directory & salon detail: hiçbir yerde alt çizgi yok (tema override'larına karşı) */
.bv2-shops-page a,
.bv2-shops-page a:hover,
.bv2-shops-page a:focus,
.bv2-shops-page a:active,
.bv2-shops-page a:visited,
.bv2-sd-page a,
.bv2-sd-page a:hover,
.bv2-sd-page a:focus,
.bv2-sd-page a:active,
.bv2-sd-page a:visited {
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Shared access denied notice */
.diyetisyencim-access-denied {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 480px;
  width: calc(100% - 24px);
  padding: 32px 24px 28px;
  margin: 24px auto;
  border: 1px solid #fecaca;
  border-radius: 14px;
  background: #fff5f5;
  color: #7f1d1d;
  box-shadow: 0 2px 12px rgba(220, 38, 38, 0.07);
  text-align: center;
}
.diyetisyencim-access-denied--warning {
  border-color: #fed7aa;
  background: #fffaf0;
  color: #9a3412;
  box-shadow: 0 2px 12px rgba(234, 88, 12, 0.06);
}
.diyetisyencim-access-denied--info {
  border-color: #bfdbfe;
  background: #f0f7ff;
  color: #1e3a5f;
  box-shadow: 0 2px 12px rgba(37, 99, 235, 0.06);
}
.diyetisyencim-access-denied-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  color: #dc2626;
}
.diyetisyencim-access-denied--warning .diyetisyencim-access-denied-icon {
  color: #ea580c;
}
.diyetisyencim-access-denied--info .diyetisyencim-access-denied-icon {
  color: #2563eb;
}
.diyetisyencim-access-denied-content {
  width: 100%;
}
.diyetisyencim-access-denied-title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 8px;
  color: inherit;
}
.diyetisyencim-access-denied-text {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: inherit;
  opacity: 0.85;
}
.diyetisyencim-access-denied-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 22px;
}
.diyetisyencim-access-denied-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s, box-shadow 0.15s;
  cursor: pointer;
  line-height: 1;
}
.diyetisyencim-access-denied-btn--primary {
  background: #dc2626;
  color: #fff;
  border: none;
}
.diyetisyencim-access-denied-btn--primary:hover {
  background: #b91c1c;
  color: #fff;
}
.diyetisyencim-access-denied--warning .diyetisyencim-access-denied-btn--primary {
  background: #ea580c;
}
.diyetisyencim-access-denied--warning .diyetisyencim-access-denied-btn--primary:hover {
  background: #c2410c;
}
.diyetisyencim-access-denied--info .diyetisyencim-access-denied-btn--primary {
  background: #2563eb;
}
.diyetisyencim-access-denied--info .diyetisyencim-access-denied-btn--primary:hover {
  background: #1d4ed8;
}
.diyetisyencim-access-denied-btn--secondary {
  background: transparent;
  color: inherit;
  border: 1.5px solid currentColor;
  opacity: 0.65;
}
.diyetisyencim-access-denied-btn--secondary:hover {
  opacity: 1;
}
.diyetisyencim-access-denied-note {
  font-size: 12px;
  margin: 14px 0 0;
  opacity: 0.6;
  color: inherit;
}
.diyetisyencim-appt-save-note {
  margin-top: 6px;
  padding: 6px 10px;
  background: var(--diyetisyencim-primary-dark);
  color: #fff;
  border-radius: 6px;
  border: 0;
}
.diyetisyencim-appt-notes-log {
  margin-top: 6px;
  white-space: pre-wrap;
  font-size: 12px;
  color: var(--diyetisyencim-muted);
  background: var(--diyetisyencim-contrast);
  padding: 8px;
  border-radius: 6px;
}
button.button.secondary,
.button.secondary {
  background: #6c757d;
}
.diyetisyencim-appt-note,
.diyetisyencim-appt-note textarea,
textarea.diyetisyencim-appt-note {
  width: 100%;
  min-height: 60px;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.diyetisyencim-search {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.diyetisyencim-search-input {
  flex: 1;
  min-width: 160px;
  padding: 12px 14px;
  font-size: 15px;
  border: 1.5px solid #d1d5db;
  border-radius: 10px;
  outline: none;
  background: #fff;
  transition: border-color 0.2s;
}
.diyetisyencim-search-input:focus {
  border-color: var(--diyetisyencim-primary);
}
#diyetisyencim-search-go {
  padding: 12px 24px;
  font-size: 15px;
  border-radius: 10px;
  border: none;
  background: var(--diyetisyencim-primary);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
}
.diyetisyencim-appt-notes-log {
  background: #fafafa;
  padding: 8px;
  border: 1px solid #eee;
  border-radius: 4px;
}

/* Provider list */
.diyetisyencim-providers table {
  width: 100%;
}
.diyetisyencim-providers .diyetisyencim-provider-calendar {
  background: #fff;
  padding: 8px;
  border: 1px solid #eee;
  border-radius: 6px;
}

/* Admin page helpers */
#diyetisyencim-migrate-output,
#diyetisyencim-report-output {
  font-family: monospace;
  background: #fff;
  padding: 12px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  max-height: 360px;
  overflow: auto;
}

/* Small utility */
.badge {
  background: var(--diyetisyencim-bg-2);
  padding: 4px 8px;
  border-radius: 10px;
  font-size: 12px;
  color: var(--diyetisyencim-primary-dark);
  font-weight: 600;
}

.diyetisyencim-hidden {
  display: none !important;
}

/* Improve contrast on disabled buttons */
.diyetisyencim-time-btn.disabled,
button[disabled] {
  opacity: 0.6;
}

/* Small helpers for lists and cards */
.diyetisyencim-card .diyetisyencim-body h4 {
  margin: 6px 0;
  color: var(--diyetisyencim-primary);
}
.diyetisyencim-card .diyetisyencim-body p {
  margin: 4px 0;
}

/* Component: Services grid/cards */
.diyetisyencim-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.diyetisyencim-service-card {
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 12px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition:
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.diyetisyencim-service-card:hover {
  box-shadow: 0 10px 30px rgba(var(--diyetisyencim-primary-rgb), 0.08);
  border-color: var(--diyetisyencim-primary);
}
.diyetisyencim-service-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.diyetisyencim-service-name {
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  font-size: 15px;
}
.diyetisyencim-service-duration {
  font-size: 13px;
  color: var(--diyetisyencim-muted);
}
.diyetisyencim-service-price {
  font-weight: 800;
  color: var(--diyetisyencim-primary);
  font-size: 15px;
}

/* Make services area wider inside shop form so cards/pills fill the box */
.diyetisyencim-shop-box .diyetisyencim-service-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.diyetisyencim-shop-box .diyetisyencim-services-pills {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.diyetisyencim-shop-box .diyetisyencim-service-card {
  padding: 14px;
}

/* Make pills flow to fill the box: allow pills to grow to fill rows and wrap gracefully */
.diyetisyencim-shop-box .diyetisyencim-service-pill {
  flex: 1 1 180px;
  min-width: 120px;
  max-width: calc(33% - 12px);
}
@media (max-width: 1023px) {
  .diyetisyencim-shop-box .diyetisyencim-service-pill {
    flex: 1 1 200px;
    max-width: calc(50% - 12px);
  }
}
@media (max-width: 719px) {
  .diyetisyencim-shop-box .diyetisyencim-service-pill {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* service list fallback (checkbox list) */
.diyetisyencim-services-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.diyetisyencim-services-list li {
  margin: 0;
}
.diyetisyencim-services-list label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* Dropdown variant for provider services select (collapsed multi-select) */
.diyetisyencim-services-select--dropdown {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid var(--diyetisyencim-border);
  background: var(--diyetisyencim-bg-1);
  width: 100%;
  box-sizing: border-box;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--diyetisyencim-muted) 50%),
    linear-gradient(135deg, var(--diyetisyencim-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(1em + 2px),
    calc(100% - 13px) calc(1em + 2px);
  background-size:
    5px 5px,
    5px 5px;
  background-repeat: no-repeat;
}
.diyetisyencim-services-select--dropdown[multiple] {
  height: auto;
}
.diyetisyencim-services-select--dropdown option {
  padding: 6px;
}

/* Small tweak: when JS-enhanced preview exists, hide native select on small screens if desired (keep accessible) */
.diyetisyencim-services-preview + .diyetisyencim-services-select--dropdown {
  margin-top: 8px;
}

/* Custom multi-select dropdown (checkbox-based) */
.diyetisyencim-multi-dropdown {
  position: relative;
  display: block;
}
.diyetisyencim-multi-toggle {
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--diyetisyencim-border);
  background: var(--diyetisyencim-bg-1);
  cursor: pointer;
}
.diyetisyencim-multi-toggle:after {
  content: "▾";
  float: right;
  opacity: 0.6;
}
.diyetisyencim-multi-dropdown.open .diyetisyencim-multi-toggle:after {
  content: "▴";
}
.diyetisyencim-multi-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 12000;
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 10px 30px rgba(11, 35, 60, 0.08);
  max-height: 260px;
  overflow: auto;
  display: none;
}
.diyetisyencim-multi-dropdown.open .diyetisyencim-multi-menu {
  display: block;
}
.diyetisyencim-multi-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
}
.diyetisyencim-multi-item:hover {
  background: var(--diyetisyencim-bg-2);
}
.diyetisyencim-multi-item input {
  flex: 0 0 auto;
}
.diyetisyencim-multi-item .label-text {
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 480px) {
  .diyetisyencim-multi-menu {
    max-height: 220px;
  }
  .diyetisyencim-multi-toggle {
    padding: 12px;
  }
}

/* Service pills (selected services display) */
.diyetisyencim-services-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.diyetisyencim-service-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 8px 22px rgba(11, 35, 60, 0.06);
  border: 1px solid transparent;
}
.diyetisyencim-service-pill .pill-label {
  display: inline-block;
}
.diyetisyencim-service-pill .pill-close {
  background: transparent;
  border: 0;
  cursor: pointer;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: inherit;
}
.diyetisyencim-service-pill .pill-close:hover {
  opacity: 0.9;
}

/* color variants to mimic the screenshot */
.pill-color-0 {
  background: #dcfce7;
  color: #065f46;
  border-color: #bbf7d0;
}
.pill-color-1 {
  background: #dbeafe;
  color: #1e3a8a;
  border-color: #bfdbfe;
}
.pill-color-2 {
  background: #fff7ed;
  color: #92400e;
  border-color: #ffe8cc;
}
.pill-color-3 {
  background: #fff1f2;
  color: #861657;
  border-color: #ffd6dd;
}
.pill-color-4 {
  background: #f0f9ff;
  color: #065f46;
  border-color: #d1f2ff;
}

/* Add-pill (dashed) */
.diyetisyencim-pill-add {
  background: transparent;
  border: 1px dashed var(--diyetisyencim-border);
  color: var(--diyetisyencim-muted);
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
}
.diyetisyencim-pill-add:hover {
  background: var(--diyetisyencim-bg-2);
}

/* Small screens: single column cards */
@media (max-width: 479px) {
  .diyetisyencim-service-grid {
    grid-template-columns: 1fr;
  }
  .diyetisyencim-card {
    width: 100%;
  }
}

/* Tablet: two columns */
@media (min-width: 480px) and (max-width: 1023px) {
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Desktop: grid auto-fit */
@media (min-width: 1024px) {
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

/* Header/footer shell */
.diyetisyencim-header {
  padding: 18px;
  background: var(--diyetisyencim-bg-2);
  border-bottom: 1px solid var(--diyetisyencim-border);
}
.diyetisyencim-footer {
  padding: 18px;
  background: var(--diyetisyencim-bg-2);
  border-top: 1px solid var(--diyetisyencim-border);
  text-align: center;
  color: var(--diyetisyencim-muted);
}

/* Accessibility / focus */
.diyetisyencim-service-card:focus-within {
  outline: 3px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
}

/* Products grid/cards */
.diyetisyencim-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.diyetisyencim-product-card {
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 12px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition:
    box-shadow 0.18s ease,
    border-color 0.18s ease;
  cursor: pointer;
}
.diyetisyencim-product-card:hover {
  box-shadow: 0 10px 30px rgba(var(--diyetisyencim-primary-rgb), 0.08);
  border-color: var(--diyetisyencim-primary);
}
.diyetisyencim-product-photo img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 8px;
}
.diyetisyencim-product-name {
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  font-size: 15px;
  margin-top: 6px;
}
.diyetisyencim-product-desc {
  color: var(--diyetisyencim-muted);
  font-size: 13px;
}
.diyetisyencim-product-card.selected {
  outline: 3px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
}

/* Shops list cards */
.diyetisyencim-shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.diyetisyencim-shop-card {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 12px;
  border-radius: 10px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.diyetisyencim-shop-photo img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
}
.diyetisyencim-shop-body {
  flex: 1;
}
.diyetisyencim-shop-name {
  margin: 0 0 6px 0;
  font-size: 16px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-shop-address {
  color: var(--diyetisyencim-muted);
  font-size: 14px;
}
.diyetisyencim-appointment-btn {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 12px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
}

/* Booking wizard styles */
.diyetisyencim-booking-wizard {
  background: #fff;
  border: 1px solid var(--diyetisyencim-border);
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(11, 35, 60, 0.06);
  max-width: 640px;
  margin: 18px auto;
  position: relative;
  z-index: 1;
  scroll-margin-top: 84px;
}
.diyetisyencim-wizard-steps {
  min-height: 180px;
}
.diyetisyencim-step {
  display: none;
}
.diyetisyencim-step[data-step="1"] {
  display: block;
}
.diyetisyencim-wizard-controls {
  display: flex;
  justify-content: flex-end;
}
.diyetisyencim-prev-btn,
.diyetisyencim-next-btn {
  padding: 8px 12px;
  border-radius: 8px;
  border: 0;
  background: var(--diyetisyencim-primary);
  color: #fff;
}
.diyetisyencim-review {
  background: var(--diyetisyencim-bg-1);
  padding: 10px;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
}
.diyetisyencim-wizard-steps .diyetisyencim-calendar-inline {
  margin-top: 8px;
}
.diyetisyencim-times-list {
  margin-top: 8px;
}
.diyetisyencim-step .diyetisyencim-services-list,
.diyetisyencim-step .diyetisyencim-product-grid {
  max-height: 420px;
  overflow: auto;
}

/* Wizard Step 2: responsive service cards */
.diyetisyencim-booking-wizard .diyetisyencim-services-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}
.diyetisyencim-booking-wizard .diyetisyencim-services-list li {
  margin: 0;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-card {
  display: block;
  height: auto;
  min-height: 120px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid var(--diyetisyencim-border);
  background: var(--diyetisyencim-bg-1);
  overflow: hidden;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-option {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 14px;
  min-height: 120px;
  min-width: 0;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-name {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  word-break: break-word;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-duration {
  font-size: 13px;
  line-height: 1.2;
  color: var(--diyetisyencim-muted);
}
.diyetisyencim-booking-wizard .diyetisyencim-service-side {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding-top: 10px;
  border-top: 1px solid rgba(11, 35, 60, 0.08);
}
.diyetisyencim-booking-wizard .diyetisyencim-service-price {
  font-size: 14px;
  font-weight: 800;
  color: var(--diyetisyencim-primary);
  white-space: nowrap;
  text-align: left;
}
.diyetisyencim-booking-wizard .diyetisyencim-service-check {
  width: 20px;
  height: 20px;
  accent-color: var(--diyetisyencim-primary);
  margin: 0;
}
.diyetisyencim-booking-wizard .diyetisyencim-services-empty {
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px dashed var(--diyetisyencim-border);
  border-radius: 10px;
  color: var(--diyetisyencim-muted);
  background: var(--diyetisyencim-bg-1);
  text-align: center;
}

/* Wizard inner spacing: give elements breathing room from box edges */
.diyetisyencim-booking-wizard .diyetisyencim-step,
.diyetisyencim-booking-wizard .diyetisyencim-review,
.diyetisyencim-booking-wizard .diyetisyencim-services-list,
.diyetisyencim-booking-wizard .diyetisyencim-product-grid,
.diyetisyencim-booking-wizard .diyetisyencim-wizard-steps {
  padding: 12px;
  box-sizing: border-box;
}
.diyetisyencim-booking-wizard input,
.diyetisyencim-booking-wizard select,
.diyetisyencim-booking-wizard textarea,
.diyetisyencim-booking-wizard .diyetisyencim-field,
.diyetisyencim-booking-wizard .form-row {
  margin-top: 8px;
  margin-bottom: 8px;
}
@media (max-width: 720px) {
  .diyetisyencim-booking-wizard .diyetisyencim-step,
  .diyetisyencim-booking-wizard .diyetisyencim-review {
    padding: 10px;
  }
  .diyetisyencim-step .diyetisyencim-services-list,
  .diyetisyencim-step .diyetisyencim-product-grid {
    max-height: 300px;
  }
  .diyetisyencim-booking-wizard .diyetisyencim-services-list {
    grid-template-columns: 1fr;
  }
  .diyetisyencim-booking-wizard .diyetisyencim-service-option {
    padding: 12px;
    min-height: 108px;
  }
  .diyetisyencim-booking-wizard .diyetisyencim-service-name {
    font-size: 14px;
  }
  .diyetisyencim-booking-wizard .diyetisyencim-service-duration {
    font-size: 12px;
  }
  .diyetisyencim-booking-wizard .diyetisyencim-service-price {
    font-size: 13px;
  }
}

/* Wizard product cards: vertical layout like catalogue cards (image top, meta below) */
.diyetisyencim-booking-wizard .diyetisyencim-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 8px;
  border-radius: 10px;
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  max-width: none;
  margin: 0;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    border-color 0.15s ease,
    background 0.15s ease;
}
.diyetisyencim-booking-wizard .diyetisyencim-hidden-checkbox {
  display: none;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-photo img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  background: #fff;
}

/* force hide native checkbox and make card selection work visually */
.diyetisyencim-booking-wizard input.diyetisyencim-hidden-checkbox {
  display: none !important;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-meta {
  padding: 6px 0;
  display: block;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-name {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-desc {
  font-size: 13px;
  color: var(--diyetisyencim-muted);
  margin-top: 6px;
}
.diyetisyencim-booking-wizard .diyetisyencim-product-price {
  font-size: 14px;
  color: var(--diyetisyencim-primary-dark);
  margin-top: 6px;
  font-weight: 600;
}

/* selected state: orange border + tick badge top-left */
.diyetisyencim-booking-wizard .diyetisyencim-product-card.selected {
  border-color: var(--diyetisyencim-primary);
  border-width: 2px;
  box-shadow: 0 18px 48px rgba(var(--diyetisyencim-primary-rgb), 0.18);
  transform: translateY(-6px) scale(1.02);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.03);
}
.diyetisyencim-booking-wizard .diyetisyencim-product-card.selected::after {
  content: "\2713";
  position: absolute;
  left: 8px;
  top: 8px;
  background: var(--diyetisyencim-primary, #ff8c42);
  color: #fff;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
  font-size: 14px;
  z-index: 6;
  border: 2px solid rgba(255, 255, 255, 0.9);
}

/* subtly dim unselected cards to emphasize selection */
.diyetisyencim-booking-wizard .diyetisyencim-product-card:not(.selected) {
  opacity: 0.96;
}

@media (max-width: 479px) {
  .diyetisyencim-product-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 480px) and (max-width: 1023px) {
  .diyetisyencim-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .diyetisyencim-product-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Utilities */
.bg-primary {
  background: var(--diyetisyencim-primary);
  color: var(--diyetisyencim-contrast) !important;
}
.btn-primary {
  background: var(--diyetisyencim-primary);
  color: var(--diyetisyencim-contrast) !important;
  border: 1px solid var(--diyetisyencim-primary-dark);
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
}
.text-inverse {
  color: var(--diyetisyencim-contrast) !important;
}
.surface {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 6px;
  padding: 8px;
}

/* Wizard progress bar */
.diyetisyencim-progress-bar {
  width: 100%;
  height: 12px;
  background: #e6f2ff;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid rgba(0, 0, 0, 0.03);
}
.diyetisyencim-progress-fill {
  height: 100%;
  width: 0%;
  background: var(--diyetisyencim-primary);
  transition: width 0.36s ease;
}
.diyetisyencim-progress-label {
  font-size: 13px;
  color: var(--diyetisyencim-muted);
  margin-bottom: 8px;
  text-align: right;
}

/* Provider card grid (step 1) */
.diyetisyencim-provider-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}
.diyetisyencim-provider-card {
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 12px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  transition:
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.diyetisyencim-provider-card:hover {
  box-shadow: 0 10px 30px rgba(var(--diyetisyencim-primary-rgb), 0.08);
  border-color: var(--diyetisyencim-primary);
}
.diyetisyencim-provider-card.selected {
  box-shadow: 0 12px 36px rgba(var(--diyetisyencim-primary-rgb), 0.12);
  border-color: var(--diyetisyencim-primary);
  outline: 3px solid rgba(var(--diyetisyencim-primary-rgb), 0.06);
}
.diyetisyencim-provider-photo img {
  border-radius: 50%;
  width: 80px;
  height: 80px;
  object-fit: cover;
}
.diyetisyencim-provider-name {
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  font-size: 15px;
}
.diyetisyencim-provider-svc-count {
  font-size: 12px;
  color: var(--diyetisyencim-muted);
  margin-top: -4px;
}
.diyetisyencim-provider-phone {
  color: var(--diyetisyencim-muted);
  font-size: 13px;
}
.diyetisyencim-provider-select-btn {
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 0;
  background: var(--diyetisyencim-primary);
  color: #fff;
  cursor: pointer;
}

/* responsive grid */
@media (max-width: 479px) {
  .diyetisyencim-provider-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 480px) and (max-width: 1023px) {
  .diyetisyencim-provider-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .diyetisyencim-provider-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* fallback: hide select visually but keep for accessibility */
.diyetisyencim-provider-select-fallback {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Shop form box: full-bleed layout with an inner boxed panel
   - form occupies full width on all sizes, but on tablet/desktop we keep side gaps
   - the visual box remains (border / shadow) while inputs stay full-width inside it
*/
.diyetisyencim-shop-box {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 18px;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(11, 35, 60, 0.04);
  width: calc(100% - 24px);
  margin: 12px auto;
  box-sizing: border-box;
}
.diyetisyencim-shop-box-title {
  text-align: center;
  margin: 0 0 12px 0;
  font-size: 20px;
  color: var(--diyetisyencim-primary-dark);
}
@media (min-width: 720px) {
  /* add side gaps on tablet/desktop */
  .diyetisyencim-shop-box {
    width: calc(100% - 120px);
    max-width: 1200px;
    margin: 20px auto;
    padding: 22px;
  }
}
@media (max-width: 719px) {
  .diyetisyencim-shop-box {
    width: calc(100% - 16px);
    margin: 8px;
    padding: 14px;
    border-radius: 8px;
  }
}

@media (max-width: 719px) {
  .diyetisyencim-shop-link-wrap {
    margin-left: 0;
    margin-right: 0;
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* inside shop box: give inner gap and limit input width so inputs don't touch edges */
.diyetisyencim-shop-box .diyetisyencim-shop-link {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
  background: var(--diyetisyencim-bg-1);
  box-sizing: border-box;
}
.diyetisyencim-shop-link-wrap {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px;
  border-radius: 8px;
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  box-sizing: border-box;
  margin-left: 12px;
  margin-right: 0;
}
.diyetisyencim-shop-link-wrap .diyetisyencim-shop-link {
  flex: 1;
  min-width: 0;
}
.diyetisyencim-copy-link-btn {
  padding: 8px 10px;
  border-radius: 8px;
  border: 0;
  background: var(--diyetisyencim-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.diyetisyencim-view-link-btn {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 8px;
  background: #28a745;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-size: inherit;
  line-height: 1;
  cursor: pointer;
}
.diyetisyencim-view-link-btn:hover {
  background: #218838;
  color: #fff;
}
.diyetisyencim-shop-readonly {
  text-align: center;
}
.diyetisyencim-shop-readonly a {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
  background: var(--diyetisyencim-bg-1);
  color: var(--diyetisyencim-primary-dark);
  text-decoration: none;
}

.diyetisyencim-shop-box form p {
  margin: 0 0 12px;
  text-align: center;
}
/* Ensure service/editor/owner save buttons share the same centering and sizing */
.diyetisyencim-services-box form p,
.diyetisyencim-shop-box form p,
.diyetisyencim-owner-settings-box p {
  text-align: center;
}

/* shop-specific action row: span both columns on wider screens and center the button */
.diyetisyencim-shop-box form p.diyetisyencim-shop-actions {
  grid-column: 1 / -1;
  text-align: center;
}
.diyetisyencim-shop-box form p.diyetisyencim-shop-actions button[type="submit"] {
  display: inline-block;
  margin: 14px 0 0;
  padding: 10px 16px;
}

.diyetisyencim-services-box form p button[type="submit"],
.diyetisyencim-owner-settings-save,
#diyetisyencim-save-services {
  display: inline-block;
  margin: 14px 0 0;
  padding: 10px 16px;
}
.diyetisyencim-shop-box form p label {
  display: block;
}

/* Ensure services pills inside the actual shop form fill the available form width
   without altering mobile stacking behavior. More specific selectors are used
   so these rules only affect the pills rendered inside the shop form. */
#diyetisyencim-shop-form .diyetisyencim-services-pills {
  /* Stats cards UI */
  .diyetisyencim-stats-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 14px 0;
  }
  .diyetisyencim-stats-card,
  .diyetisyencim-stats-card-list {
    background: var(--diyetisyencim-contrast);
    border: 1px solid var(--diyetisyencim-border);
    padding: 12px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(11, 35, 60, 0.04);
    transition:
      box-shadow 0.18s ease,
      border-color 0.18s ease;
  }
  .diyetisyencim-stats-card:hover {
    box-shadow: 0 16px 40px rgba(var(--diyetisyencim-primary-rgb), 0.08);
    border-color: var(--diyetisyencim-primary);
  }
  .diyetisyencim-stats-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .diyetisyencim-stats-card-left {
    flex: 1;
  }
  .diyetisyencim-stats-card-title {
    font-size: 13px;
    color: var(--diyetisyencim-muted);
    margin-bottom: 6px;
    font-weight: 700;
  }
  .diyetisyencim-stats-card-main {
    font-size: 20px;
    font-weight: 800;
    color: var(--diyetisyencim-primary-dark);
  }
  .diyetisyencim-stats-card-sm {
    font-size: 13px;
    color: var(--diyetisyencim-muted);
    margin-top: 6px;
  }
  .diyetisyencim-stats-card-right {
    flex: 0 0 120px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .diyetisyencim-stats-card-list h4 {
    margin: 0 0 8px 0;
    font-size: 15px;
    color: var(--diyetisyencim-primary-dark);
  }
  .diyetisyencim-top-services {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .diyetisyencim-top-service-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px;
    border-radius: 8px;
  }
  .diyetisyencim-top-service-name {
    font-weight: 700;
  }
  .diyetisyencim-top-service-count {
    color: var(--diyetisyencim-muted);
    font-weight: 700;
  }
  .diyetisyencim-top-products {
    display: block;
  }
  .diyetisyencim-top-products-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 8px;
  }
  .diyetisyencim-top-product {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .diyetisyencim-top-product-photo img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
  }
  .diyetisyencim-top-product-placeholder {
    width: 56px;
    height: 56px;
    border-radius: 6px;
    background: #f3f4f6;
    color: var(--diyetisyencim-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
  }
  .diyetisyencim-top-product-meta .diyetisyencim-top-product-name {
    font-weight: 700;
  }
  .diyetisyencim-top-product-meta .diyetisyencim-top-product-count {
    color: var(--diyetisyencim-muted);
    font-size: 13px;
  }

  @media (min-width: 720px) {
    .diyetisyencim-top-products-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: flex-start;
  box-sizing: border-box;
}

#diyetisyencim-shop-form .diyetisyencim-service-pill {
  flex: 0 1 auto;
  min-width: 120px;
  max-width: calc(33% - 12px);
}
@media (max-width: 1023px) {
  #diyetisyencim-shop-form .diyetisyencim-service-pill {
    max-width: calc(50% - 12px);
    flex: 0 1 200px;
  }
}
@media (max-width: 719px) {
  #diyetisyencim-shop-form .diyetisyencim-service-pill {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.diyetisyencim-shop-box form p label input,
.diyetisyencim-shop-box form p label textarea,
.diyetisyencim-shop-box form p label select {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
}
.diyetisyencim-shop-box form button[type="submit"] {
  display: inline-block;
  margin: 14px 0 0;
  padding: 10px 16px;
}

/* Responsive form layout: single column on small screens, two columns on tablet/desktop
   - Fields containing large controls (textarea, services, shop link, submit button) span full width
   - Use class-based fallbacks for broad browser support (avoid :has())
 */
.diyetisyencim-shop-box form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
  padding: 0 14px;
  box-sizing: border-box;
}
.diyetisyencim-shop-box form p {
  margin: 0;
}
.diyetisyencim-shop-box form p label {
  margin: 0;
  padding: 0 6px;
  box-sizing: border-box;
}
.diyetisyencim-shop-box form p label input,
.diyetisyencim-shop-box form p label select,
.diyetisyencim-shop-box form p label textarea {
  min-width: 0;
}

@media (min-width: 720px) {
  .diyetisyencim-shop-box form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Class-based fallbacks so large controls span both columns without :has() */
  .diyetisyencim-shop-box form p textarea {
    grid-column: 1 / -1;
  }
  .diyetisyencim-shop-box form p .diyetisyencim-services-data {
    grid-column: 1 / -1;
  }
  .diyetisyencim-shop-box form p .diyetisyencim-shop-link-wrap {
    grid-column: 1 / -1;
  }
  .diyetisyencim-shop-box form p button[type="submit"] {
    grid-column: 1 / -1;
  }
  /* place phone and city side-by-side on wider screens */
  .diyetisyencim-shop-box form .field-phone {
    grid-column: 1 / 2;
  }
  .diyetisyencim-shop-box form .field-city {
    grid-column: 2 / 3;
  }
}

@media (max-width: 419px) {
  .diyetisyencim-shop-box {
    padding: 12px;
    border-radius: 8px;
  }
  .diyetisyencim-shop-box .diyetisyencim-shop-box-title {
    font-size: 18px;
  }
}

/* Services/provider form box (admin) */
.diyetisyencim-services-box {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 20px;
  border-radius: 12px;
  max-width: 820px;
  margin: 20px auto;
  box-shadow: 0 8px 22px rgba(11, 35, 60, 0.04);
}
.diyetisyencim-services-box .diyetisyencim-box-title {
  text-align: center;
  margin: 0 0 14px 0;
  font-size: 20px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-services-box form p {
  margin: 0 0 12px;
}
.diyetisyencim-services-box form p label {
  display: block;
  max-width: 760px;
  margin: 0 auto;
}
.diyetisyencim-services-box form p label input,
.diyetisyencim-services-box form p label textarea,
.diyetisyencim-services-box form p label select {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
}
.diyetisyencim-services-box form button[type="submit"] {
  display: block;
  margin: 14px auto 0;
}
@media (max-width: 720px) {
  .diyetisyencim-services-box {
    width: 100%;
    margin: 8px;
    padding: 14px;
    border-radius: 8px;
  }
}

/* Center service editor controls and rows */
.diyetisyencim-services-box p {
  text-align: center;
}
.diyetisyencim-service-editor-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.diyetisyencim-service-editor-controls .chosen-container {
  width: 100%;
  max-width: 760px;
}
.diyetisyencim-services-box #diyetisyencim-services-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.diyetisyencim-service-row {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.diyetisyencim-service-row input {
  max-width: 260px;
}

/* Service editor: compact row view + drag handle */
.diyetisyencim-service-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(0, 0, 0, 0.03);
  border-radius: 8px;
  background: var(--diyetisyencim-bg-1);
  box-sizing: border-box;
}
.diyetisyencim-service-row:focus {
  outline: 2px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
}
.diyetisyencim-drag-handle {
  cursor: grab;
  padding: 6px 8px;
  border-radius: 6px;
  background: transparent;
  color: var(--diyetisyencim-muted);
  font-size: 16px;
  user-select: none;
}
.diyetisyencim-service-row.dragging {
  opacity: 0.6;
}
.diyetisyencim-service-row.drag-over {
  outline: 2px dashed rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.diyetisyencim-service-row .diyetisyencim-service-name {
  flex: 1 1 200px;
  min-width: 120px;
}
.diyetisyencim-service-row .diyetisyencim-service-price {
  width: 110px;
}
.diyetisyencim-service-row .diyetisyencim-service-duration {
  width: 90px;
}
.diyetisyencim-service-row .diyetisyencim-remove-service {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--diyetisyencim-primary-dark);
  font-weight: 700;
}
.diyetisyencim-service-row .diyetisyencim-remove-service:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.06);
  color: var(--diyetisyencim-primary-dark);
}

/* Stronger theme-specific override when theme styles hide button text */
.jeg_singlepage
  .diyetisyencim-services-box
  .diyetisyencim-service-row
  .diyetisyencim-remove-service,
.diyetisyencim-services-box .diyetisyencim-service-row .diyetisyencim-remove-service {
  color: var(--diyetisyencim-primary-dark) !important;
}

/* Chosen control and Save button centering tweaks */
.diyetisyencim-service-editor-controls .chosen-container {
  width: 100% !important;
  max-width: 760px;
  margin: 0 auto;
  display: block !important;
}
.diyetisyencim-service-editor-controls .chosen-container .chosen-single {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  box-sizing: border-box;
}
.diyetisyencim-service-editor-controls .chosen-container .chosen-single span {
  display: inline-block;
}
.diyetisyencim-services-box form p:last-of-type {
  text-align: center;
}
.diyetisyencim-services-box form p:last-of-type #diyetisyencim-save-services {
  display: inline-block;
  margin: 16px 0 0;
}

/* Center providers table within providers page and center title */
.diyetisyencim-providers {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.diyetisyencim-providers h2 {
  width: 100%;
  max-width: 820px;
  text-align: center;
  margin: 12px auto 8px;
}
.diyetisyencim-providers .diyetisyencim-providers-table {
  display: table;
  width: 100%;
  max-width: 100%;
  margin: 12px 0;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
  overflow: hidden;
  table-layout: fixed;
  border-collapse: collapse;
}
.diyetisyencim-providers .diyetisyencim-providers-table thead th {
  background: var(--diyetisyencim-bg-2);
}
.diyetisyencim-providers .diyetisyencim-providers-table td,
.diyetisyencim-providers .diyetisyencim-providers-table th {
  padding: 10px;
  vertical-align: top;
  word-break: break-word;
}

/* Desktop: make table occupy full available width and distribute columns */
.diyetisyencim-providers .diyetisyencim-providers-table th:nth-child(1),
.diyetisyencim-providers .diyetisyencim-providers-table td:nth-child(1) {
  width: 80px;
}
.diyetisyencim-providers .diyetisyencim-providers-table th:nth-child(2),
.diyetisyencim-providers .diyetisyencim-providers-table td:nth-child(2) {
  width: 160px;
}
.diyetisyencim-providers .diyetisyencim-providers-table th:nth-child(5),
.diyetisyencim-providers .diyetisyencim-providers-table td:nth-child(5) {
  width: 180px;
}

/* Mobile: convert rows into stacked cards with labels (uses data-label attrs added in PHP) */
@media (max-width: 720px) {
  .diyetisyencim-providers .diyetisyencim-providers-table thead {
    display: none;
  }
  .diyetisyencim-providers .diyetisyencim-providers-table,
  .diyetisyencim-providers .diyetisyencim-providers-table tbody,
  .diyetisyencim-providers .diyetisyencim-providers-table tr {
    display: block;
    width: 100%;
  }
  .diyetisyencim-providers .diyetisyencim-providers-table tr {
    margin-bottom: 12px;
    border: 1px solid var(--diyetisyencim-border);
    border-radius: 8px;
    padding: 10px;
    background: var(--diyetisyencim-contrast);
  }
  .diyetisyencim-providers .diyetisyencim-providers-table td {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px 6px;
    border-bottom: 0;
  }
  /* label column (pseudo) becomes a fixed basis so content (buttons) can flow beside it */
  .diyetisyencim-providers .diyetisyencim-providers-table td:before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--diyetisyencim-muted);
    margin-right: 8px;
    flex: 0 0 110px;
    max-width: 40%;
    text-align: left;
  }
  /* ensure images/thumbs don't force a new line */
  .diyetisyencim-providers .diyetisyencim-providers-table td > img,
  .diyetisyencim-providers
    .diyetisyencim-providers-table
    td
    .diyetisyencim-provider-thumb-placeholder {
    flex: 0 0 auto;
    margin-right: 8px;
  }
  .diyetisyencim-provider-photo-cell {
    text-align: left;
  }
  /* buttons and other inline controls: keep them inline, shrink padding and prevent wrapping */
  .diyetisyencim-providers .diyetisyencim-providers-table td > button {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 6px 8px;
    font-size: 13px;
    margin: 0;
  }
  /* make service lists and working hours grow to fill remaining space */
  .diyetisyencim-providers .diyetisyencim-providers-table td .diyetisyencim-services-list,
  .diyetisyencim-providers .diyetisyencim-providers-table td .diyetisyencim-provider-calendar {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* Utility classes to replace inline styles */
.diyetisyencim-modal-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.diyetisyencim-inline-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.diyetisyencim-inline-row.wrap {
  flex-wrap: wrap;
}
.diyetisyencim-tab-content-products {
  display: none;
}
.diyetisyencim-appointment-link-wrap {
  margin-top: 8px;
}
.diyetisyencim-hidden-checkbox {
  display: none;
}
.diyetisyencim-small-text {
  font-size: 0.95em;
}
.mt-8 {
  margin-top: 8px;
}
.diyetisyencim-service-row {
  margin-bottom: 6px;
}
.diyetisyencim-closed-label {
  margin-left: 8px;
  font-size: 0.95em;
  cursor: pointer;
}
.diyetisyencim-closed-checkbox {
  margin-right: 6px;
  transform: translateY(1px);
}
.diyetisyencim-working-day-row .diyetisyencim-working-day-hint {
  color: rgba(0, 0, 0, 0.45);
  font-size: 0.9em;
  margin-left: 8px;
}

/* Working hours row visual style (owner edit page) */
.diyetisyencim-working-day-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border-radius: 12px;
  background: var(--diyetisyencim-contrast, #fff);
  border: 1px solid rgba(16, 24, 32, 0.04);
  margin-bottom: 10px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}
.diyetisyencim-working-day-row strong,
.diyetisyencim-working-day-row > label {
  min-width: 110px;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark, #222);
}
.diyetisyencim-working-day-row input[type="time"] {
  width: 100px;
  border-radius: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  box-sizing: border-box;
}
.diyetisyencim-working-day-row input[type="time"].disabled {
  opacity: 0.6;
}
.diyetisyencim-working-day-row .diyetisyencim-closed-label {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(0, 0, 0, 0.6);
}
.diyetisyencim-closed-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--diyetisyencim-primary, #ff8c42);
}

/* closed row visual state */
.diyetisyencim-working-day-row.diyetisyencim-day-closed {
  background: rgba(255, 140, 66, 0.06);
  border-color: rgba(255, 140, 66, 0.14);
}
.diyetisyencim-working-day-row.diyetisyencim-day-closed .diyetisyencim-closed-label {
  color: var(--diyetisyencim-primary, #ff8c42);
}
.diyetisyencim-working-day-row.diyetisyencim-day-closed input[type="time"] {
  background: transparent;
  border-color: rgba(0, 0, 0, 0.04);
}

.diyetisyencim-off-work-help {
  margin: 6px 0 12px;
  color: var(--diyetisyencim-muted, #64748b);
  font-size: 13px;
  line-height: 1.5;
}
.diyetisyencim-off-work-wrap {
  margin-top: 4px;
}
.diyetisyencim-off-work-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.diyetisyencim-off-work-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(140px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 10px;
  border-radius: 12px;
  background: var(--diyetisyencim-contrast, #fff);
  border: 1px solid rgba(16, 24, 32, 0.04);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}
.diyetisyencim-off-work-field {
  min-width: 0;
}
.diyetisyencim-off-work-field .bv2-label {
  display: block;
  margin-bottom: 6px;
}
.diyetisyencim-off-work-row .bv2-select {
  width: 100%;
}
.diyetisyencim-off-work-remove {
  align-self: center;
  justify-self: end;
  min-width: 42px;
  min-height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(220, 38, 38, 0.16);
  background: rgba(220, 38, 38, 0.06);
  color: var(--diyetisyencim-danger, #dc2626);
}
.diyetisyencim-off-work-remove:hover {
  background: rgba(220, 38, 38, 0.1);
}
.bv2-submit-btn--secondary {
  background: #fff;
  color: var(--diyetisyencim-primary-dark, #f97316);
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.22);
  box-shadow: none;
}
.bv2-submit-btn--secondary:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.06);
}

@media (max-width: 720px) {
  .diyetisyencim-working-day-row {
    flex-direction: column;
    align-items: stretch;
  }
  .diyetisyencim-working-day-row > label {
    min-width: 0;
  }
  .diyetisyencim-working-day-row .diyetisyencim-closed-label {
    margin-left: 0;
    justify-content: flex-end;
  }
  .diyetisyencim-off-work-row {
    grid-template-columns: 1fr;
  }
  .diyetisyencim-off-work-remove {
    justify-self: stretch;
    width: 100%;
  }
}

/* Provider header: photo + name */
.diyetisyencim-provider-header {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}
.diyetisyencim-provider-photo-wrap {
  width: 120px;
  flex: 0 0 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.diyetisyencim-provider-photo-placeholder {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-weight: 700;
  font-size: 28px;
  overflow: hidden;
  cursor: pointer;
  border: 4px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 6px 18px rgba(11, 35, 60, 0.06);
}
.diyetisyencim-provider-photo-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.diyetisyencim-provider-info {
  width: 100%;
  text-align: center;
}
.diyetisyencim-provider-info .diyetisyencim-field-row {
  margin: 0;
}
.diyetisyencim-provider-info .diyetisyencim-name-label {
  display: block;
  font-weight: 800;
  margin-bottom: 6px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-provider-info .diyetisyencim-input-wide {
  max-width: 360px;
  margin: 0 auto;
}

@media (max-width: 520px) {
  /* Keep avatar above name on small screens */
  .diyetisyencim-provider-header {
    flex-direction: column;
    align-items: center;
  }
}

/* Statistics page: responsive chart layout (consolidated) */
.diyetisyencim-stats-container {
  max-width: 1200px;
  margin: 18px auto;
  padding: 16px;
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 10px;
  box-sizing: border-box;
}
.diyetisyencim-stats-title,
.diyetisyencim-stats-container h3 {
  text-align: center;
  margin: 8px 0 14px;
  font-size: 18px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 18px;
  align-items: start;
  grid-auto-rows: auto;
}
.diyetisyencim-stats-chart {
  width: 100%;
  height: 220px;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.diyetisyencim-stats-chart canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}
.diyetisyencim-stats-revenue-summary {
  padding: 12px;
  background: var(--diyetisyencim-bg-1);
  border-radius: 8px;
}

@media (min-width: 720px) {
  .diyetisyencim-stats-grid {
    grid-template-columns: 1fr 360px;
  }
  .diyetisyencim-stats-chart {
    height: 260px;
  }
  .diyetisyencim-stats-container .diyetisyencim-stats-chart:first-child {
    grid-column: 1 / 2;
    height: 320px;
  }
}

@media (min-width: 1100px) {
  /* keep overall container narrower so charts don't grow too wide */
  .diyetisyencim-stats-container {
    max-width: 1100px;
  }
  /* two narrower columns; charts will sit side-by-side */
  .diyetisyencim-stats-grid {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    grid-auto-rows: auto;
    grid-gap: 18px;
  }
  /* reduce chart heights for desktop to avoid long scrolling */
  .diyetisyencim-stats-chart {
    height: 200px;
    max-width: 520px;
    margin: 0 auto;
  }
  /* first chart should not span both columns on large screens */
  .diyetisyencim-stats-container .diyetisyencim-stats-chart:first-child {
    grid-column: auto;
    height: 220px;
  }
}
.diyetisyencim-save-services-msg {
  margin-top: 8px;
}
.diyetisyencim-owner-photo {
  text-align: center;
  margin-bottom: 8px;
}
.diyetisyencim-owner-photo img {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
}
.diyetisyencim-product-photo-preview {
  max-width: 120px;
  display: none;
  border-radius: 6px;
  margin-bottom: 6px;
}
.hidden-file-input {
  display: none !important;
}
.error-text {
  color: var(--diyetisyencim-danger);
}

/* Owner settings boxed layout */
.diyetisyencim-owner-settings-box {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 16px;
  border-radius: 12px;
  max-width: 820px;
  margin: 18px auto;
  box-shadow: 0 10px 30px rgba(11, 35, 60, 0.04);
}
.diyetisyencim-owner-settings-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 12px 12px;
}
.diyetisyencim-owner-settings-header svg {
  width: 22px;
  height: 22px;
  color: var(--diyetisyencim-primary);
}
.diyetisyencim-owner-settings-header h4 {
  margin: 0;
  font-size: 18px;
  color: var(--diyetisyencim-primary-dark);
}

/* Auto-accept row: soft blue background with text left and checkbox right */
.diyetisyencim-owner-auto-box {
  background: #eaf6ff;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(10, 80, 140, 0.06);
}

/* On desktop make owner settings box match shop box width and spacing */
@media (min-width: 720px) {
  .diyetisyencim-owner-settings-box {
    width: calc(100% - 120px);
    max-width: 1200px;
    margin: 20px auto;
    padding: 22px;
  }
  /* inset the blue auto-accept row so it doesn't touch box edges */
  .diyetisyencim-owner-auto-box {
    margin-left: 12px;
    margin-right: 12px;
    width: calc(100% - 24px);
  }
}

/* On small screens keep full-width stacking */
@media (max-width: 719px) {
  .diyetisyencim-owner-settings-header {
    margin-left: 0;
    margin-right: 0;
  }
  .diyetisyencim-owner-auto-box {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  .diyetisyencim-owner-shop-meta,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-slotmode-box,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-loyalty-box,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-game-box,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-box,
  .diyetisyencim-owner-settings-box p {
    margin-left: 0;
    margin-right: 0;
  }
}
.diyetisyencim-owner-auto-text {
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  font-size: 15px;
}

/* "?" yardım butonu + tooltip (Salon Randevu Ayarları — Mirror Match vb.) */
.diyetisyencim-owner-help-btn {
  position: relative;
  flex: none;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--diyetisyencim-border);
  background: var(--diyetisyencim-bg-2);
  color: var(--diyetisyencim-primary);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  margin-left: 4px;
  vertical-align: middle;
  cursor: help;
  outline: none;
  transition: border-color 0.15s, color 0.15s;
}
.diyetisyencim-owner-help-btn:hover,
.diyetisyencim-owner-help-btn:focus {
  border-color: var(--diyetisyencim-primary);
}
.diyetisyencim-owner-help-btn::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  width: min(300px, calc(100vw - 32px));
  max-width: 320px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  box-shadow: 0 10px 30px rgba(11, 35, 60, 0.12);
  color: var(--diyetisyencim-text);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 30;
  transition: opacity 0.15s, transform 0.15s;
}
.diyetisyencim-owner-help-btn:hover::after,
.diyetisyencim-owner-help-btn:focus::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.diyetisyencim-owner-auto-control {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* simple switch appearance for the checkbox */
.diyetisyencim-switch-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.diyetisyencim-switch-ui {
  width: 44px;
  height: 26px;
  background: #cfeefe;
  border-radius: 20px;
  position: relative;
  display: inline-block;
}
.diyetisyencim-switch-ui:after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.18s ease;
}
.diyetisyencim-switch-ui.active {
  background: var(--diyetisyencim-primary);
}
.diyetisyencim-switch-ui.active:after {
  transform: translateX(18px);
}

.diyetisyencim-owner-settings-save {
  display: block;
  margin: 14px auto 0;
  padding: 12px 18px;
  border-radius: 10px;
  border: 0;
  background: var(--diyetisyencim-primary);
  color: #fff;
  font-weight: 700;
}

.diyetisyencim-owner-shop-meta,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-slotmode-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-loyalty-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-game-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-box,
.diyetisyencim-owner-settings-box p {
  margin-left: 12px;
  margin-right: 12px;
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-slotmode-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-loyalty-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-game-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-box {
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.75);
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-box label,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-loyalty-box label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  flex-wrap: nowrap;
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-text {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 600;
  color: #2c394a;
}

.diyetisyencim-owner-settings-box
  .diyetisyencim-owner-reminder-row
  .diyetisyencim-switch-label {
  flex: 0 0 auto;
  margin-left: auto;
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-coupon-box {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(15, 23, 42, 0.18);
}

/* Owner settings — class-based light defaults (inline style'lardan taşındı;
   panel modunda panel.css token'ları bunları ezer) */
.diyetisyencim-owner-birthday-box {
  border: 1px solid #e9e5ff;
  border-radius: 12px;
  padding: 16px;
  background: #faf8ff;
}
.diyetisyencim-owner-birthday-box textarea {
  border: 2px solid #e2e8f0;
}
.diyetisyencim-owner-hint {
  font-size: 12px;
  color: #666;
}
.diyetisyencim-owner-birthday-title {
  color: #4c1d95;
}

/* Ensure shop form controls never force horizontal overflow */
#diyetisyencim-shop-form select,
.diyetisyencim-shop-box select,
#diyetisyencim-shop-form input,
.diyetisyencim-shop-box input,
.diyetisyencim-shop-box textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

/* Stronger override for themes/pages that wrap the shop box (e.g. .jeg_singlepage)
   Ensure the pills container inside the form can occupy the full box width and
   allow more columns on wider screens. Uses higher specificity and conservative
   !important only where necessary to override theme constraints. */
.jeg_singlepage .diyetisyencim-shop-box #diyetisyencim-shop-form .diyetisyencim-services-pills,
.jeg_singlepage #diyetisyencim-shop-form .diyetisyencim-services-pills {
  width: 100% !important;
  max-width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  box-sizing: border-box;
}
.jeg_singlepage .diyetisyencim-shop-box #diyetisyencim-shop-form .diyetisyencim-service-pill,
.jeg_singlepage #diyetisyencim-shop-form .diyetisyencim-service-pill {
  /* target ~3 columns on typical desktop widths so pills fill the box better */
  flex: 0 1 calc(33.333% - 12px) !important;
  min-width: 120px;
  max-width: calc(33.333% - 12px) !important;
}
@media (max-width: 1400px) {
  .jeg_singlepage .diyetisyencim-shop-box #diyetisyencim-shop-form .diyetisyencim-service-pill,
  .jeg_singlepage #diyetisyencim-shop-form .diyetisyencim-service-pill {
    max-width: calc(33% - 12px) !important;
    flex: 0 1 calc(33% - 12px) !important;
  }
}
@media (max-width: 1023px) {
  .jeg_singlepage .diyetisyencim-shop-box #diyetisyencim-shop-form .diyetisyencim-service-pill,
  .jeg_singlepage #diyetisyencim-shop-form .diyetisyencim-service-pill {
    max-width: calc(50% - 12px) !important;
    flex: 0 1 calc(50% - 12px) !important;
  }
}
@media (max-width: 719px) {
  .jeg_singlepage .diyetisyencim-shop-box #diyetisyencim-shop-form .diyetisyencim-service-pill,
  .jeg_singlepage #diyetisyencim-shop-form .diyetisyencim-service-pill {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* Danger / delete box (Tehlikeli Bölge) */
.diyetisyencim-danger-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 12px;
  padding: 12px;
  border: 1px dashed rgba(224, 75, 75, 0.35);
  background: #fff8f8; /* match boxed layout on desktop via media query */
  max-width: 760px;
  margin: 12px auto;
  color: var(--diyetisyencim-text);
  box-sizing: border-box;
}
.diyetisyencim-danger-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.diyetisyencim-danger-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(224, 75, 75, 0.04);
  flex-shrink: 0;
}
.diyetisyencim-danger-body {
  display: flex;
  flex-direction: column;
}
.diyetisyencim-danger-title {
  font-weight: 800;
  color: #d32f2f;
  font-size: 15px;
  margin-bottom: 2px;
}
.diyetisyencim-danger-sub {
  font-size: 13px;
  color: #b74b4b;
  opacity: 0.9;
}
.diyetisyencim-danger-action {
  flex-shrink: 0;
}
.diyetisyencim-delete-action {
  background: transparent;
  border: 0;
  color: #d32f2f;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.diyetisyencim-delete-action:hover {
  background: rgba(224, 75, 75, 0.06);
}

@media (max-width: 640px) {
  /* Keep the delete action inline on small screens and reduce vertical padding
	   so the box doesn't look overly tall. The left part grows and the button
	   remains vertically centered. */
  .diyetisyencim-danger-box {
    flex-direction: row;
    align-items: center;
    padding: 10px;
    gap: 10px;
  }
  .diyetisyencim-danger-left {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .diyetisyencim-danger-action {
    align-self: center;
    width: auto;
    display: flex;
    justify-content: flex-end;
  }
}

/* On tablet/desktop match the boxed layout used by shop/owner boxes */
@media (min-width: 720px) {
  .diyetisyencim-danger-box {
    width: calc(100% - 120px);
    max-width: 1200px;
    margin: 20px auto;
    padding: 22px;
  }
}

.products-table {
  width: 100%;
  border-collapse: collapse;
}
.product-img-cell img {
  max-width: 80px;
  border-radius: 6px;
}
.diyetisyencim-wizard-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

/* Appointments page box + centered layout */
.diyetisyencim-appointments-box {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 20px;
  border-radius: 12px;
  max-width: 980px;
  margin: 20px auto;
  box-shadow: 0 8px 26px rgba(11, 35, 60, 0.04);
}
.diyetisyencim-appointments-title {
  text-align: center;
  margin: 0 0 12px 0;
  font-size: 20px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-appointments-list-box {
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 16px;
  border-radius: 10px;
  margin-top: 14px;
}
.diyetisyencim-appt-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 0 10px;
}
.diyetisyencim-appt-filters input[type="date"],
.diyetisyencim-appt-filters select,
.diyetisyencim-appt-filters input[type="text"] {
  padding: 8px;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 8px;
}
.diyetisyencim-appt-filters .button {
  margin-left: 6px;
}
.diyetisyencim-appointments-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}
.diyetisyencim-appointments-table thead th {
  background: var(--diyetisyencim-bg-2);
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid var(--diyetisyencim-border);
}
.diyetisyencim-appointments-table td {
  padding: 10px;
  border-bottom: 1px solid #f6f6f6;
  vertical-align: top;
}
.diyetisyencim-appointments-table tr {
  background: var(--diyetisyencim-contrast);
}
.diyetisyencim-appointments-table button {
  margin-right: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  border: 0;
}
.diyetisyencim-appt-note-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.diyetisyencim-appt-note {
  min-height: 64px;
  padding: 8px;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
}
.diyetisyencim-appt-save-note {
  align-self: flex-end;
  padding: 6px 10px;
}

@media (max-width: 720px) {
  .diyetisyencim-appointments-box {
    padding: 12px;
    margin: 10px;
  }
  /* keep filters compact on mobile: allow items to flow in a row and wrap when needed
	   so date-from and date-to stay side-by-side unless space is extremely constrained */
  .diyetisyencim-appt-filters {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .diyetisyencim-appt-filters select,
  .diyetisyencim-appt-filters input[type="date"] {
    min-width: 120px;
    flex: 0 0 auto;
  }
  .diyetisyencim-appointments-list-box {
    padding: 12px;
  }

  /* Mobile: convert appointments table to stacked cards to avoid horizontal overflow */
  .diyetisyencim-appointments-table thead {
    display: none;
  }
  .diyetisyencim-appointments-table,
  .diyetisyencim-appointments-table tbody,
  .diyetisyencim-appointments-table tr {
    display: block;
    width: 100%;
  }
  .diyetisyencim-appointments-table tr {
    margin-bottom: 12px;
    border: 1px solid var(--diyetisyencim-border);
    border-radius: 8px;
    padding: 10px;
    background: var(--diyetisyencim-contrast);
  }
  .diyetisyencim-appointments-table td {
    display: flex;
    justify-content: space-between;
    padding: 8px 6px;
    border-bottom: 0;
    align-items: center;
    flex-wrap: wrap;
  }
  .diyetisyencim-appointments-table td:before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--diyetisyencim-muted);
    margin-right: 8px;
    flex: 0 0 110px;
    max-width: 40%;
  }
  .diyetisyencim-appointments-table td .diyetisyencim-appt-products {
    flex: 1 1 0;
    min-width: 0;
  }
  .diyetisyencim-appointments-table td > button {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 6px 8px;
  }
}

/* Products admin box styles */
.diyetisyencim-products-box {
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  padding: 22px;
  border-radius: 12px;
  max-width: 920px;
  margin: 20px auto;
  box-shadow: 0 10px 28px rgba(11, 35, 60, 0.04);
}
.diyetisyencim-products-box .diyetisyencim-box-title {
  text-align: center;
  margin: 0 0 12px 0;
  font-size: 20px;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-product-form-box {
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 14px;
  border-radius: 10px;
}
.diyetisyencim-product-form-box p {
  margin: 8px 0;
}
.diyetisyencim-product-photo-preview {
  max-width: 160px;
  display: none;
  border-radius: 8px;
  margin-top: 8px;
}
.diyetisyencim-products-list-box {
  margin-top: 14px;
  background: var(--diyetisyencim-bg-1);
  border: 1px solid var(--diyetisyencim-border);
  padding: 12px;
  border-radius: 10px;
}
.diyetisyencim-products-table {
  width: 100%;
  border-collapse: collapse;
}
.diyetisyencim-products-table thead th {
  background: var(--diyetisyencim-bg-2);
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid var(--diyetisyencim-border);
}
.diyetisyencim-products-table td {
  padding: 10px;
  border-bottom: 1px solid #f6f6f6;
  vertical-align: middle;
}
.diyetisyencim-product-thumb-img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
}
.diyetisyencim-products-table button {
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  border: 0;
  margin-right: 6px;
}
.diyetisyencim-products-box .btn-primary {
  display: block;
  margin: 12px auto 0;
  padding: 10px 14px;
}
.diyetisyencim-box-subtitle {
  margin: 14px 0 8px 0;
  text-align: center;
  color: var(--diyetisyencim-primary-dark);
}

@media (max-width: 720px) {
  .diyetisyencim-products-box {
    padding: 12px;
    margin: 10px;
  }
  .diyetisyencim-product-form-box {
    padding: 10px;
  }
  .diyetisyencim-product-thumb-img {
    width: 64px;
    height: 48px;
  }
}

/* Confetti pieces and final success overlay for booking wizard */
.diyetisyencim-confetti {
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 130000;
}
.diyetisyencim-confetti-piece {
  position: absolute;
  top: -10%;
  opacity: 0.95;
  border-radius: 2px;
  animation: diyetisyencim-confetti-fall 4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.diyetisyencim-confetti-piece:nth-child(even) {
  border-radius: 4px;
}
.diyetisyencim-confetti-fade {
  opacity: 0;
  transition: opacity 0.9s ease;
}
@keyframes diyetisyencim-confetti-fall {
  0% {
    transform: translateY(-10vh) rotate(0) scale(1);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(110vh) rotate(360deg) scale(1);
  }
}

.diyetisyencim-final-success {
  position: relative;
  max-width: 680px;
  margin: 14px auto;
  padding: 0;
  z-index: 13000;
}
.diyetisyencim-final-success-inner {
  background: linear-gradient(180deg, var(--diyetisyencim-bg-1), #fff);
  border: 1px solid var(--diyetisyencim-border);
  padding: 18px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 18px 48px rgba(11, 35, 60, 0.08);
}
.diyetisyencim-final-success h3 {
  margin: 0 0 8px 0;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-final-success-body {
  margin: 8px 0;
  color: var(--diyetisyencim-text);
  font-size: 15px;
}
.diyetisyencim-final-success-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 12px;
}
.diyetisyencim-final-success-actions button {
  padding: 8px 12px;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
}
.diyetisyencim-final-success-actions .diyetisyencim-final-ok {
  background: var(--diyetisyencim-primary);
  color: #fff;
}
.diyetisyencim-final-success-actions .diyetisyencim-final-view {
  background: var(--diyetisyencim-bg-2);
  color: var(--diyetisyencim-primary-dark);
}

/* ensure wizard container is positioned for confetti absolute placement */
.diyetisyencim-booking-wizard {
  position: relative;
}

/* Diyetisyencim stats minimal styles */
.diyetisyencim-stats-container {
  max-width: 920px;
  margin: 18px auto;
  padding: 14px;
  background: var(--diyetisyencim-contrast);
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 10px;
  text-align: center;
}
.diyetisyencim-stats-container h3 {
  margin: 0 0 10px;
  color: var(--diyetisyencim-primary-dark);
}
#diyetisyencim-stats-chart {
  width: 100%;
  height: 360px;
  max-height: 420px;
}
@media (max-width: 720px) {
  #diyetisyencim-stats-chart {
    height: 260px;
  }
}

/* === Mobile-first responsive overrides (targets 320px and up) === */
:root {
  --diyetisyencim-base-font: 15px;
}
html {
  font-size: var(--diyetisyencim-base-font);
}
body {
  line-height: 1.35;
}
.diyetisyencim-card,
.diyetisyencim-shop-box,
.diyetisyencim-services-box,
.diyetisyencim-products-box,
.diyetisyencim-owner-settings-box {
  padding: 12px;
  border-radius: 10px;
}

/* Make images and media responsive */
img,
.diyetisyencim-photo img,
.diyetisyencim-shop-photo img,
.diyetisyencim-product-photo img,
.diyetisyencim-owner-photo img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Forms: mobile-first single column starting at 320px */
.diyetisyencim-shop-box form {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 10px;
}
.diyetisyencim-shop-box form p label {
  padding: 0;
}
.diyetisyencim-shop-box .diyetisyencim-shop-link {
  padding: 10px;
}

/* Services pills: allow flexible wrapping on small screens */
.diyetisyencim-services-pills {
  justify-content: flex-start;
}
.diyetisyencim-service-pill {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

/* Modal: full-screen friendly on mobiles */
.diyetisyencim-modal {
  padding: 12px;
}
.diyetisyencim-modal-inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 14px;
}

/* Buttons and interactive elements: slightly larger tap targets on mobile */
button,
.button,
.diyetisyencim-copy-link-btn,
.diyetisyencim-owner-settings-save,
.diyetisyencim-shop-box form button[type="submit"] {
  padding: 10px 12px;
}

/* Breakpoint: small tablets and up */
@media (min-width: 480px) {
  :root {
    --diyetisyencim-base-font: 15.5px;
  }
  .diyetisyencim-shop-box form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 14px;
  }
  .diyetisyencim-shop-box form .field-phone {
    grid-column: 1/2;
  }
  .diyetisyencim-shop-box form .field-city {
    grid-column: 2/3;
  }
  .diyetisyencim-service-pill {
    flex: 0 1 45%;
    max-width: calc(50% - 12px);
  }
}

/* Breakpoint: desktop layout */
@media (min-width: 720px) {
  :root {
    --diyetisyencim-base-font: 16px;
  }
  .diyetisyencim-card,
  .diyetisyencim-shop-box,
  .diyetisyencim-services-box {
    padding: 20px;
  }
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
  .diyetisyencim-service-pill {
    flex: 0 1 180px;
    max-width: calc(33% - 12px);
  }
  .diyetisyencim-shop-box {
    width: calc(100% - 120px);
    max-width: 1200px;
    margin: 20px auto;
  }
}

/* Breakpoint: large screens */
@media (min-width: 1024px) {
  :root {
    --diyetisyencim-base-font: 16.5px;
  }
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
  .diyetisyencim-card {
    width: 320px;
  }
}

/* Accessibility: increase focus outlines on small screens */
button:focus,
a:focus,
input:focus,
textarea:focus {
  outline: 3px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
  outline-offset: 2px;
}

/* Ensure long texts wrap on tiny screens */
.diyetisyencim-shop-name,
.diyetisyencim-title,
.diyetisyencim-service-name {
  word-break: break-word;
}

/* Small-screen tweaks for pill add button */
.diyetisyencim-pill-add {
  padding: 8px 10px;
  font-size: 14px;
}

/* End of mobile-first responsive overrides */

/* === Responsive finish - enhancements === */
/* Ensure large form controls span both columns on small tablets and up (fallbacks for :has) */
@media (min-width: 480px) {
  .diyetisyencim-shop-box form .diyetisyencim-services-pills,
  .diyetisyencim-shop-box form .diyetisyencim-services-data,
  .diyetisyencim-shop-box form .diyetisyencim-shop-link-wrap,
  .diyetisyencim-shop-box form textarea,
  .diyetisyencim-shop-box form button[type="submit"] {
    grid-column: 1 / -1;
  }
  .diyetisyencim-shop-box form .field-phone {
    grid-column: 1 / 2;
  }
  .diyetisyencim-shop-box form .field-city {
    grid-column: 2 / 3;
  }
}

/* Ensure the services block (label + pills) always spans both columns */
.diyetisyencim-shop-box form .diyetisyencim-services-field {
  grid-column: 1 / -1;
}
.diyetisyencim-shop-box form .diyetisyencim-services-field label {
  display: block;
  margin-bottom: 8px;
}

/* Card sizing: fluid on mobile, fixed-ish on desktop */
.diyetisyencim-card {
  width: 100%;
  max-width: 320px;
}
@media (min-width: 720px) {
  .diyetisyencim-card {
    width: 300px;
    max-width: 340px;
  }
}

/* More aggressive service-grid responsiveness */
.diyetisyencim-service-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
@media (min-width: 480px) {
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 720px) {
  .diyetisyencim-service-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}

/* Provider/product/shop grids: ensure min width and auto-fit behavior */
.diyetisyencim-provider-grid,
.diyetisyencim-product-grid,
.diyetisyencim-shop-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
@media (max-width: 479px) {
  .diyetisyencim-provider-grid,
  .diyetisyencim-product-grid,
  .diyetisyencim-shop-grid {
    grid-template-columns: 1fr;
  }
}

/* Service pills: more predictable wrapping and sizing */
.diyetisyencim-services-pills {
  align-items: flex-start;
}
.diyetisyencim-service-pill {
  flex: 1 1 auto;
  min-width: 120px;
  max-width: 100%;
}
@media (min-width: 480px) {
  .diyetisyencim-service-pill {
    flex: 0 1 45%;
    max-width: calc(50% - 12px);
  }
}
@media (min-width: 720px) {
  .diyetisyencim-service-pill {
    flex: 0 1 180px;
    max-width: calc(33% - 12px);
  }
}

/* Modal and toast scaling */
.diyetisyencim-modal {
  padding: 12px;
}
.diyetisyencim-modal-inner {
  max-height: calc(100vh - 48px);
  overflow: auto;
}
.diyetisyencim-modal-inner img {
  max-height: 60vh;
  object-fit: contain;
}
.diyetisyencim-toast {
  max-width: 420px;
  padding: 10px 12px;
  right: 12px;
  left: auto;
  bottom: 12px;
}
@media (max-width: 419px) {
  .diyetisyencim-toast {
    width: calc(100% - 24px);
    left: 12px;
    right: 12px;
  }
}

/* Ensure images inside cards do not overflow and keep aspect ratios */
.diyetisyencim-shop-photo img,
.diyetisyencim-product-photo img,
.diyetisyencim-owner-photo img,
.diyetisyencim-photo img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
}

/* Buttons & focus targets - larger tap areas on smaller screens */
@media (max-width: 479px) {
  button,
  .button,
  .diyetisyencim-copy-link-btn,
  .diyetisyencim-owner-settings-save {
    padding: 12px 14px;
    font-size: 15px;
  }
}

/* Prevent accidental horizontal scroll from long content */
html,
body {
  overflow-x: hidden;
}

/* Utilities: make inline lists wrap nicely */
.diyetisyencim-inline-row {
  flex-wrap: wrap;
}

/* Final: minor accessibility tweak for color contrast on small pills */
.diyetisyencim-service-pill {
  color: var(--diyetisyencim-text);
}


/* --- Wizard: package inline details (always visible) --- */
.bv2-svc-pkg-inline {
  font-size: 11px;
  color: #64748b;
  line-height: 1.5;
  margin-top: 2px;
  padding: 0;
  word-break: break-word;
}
.bv2-svc-card-pkg .bv2-svc-label {
  align-items: flex-start;
}
.bv2-svc-card-pkg .bv2-svc-info {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bv2-svc-card-pkg .bv2-svc-price {
  white-space: nowrap;
  flex-shrink: 0;
}
/* End Responsive finish - enhancements */

/* --- Package section: proper alignment --- */
.diyetisyencim-pkg-section {
  max-width: 820px;
  margin: 20px auto;
  padding: 0 20px;
  box-sizing: border-box;
}
/* --- Booking wizard package expand chevron --- */
.bv2-svc-pkg-chevron {
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  transition: transform 0.2s ease;
}
.bv2-svc-pkg-chevron.open {
  transform: rotate(180deg);
}
.bv2-svc-toggle-area {
  cursor: pointer !important;
}
.bv2-sd-pkg-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  vertical-align: middle;
}
.bv2-sd-service-card .bv2-sd-svc-name {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
/* Ensure service pills reliably fill their container and keep readable layout */
.diyetisyencim-services-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.diyetisyencim-services-pills .diyetisyencim-service-pill,
#diyetisyencim-shop-form .diyetisyencim-service-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 180px;
  min-width: 120px;
  box-sizing: border-box;
  white-space: normal;
  padding: 6px 12px;
}
.diyetisyencim-service-pill .pill-label {
  flex: 1 1 auto;
  min-width: 0;
}
.diyetisyencim-service-pill .pill-close {
  margin-left: 8px;
}

/* Responsive tweaks for service editor (mobile-first) */
@media (max-width: 480px) {
  .diyetisyencim-service-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .diyetisyencim-service-row .diyetisyencim-drag-handle {
    align-self: flex-start;
  }
  .diyetisyencim-service-row input {
    max-width: 100%;
    width: 100%;
  }
  .diyetisyencim-service-row .diyetisyencim-service-name {
    flex: 1 1 auto;
    min-width: 0;
  }
  .diyetisyencim-service-row .diyetisyencim-service-price,
  .diyetisyencim-service-row .diyetisyencim-service-duration {
    width: 100%;
  }
  .diyetisyencim-service-row .diyetisyencim-remove-service {
    align-self: flex-end;
  }
  .diyetisyencim-service-row .diyetisyencim-svc-variable-label {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    width: 100%;
  }
  .diyetisyencim-service-row .diyetisyencim-svc-variable-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
  }

  .diyetisyencim-service-editor-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .diyetisyencim-add-section .diyetisyencim-add-predefined,
  .diyetisyencim-add-section .diyetisyencim-add-custom {
    display: block;
    width: 100%;
  }
  .diyetisyencim-chosen-wrap,
  .diyetisyencim-custom-fields {
    width: 100%;
  }
  .diyetisyencim-custom-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .diyetisyencim-custom-fields input {
    flex: 1 1 auto;
    min-width: 120px;
  }
  .diyetisyencim-add-section button {
    width: 100%;
    box-sizing: border-box;
  }
  .diyetisyencim-section-sep {
    margin: 12px 0;
    border: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.04);
  }
}

/* Mobile: convert products table to stacked labeled cards */
@media (max-width: 720px) {
  .diyetisyencim-products-table thead {
    display: none;
  }
  .diyetisyencim-products-table tbody {
    display: block;
  }
  .diyetisyencim-products-table tr {
    display: block;
    margin: 0 0 12px 0;
    border: 1px solid #eee;
    padding: 8px;
    background: #fff;
  }
  .diyetisyencim-products-table td {
    display: flex;
    align-items: center;
    padding: 8px;
  }
  .diyetisyencim-products-table td:before {
    content: attr(data-label);
    width: 110px;
    flex: 0 0 110px;
    font-weight: 600;
    color: #666;
    padding-right: 8px;
  }
  .diyetisyencim-product-thumb img {
    max-width: 64px;
    max-height: 64px;
    margin-right: 8px;
    display: block;
  }
  .diyetisyencim-products-table td[data-label="İşlemler"] {
    justify-content: flex-end;
  }
  .diyetisyencim-products-table td[data-label="İşlemler"]:before {
    display: none;
  }
  .diyetisyencim-products-table td[data-label="İşlemler"] button {
    margin-left: 8px;
  }
}

/* ───────── Shops Listing V2 ([diyetisyencim_shops]) ───────── */
.bv2-shops-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 48px;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ── Eve Kuaför Çağır (toolbar içinde) ── */
.bv2-home-cagir-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #fff;
  border: none;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(34, 197, 94, 0.3);
  transition: transform 0.2s, box-shadow 0.2s;
}
.bv2-home-cagir-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(34, 197, 94, 0.4);
}

/* ── Toolbar (Search + Filters) ── */
.bv2-shops-toolbar {
  background: #fff;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bv2-shops-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 0 14px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.bv2-shops-search-wrap:focus-within {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fff;
}
.bv2-shops-search-wrap svg {
  stroke: #94a3b8;
  flex-shrink: 0;
}
.bv2-shops-search {
  flex: 1;
  border: none;
  background: transparent;
  padding: 11px 0;
  font-size: 0.92rem;
  color: #1e293b;
  outline: none;
  font-family: inherit;
}
.bv2-shops-search::placeholder {
  color: #94a3b8;
}

/* Filter chips */
.bv2-shops-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.bv2-shops-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  border-radius: 20px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
}
.bv2-shops-chip svg {
  stroke: currentColor;
}
.bv2-shops-chip:hover {
  border-color: var(--diyetisyencim-primary);
  color: var(--diyetisyencim-primary);
  background: #fff7ed;
}
.bv2-shops-chip.bv2-chip-active {
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}
.bv2-shops-city-select {
  padding: 7px 14px;
  border-radius: 20px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  font-family: inherit;
}
.bv2-shops-city-select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}

.bv2-shops-count-wrap {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
}
.bv2-shops-count-wrap span {
  font-weight: 700;
  color: var(--diyetisyencim-primary);
}

/* ── Empty / No-results ── */
.bv2-shops-empty,
.bv2-shops-no-results {
  text-align: center;
  padding: 64px 24px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f1f5f9;
}
.bv2-shops-empty svg,
.bv2-shops-no-results svg {
  stroke: #cbd5e1;
  margin-bottom: 16px;
}
.bv2-shops-empty h3,
.bv2-shops-no-results h3 {
  margin: 0;
  font-size: 1.15rem;
  color: #475569;
  font-weight: 700;
}
.bv2-shops-empty p,
.bv2-shops-no-results p {
  margin: 6px 0 0;
  color: #94a3b8;
  font-size: 0.9rem;
}

/* ── Cards Grid ── */
.bv2-shops-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
}

/* ── Card ── */
@keyframes bv2ShopCardIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bv2-shop-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #f1f5f9;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
  animation: bv2ShopCardIn 0.45s ease-out both;
}
.bv2-shop-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}
.bv2-shop-card.bv2-card-hidden {
  display: none;
}

/* Photo */
.bv2-shop-photo-link {
  text-decoration: none;
  display: block;
}
.bv2-shop-photo {
  position: relative;
  width: 100%;
  height: 200px;
  background: #f1f5f9;
  overflow: hidden;
}
.bv2-shop-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.bv2-shop-card:hover .bv2-shop-photo img {
  transform: scale(1.06);
}
.bv2-shop-photo-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
  pointer-events: none;
}
.bv2-shop-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bv2-shop-photo-placeholder svg {
  stroke: #94a3b8;
  opacity: 0.5;
}

/* Type badge */
.bv2-shop-type-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-transform: uppercase;
  z-index: 2;
}
.bv2-type-bay {
  background: rgba(37, 99, 235, 0.85);
}
.bv2-type-bayan {
  background: rgba(219, 39, 119, 0.85);
}
.bv2-type-unisex {
  background: rgba(124, 58, 237, 0.85);
}
.bv2-type-guzellik {
  background: rgba(16, 185, 129, 0.88);
}
.bv2-type-other {
  background: rgba(0, 0, 0, 0.55);
}

/* Body */
.bv2-shop-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.bv2-shop-name {
  display: block;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  color: #1e293b;
  text-decoration: none;
  transition: color 0.15s;
  line-height: 1.3;
}
.bv2-shop-name:hover {
  color: var(--diyetisyencim-primary);
}

/* Meta rows */
.bv2-shop-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bv2-shop-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #64748b;
}
.bv2-shop-meta-row svg {
  stroke: #94a3b8;
  flex-shrink: 0;
}
.bv2-shop-meta-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Social icons */
.bv2-shop-socials {
  display: flex;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.bv2-shop-social {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
  position: relative;
  overflow: hidden;
}
.bv2-shop-social svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.bv2-social-ig {
  background: linear-gradient(
    135deg,
    #f09433,
    #e6683c,
    #dc2743,
    #cc2366,
    #bc1888
  );
  color: #fff;
}
.bv2-social-ig svg {
  stroke: #fff;
}
.bv2-social-fb {
  background: #1877f2;
  color: #fff;
}
.bv2-social-fb svg {
  fill: #fff;
}
.bv2-social-x {
  background: #0f172a;
  color: #fff;
}
.bv2-social-x svg {
  fill: #fff;
}
.bv2-social-tt {
  background: linear-gradient(135deg, #010101 0%, #151515 100%);
  color: #fff;
}
.bv2-social-tt svg {
  fill: #fff;
}
.bv2-social-wa {
  background: #25d366;
  color: #fff;
}
.bv2-social-wa svg {
  fill: #fff;
}
.bv2-social-web {
  background: linear-gradient(135deg, #0ea5e9, #0284c8);
  color: #fff;
}
.bv2-social-web svg {
  stroke: #fff;
}
.bv2-shop-social:hover {
  transform: translateY(-1px) scale(1.08);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.18);
  filter: saturate(1.06) brightness(1.02);
}

/* Action buttons */
.bv2-shop-actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
  padding-top: 6px;
}
.bv2-shop-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 10px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    border-color 0.2s,
    color 0.2s,
    background 0.2s;
}
.bv2-shop-detail-btn svg {
  stroke: currentColor;
}
.bv2-shop-detail-btn:hover {
  border-color: var(--diyetisyencim-primary);
  color: var(--diyetisyencim-primary);
  background: #fff7ed;
}
.bv2-shop-book-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform 0.15s,
    box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.bv2-shop-book-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.35);
  color: #fff;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .bv2-shops-toolbar {
    padding: 16px 16px;
  }
  .bv2-shops-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .bv2-shops-page {
    padding: 0 10px 32px;
  }
  .bv2-shops-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .bv2-shop-photo {
    height: 180px;
  }
  .bv2-shops-filters {
    gap: 6px;
  }
  .bv2-shops-chip {
    padding: 6px 12px;
    font-size: 0.76rem;
  }
  .bv2-shop-actions {
    flex-direction: column;
  }
  .bv2-shop-detail-btn {
    justify-content: center;
  }
}

/* ───────── Shop Detail V2 ([diyetisyencim_shop_detail]) ───────── */
.bv2-sd-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px 48px;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Error Card */
.bv2-sd-error-card {
  text-align: center;
  padding: 64px 24px;
  background: #fff;
  border-radius: 20px;
  border: 1px solid #f1f5f9;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  margin-top: 32px;
}
.bv2-sd-error-card svg {
  stroke: #cbd5e1;
  margin-bottom: 16px;
}
.bv2-sd-error-card h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #475569;
}
.bv2-sd-error-card p {
  margin: 6px 0 0;
  color: #94a3b8;
  font-size: 0.9rem;
}

/* ── Hero Banner ── */
.bv2-sd-hero {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 280px;
  margin-bottom: 12px;
}
.bv2-sd-hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary) 0%,
    var(--diyetisyencim-primary-dark) 50%,
    #c0571a 100%
  );
}
.bv2-sd-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(12px) brightness(0.7);
  transform: scale(1.1);
}
.bv2-sd-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.6) 100%
  );
  z-index: 1;
}
.bv2-sd-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 24px;
  padding: 40px 32px 32px;
}

/* Hero Photo */
.bv2-sd-hero-photo {
  flex: 0 0 140px;
  width: 140px;
  height: 140px;
  border-radius: 18px;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  background: #f1f5f9;
}
.bv2-sd-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bv2-sd-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.bv2-sd-photo-placeholder svg {
  stroke: #94a3b8;
  opacity: 0.5;
}

/* Hero Info */
.bv2-sd-hero-info {
  flex: 1;
  min-width: 0;
  color: #fff;
  padding-bottom: 4px;
}
.bv2-sd-hero-top {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.bv2-sd-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.bv2-sd-type-bay {
  background: rgba(37, 99, 235, 0.8);
  color: #fff;
}
.bv2-sd-type-bayan {
  background: rgba(219, 39, 119, 0.8);
  color: #fff;
}
.bv2-sd-type-unisex {
  background: rgba(124, 58, 237, 0.8);
  color: #fff;
}
.bv2-sd-type-guzellik {
  background: rgba(16, 185, 129, 0.85);
  color: #fff;
}
.bv2-sd-founded-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255, 255, 255, 0.9);
}
.bv2-sd-founded-badge svg {
  stroke: currentColor;
}
.bv2-sd-hours-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.bv2-sd-hours-open {
  background: rgba(16, 185, 129, 0.28);
  border: 1px solid rgba(16, 185, 129, 0.45);
}
.bv2-sd-hours-close {
  background: rgba(245, 158, 11, 0.28);
  border: 1px solid rgba(245, 158, 11, 0.45);
}
.bv2-sd-name {
  margin: 0 0 6px 0;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.bv2-sd-about {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
  opacity: 0.88;
  max-width: 600px;
}

/* ── Quick Info Strip ── */
.bv2-sd-info-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: 14px 0 20px;
  position: relative;
  z-index: 3;
}
.bv2-sd-info-chip {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid #f1f5f9;
  animation: bv2FadeUp 0.5s ease-out both;
}
.bv2-sd-chip-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-sd-chip-icon svg {
  stroke: #64748b;
}
.bv2-sd-chip-icon.bv2-sd-chip-highlight {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.bv2-sd-chip-icon.bv2-sd-chip-highlight svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-sd-info-chip > div:last-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.bv2-sd-chip-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bv2-sd-chip-value {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .bv2-sd-chip-value {
    white-space: normal;
    word-break: break-word;
  }
}

/* ── Action Buttons ── */
.bv2-sd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  padding: 0 4px;
}
.bv2-sd-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  font-weight: 700;
  font-size: 0.88rem;
  border-radius: 12px;
  text-decoration: none;
  transition:
    transform 0.15s,
    box-shadow 0.2s,
    opacity 0.2s;
  cursor: pointer;
  border: none;
  line-height: 1;
}
.bv2-sd-action-btn,
.bv2-sd-social-btn,
.bv2-sd-social-btn *,
.bv2-sd-action-btn *,
a.bv2-sd-social-btn,
a.bv2-sd-action-btn {
  text-decoration: none !important;
  border-bottom: none !important;
}
.bv2-sd-action-btn svg {
  flex-shrink: 0;
}
.bv2-sd-action-btn:hover {
  transform: translateY(-2px);
  text-decoration: none !important;
}
.bv2-sd-social-btn {
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
  text-decoration: none !important;
}
.bv2-sd-social-btn svg {
  opacity: 0.96;
}

.bv2-sd-btn-book {
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}
.bv2-sd-btn-book:hover {
  color: #fff;
  box-shadow: 0 6px 20px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.bv2-sd-btn-call {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
}
.bv2-sd-btn-call:hover {
  color: #fff;
}
.bv2-sd-btn-wa {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #fff;
  box-shadow: 0 4px 14px rgba(34, 197, 94, 0.24);
}
.bv2-sd-btn-wa:hover {
  color: #fff;
}
.bv2-sd-btn-ig {
  background: linear-gradient(
    135deg,
    #f09433,
    #e6683c,
    #dc2743,
    #cc2366,
    #bc1888
  );
  color: #fff;
  box-shadow: 0 4px 14px rgba(225, 48, 108, 0.2);
}
.bv2-sd-btn-ig:hover {
  color: #fff;
}
.bv2-sd-btn-fb {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.22);
}
.bv2-sd-btn-fb:hover {
  color: #fff;
}
.bv2-sd-btn-x {
  background: linear-gradient(135deg, #334155, #0f172a);
  color: #fff;
  box-shadow: 0 4px 14px rgba(51, 65, 85, 0.2);
}
.bv2-sd-btn-x:hover {
  color: #fff;
}
.bv2-sd-btn-tt {
  background: linear-gradient(135deg, #1f2937, #374151);
  color: #fff;
  box-shadow: 0 4px 14px rgba(31, 41, 55, 0.2);
}
.bv2-sd-btn-tt:hover {
  color: #fff;
}
.bv2-sd-btn-web {
  background: linear-gradient(135deg, #0ea5e9, #0284c8);
  color: #fff;
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.25);
}
.bv2-sd-btn-web:hover {
  color: #fff;
}
.bv2-sd-btn-dir {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.25);
}
.bv2-sd-btn-dir:hover {
  color: #fff;
}

/* ── Sections ── */
.bv2-sd-section {
  background: #fff;
  border-radius: 16px;
  padding: 24px 28px;
  border: 1px solid #f1f5f9;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  margin-bottom: 20px;
  animation: bv2FadeUp 0.5s ease-out both;
}
.bv2-sd-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid #f1f5f9;
}
.bv2-sd-section-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-sd-section-icon svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-sd-section-header h2 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1e293b;
  flex: 1;
}
.bv2-sd-section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 20px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  color: var(--diyetisyencim-primary-dark);
  font-size: 0.78rem;
  font-weight: 700;
}

.bv2-sd-top-customers {
  position: relative;
  overflow: hidden;
  padding: 10px 10px 8px;
  background:
    radial-gradient(
      circle at top right,
      rgba(var(--diyetisyencim-primary-rgb), 0.06),
      transparent 34%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(245, 158, 11, 0.06),
      transparent 28%
    ),
    #fff;
}

.bv2-sd-top-customers::after {
  content: "";
  position: absolute;
  inset: auto -120px -120px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(var(--diyetisyencim-primary-rgb), 0.06) 0%,
    rgba(var(--diyetisyencim-primary-rgb), 0) 72%
  );
  pointer-events: none;
}

.bv2-sd-top-customers .bv2-sd-section-header {
  margin-bottom: 6px;
}

.bv2-sd-top-customers .bv2-sd-section-icon {
  font-size: 18px;
  line-height: 1;
}

.bv2-sd-top-customers-list {
  display: grid;
  gap: 4px;
}

.bv2-sd-top-customer-item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #edf3f1;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
  text-align: center;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.bv2-sd-top-customer-item:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.18);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07);
}

.bv2-sd-top-customer-item-leader {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.22);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.03);
}

.bv2-sd-top-customer-rank {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  box-shadow: 0 5px 10px rgba(var(--diyetisyencim-primary-rgb), 0.16);
}

.bv2-sd-top-customer-body {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}

.bv2-sd-top-customer-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.bv2-sd-top-customer-identity {
  min-width: 0;
  text-align: center;
}

.bv2-sd-top-customer-identity h3 {
  margin: 0;
  color: #1e293b;
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bv2-sd-top-customer-count {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  padding: 4px 6px;
  border-radius: 8px;
  background: #effaf7;
  border: 1px solid #cde7df;
  justify-self: end;
  white-space: nowrap;
  text-align: center;
}

.bv2-sd-top-customer-count strong {
  color: var(--diyetisyencim-primary-dark);
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 800;
}

.bv2-sd-top-customer-count span {
  color: #5b7b74;
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bv2-sd-top-customers-empty {
  display: grid;
  place-items: center;
  gap: 10px;
  padding: 14px 12px;
  text-align: center;
  border-radius: 18px;
  border: 1px dashed rgba(var(--diyetisyencim-primary-rgb), 0.18);
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.04) 0%,
    #fff 60%,
    rgba(245, 158, 11, 0.04) 100%
  );
}

.bv2-sd-top-customers-empty-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08);
  color: var(--diyetisyencim-primary-dark);
}

.bv2-sd-top-customers-empty strong {
  color: #1e293b;
  font-size: 0.86rem;
  font-weight: 800;
}

.bv2-sd-top-customers-empty p {
  margin: 0;
  color: #64748b;
  max-width: 48ch;
  line-height: 1.4;
  font-size: 0.76rem;
}

/* Empty State */
.bv2-sd-empty-state {
  text-align: center;
  padding: 32px 16px;
  color: #94a3b8;
}
.bv2-sd-empty-state svg {
  stroke: #cbd5e1;
  margin-bottom: 8px;
}
.bv2-sd-empty-state p {
  margin: 0;
  font-size: 0.9rem;
}

/* Loading */
.bv2-sd-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 40px 0;
  color: #94a3b8;
  font-size: 0.9rem;
}
.bv2-sd-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #f1f5f9;
  border-top-color: var(--diyetisyencim-primary);
  border-radius: 50%;
  animation: bv2CalSpin 0.7s linear infinite;
}

/* ── Services Grid ── */
@keyframes bv2SdCardIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bv2-sd-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
}
.bv2-sd-service-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  transition:
    background 0.15s,
    border-color 0.15s,
    transform 0.15s;
  animation: bv2SdCardIn 0.4s ease-out both;
}
.bv2-sd-service-card:hover {
  background: #fff7ed;
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.2);
  transform: translateX(3px);
}
.bv2-sd-svc-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.bv2-sd-svc-icon svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-sd-svc-info {
  flex: 1;
  min-width: 0;
}
.bv2-sd-svc-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: #1e293b;
  display: block;
}
.bv2-sd-svc-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.bv2-sd-svc-price {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}
.bv2-sd-svc-duration {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 500;
}
.bv2-sd-svc-duration svg {
  stroke: #94a3b8;
}

/* ── Team Grid ── */
.bv2-sd-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.bv2-sd-team-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  transition:
    transform 0.2s,
    box-shadow 0.2s,
    border-color 0.2s;
  animation: bv2SdCardIn 0.4s ease-out both;
}
.bv2-sd-team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07);
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.15);
}
.bv2-sd-team-avatar {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #e2e8f0, #f1f5f9);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bv2-sd-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bv2-sd-team-initials {
  font-size: 1.1rem;
  font-weight: 800;
  color: #94a3b8;
}
.bv2-sd-team-body {
  flex: 1;
  min-width: 0;
}
.bv2-sd-team-name {
  margin: 0 0 3px 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-sd-team-desc {
  margin: 0 0 8px 0;
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.45;
}
.bv2-sd-team-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.bv2-sd-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08);
  color: var(--diyetisyencim-primary-dark);
  font-size: 0.72rem;
  font-weight: 600;
}
.bv2-sd-pill-more {
  background: #e2e8f0;
  color: #64748b;
}

/* ── Gallery ── */
.bv2-sd-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}
.bv2-sd-gallery-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f1f5f9;
  cursor: pointer;
}
.bv2-sd-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.bv2-sd-gallery-item:hover img {
  transform: scale(1.08);
}
.bv2-sd-gallery-hover {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.25s;
}
.bv2-sd-gallery-hover svg {
  stroke: #fff;
}
.bv2-sd-gallery-item:hover .bv2-sd-gallery-hover {
  opacity: 1;
}

.bv2-sd-gallery-model-meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 8px;
  text-align: center;
  background: linear-gradient(
    180deg,
    rgba(17, 24, 39, 0) 0%,
    rgba(17, 24, 39, 0.82) 46%
  );
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1px;
  z-index: 3;
  pointer-events: none;
}

.bv2-sd-gallery-model-name {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bv2-sd-gallery-model-number {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.15;
  opacity: 0.95;
}

/* Map */
.bv2-sd-map-wrap {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
}
.bv2-sd-map {
  width: 100%;
  height: 350px;
}
.bv2-sd-map-address {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 0.88rem;
  color: #64748b;
}
.bv2-sd-map-address svg {
  stroke: #94a3b8;
  flex-shrink: 0;
}

/* ── Lightbox V2 ── */
.bv2-sd-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
}
.bv2-sd-lightbox img {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 12px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
  animation: bv2SdCardIn 0.3s ease-out;
}
.bv2-sd-lb-close,
.bv2-sd-lb-prev,
.bv2-sd-lb-next {
  position: fixed;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: none;
  border-radius: 12px;
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    background 0.2s,
    transform 0.15s;
  z-index: 100000;
}
.bv2-sd-lb-close:hover,
.bv2-sd-lb-prev:hover,
.bv2-sd-lb-next:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.08);
}
.bv2-sd-lb-close svg,
.bv2-sd-lb-prev svg,
.bv2-sd-lb-next svg {
  stroke: #fff;
}
.bv2-sd-lb-close {
  top: 20px;
  right: 20px;
}
.bv2-sd-lb-prev {
  left: 20px;
  top: 50%;
  margin-top: -22px;
}
.bv2-sd-lb-next {
  right: 20px;
  top: 50%;
  margin-top: -22px;
}
.bv2-sd-lb-counter {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 6px 18px;
  border-radius: 20px;
  font-size: 0.82rem;
  font-weight: 600;
  z-index: 100000;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .bv2-sd-hero-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 32px 20px 28px;
    gap: 16px;
  }
  .bv2-sd-hero-photo {
    flex: 0 0 110px;
    width: 110px;
    height: 110px;
  }
  .bv2-sd-name {
    font-size: 1.5rem;
  }
  .bv2-sd-info-strip {
    margin: 10px 0 16px;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .bv2-sd-info-chip {
    padding: 12px 14px;
  }
  .bv2-sd-actions {
    justify-content: center;
  }
  .bv2-sd-section {
    padding: 20px 18px;
  }
  .bv2-sd-top-customer-head {
    gap: 6px;
  }
  .bv2-sd-services-grid {
    grid-template-columns: 1fr;
  }
  .bv2-sd-team-grid {
    grid-template-columns: 1fr;
  }
  .bv2-sd-gallery {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  }
}
@media (max-width: 480px) {
  .bv2-sd-page {
    padding: 0 10px 32px;
  }
  .bv2-sd-hero {
    border-radius: 16px;
  }
  .bv2-sd-hero-photo {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    border-radius: 14px;
  }
  .bv2-sd-name {
    font-size: 1.3rem;
  }
  .bv2-sd-info-strip {
    grid-template-columns: 1fr;
    margin: 10px 0 14px;
  }
  .bv2-sd-top-customer-item {
    padding: 5px 6px;
    gap: 5px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
  }
  .bv2-sd-top-customer-rank {
    width: 22px;
    height: 22px;
    font-size: 0.64rem;
  }
  .bv2-sd-top-customer-head {
    gap: 5px;
  }
  .bv2-sd-top-customer-identity h3 {
    font-size: 0.76rem;
  }
  .bv2-sd-top-customer-count {
    min-width: 40px;
    padding: 3px 5px;
  }
  .bv2-sd-top-customer-count strong {
    font-size: 0.74rem;
  }
  .bv2-sd-top-customer-count span {
    font-size: 0.48rem;
  }
  .bv2-sd-actions {
    flex-direction: column;
  }
  .bv2-sd-action-btn {
    justify-content: center;
    width: 100%;
  }
  .bv2-sd-map {
    height: 250px !important;
  }
}

/* ═══ Leaflet Map overrides ═══ */
.diyetisyencim-location-section h3 {
  font-size: 18px;
  margin-bottom: 8px;
}
#diyetisyencim-location-map .leaflet-control-attribution {
  font-size: 10px;
}
#diyetisyencim-sd-location-map .leaflet-control-attribution {
  font-size: 10px;
}
@media (max-width: 720px) {
  #diyetisyencim-location-map {
    height: 260px !important;
  }
  #diyetisyencim-sd-location-map {
    height: 250px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   DIYETISYENCIM FORM V2 — Modern UI Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Animations ── */
@keyframes bv2FadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bv2ShimmerBg {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* ── Container ── */
.diyetisyencim-form-v2 {
  background: linear-gradient(160deg, #ffffff 0%, #fdfbf9 50%, #faf6f2 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 20px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.02),
    0 8px 40px rgba(0, 0, 0, 0.04);
  animation: bv2FadeUp 0.5s ease-out both;
  position: relative;
  overflow: hidden;
}
.diyetisyencim-form-v2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark),
    var(--diyetisyencim-primary)
  );
  background-size: 200% auto;
  animation: bv2ShimmerBg 3s linear infinite;
}

/* ── Header ── */
.bv2-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--diyetisyencim-bg-3);
}
.bv2-header-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  border-radius: 14px;
  margin-left: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.bv2-header-icon:hover {
  transform: scale(1.06) rotate(-3deg);
  box-shadow: 0 6px 20px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.diyetisyencim-form-v2 .diyetisyencim-shop-box-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  text-align: left;
  letter-spacing: -0.02em;
}
.bv2-subtitle {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--diyetisyencim-muted);
  font-weight: 400;
}

/* ── Section Dividers ── */
.bv2-section-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 28px 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--diyetisyencim-bg-3);
  grid-column: 1 / -1;
  animation: bv2FadeUp 0.4s ease-out both;
}
.bv2-section-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  background: var(--diyetisyencim-bg-3);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--diyetisyencim-primary);
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}
.bv2-section-divider:hover .bv2-section-icon {
  transform: scale(1.12) rotate(-5deg);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.12);
}
.bv2-section-divider h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
}
/* Bölüm başlığı altı açıklama metni (ör. Salon Galerisi → saç modelleri kataloğunuz...) */
.bv2-section-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bv2-section-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.bv2-section-text p {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  color: var(--diyetisyencim-muted);
  line-height: 1.45;
}
.bv2-section-hint {
  font-size: 12px;
  color: var(--diyetisyencim-muted);
  font-weight: 500;
  margin-left: auto;
  background: var(--diyetisyencim-bg-2);
  padding: 3px 10px;
  border-radius: 20px;
}
.bv2-hint-text {
  color: var(--diyetisyencim-muted);
  font-size: 13px;
  margin: 0 0 12px;
}

/* ── Labels ── */
.bv2-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
  margin-bottom: 2px;
}
.bv2-label svg {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
  opacity: 0.8;
  transition: transform 0.2s ease;
}
#diyetisyencim-shop-form p label:hover .bv2-label svg {
  transform: scale(1.15);
  opacity: 1;
}
.bv2-req {
  color: var(--diyetisyencim-primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}

/* Hide <br> in legacy form labels; use flex stacking instead */
#diyetisyencim-shop-form p label br {
  display: none;
}
#diyetisyencim-shop-form p label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
}

/* ── Inputs ── */
#diyetisyencim-shop-form input[type="text"],
#diyetisyencim-shop-form input[type="email"],
#diyetisyencim-shop-form input[type="tel"],
#diyetisyencim-shop-form input[type="number"],
#diyetisyencim-shop-form textarea,
#diyetisyencim-shop-form select {
  padding: 11px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  color: #1f2937;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}
#diyetisyencim-shop-form input:hover,
#diyetisyencim-shop-form textarea:hover,
#diyetisyencim-shop-form select:hover {
  border-color: #d1d5db;
}
#diyetisyencim-shop-form input:focus,
#diyetisyencim-shop-form textarea:focus,
#diyetisyencim-shop-form select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3.5px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fffcf9;
}
#diyetisyencim-shop-form input::placeholder,
#diyetisyencim-shop-form textarea::placeholder {
  color: #9ca3af;
  font-weight: 400;
}
#diyetisyencim-shop-form textarea {
  min-height: 80px;
  resize: vertical;
}

/* ── Field Layout ── */
.diyetisyencim-form-v2 .field-hours,
.diyetisyencim-form-v2 .field-numbers {
  grid-column: 1 / -1;
}
.diyetisyencim-form-v2 .field-hours label,
.diyetisyencim-form-v2 .field-numbers label {
  flex: 1;
  min-width: 140px;
}
.diyetisyencim-form-v2 .field-address {
  grid-column: 1 / -1;
}

/* ── Photo Section ── */
.bv2-photo-section {
  grid-column: 1 / -1;
  padding: 20px;
  background: linear-gradient(135deg, var(--diyetisyencim-bg-2) 0%, #fef6f0 100%);
  border-radius: 16px;
  border: 1.5px solid rgba(var(--diyetisyencim-primary-rgb), 0.08);
  margin-bottom: 0;
  transition:
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}
.bv2-photo-section:hover {
  box-shadow: 0 6px 24px rgba(var(--diyetisyencim-primary-rgb), 0.08);
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.15);
}
.bv2-photo-label {
  font-weight: 700 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  color: var(--diyetisyencim-primary-dark);
  margin-bottom: 12px;
}
.bv2-photo-label svg {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.bv2-photo-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
}
.bv2-photo-preview {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 3px dashed #d1d5db;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  flex-shrink: 0;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
  cursor: pointer;
}
.bv2-photo-preview:hover {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 4px 20px rgba(var(--diyetisyencim-primary-rgb), 0.15);
  transform: scale(1.04);
}

/* ── Submit Button ── */
.diyetisyencim-form-v2 .bv2-submit-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  ) !important;
  color: #fff !important;
  padding: 13px 32px !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  position: relative;
  overflow: hidden;
}
.diyetisyencim-form-v2 .bv2-submit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}
.diyetisyencim-form-v2 .bv2-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.diyetisyencim-form-v2 .bv2-submit-btn:hover::after {
  transform: translateX(100%);
}
.diyetisyencim-form-v2 .bv2-submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.diyetisyencim-form-v2 .bv2-submit-btn svg {
  flex-shrink: 0;
}

/* ── Shop Link Area ── */
.diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.3);
  box-shadow: 0 2px 12px rgba(var(--diyetisyencim-primary-rgb), 0.06);
}
.diyetisyencim-form-v2 .diyetisyencim-copy-link-btn {
  border-radius: 8px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.diyetisyencim-form-v2 .diyetisyencim-copy-link-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(var(--diyetisyencim-primary-rgb), 0.2);
}
.diyetisyencim-form-v2 .diyetisyencim-view-link-btn {
  border-radius: 8px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.diyetisyencim-form-v2 .diyetisyencim-view-link-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(40, 167, 69, 0.2);
}
.diyetisyencim-form-v2 .diyetisyencim-qr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
}

.diyetisyencim-form-v2 .diyetisyencim-shop-link-panel {
  margin: 8px 0 18px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.18);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 10px 30px rgba(11, 35, 60, 0.04);
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
  padding: 0 4px;
  text-align: left;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-head strong {
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-head span {
  font-size: 13px;
  line-height: 1.4;
  color: var(--diyetisyencim-muted);
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  margin: 0;
  padding: 12px;
  gap: 10px;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap .diyetisyencim-shop-link {
  width: 100%;
  min-height: 44px;
  padding: 11px 12px;
  font-size: 14px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions .diyetisyencim-copy-link-btn,
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions .diyetisyencim-view-link-btn,
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions .diyetisyencim-qr-btn {
  display: inline-flex;
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  border-radius: 10px;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions .diyetisyencim-qr-btn {
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.24);
  background: #fff;
  color: var(--diyetisyencim-primary-dark);
  cursor: pointer;
}
.diyetisyencim-form-v2 .diyetisyencim-shop-link-actions .diyetisyencim-qr-btn:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.06);
}

@media (max-width: 719px) {
  .diyetisyencim-form-v2 .diyetisyencim-shop-link-panel {
    padding: 14px;
    border-radius: 12px;
  }
  .diyetisyencim-form-v2 .diyetisyencim-shop-link-head {
    text-align: left;
    margin-bottom: 8px;
    padding: 0 2px;
  }
  .diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap {
    padding: 10px;
  }
}

@media (max-width: 479px) {
  .diyetisyencim-form-v2 .diyetisyencim-shop-link-wrap .diyetisyencim-shop-link {
    font-size: 13px;
  }
}

.diyetisyencim-form-v2 .field-iban {
  grid-column: 1 / -1;
  text-align: center;
}
.diyetisyencim-form-v2 .field-iban label {
  max-width: 560px;
  margin: 0 auto;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fdf8f3);
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.14);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}
.diyetisyencim-form-v2 .bv2-iban-help {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  margin-top: 4px;
  text-align: center;
}

.diyetisyencim-form-v2 .bv2-photo-section {
  text-align: center;
}
.diyetisyencim-form-v2 .bv2-photo-label {
  justify-content: center;
}
.diyetisyencim-form-v2 .bv2-photo-row {
  justify-content: center;
}
.diyetisyencim-form-v2 .bv2-photo-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.diyetisyencim-form-v2 .bv2-photo-actions small {
  text-align: center;
}

.diyetisyencim-form-v2 .bv2-city-salon-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.diyetisyencim-form-v2 .bv2-city-salon-row p {
  margin: 0;
}
.diyetisyencim-form-v2 .bv2-city-salon-row .field-city,
.diyetisyencim-form-v2 .bv2-city-salon-row .field-salon-type {
  grid-column: auto !important;
}
.diyetisyencim-form-v2 .field-salon-about {
  grid-column: 1 / -1;
}
.diyetisyencim-form-v2 .field-salon-about textarea {
  width: 100%;
  min-height: 96px;
  resize: vertical;
}

.diyetisyencim-form-v2 .bv2-qr-modal,
#diyetisyencim-qr-modal {
  position: fixed;
  inset: 0;
  z-index: 100100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(2.5px);
}
.diyetisyencim-form-v2 .bv2-qr-backdrop,
#diyetisyencim-qr-modal .bv2-qr-backdrop {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.diyetisyencim-form-v2 .bv2-qr-dialog,
#diyetisyencim-qr-modal .bv2-qr-dialog {
  position: relative;
  width: min(460px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 18px 16px;
  text-align: center;
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 16px 40px rgba(2, 6, 23, 0.18);
}
.diyetisyencim-form-v2 .bv2-qr-close,
#diyetisyencim-qr-modal .bv2-qr-close {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 9px;
  background: #f3f4f6;
  color: #111827;
  font-size: 18px;
  cursor: pointer;
}
.diyetisyencim-form-v2 .bv2-qr-title,
#diyetisyencim-qr-modal .bv2-qr-title {
  margin: 4px 0 6px;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #111827;
}
.diyetisyencim-form-v2 .bv2-qr-subtitle,
#diyetisyencim-qr-modal .bv2-qr-subtitle {
  margin: 0 auto 12px;
  max-width: 38ch;
  font-size: 12px;
  line-height: 1.45;
  color: #6b7280;
}
.diyetisyencim-form-v2 .bv2-qr-link-preview,
#diyetisyencim-qr-modal .bv2-qr-link-preview {
  margin: 0 auto 12px;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  font-size: 11px;
  line-height: 1.35;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.diyetisyencim-form-v2 .bv2-qr-code-box,
#diyetisyencim-qr-modal .bv2-qr-code-box {
  position: relative;
  margin: 0 auto;
  width: min(320px, 100%);
  padding: 18px 14px 14px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
}
.diyetisyencim-form-v2 .bv2-qr-code-strip,
#diyetisyencim-qr-modal .bv2-qr-code-strip {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background: linear-gradient(
    180deg,
    rgba(219, 233, 255, 0) 0%,
    rgba(219, 233, 255, 0.7) 100%
  );
  pointer-events: none;
}
.diyetisyencim-form-v2 .bv2-qr-img,
#diyetisyencim-qr-modal .bv2-qr-img {
  display: block;
  position: relative;
  z-index: 1;
  width: min(252px, 100%);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 6px;
  border: 0;
  background: #fff;
  padding: 0;
  object-fit: contain;
  box-shadow: none;
}
.diyetisyencim-form-v2 .bv2-qr-actions,
#diyetisyencim-qr-modal .bv2-qr-actions {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.diyetisyencim-form-v2 .bv2-qr-actions .button,
#diyetisyencim-qr-modal .bv2-qr-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 10px;
  font-weight: 600;
}
.diyetisyencim-form-v2 .bv2-qr-note,
#diyetisyencim-qr-modal .bv2-qr-note {
  font-size: 11px;
  color: #6b7280;
  margin-top: 8px;
}
.diyetisyencim-form-v2 .bv2-qr-dialog.is-loading .bv2-qr-img,
#diyetisyencim-qr-modal .bv2-qr-dialog.is-loading .bv2-qr-img {
  opacity: 0.55;
  filter: grayscale(0.18);
  animation: bv2QrPulse 1.1s ease-in-out infinite;
}
@keyframes bv2QrPulse {
  0% {
    opacity: 0.45;
  }
  50% {
    opacity: 0.9;
  }
  100% {
    opacity: 0.45;
  }
}

/* ── Gallery Section ── */
.diyetisyencim-form-v2 .diyetisyencim-gallery-section {
  margin: 8px 8px 0;
  padding: 12px 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-thumb {
  border-radius: 10px !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
  overflow: hidden;
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-thumb:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-remove {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(17, 24, 39, 0.78);
  backdrop-filter: blur(2px);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.15s,
    background 0.15s,
    box-shadow 0.15s;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-remove:hover {
  transform: scale(1.08);
  background: rgba(220, 38, 38, 0.92);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-sc-remove,
.diyetisyencim-gallery-public .diyetisyencim-gallery-sc-remove {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(17, 24, 39, 0.78);
  backdrop-filter: blur(2px);
  color: #fff;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.15s,
    background 0.15s,
    box-shadow 0.15s;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-sc-remove:hover,
.diyetisyencim-gallery-public .diyetisyencim-gallery-sc-remove:hover {
  transform: scale(1.08);
  background: rgba(220, 38, 38, 0.92);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.diyetisyencim-form-v2 .diyetisyencim-model-meta,
.diyetisyencim-gallery-public .diyetisyencim-model-meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 8px;
  text-align: center;
  background: linear-gradient(
    180deg,
    rgba(17, 24, 39, 0) 0%,
    rgba(17, 24, 39, 0.82) 46%
  );
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.diyetisyencim-form-v2 .diyetisyencim-model-name,
.diyetisyencim-gallery-public .diyetisyencim-model-name {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.diyetisyencim-form-v2 .diyetisyencim-model-number,
.diyetisyencim-gallery-public .diyetisyencim-model-number {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.15;
  opacity: 0.95;
}

.diyetisyencim-form-v2 .bv2-gallery-controls,
.diyetisyencim-gallery-public .bv2-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  text-align: center;
}
.diyetisyencim-form-v2 .bv2-gallery-model-input-wrap,
.diyetisyencim-gallery-public .bv2-gallery-model-input-wrap {
  min-width: 220px;
  max-width: 320px;
  width: 100%;
}
.diyetisyencim-form-v2 .bv2-gallery-model-input,
.diyetisyencim-gallery-public .bv2-gallery-model-input {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid #d1d5db;
  border-radius: 10px;
  box-sizing: border-box;
  text-align: center;
  background: #fff;
}
.diyetisyencim-form-v2 #diyetisyencim-gallery-msg,
.diyetisyencim-gallery-public #diyetisyencim-gsc-msg {
  display: block;
  text-align: center;
  margin: 10px 0 0 !important;
}

/* ── Social Section ── */
.diyetisyencim-form-v2 .diyetisyencim-social-section {
  margin: 8px 8px 0;
  padding: 12px 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}
.bv2-social-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  max-width: 760px;
  margin: 0 auto;
}
.bv2-social-fields > label:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  max-width: 360px;
  width: 100%;
  justify-self: center;
}
.diyetisyencim-form-v2 .diyetisyencim-social-section label {
  flex-direction: row !important;
  align-items: center;
  display: flex !important;
  padding: 6px 10px;
  border-radius: 10px;
  transition:
    transform 0.15s ease,
    background 0.15s ease;
}
.diyetisyencim-form-v2 .diyetisyencim-social-section label:hover {
  transform: translateX(4px);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.02);
}
.diyetisyencim-form-v2 .diyetisyencim-social-section input[type="text"] {
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 14px;
  transition:
    border-color 0.3s,
    box-shadow 0.3s;
}
.diyetisyencim-form-v2 .diyetisyencim-social-section input[type="text"]:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3.5px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}

.diyetisyencim-form-v2 .diyetisyencim-social-section .bv2-social-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  text-align: center;
}

.diyetisyencim-form-v2 .diyetisyencim-social-section #diyetisyencim-social-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.diyetisyencim-form-v2 .diyetisyencim-social-section #diyetisyencim-social-msg {
  margin-left: 0 !important;
}

/* ── Location Section ── */
.diyetisyencim-form-v2 .diyetisyencim-location-section {
  margin: 8px 8px 0;
  padding: 12px 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}
.diyetisyencim-form-v2 #diyetisyencim-location-map {
  border: 1.5px solid #e5e7eb !important;
  border-radius: 14px !important;
  transition: border-color 0.25s;
  overflow: hidden;
}
.diyetisyencim-form-v2 #diyetisyencim-location-map:hover {
  border-color: var(--diyetisyencim-primary) !important;
}

/* ── Button overrides ── */
.diyetisyencim-form-v2 .button {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
  text-align: center;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
}
.diyetisyencim-form-v2 .button:hover {
  border-color: var(--diyetisyencim-primary);
  color: var(--diyetisyencim-primary-dark);
  background: var(--diyetisyencim-bg-3);
  transform: translateY(-1px);
}
.diyetisyencim-form-v2 .button.button-primary {
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  border: none;
  box-shadow: 0 3px 12px rgba(var(--diyetisyencim-primary-rgb), 0.2);
}
.diyetisyencim-form-v2 .button.button-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  color: #fff;
}

/* ── Section animations ── */
.bv2-section {
  animation: bv2FadeUp 0.4s ease-out both;
}
.diyetisyencim-home-section {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--diyetisyencim-border);
  border-radius: 12px;
}
.diyetisyencim-home-section .diyetisyencim-switch-row {
  padding: 0 4px;
}
.diyetisyencim-home-section .diyetisyencim-home-fields {
  padding: 0 4px;
}
.diyetisyencim-home-section .bv2-home-actions {
  padding: 0 4px;
}
.diyetisyencim-gallery-section.bv2-section {
  animation-delay: 0.05s;
}
.diyetisyencim-social-section.bv2-section {
  animation-delay: 0.1s;
}
.diyetisyencim-location-section.bv2-section {
  animation-delay: 0.15s;
}

/* ── Responsive ── */
@media (max-width: 719px) {
  .diyetisyencim-form-v2 {
    border-radius: 14px;
  }
  .bv2-header {
    gap: 12px;
  }
  .bv2-header-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 12px;
  }
  .bv2-header-icon svg {
    width: 22px;
    height: 22px;
  }
  .diyetisyencim-form-v2 .diyetisyencim-shop-box-title {
    font-size: 20px;
  }
  .bv2-subtitle {
    font-size: 13px;
  }
  .bv2-section-divider {
    margin: 20px 0 12px;
    flex-wrap: wrap;
  }
  .bv2-section-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
  }
  .bv2-section-divider h3 {
    font-size: 15px;
  }
  .bv2-section-hint {
    margin-left: 0;
    margin-top: 4px;
    width: 100%;
  }
  .bv2-photo-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .bv2-photo-preview {
    width: 100px;
    height: 100px;
  }
  .diyetisyencim-form-v2 .bv2-submit-btn {
    width: 100%;
    justify-content: center;
  }
  .bv2-social-fields {
    max-width: 100%;
    grid-template-columns: 1fr;
  }
  .bv2-social-fields > label:last-child:nth-child(odd) {
    grid-column: auto;
    max-width: 100%;
  }
  .diyetisyencim-form-v2 .diyetisyencim-gallery-section,
  .diyetisyencim-form-v2 .diyetisyencim-social-section,
  .diyetisyencim-form-v2 .diyetisyencim-location-section {
    margin: 6px 2px 0;
    padding: 10px 8px;
  }
  .diyetisyencim-form-v2 .bv2-gallery-controls,
  .diyetisyencim-gallery-public .bv2-gallery-controls {
    gap: 8px;
  }
  .diyetisyencim-form-v2 .bv2-gallery-model-input-wrap,
  .diyetisyencim-gallery-public .bv2-gallery-model-input-wrap {
    max-width: 100%;
  }
  .diyetisyencim-form-v2 .bv2-city-salon-row {
    grid-template-columns: 1fr;
  }
  .diyetisyencim-form-v2 .field-iban label {
    padding: 12px;
  }
  .diyetisyencim-form-v2 .bv2-qr-modal,
  #diyetisyencim-qr-modal {
    padding: 8px;
  }
  .diyetisyencim-form-v2 .bv2-qr-backdrop,
  #diyetisyencim-qr-modal .bv2-qr-backdrop {
    width: 100%;
    height: 100%;
    padding: 10px;
  }
  .diyetisyencim-form-v2 .bv2-qr-dialog,
  #diyetisyencim-qr-modal .bv2-qr-dialog {
    max-height: calc(100vh - 24px);
  }
}
@media (min-width: 720px) {
  .diyetisyencim-form-v2 .field-address {
    grid-column: 1 / -1;
  }
}

/* ═══════════════════════════════════════════════════════════
   PAGE POLISH OVERRIDES — Membership + Boxes + Responsive
   ═══════════════════════════════════════════════════════════ */

.diyetisyencim-membership-bottom {
  width: calc(100% - 16px);
  max-width: 1200px;
  margin: 12px auto 10px;
  box-sizing: border-box;
}

/* Membership panel light default (inline style'dan taşındı — panel modunda
   panel.css token'ları bunu ezer) */
.diyetisyencim-membership-box {
  padding: 18px;
}
.diyetisyencim-membership-message {
  color: #475569;
}
.diyetisyencim-membership-details strong {
  color: var(--diyetisyencim-text);
}
.diyetisyencim-membership-details div {
  color: var(--diyetisyencim-text-muted);
}
.diyetisyencim-membership-bottom > * {
  margin: 0 !important;
}
.diyetisyencim-membership-bottom .diyetisyencim-shop-box {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}

@media (min-width: 720px) {
  .diyetisyencim-membership-bottom {
    width: calc(100% - 120px);
    max-width: 1200px;
  }
}

.diyetisyencim-form-v2 {
  background: linear-gradient(158deg, #ffffff 0%, #f8fbff 58%, #f4f9ff 100%);
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.16);
  box-shadow: 0 16px 46px rgba(11, 35, 60, 0.08);
}
.diyetisyencim-form-v2 .bv2-header {
  padding: 0 6px 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.18);
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-section,
.diyetisyencim-form-v2 .diyetisyencim-social-section,
.diyetisyencim-form-v2 .diyetisyencim-location-section {
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.14);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98),
    rgba(247, 251, 255, 0.92)
  );
  box-shadow: 0 8px 24px rgba(11, 35, 60, 0.06);
  padding: 14px 14px;
  margin: 10px 6px 0;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.diyetisyencim-form-v2 .diyetisyencim-gallery-section:hover,
.diyetisyencim-form-v2 .diyetisyencim-social-section:hover,
.diyetisyencim-form-v2 .diyetisyencim-location-section:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.3);
  box-shadow: 0 12px 30px rgba(11, 35, 60, 0.09);
}

.diyetisyencim-owner-settings-box {
  background: linear-gradient(160deg, #ffffff 0%, #f7fbff 52%, #eef7ff 100%);
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.16);
  border-radius: 16px;
  box-shadow: 0 14px 40px rgba(11, 35, 60, 0.08);
}
.diyetisyencim-owner-settings-header {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.16);
}
.diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-visibility-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-slotmode-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-loyalty-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-game-box,
.diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-box {
  box-sizing: border-box;
  max-width: 100%;
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.14);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 6px 18px rgba(11, 35, 60, 0.05);
}

@media (min-width: 720px) {
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box {
    margin-left: 12px !important;
    margin-right: 12px !important;
    width: calc(100% - 24px) !important;
  }
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-visibility-box {
    margin-left: 12px !important;
    margin-right: 12px !important;
    width: calc(100% - 24px) !important;
  }
}

.diyetisyencim-danger-box {
  border: 1px solid rgba(224, 75, 75, 0.32);
  background: linear-gradient(180deg, #fff8f8 0%, #fff2f2 100%);
  box-shadow: 0 12px 26px rgba(128, 30, 30, 0.08);
  border-radius: 14px;
}
.diyetisyencim-delete-action {
  border: 1px solid rgba(211, 47, 47, 0.26);
  background: #fff;
  min-height: 40px;
  padding: 8px 14px;
  margin-right: 6px;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}
.diyetisyencim-delete-action:hover {
  background: #fff1f1;
  border-color: rgba(211, 47, 47, 0.42);
}

@media (min-width: 1024px) {
  .diyetisyencim-shop-box.diyetisyencim-form-v2,
  .diyetisyencim-owner-settings-box,
  .diyetisyencim-danger-box,
  .diyetisyencim-membership-bottom {
    width: calc(100% - 140px);
    max-width: 1280px;
  }
  .diyetisyencim-shop-box.diyetisyencim-form-v2 {
    padding: 28px 30px;
  }
  .diyetisyencim-form-v2 .diyetisyencim-gallery-section,
  .diyetisyencim-form-v2 .diyetisyencim-social-section,
  .diyetisyencim-form-v2 .diyetisyencim-location-section {
    padding: 16px 18px;
  }
}

@media (max-width: 719px) {
  .diyetisyencim-membership-bottom {
    width: calc(100% - 16px);
    margin: 10px auto 8px;
  }
  .diyetisyencim-form-v2 .bv2-header {
    padding: 0 2px 12px;
  }
  .diyetisyencim-form-v2 .diyetisyencim-gallery-section,
  .diyetisyencim-form-v2 .diyetisyencim-social-section,
  .diyetisyencim-form-v2 .diyetisyencim-location-section {
    margin: 8px 0 0;
    padding: 12px 10px;
  }
  .diyetisyencim-owner-settings-box {
    border-radius: 12px;
  }
  /* final lock: prevent owner auto row from overflowing parent on small screens */
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-visibility-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-row {
    gap: 10px;
  }

  .diyetisyencim-owner-settings-box .diyetisyencim-owner-reminder-text {
    font-size: 14px;
    line-height: 1.35;
  }
}

.diyetisyencim-owner-settings-box .diyetisyencim-owner-visibility-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #eaf6ff;
  border: 1px solid rgba(10, 80, 140, 0.06);
}

@media (max-width: 359px) {
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-box,
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-visibility-box {
    flex-direction: column;
    align-items: flex-start;
  }
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-control {
    width: 100%;
    justify-content: flex-start;
  }
  .diyetisyencim-owner-settings-box .diyetisyencim-owner-auto-text {
    font-size: 14px;
    line-height: 1.35;
  }
}

/* Shop form responsive normalization (texts + inputs + buttons) */
.diyetisyencim-form-v2 #diyetisyencim-shop-form {
  row-gap: 14px;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form,
.diyetisyencim-form-v2 #diyetisyencim-shop-form p,
.diyetisyencim-form-v2 #diyetisyencim-shop-form p label {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form p {
  margin: 0;
  text-align: left !important;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form p label {
  text-align: left;
  gap: 7px;
  font-size: 14px;
  line-height: 1.35;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form .bv2-label {
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: 2px;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="text"],
.diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="email"],
.diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="tel"],
.diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="number"],
.diyetisyencim-form-v2 #diyetisyencim-shop-form select,
.diyetisyencim-form-v2 #diyetisyencim-shop-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px;
  padding: 11px 12px;
  font-size: 14px;
  line-height: 1.35;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form textarea {
  min-height: 104px;
}

.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-iban,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-address,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-hours,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-salon-about,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-numbers,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .diyetisyencim-salon-photo-section,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .bv2-city-salon-row,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .bv2-section-divider,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .diyetisyencim-shop-actions {
  grid-column: 1 / -1;
}

.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-hours {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-hours label,
.diyetisyencim-form-v2 #diyetisyencim-shop-form .field-numbers label {
  min-width: 0;
}

.diyetisyencim-form-v2 #diyetisyencim-shop-form .diyetisyencim-shop-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 4px;
}
.diyetisyencim-form-v2 #diyetisyencim-shop-form .diyetisyencim-shop-actions .bv2-submit-btn {
  min-height: 46px;
  font-size: 15px;
  padding: 12px 24px !important;
}

@media (max-width: 719px) {
  .diyetisyencim-form-v2 #diyetisyencim-shop-form {
    row-gap: 12px;
  }
  .diyetisyencim-shop-box.diyetisyencim-form-v2 {
    overflow-x: hidden;
  }
  .diyetisyencim-form-v2 #diyetisyencim-shop-form .bv2-label,
  .diyetisyencim-form-v2 #diyetisyencim-shop-form p label {
    font-size: 13px;
  }
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="text"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="email"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="tel"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="number"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form select,
  .diyetisyencim-form-v2 #diyetisyencim-shop-form textarea {
    font-size: 13px;
    min-height: 42px;
  }
  .diyetisyencim-form-v2 #diyetisyencim-shop-form .field-hours {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .diyetisyencim-form-v2 #diyetisyencim-shop-form .diyetisyencim-shop-actions .bv2-submit-btn {
    width: 100%;
    max-width: 360px;
  }
}

@media (min-width: 1100px) {
  .diyetisyencim-form-v2 #diyetisyencim-shop-form .bv2-label,
  .diyetisyencim-form-v2 #diyetisyencim-shop-form p label {
    font-size: 15px;
  }
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="text"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="email"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="tel"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form input[type="number"],
  .diyetisyencim-form-v2 #diyetisyencim-shop-form select,
  .diyetisyencim-form-v2 #diyetisyencim-shop-form textarea {
    font-size: 15px;
  }
}

/* ═══════════════════════════════════════════════════════════
   DIYETISYENCIM SERVICES V2 — Modern UI Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Container ── */
.diyetisyencim-svc-v2 {
  background: linear-gradient(160deg, #ffffff 0%, #fdfbf9 50%, #faf6f2 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 20px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.02),
    0 8px 40px rgba(0, 0, 0, 0.04);
  animation: bv2FadeUp 0.5s ease-out both;
  position: relative;
  overflow: hidden;
}
.diyetisyencim-svc-v2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark),
    var(--diyetisyencim-primary)
  );
  background-size: 200% auto;
  animation: bv2ShimmerBg 3s linear infinite;
}

/* ── Header (reuses bv2-header from form v2) ── */
.diyetisyencim-svc-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--diyetisyencim-bg-3);
}
.diyetisyencim-svc-v2 .diyetisyencim-box-title {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  text-align: left;
  color: var(--diyetisyencim-primary-dark);
  letter-spacing: -0.02em;
}

.diyetisyencim-svc-v2 .bv2-services-list-heading {
  max-width: 760px;
  margin: 10px auto 8px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--diyetisyencim-primary-dark);
  text-align: left;
}

.diyetisyencim-svc-v2 #diyetisyencim-services-rows {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  align-items: stretch;
  gap: 0;
}

.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row {
  position: relative;
  margin-bottom: 0;
}

.diyetisyencim-svc-v2
  #diyetisyencim-services-rows
  .diyetisyencim-service-row
  + .diyetisyencim-service-row {
  margin-top: 12px;
}

.diyetisyencim-svc-v2
  #diyetisyencim-services-rows
  .diyetisyencim-service-row
  + .diyetisyencim-service-row::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: -7px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e5e7eb, transparent);
}

/* ── Service Rows ── */
.diyetisyencim-svc-v2 .diyetisyencim-service-row {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 14px;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.2s ease;
  animation: bv2FadeUp 0.35s ease-out both;
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.25);
  box-shadow: 0 4px 18px rgba(var(--diyetisyencim-primary-rgb), 0.06);
  transform: translateY(-1px);
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row:focus-within {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.08);
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row.dragging {
  opacity: 0.5;
  transform: scale(0.98);
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row.drag-over {
  outline: 2px dashed var(--diyetisyencim-primary);
  outline-offset: 2px;
}

/* Drag handle */
.diyetisyencim-svc-v2 .diyetisyencim-drag-handle {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--diyetisyencim-muted);
  transition:
    background 0.2s,
    color 0.2s;
  cursor: grab;
  font-size: inherit;
  padding: 0;
}
.diyetisyencim-svc-v2 .diyetisyencim-drag-handle:hover {
  background: var(--diyetisyencim-bg-3);
  color: var(--diyetisyencim-primary);
}
.diyetisyencim-svc-v2 .diyetisyencim-drag-handle svg {
  flex-shrink: 0;
}

/* Row inputs */
.diyetisyencim-svc-v2 .diyetisyencim-service-row input {
  padding: 9px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  background: #fafafa;
  font-size: 14px;
  color: #1f2937;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  outline: none;
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row input:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fffcf9;
}
.diyetisyencim-svc-v2 .diyetisyencim-service-row input::placeholder {
  color: #9ca3af;
}

/* Remove button */
.diyetisyencim-svc-v2 .diyetisyencim-remove-service {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  border: 1.5px solid #fecaca !important;
  border-radius: 8px !important;
  color: #ef4444 !important;
  padding: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.diyetisyencim-svc-v2 .diyetisyencim-remove-service:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  transform: scale(1.1);
  box-shadow: 0 3px 12px rgba(239, 68, 68, 0.15);
}
.diyetisyencim-svc-v2 .diyetisyencim-remove-service svg {
  flex-shrink: 0;
}

/* ── Add cards ── */
.bv2-add-card {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px 18px;
  transition:
    border-color 0.25s,
    box-shadow 0.25s;
  margin-bottom: 12px;
}
.bv2-add-card:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.2);
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.04);
}
.bv2-add-card .bv2-label {
  margin-bottom: 10px;
}
.bv2-section-sep {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--diyetisyencim-border),
    transparent
  );
  border: none;
  margin: 8px 0;
}

/* Add buttons */
.bv2-add-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 9px 18px !important;
  background: var(--diyetisyencim-bg-3) !important;
  color: var(--diyetisyencim-primary-dark) !important;
  border: 1.5px solid rgba(var(--diyetisyencim-primary-rgb), 0.15) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bv2-add-btn:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1) !important;
  border-color: var(--diyetisyencim-primary) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.12);
}
.bv2-add-btn svg {
  flex-shrink: 0;
}

/* ── Custom fields row ── */
.diyetisyencim-svc-v2 .diyetisyencim-custom-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  align-items: center;
}
.diyetisyencim-svc-v2 .diyetisyencim-custom-fields input {
  padding: 9px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  background: #fafafa;
  transition:
    border-color 0.25s,
    box-shadow 0.25s;
  outline: none;
}
.diyetisyencim-svc-v2 .diyetisyencim-custom-fields input:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fffcf9;
}

/* ── Select ── */
.diyetisyencim-svc-v2 #diyetisyencim-master-services,
.diyetisyencim-svc-v2 .diyetisyencim-chosen-wrap select {
  padding: 10px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color 0.25s,
    box-shadow 0.25s;
  outline: none;
  appearance: auto;
}
.diyetisyencim-svc-v2 #diyetisyencim-master-services:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.diyetisyencim-svc-v2 .diyetisyencim-add-predefined .diyetisyencim-chosen-wrap {
  margin-bottom: 10px;
}

/* ── Submit button ── */
.diyetisyencim-svc-v2 .bv2-submit-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  ) !important;
  color: #fff !important;
  padding: 13px 32px !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  position: relative;
  overflow: hidden;
}
.diyetisyencim-svc-v2 .bv2-submit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}
.diyetisyencim-svc-v2 .bv2-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.diyetisyencim-svc-v2 .bv2-submit-btn:hover::after {
  transform: translateX(100%);
}
.diyetisyencim-svc-v2 .bv2-submit-btn:active {
  transform: translateY(0);
}
.diyetisyencim-svc-v2 .bv2-submit-btn svg {
  flex-shrink: 0;
}

/* ── Message ── */
.diyetisyencim-svc-v2 .diyetisyencim-save-services-msg {
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  min-height: 22px;
  transition: color 0.2s;
}

/* ── Rows animation stagger ── */
.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row:nth-child(1) {
  animation-delay: 0.05s;
}
.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row:nth-child(2) {
  animation-delay: 0.1s;
}
.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row:nth-child(3) {
  animation-delay: 0.15s;
}
.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row:nth-child(4) {
  animation-delay: 0.2s;
}
.diyetisyencim-svc-v2 #diyetisyencim-services-rows .diyetisyencim-service-row:nth-child(5) {
  animation-delay: 0.25s;
}
.diyetisyencim-svc-v2
  #diyetisyencim-services-rows
  .diyetisyencim-service-row:nth-child(n + 6) {
  animation-delay: 0.3s;
}

/* ── Responsive ── */
@media (max-width: 719px) {
  .diyetisyencim-svc-v2 {
    border-radius: 14px;
    padding: 14px !important;
  }
  .diyetisyencim-svc-v2 .bv2-header {
    gap: 12px;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-box-title {
    font-size: 19px;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-service-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 12px;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-drag-handle {
    align-self: flex-start;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-service-row input {
    max-width: 100% !important;
    width: 100% !important;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-service-row .diyetisyencim-service-price,
  .diyetisyencim-svc-v2 .diyetisyencim-service-row .diyetisyencim-service-duration {
    width: 100% !important;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-remove-service {
    align-self: flex-end;
  }
  .bv2-add-card {
    padding: 12px 14px;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-custom-fields {
    flex-direction: column;
  }
  .diyetisyencim-svc-v2 .diyetisyencim-custom-fields input {
    width: 100%;
  }
  .diyetisyencim-svc-v2 .bv2-submit-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════
   DIYETISYENCIM PROVIDERS V2 — Modern UI Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Container ── */
.diyetisyencim-prov-v2 {
  background: linear-gradient(160deg, #ffffff 0%, #fdfbf9 50%, #faf6f2 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 20px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.02),
    0 8px 40px rgba(0, 0, 0, 0.04);
  padding: 28px 32px;
  max-width: 960px;
  margin: 0 auto;
  animation: bv2FadeUp 0.5s ease-out both;
  position: relative;
  overflow: hidden;
}
.diyetisyencim-prov-v2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark),
    var(--diyetisyencim-primary)
  );
  background-size: 200% auto;
  animation: bv2ShimmerBg 3s linear infinite;
}
/* Override old styles inside v2 */
.diyetisyencim-prov-v2.diyetisyencim-providers {
  display: block;
}
.diyetisyencim-prov-v2.diyetisyencim-providers h2 {
  max-width: none;
  text-align: left;
}

/* ── V2 Header ── */
.diyetisyencim-prov-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--diyetisyencim-bg-3);
}
.diyetisyencim-prov-v2 .bv2-header-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: var(--diyetisyencim-primary-dark);
  letter-spacing: -0.02em;
}

/* ── Form Card ── */
.bv2-form-card {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  animation: bv2FadeUp 0.4s ease-out both;
  animation-delay: 0.1s;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-form-card.is-collapsed {
  display: none;
}
.diyetisyencim-prov-v2 .bv2-providers-toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 0 20px;
}
.diyetisyencim-prov-v2 .bv2-provider-form-toggle {
  min-width: 220px;
  justify-content: center;
}

.diyetisyencim-prov-v2 .bv2-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}
.diyetisyencim-prov-v2 .bv2-form-head-title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-prov-v2 .bv2-provider-form-close {
  background: #fff;
}

/* ── Field groups ── */
.bv2-field-group {
  margin-bottom: 16px;
}
.bv2-field-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

/* ── V2 Inputs ── */
.diyetisyencim-prov-v2 .bv2-input,
.diyetisyencim-prov-v2 .bv2-select {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  background: #fafafa;
  font-size: 14px;
  color: #1f2937;
  box-sizing: border-box;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  outline: none;
}
.diyetisyencim-prov-v2 .bv2-input:focus,
.diyetisyencim-prov-v2 .bv2-select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fffcf9;
}
.diyetisyencim-prov-v2 .bv2-textarea {
  resize: vertical;
  min-height: 80px;
}
.bv2-required {
  color: #ef4444;
  font-weight: 700;
}

/* ── Camera icon in empty photo placeholder ── */
.bv2-camera-icon {
  color: #9ca3af;
  transition: color 0.2s;
}
.diyetisyencim-provider-photo-placeholder:hover .bv2-camera-icon {
  color: var(--diyetisyencim-primary);
}

/* ── V2 Provider Photo ── */
.diyetisyencim-prov-v2 .diyetisyencim-provider-header {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  margin-bottom: 20px;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-photo-placeholder {
  width: 110px;
  height: 110px;
  border: 3px dashed #d1d5db;
  background: linear-gradient(135deg, #fafafa, #f3f4f6);
  transition:
    border-color 0.25s,
    background 0.25s,
    transform 0.2s;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-photo-placeholder:hover {
  border-color: var(--diyetisyencim-primary);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.03);
  transform: scale(1.04);
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-info {
  width: 100%;
  text-align: center;
}

/* ── Time grid ── */
.bv2-time-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.bv2-time-pair {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bv2-time-pair .bv2-label {
  margin: 0;
  font-size: 13px;
}
.diyetisyencim-prov-v2 .bv2-time {
  width: 100%;
}

/* ── Working hours wrap ── */
.bv2-working-hours-wrap {
  margin-bottom: 16px;
}
.diyetisyencim-prov-v2 .diyetisyencim-working-day-row {
  border-radius: 10px;
  border: 1.5px solid #e5e7eb;
  margin-bottom: 8px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.diyetisyencim-prov-v2 .diyetisyencim-working-day-row:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.2);
}
.diyetisyencim-prov-v2 .diyetisyencim-working-day-row:focus-within {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.06);
}

/* ── Button row ── */
.bv2-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.bv2-btn-danger {
  color: #ef4444 !important;
  border-color: #fecaca !important;
  background: #fff !important;
}
.bv2-btn-danger:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
}

/* ── Empty state ── */
.bv2-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 40px 20px;
  text-align: center;
}
.bv2-empty-state p {
  color: var(--diyetisyencim-muted);
  font-size: 15px;
  margin: 0;
}
.bv2-empty-state .bv2-empty-icon {
  color: var(--diyetisyencim-muted);
  opacity: 0.5;
}

.diyetisyencim-prov-v2 .bv2-section-divider--spaced {
  margin-top: 28px;
}

.diyetisyencim-prov-v2 .bv2-submit-wrap {
  text-align: center;
  margin-top: 20px;
}

.diyetisyencim-prov-v2 .diyetisyencim-provider-desc {
  color: #6b7280;
  font-size: 12px;
  line-height: 1.45;
}

.diyetisyencim-prov-v2 .diyetisyencim-providers-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
  border-radius: 14px;
}

/* ── Providers Table V2 ── */
.diyetisyencim-prov-v2 .diyetisyencim-providers-table {
  width: 100%;
  min-width: 860px;
  border: 1.5px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  animation: bv2FadeUp 0.45s ease-out both;
  animation-delay: 0.15s;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table thead th {
  background: linear-gradient(135deg, #fafafa, #f3f4f6);
  color: var(--diyetisyencim-primary-dark);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 12px 14px;
  border-bottom: 2px solid #e5e7eb;
  text-align: left;
  white-space: nowrap;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td {
  padding: 14px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table tbody tr {
  transition: background 0.2s ease;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table tbody tr:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.02);
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table tbody tr:last-child td {
  border-bottom: 0;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(1),
.diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(1),
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(5),
.diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(5) {
  text-align: center;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(2) {
  font-weight: 600;
  color: #1f2937;
  min-width: 180px;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(3) {
  color: #374151;
  word-break: break-word;
  min-width: 180px;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(4),
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(6) {
  min-width: 170px;
}
.diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(7) {
  min-width: 210px;
}

/* Thumb in v2 table */
.diyetisyencim-prov-v2 .diyetisyencim-provider-thumb {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e5e7eb;
  transition: border-color 0.2s;
}
.diyetisyencim-prov-v2
  .diyetisyencim-providers-table
  tbody
  tr:hover
  .diyetisyencim-provider-thumb {
  border-color: var(--diyetisyencim-primary);
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-thumb-placeholder {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--diyetisyencim-bg-3), #e5e7eb);
  font-size: 14px;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-photo-cell {
  padding-left: 10px;
  padding-right: 10px;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-services {
  list-style: none;
  padding: 0;
  margin: 0;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #fbfbfb;
  margin-bottom: 6px;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-row:last-child {
  margin-bottom: 0;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-name {
  font-weight: 600;
  color: #374151;
  word-break: break-word;
}
.diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-price {
  font-size: 12px;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  white-space: nowrap;
}

/* ── Action buttons ── */
.bv2-action-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.bv2-action-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #fff !important;
  font-size: 12px !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  justify-content: center;
}
.bv2-action-btn svg {
  flex-shrink: 0;
}
.bv2-action-btn span {
  pointer-events: none;
}
.bv2-action-edit {
  color: var(--diyetisyencim-primary-dark) !important;
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.2) !important;
}
.bv2-action-edit:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.06) !important;
  border-color: var(--diyetisyencim-primary) !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.bv2-action-delete {
  color: #ef4444 !important;
  border-color: #fecaca !important;
}
.bv2-action-delete:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(239, 68, 68, 0.12);
}
.bv2-action-cal {
  color: #6366f1 !important;
  border-color: #c7d2fe !important;
}
.bv2-action-cal:hover {
  background: #eef2ff !important;
  border-color: #6366f1 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(99, 102, 241, 0.12);
}
.bv2-action-invite {
  color: #059669 !important;
  border-color: #a7f3d0 !important;
}
.bv2-action-invite:hover {
  background: #ecfdf5 !important;
  border-color: #059669 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(5, 150, 105, 0.12);
}

/* ── Submit button inside prov-v2 ── */
.diyetisyencim-prov-v2 .bv2-submit-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  ) !important;
  color: #fff !important;
  padding: 13px 36px !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  position: relative;
  overflow: hidden;
}
.diyetisyencim-prov-v2 .bv2-submit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}
.diyetisyencim-prov-v2 .bv2-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.diyetisyencim-prov-v2 .bv2-submit-btn:hover::after {
  transform: translateX(100%);
}
.diyetisyencim-prov-v2 .bv2-submit-btn:active {
  transform: translateY(0);
}
.diyetisyencim-prov-v2 .bv2-submit-btn svg {
  flex-shrink: 0;
}

/* ── Services pills v2 ── */
.diyetisyencim-prov-v2 .diyetisyencim-services-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.diyetisyencim-prov-v2 .diyetisyencim-service-pill {
  padding: 5px 12px !important;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08) !important;
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.15);
  border-radius: 20px !important;
  font-size: 13px;
  color: var(--diyetisyencim-primary-dark);
  font-weight: 600;
}

/* ── Calendar row v2 ── */
.diyetisyencim-prov-v2 .diyetisyencim-provider-calendar {
  background: #fafafa;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
}
.diyetisyencim-provider-calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.diyetisyencim-provider-calendar-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--diyetisyencim-primary-dark);
  text-transform: capitalize;
}
.diyetisyencim-provider-calendar-nav {
  padding: 6px 10px;
  min-width: 36px;
  line-height: 1;
  border-radius: 8px;
  border: 1px solid var(--diyetisyencim-border);
  background: #fff;
  color: var(--diyetisyencim-primary-dark) !important;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
}
.diyetisyencim-provider-calendar-nav:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08);
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.35);
  color: var(--diyetisyencim-primary-dark) !important;
}
.diyetisyencim-provider-calendar-nav:focus {
  outline: 2px solid rgba(var(--diyetisyencim-primary-rgb), 0.35);
  outline-offset: 2px;
}
.diyetisyencim-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.diyetisyencim-calendar-weekday {
  font-size: 12px;
  font-weight: 700;
  color: var(--diyetisyencim-muted);
  text-align: center;
}
.diyetisyencim-calendar-empty {
  min-height: 1px;
}
.diyetisyencim-calendar-day {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 6px;
  min-height: 72px;
  background: #fff;
}
.diyetisyencim-calendar-day-num {
  font-weight: 700;
  font-size: 12px;
  margin-bottom: 6px;
}
.diyetisyencim-calendar-slot-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
}
.diyetisyencim-calendar-slot-item {
  font-size: 11px;
  color: #374151;
  word-break: break-word;
}
.diyetisyencim-calendar-error {
  grid-column: 1 / -1;
  padding: 8px;
  font-size: 12px;
  color: #b91c1c;
}

/* ── Responsive ── */
@media (max-width: 719px) {
  .diyetisyencim-prov-v2 {
    border-radius: 14px;
    padding: 16px;
  }
  .diyetisyencim-prov-v2 .bv2-header {
    gap: 12px;
  }
  .diyetisyencim-prov-v2 .bv2-header-title {
    font-size: 20px;
  }
  .bv2-form-card {
    padding: 16px;
  }
  .diyetisyencim-prov-v2 .bv2-providers-toolbar {
    justify-content: center;
  }
  .diyetisyencim-prov-v2 .bv2-provider-form-toggle {
    width: 100%;
    justify-content: center;
    min-width: 0;
  }
  .diyetisyencim-prov-v2 .bv2-form-head {
    flex-wrap: wrap;
  }
  .bv2-field-row-2 {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .bv2-time-grid {
    grid-template-columns: 1fr;
  }
  /* Action buttons: icon only on mobile */
  .bv2-action-btn span {
    display: none;
  }
  .bv2-action-btn {
    padding: 8px !important;
  }
  .diyetisyencim-prov-v2 .bv2-submit-btn {
    width: 100%;
    justify-content: center;
  }
  /* Table stacked cards */
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table thead {
    display: none;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tbody,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tr {
    display: block;
    width: 100%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table {
    min-width: 0;
    border: 0;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tr {
    margin-bottom: 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 4px;
    border-bottom: 0;
    min-width: 0;
    text-align: right;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--diyetisyencim-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex: 0 0 100px;
    text-align: left;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td .bv2-action-group {
    justify-content: flex-end;
    width: auto;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-services {
    width: 100%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-row {
    padding: 6px 8px;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row td {
    display: block;
    padding: 0;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row td:before {
    display: none;
  }
  .diyetisyencim-calendar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .diyetisyencim-calendar-weekday {
    display: none;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-photo-cell {
    text-align: left;
  }
}

/* Small screen: time inputs fill width */
@media (max-width: 480px) {
  .diyetisyencim-prov-v2 .diyetisyencim-working-day-row {
    gap: 8px;
    padding: 8px;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-working-day-row input[type="time"] {
    width: 100%;
    min-width: 0;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-working-day-row .diyetisyencim-working-day-hint {
    display: none;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-working-day-row strong,
  .diyetisyencim-prov-v2 .diyetisyencim-working-day-row > label {
    min-width: 0;
  }
  .bv2-time-grid {
    gap: 8px;
  }
  .bv2-time-pair .bv2-label {
    font-size: 12px;
  }
}
@media (min-width: 720px) {
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table {
    table-layout: fixed;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(1),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(1) {
    width: 70px;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(2),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(2) {
    width: 18%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(3),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(3) {
    width: 16%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(4),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(4) {
    width: 16%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(5),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(5) {
    width: 11%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(6),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(6) {
    width: 20%;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table th:nth-child(7),
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td:nth-child(7) {
    width: 19%;
  }
}

/* Providers table mobile hard-fix (prevents mixed table/card rendering on some themes) */
@media (max-width: 719px) {
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table-wrap {
    overflow: visible !important;
    padding-bottom: 0;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table thead {
    display: none !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tbody,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tr,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table {
    border: 0 !important;
    background: transparent !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table tr {
    padding: 12px !important;
    margin: 0 0 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    text-align: left !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td::before {
    display: block;
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin-bottom: 6px;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-photo-cell img,
  .diyetisyencim-prov-v2 .diyetisyencim-provider-thumb,
  .diyetisyencim-prov-v2 .diyetisyencim-provider-thumb-placeholder {
    width: 52px;
    height: 52px;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-desc {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-services,
  .diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-row,
  .diyetisyencim-prov-v2 .diyetisyencim-providers-table td * {
    max-width: 100% !important;
    min-width: 0 !important;
    word-break: break-word;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-services .diyetisyencim-service-row {
    padding: 8px 10px;
  }
  .diyetisyencim-prov-v2 .bv2-action-group {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }
  .diyetisyencim-prov-v2 .bv2-action-btn {
    width: 100% !important;
    padding: 9px 0 !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row td {
    padding: 0 !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row td::before {
    display: none !important;
  }
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row.diyetisyencim-hidden,
  .diyetisyencim-prov-v2 .diyetisyencim-provider-calendar-row.diyetisyencim-hidden td {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   DIYETISYENCIM PRODUCTS V2 — Modern UI Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Container ── */
.diyetisyencim-prod-v2 {
  background: linear-gradient(
    160deg,
    #ffffff 0%,
    #fdfbf9 50%,
    #faf6f2 100%
  ) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 20px !important;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.02),
    0 8px 40px rgba(0, 0, 0, 0.04) !important;
  padding: 28px 32px !important;
  max-width: 960px;
  animation: bv2FadeUp 0.5s ease-out both;
  position: relative;
  overflow: hidden;
}
.diyetisyencim-prod-v2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark),
    var(--diyetisyencim-primary)
  );
  background-size: 200% auto;
  animation: bv2ShimmerBg 3s linear infinite;
}

/* ── V2 Header inside products ── */
.diyetisyencim-prod-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--diyetisyencim-bg-3);
}
.diyetisyencim-prod-v2 .bv2-header-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: var(--diyetisyencim-primary-dark);
  letter-spacing: -0.02em;
}

/* ── Form Card inside products ── */
.diyetisyencim-prod-v2 .bv2-form-card {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  animation: bv2FadeUp 0.4s ease-out both;
  animation-delay: 0.1s;
}
.diyetisyencim-prod-v2 .diyetisyencim-product-form-card.is-collapsed {
  display: none;
}
.diyetisyencim-prod-v2 .bv2-products-toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 0 20px;
}
.diyetisyencim-prod-v2 .bv2-product-form-toggle {
  min-width: 220px;
  justify-content: center;
}

/* ── Inputs ── */
.diyetisyencim-prod-v2 .bv2-input,
.diyetisyencim-prod-v2 .bv2-select {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  background: #fafafa;
  font-size: 14px;
  color: #1f2937;
  box-sizing: border-box;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  outline: none;
}
.diyetisyencim-prod-v2 .bv2-input:focus,
.diyetisyencim-prod-v2 .bv2-select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  background: #fffcf9;
}
.diyetisyencim-prod-v2 .bv2-textarea {
  resize: vertical;
  min-height: 80px;
}

/* ── Toggle checkbox row ── */
.bv2-toggle-row {
  padding: 12px 16px;
  background: #fafafa;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.bv2-toggle-label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
}
.bv2-toggle-label-remind {
  align-items: flex-start;
}
.bv2-toggle-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bv2-toggle-title {
  line-height: 1.2;
}
.bv2-toggle-help {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  color: #6b7280;
}
.bv2-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--diyetisyencim-primary);
  cursor: pointer;
}

@media (max-width: 640px) {
  .bv2-toggle-row {
    flex-direction: column;
    align-items: stretch;
  }
  .bv2-toggle-label {
    margin-left: 0 !important;
    width: 100%;
  }
  .bv2-toggle-label-remind {
    padding-top: 2px;
  }
}

/* ── Photo upload card ── */
.bv2-photo-upload-card {
  background: linear-gradient(135deg, #fafafa, #f3f4f6);
  border: 2px dashed #d1d5db;
  border-radius: 14px;
  padding: 20px;
  text-align: center;
  transition:
    border-color 0.25s,
    background 0.25s;
}
.bv2-photo-upload-card:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.3);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.02);
}
.bv2-photo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #9ca3af;
  font-size: 14px;
  cursor: pointer;
  padding: 12px;
}
.bv2-photo-placeholder svg {
  transition: color 0.2s;
}
.bv2-photo-placeholder:hover svg {
  color: var(--diyetisyencim-primary);
}
.bv2-product-preview {
  max-width: 200px !important;
  max-height: 200px;
  border-radius: 12px;
  display: none;
  margin: 0 auto 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.bv2-photo-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

/* ── Product thumbnail in table ── */
.bv2-product-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: cover;
  border: 1.5px solid #e5e7eb;
  transition: border-color 0.2s;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table tbody tr:hover .bv2-product-thumb {
  border-color: var(--diyetisyencim-primary);
}

/* ── Products table v2 ── */
.diyetisyencim-prod-v2 .diyetisyencim-products-list-box {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table {
  width: 100%;
  table-layout: fixed;
  border: 1.5px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  animation: bv2FadeUp 0.45s ease-out both;
  animation-delay: 0.15s;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table thead th {
  background: linear-gradient(135deg, #fafafa, #f3f4f6) !important;
  color: var(--diyetisyencim-primary-dark);
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 12px 14px !important;
  border-bottom: 2px solid #e5e7eb !important;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table td {
  padding: 14px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  vertical-align: middle;
  text-align: center;
  font-size: 14px;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table tbody tr {
  transition: background 0.2s ease;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table tbody tr:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.02);
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table td p {
  margin: 0;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="Foto"] img {
  display: block;
  margin: 0 auto;
}
.diyetisyencim-prod-v2
  .diyetisyencim-products-table
  td[data-label="Stok"]
  .diyetisyencim-stock-input {
  display: block;
  margin: 0 auto;
}
.diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="İşlemler"] {
  text-align: center;
}
.diyetisyencim-prod-v2
  .diyetisyencim-products-table
  td[data-label="İşlemler"]
  .bv2-action-group {
  justify-content: center;
}

/* Stock input in table */
.diyetisyencim-prod-v2 .diyetisyencim-stock-input {
  width: 72px;
  padding: 7px 10px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  background: #fafafa;
  transition:
    border-color 0.25s,
    box-shadow 0.25s;
  outline: none;
}
.diyetisyencim-prod-v2 .diyetisyencim-stock-input:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.08);
}

/* Status cell badges */
.diyetisyencim-prod-v2 .diyetisyencim-status-cell {
  font-weight: 600;
  font-size: 13px;
}

/* ── Toggle visibility button ── */
.bv2-action-toggle {
  color: #6366f1 !important;
  border-color: #c7d2fe !important;
}
.bv2-action-toggle:hover {
  background: #eef2ff !important;
  border-color: #6366f1 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(99, 102, 241, 0.12);
}

/* ── Remind button text contrast fix ── */
.diyetisyencim-prod-v2 .bv2-action-remind {
  color: #86efac !important;
}

/* ── Secondary submit ── */
.bv2-submit-secondary {
  background: linear-gradient(135deg, #6366f1, #4f46e5) !important;
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.3) !important;
}
.bv2-submit-secondary:hover {
  box-shadow: 0 8px 28px rgba(99, 102, 241, 0.4) !important;
}

/* ── Submit button ── */
.diyetisyencim-prod-v2 .bv2-submit-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  ) !important;
  color: #fff !important;
  padding: 13px 36px !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  position: relative;
  overflow: hidden;
}
.diyetisyencim-prod-v2 .bv2-submit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}
.diyetisyencim-prod-v2 .bv2-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--diyetisyencim-primary-rgb), 0.4);
}
.diyetisyencim-prod-v2 .bv2-submit-btn:hover::after {
  transform: translateX(100%);
}
.diyetisyencim-prod-v2 .bv2-submit-btn:active {
  transform: translateY(0);
}
.diyetisyencim-prod-v2 .bv2-submit-btn svg {
  flex-shrink: 0;
}

/* ── Photo placeholder click triggers file input ── */
.diyetisyencim-prod-v2 .bv2-photo-upload-card .bv2-photo-placeholder {
  cursor: pointer;
}

/* ── Responsive ── */
@media (max-width: 719px) {
  .diyetisyencim-prod-v2 {
    border-radius: 14px !important;
    padding: 16px !important;
  }
  .diyetisyencim-prod-v2 .bv2-form-card {
    padding: 16px;
  }
  .diyetisyencim-prod-v2 .bv2-products-toolbar {
    margin: 8px 0 16px;
  }
  .diyetisyencim-prod-v2 .bv2-product-form-toggle {
    width: 100%;
    min-width: 0;
  }
  .diyetisyencim-prod-v2 .bv2-header-title {
    font-size: 20px;
  }
  .diyetisyencim-prod-v2 .bv2-submit-btn {
    width: 100%;
    justify-content: center;
  }
  /* Table stacked cards */
  .diyetisyencim-prod-v2 .diyetisyencim-products-table thead {
    display: none;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table,
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tbody,
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tr {
    display: block;
    width: 100%;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tr {
    margin-bottom: 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    background: #fff;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 4px !important;
    border-bottom: 0 !important;
    text-align: center;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td::before {
    width: auto;
    flex: none;
    padding-right: 0;
    text-align: center;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="Foto"] img {
    display: block;
    margin: 0 auto;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="Açıklama"] {
    word-break: break-word;
  }
  .diyetisyencim-prod-v2
    .diyetisyencim-products-table
    td[data-label="Stok"]
    .diyetisyencim-stock-input {
    width: 100% !important;
    max-width: 180px !important;
    display: block;
    margin: 0 auto;
  }
  .diyetisyencim-prod-v2
    .diyetisyencim-products-table
    td[data-label="İşlemler"]
    .bv2-action-group {
    width: 100%;
    justify-content: center;
  }
  /* Action buttons: icon only on mobile */
  .diyetisyencim-prod-v2 .bv2-action-btn span {
    display: none;
  }
  .diyetisyencim-prod-v2 .bv2-action-btn {
    padding: 8px !important;
  }
  .diyetisyencim-prod-v2 .bv2-action-remind {
    min-width: 0 !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
  }
  .diyetisyencim-prod-v2 .bv2-action-remind span {
    display: inline !important;
    white-space: nowrap;
    font-size: 13px;
    line-height: 1;
  }
}

/* Products table mobile hard-fix (prevents mixed table/card rendering on some themes) */
@media (max-width: 719px) {
  .diyetisyencim-prod-v2 .diyetisyencim-products-list-box {
    overflow: visible !important;
    padding: 0 !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table thead {
    display: none !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table,
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tbody,
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tr,
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table {
    border: 0 !important;
    background: transparent !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tr {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td {
    padding: 8px 0 !important;
    border: 0 !important;
    text-align: center !important;
    min-width: 0 !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td::before {
    display: block !important;
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin-bottom: 6px;
    width: auto !important;
    flex: none !important;
    padding-right: 0 !important;
    text-align: center;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="Foto"] img {
    width: 56px;
    height: 56px;
    display: block !important;
    margin: 0 auto !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="Açıklama"] {
    word-break: break-word;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-stock-input {
    width: 100% !important;
    max-width: 180px !important;
    display: block !important;
    margin: 0 auto !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table td[data-label="İşlemler"]::before {
    margin-bottom: 8px;
  }
  .diyetisyencim-prod-v2
    .diyetisyencim-products-table
    td[data-label="İşlemler"]
    .bv2-action-group {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    justify-content: center;
  }
  .diyetisyencim-prod-v2
    .diyetisyencim-products-table
    td[data-label="İşlemler"]
    .bv2-action-btn {
    width: 100% !important;
    padding: 9px 0 !important;
  }
  .diyetisyencim-prod-v2 .diyetisyencim-products-table tr td[colspan]::before {
    display: none !important;
  }
}

/* =====================================================================
   APPOINTMENTS V2
   ===================================================================== */
.diyetisyencim-appt-v2 {
  max-width: 1100px;
  margin: 24px auto;
  background: linear-gradient(135deg, #fff 0%, #fef7f2 100%);
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  animation: bv2FadeUp 0.5s ease-out both;
  position: relative;
}
.diyetisyencim-appt-v2 .bv2-shimmer-bar {
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    #ffb380,
    var(--diyetisyencim-primary)
  );
  background-size: 200% 100%;
  animation: bv2ShimmerBg 3s linear infinite;
}
.diyetisyencim-appt-v2 .bv2-header {
  padding: 28px 32px 18px;
}
.diyetisyencim-appt-v2 .bv2-header-title {
  font-size: 1.55rem;
}
.bv2-add-appt-launch-wrap {
  margin: 10px 24px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bv2-add-appt-launch {
  min-height: 42px;
  padding: 10px 20px !important;
  border-radius: 12px !important;
  font-weight: 700;
}

/* Manual add appointment modal */
.bv2-add-appt-modal {
  position: fixed;
  inset: 0;
  z-index: 100500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(2.5px);
  box-sizing: border-box;
}
.bv2-add-appt-backdrop {
  width: min(760px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 4px;
  box-sizing: border-box;
}
.bv2-add-appt-dialog {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 16px;
  padding: 20px 18px 16px;
  box-shadow: 0 16px 40px rgba(2, 6, 23, 0.18);
}
.bv2-add-appt-dialog::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 4px;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(90deg, #f97316, #fb923c);
  opacity: 0.85;
}
.bv2-add-appt-close {
  position: absolute;
  right: 12px;
  top: 10px;
  border: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.bv2-add-appt-head-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  margin: 4px auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: #1d4ed8;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}
.bv2-add-appt-title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
  text-align: center;
}
.bv2-add-appt-subtitle {
  margin: 6px auto 14px;
  max-width: 44ch;
  font-size: 12px;
  color: #64748b;
  text-align: center;
}
.bv2-add-appt-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bv2-add-appt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.bv2-add-field-service {
  grid-column: 1 / -1;
}
.bv2-add-field {
  min-width: 0;
}
.bv2-add-field label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}
.bv2-add-field .bv2-input,
.bv2-add-field .bv2-select {
  min-height: 42px;
  padding: 10px 12px;
  border: 1.5px solid #dbe2ea;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
}
.bv2-add-field textarea.bv2-input {
  min-height: 86px;
  resize: vertical;
}
.bv2-add-field-sm,
.bv2-add-field-xs {
  grid-column: span 1;
}
.bv2-add-service-multiselect {
  position: relative;
}
.bv2-add-service-toggle {
  width: 100%;
  text-align: left;
  min-height: 42px;
}
.bv2-add-service-list {
  position: absolute;
  left: 0;
  top: calc(100% + 4px);
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 8px;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.16);
  max-height: 240px;
  overflow: auto;
  z-index: 100501;
  min-width: 260px;
  width: 100%;
  box-sizing: border-box;
}
.bv2-add-service-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 6px 4px;
  font-size: 13px;
  white-space: nowrap;
}
.bv2-add-service-count {
  margin-top: 6px;
  font-size: 13px;
  color: #475569;
}
.bv2-add-price-row {
  font-size: 14px;
  font-weight: 600;
  color: #334155;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  padding: 8px 10px;
  border-radius: 10px;
}
.bv2-add-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.bv2-add-actions .bv2-submit-btn {
  min-height: 40px;
  padding: 9px 18px !important;
  border-radius: 10px !important;
  font-weight: 700;
}
body.bv2-modal-open {
  overflow: hidden;
}

/* Customer search in manual appointment modal */
.bv2-add-customer-search-section {
  margin-bottom: 2px;
}
.bv2-add-customer-search-header {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  margin-bottom: 6px;
}
.bv2-add-customer-search-relative {
  position: relative;
}
.bv2-add-customer-search-relative .bv2-input {
  min-height: 42px;
  padding: 10px 12px;
  border: 1.5px solid #dbe2ea;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  width: 100%;
}
.bv2-add-customer-results {
  position: absolute;
  left: 0;
  top: calc(100% + 4px);
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 6px;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.16);
  max-height: 240px;
  overflow: auto;
  z-index: 100502;
  min-width: 260px;
  width: 100%;
  box-sizing: border-box;
}
.bv2-add-customer-result-item {
  padding: 8px 10px;
  cursor: pointer;
  border-radius: 6px;
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.bv2-add-customer-result-item:hover {
  background: #f1f5f9;
}
.bv2-add-customer-result-name {
  font-weight: 600;
  color: #0f172a;
}
.bv2-add-customer-result-phone {
  color: #64748b;
  font-size: 12px;
}
.bv2-add-customer-result-empty {
  padding: 12px;
  text-align: center;
  color: #94a3b8;
  font-size: 13px;
}
.bv2-add-customer-search-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 2px;
  font-size: 11px;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bv2-add-customer-search-divider::before,
.bv2-add-customer-search-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e2e8f0;
}

.bv2-filters-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bv2-filters-toggle svg {
  flex-shrink: 0;
}
.bv2-filters-panel {
  width: 100%;
}
/* Filter section */
.bv2-appt-filters-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 0 24px 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
  justify-items: center;
}
.bv2-filter-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 360px;
}
.bv2-filter-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
  letter-spacing: 0.02em;
  width: 100%;
  text-align: center;
}
.bv2-filter-label svg {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.bv2-appt-filters-card .bv2-select,
.bv2-appt-filters-card .bv2-input {
  width: 100%;
  padding: 9px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  font-size: 0.88rem;
  background: #fafbfc;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  color: #1e293b;
  text-align: center;
}
.bv2-appt-filters-card .bv2-select:not([multiple]) {
  text-align-last: center;
}
.bv2-appt-filters-card .bv2-select:focus,
.bv2-appt-filters-card .bv2-input:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.13);
  outline: none;
}
.bv2-select-multi {
  min-height: 42px;
}
.bv2-date-range {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  max-width: 360px;
  justify-content: center;
}
.bv2-date-range .bv2-input {
  flex: 1;
  min-width: 0;
  max-width: none;
}
.bv2-date-sep {
  color: #94a3b8;
  font-weight: 600;
}
.bv2-filter-actions {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  grid-column: 1 / -1;
  justify-content: center;
  padding-top: 4px;
  width: 100%;
}
.bv2-filter-btn {
  padding: 10px 22px !important;
  font-size: 0.88rem !important;
}
.bv2-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff !important;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    transform 0.15s,
    box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.25);
}
.bv2-export-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
}
/* Badge count */
.bv2-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 13px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  margin-left: 10px;
}
.diyetisyencim-appt-v2 .bv2-section-divider {
  margin: 0 24px 16px;
}
/* Appointment list box */
.bv2-appt-list-box {
  padding: 0 24px 28px;
}
/* Empty state */
.bv2-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 48px 20px;
  text-align: center;
}
.bv2-empty-state p {
  color: #94a3b8;
  font-size: 0.95rem;
}
/* Table wrapper */
.bv2-table-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #fff;
}
.bv2-appt-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.bv2-appt-table thead th {
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
  padding: 12px 14px;
  text-align: left;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  border-bottom: 2px solid #e5e7eb;
  white-space: nowrap;
}
.bv2-appt-table tbody tr {
  transition: background 0.15s;
}
.bv2-appt-table tbody tr:hover {
  background: #fef7f2;
}
.bv2-appt-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  font-size: 0.88rem;
  color: #334155;
}
/* Cell styles */
.bv2-cell-name {
  font-weight: 600;
  color: #1e293b;
  display: block;
  max-width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-cell-phone {
  color: var(--diyetisyencim-primary);
  text-decoration: none;
  font-weight: 500;
}
.bv2-cell-phone:hover {
  text-decoration: none;
}
/* Chips */
.bv2-chip {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}
.bv2-chip-service {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  color: var(--diyetisyencim-primary-dark);
}
.bv2-chip-time {
  background: #ede9fe;
  color: #6d28d9;
}
.bv2-chip-discount {
  background: #dcfce7;
  color: #15803d;
}
.bv2-chip-coupon {
  background: #fef3c7;
  color: #92400e;
}
.bv2-chip-gift {
  background: #fce7f3;
  color: #9d174d;
}
/* Status badges */
.bv2-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.bv2-status-pending {
  background: #fef3c7;
  color: #92400e;
}
.bv2-status-approved {
  background: #d1fae5;
  color: #065f46;
}
.bv2-status-rejected {
  background: #fee2e2;
  color: #991b1b;
}
/* Action buttons in table */
.bv2-appt-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.diyetisyencim-appt-v2 .bv2-action-group {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.bv2-action-approve {
  background: linear-gradient(135deg, #10b981, #059669) !important;
  color: #fff !important;
  border-color: #059669 !important;
}
.bv2-action-approve:hover {
  background: linear-gradient(135deg, #059669, #047857) !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35) !important;
}
.bv2-action-note {
  background: linear-gradient(135deg, #6366f1, #4f46e5) !important;
  color: #fff !important;
  border-color: #4f46e5 !important;
}
.bv2-action-note:hover {
  background: linear-gradient(135deg, #4f46e5, #4338ca) !important;
}
/* Note toggle details/summary */
.bv2-note-details {
  border-radius: 10px;
}
.bv2-note-toggle {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6366f1;
  padding: 4px 10px;
  border-radius: 8px;
  transition: background 0.15s;
  user-select: none;
  list-style: none;
}
.bv2-note-toggle::-webkit-details-marker {
  display: none;
}
.bv2-note-toggle::marker {
  content: "";
}
.bv2-note-toggle:hover {
  background: rgba(99, 102, 241, 0.08);
}
.bv2-note-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.bv2-note-input {
  width: 100%;
  min-height: 60px;
  padding: 10px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  font-size: 0.85rem;
  resize: vertical;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  box-sizing: border-box;
}
.bv2-note-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
  outline: none;
}
.bv2-note-body .bv2-action-btn {
  align-self: flex-end;
}
/* Notes log */
.bv2-notes-log {
  margin-top: 6px;
  white-space: pre-wrap;
  font-size: 0.78rem;
  color: #64748b;
  background: #f8fafc;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #f1f5f9;
  max-height: 100px;
  overflow-y: auto;
}
.bv2-notes-log:empty {
  display: none;
}
/* Product info in table */
.bv2-appt-products {
  font-size: 0.82rem;
  color: #475569;
}
.bv2-appt-products-note {
  font-size: 0.78rem;
  color: #94a3b8;
  font-style: italic;
  margin-top: 2px;
}

/* ---- Appointments V2: Responsive ---- */
@media (max-width: 900px) {
  .bv2-appt-filters-card {
    grid-template-columns: 1fr 1fr;
    margin: 0 14px 16px;
    padding: 16px;
  }
  .diyetisyencim-appt-v2 .bv2-header {
    padding: 22px 18px 14px;
  }
  .diyetisyencim-appt-v2 .bv2-section-divider {
    margin: 0 14px 14px;
  }
  .bv2-add-appt-launch-wrap {
    margin: 8px 14px 14px;
  }
  .bv2-appt-list-box {
    padding: 0 14px 20px;
  }
}
@media (max-width: 1024px) {
  .diyetisyencim-appt-v2 {
    overflow: visible !important;
  }
  .bv2-table-wrap {
    overflow: visible !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    display: block;
    width: 100%;
  }
  .bv2-appt-table thead {
    display: none;
  }
  .bv2-appt-table,
  .bv2-appt-table tbody,
  .bv2-appt-table tr,
  .bv2-appt-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .bv2-appt-table tr {
    margin-bottom: 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    background: #fff;
  }
  .bv2-appt-table td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 7px 4px !important;
    border-bottom: 0 !important;
    flex-wrap: wrap;
    min-width: 0;
  }
  .bv2-appt-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #94a3b8;
    font-size: 0.78rem;
    flex: 0 0 100px;
    max-width: 40%;
  }
  .bv2-appt-table td[data-label="İsim"] {
    align-items: flex-start;
  }
  .bv2-appt-table td[data-label="İsim"] .bv2-cell-name {
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
    text-align: right;
    flex: 1;
  }
  .bv2-appt-table td[data-label="İşlemler"] {
    flex-direction: column;
    align-items: stretch;
  }
  .bv2-appt-table td[data-label="İşlemler"]::before {
    flex: 0 0 auto;
    margin-bottom: 6px;
  }
  .bv2-appt-actions {
    width: 100%;
  }
  .diyetisyencim-appt-v2 .bv2-action-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
    width: 100%;
  }
  .diyetisyencim-appt-v2 .bv2-action-group .bv2-action-btn {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px !important;
    white-space: normal;
    font-size: 13px !important;
  }
  .diyetisyencim-appt-v2 .bv2-action-btn span {
    display: inline;
  }
  .diyetisyencim-appt-v2 .bv2-note-details {
    width: 100%;
  }
  .diyetisyencim-appt-v2 .bv2-note-toggle {
    width: 100%;
    justify-content: center;
  }
  .diyetisyencim-appt-v2 .bv2-note-body .bv2-action-btn {
    width: 100%;
    align-self: stretch;
  }
  .diyetisyencim-appt-v2 .bv2-note-input {
    min-height: 72px;
  }
}
@media (max-width: 720px) {
  .diyetisyencim-appt-v2 {
    margin: 12px 6px;
    border-radius: 14px;
  }
  .bv2-appt-filters-card {
    grid-template-columns: 1fr;
    margin: 0 10px 14px;
    padding: 14px;
    gap: 12px;
  }
  .bv2-add-appt-launch-wrap {
    margin: 8px 10px 12px;
  }
  .bv2-add-appt-launch {
    width: 100%;
    justify-content: center;
  }
  .bv2-add-appt-modal {
    padding: 10px;
  }
  .bv2-add-appt-backdrop {
    max-height: calc(100vh - 20px);
  }
  .bv2-add-appt-dialog {
    padding: 16px 12px 12px;
    border-radius: 14px;
  }
  .bv2-add-appt-title {
    font-size: 22px;
    padding-right: 34px;
  }
  .bv2-add-appt-head-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }
  .bv2-add-appt-grid {
    grid-template-columns: 1fr;
  }
  .bv2-add-actions .bv2-submit-btn {
    width: 100%;
    justify-content: center;
  }
  .bv2-add-service-list {
    min-width: 0;
  }
  .bv2-date-range {
    flex-direction: column;
    gap: 6px;
  }
  .bv2-date-range .bv2-input {
    width: 100%;
  }
  .bv2-filter-actions {
    flex-direction: column;
  }
  .bv2-filter-actions .bv2-submit-btn,
  .bv2-filter-actions .bv2-export-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .diyetisyencim-appt-v2 .bv2-section-divider {
    margin: 0 10px 12px;
  }
  .bv2-appt-list-box {
    padding: 0 10px 16px;
  }
}

@media (max-width: 420px) {
  .diyetisyencim-appt-v2 .bv2-action-group {
    grid-template-columns: 1fr;
  }
  .diyetisyencim-appt-v2 .bv2-action-group .bv2-action-btn {
    justify-content: flex-start;
    padding: 11px 14px !important;
  }
  .diyetisyencim-appt-v2 .bv2-note-toggle {
    justify-content: flex-start;
  }
}

/* =============================================
   STATISTICS V2
   ============================================= */
.diyetisyencim-stats-v2 {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 48px;
  animation: bv2FadeUp 0.5s ease-out;
}
.diyetisyencim-stats-v2 .bv2-shimmer-bar {
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    #ffd6a5,
    var(--diyetisyencim-primary)
  );
  background-size: 200% 100%;
  animation: bv2ShimmerBg 3s linear infinite;
}
.diyetisyencim-stats-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  padding: 28px 32px 24px;
  border-radius: 0 0 16px 16px;
  margin-bottom: 28px;
  box-shadow: 0 4px 20px rgba(var(--diyetisyencim-primary-rgb), 0.18);
}
.diyetisyencim-stats-v2 .bv2-header-icon {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.diyetisyencim-stats-v2 .bv2-header-icon svg {
  width: 26px;
  height: 26px;
  stroke: #fff;
}
.diyetisyencim-stats-v2 .bv2-header-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.diyetisyencim-stats-v2 .bv2-subtitle {
  font-size: 0.88rem;
  opacity: 0.85;
  font-weight: 400;
  margin-top: 2px;
}

/* Section Dividers inside stats */
.diyetisyencim-stats-v2 .bv2-section-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0 10px;
  margin: 28px 0 16px;
  border-bottom: 2px solid #f1f5f9;
}
.diyetisyencim-stats-v2 .bv2-section-divider h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}
.diyetisyencim-stats-v2 .bv2-section-icon {
  width: 34px;
  height: 34px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.diyetisyencim-stats-v2 .bv2-section-icon svg {
  width: 18px;
  height: 18px;
  stroke: #fff;
}

/* KPI Cards Row */
.bv2-stats-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-bottom: 8px;
}
.bv2-stats-kpi-row
  .bv2-stats-kpi-card:last-child:nth-child(odd):nth-child(n + 3) {
  grid-column: auto;
}
.bv2-stats-kpi-card {
  background: #fff;
  border-radius: 14px;
  padding: 20px 18px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  position: relative;
  overflow: hidden;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.bv2-stats-kpi-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
}
.bv2-stats-kpi-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-kpi-orange .bv2-stats-kpi-icon {
  background: rgba(255, 134, 52, 0.12);
}
.bv2-kpi-orange .bv2-stats-kpi-icon svg {
  stroke: #ff8634;
}
.bv2-kpi-green .bv2-stats-kpi-icon {
  background: rgba(16, 185, 129, 0.12);
}
.bv2-kpi-green .bv2-stats-kpi-icon svg {
  stroke: #10b981;
}
.bv2-kpi-indigo .bv2-stats-kpi-icon {
  background: rgba(99, 102, 241, 0.12);
}
.bv2-kpi-indigo .bv2-stats-kpi-icon svg {
  stroke: #6366f1;
}
.bv2-kpi-purple .bv2-stats-kpi-icon {
  background: rgba(139, 92, 246, 0.12);
}
.bv2-kpi-purple .bv2-stats-kpi-icon svg {
  stroke: #8b5cf6;
}

.bv2-stats-kpi-body {
  flex: 1;
  min-width: 0;
}
.bv2-stats-kpi-label {
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.bv2-stats-kpi-value {
  font-size: 1.35rem;
  color: #1e293b;
  line-height: 1.2;
  overflow-wrap: break-word;
}
.bv2-stats-kpi-value strong {
  font-weight: 800;
}
.bv2-stats-kpi-sub {
  font-size: 0.76rem;
  color: #94a3b8;
  margin-top: 3px;
}
.bv2-pct-up {
  color: #10b981;
  font-weight: 700;
}
.bv2-pct-down {
  color: #ef4444;
  font-weight: 700;
}
.bv2-stats-kpi-mini {
  width: 90px;
  height: 44px;
  flex-shrink: 0;
  align-self: center;
}
.bv2-stats-kpi-mini canvas {
  width: 100% !important;
  height: 44px !important;
}

/* Period selector in KPI card */
.bv2-stats-period-select {
  margin-top: 6px;
  font-size: 0.78rem;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #334155;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}
.bv2-stats-period-select:focus {
  border-color: var(--diyetisyencim-primary);
}

/* Lists Row */
.bv2-stats-lists-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 8px;
}
.bv2-stats-list-card {
  background: #fff;
  border-radius: 14px;
  padding: 20px 22px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.bv2-stats-list-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}
.bv2-stats-list-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
}
.bv2-stats-list-header svg {
  stroke: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.bv2-stats-list-header h4 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-stats-list-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bv2-stats-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  transition: background 0.15s;
}
.bv2-stats-list-item:hover {
  background: #f8fafc;
}
.bv2-stats-rank {
  font-size: 0.78rem;
  font-weight: 800;
  color: #94a3b8;
  min-width: 28px;
}
.bv2-rank-first {
  color: var(--diyetisyencim-primary);
}
.bv2-stats-item-name {
  flex: 1;
  font-size: 0.88rem;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-stats-item-count {
  font-size: 0.78rem;
  font-weight: 700;
  color: #64748b;
  background: #f1f5f9;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
}
.bv2-stats-no-data {
  text-align: center;
  color: #94a3b8;
  font-size: 0.84rem;
  padding: 24px 0;
}

/* Charts Grid */
.bv2-stats-charts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.bv2-stats-chart-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  overflow: hidden;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.bv2-stats-chart-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}
.bv2-stats-chart-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 18px 10px;
  border-bottom: 1px solid #f1f5f9;
}
.bv2-stats-chart-header svg {
  stroke: var(--diyetisyencim-primary);
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.bv2-stats-chart-header span {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-stats-chart-body {
  padding: 16px 18px 18px;
  position: relative;
  min-height: 240px;
}
.bv2-stats-chart-body.bv2-stats-chart-body-fallback {
  min-height: 0;
  padding-top: 14px;
  padding-bottom: 14px;
}
.bv2-stats-chart-body canvas {
  width: 100% !important;
}
/* make monthly and employee charts span full width */
.bv2-stats-chart-card:nth-child(n + 5) {
  grid-column: 1 / -1;
}

/* Revenue fallback */
.bv2-stats-revenue-fb {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}
.bv2-stats-rev-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
}
.bv2-stats-rev-item svg {
  stroke: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.bv2-stats-rev-label {
  display: block;
  font-size: 0.76rem;
  color: #94a3b8;
  text-transform: uppercase;
  font-weight: 600;
}
.bv2-stats-rev-item strong {
  font-size: 1.1rem;
  color: #1e293b;
}

/* Error state */
.bv2-stats-error {
  text-align: center;
  padding: 48px 24px;
  color: #94a3b8;
}
.bv2-stats-error svg {
  stroke: #cbd5e1;
  margin-bottom: 12px;
}
.bv2-stats-error p {
  margin: 0;
  font-size: 0.92rem;
}

/* Responsive */
@media (max-width: 1024px) {
  .bv2-stats-kpi-mini {
    display: none;
  }
  .bv2-stats-kpi-card {
    padding: 18px 16px;
  }
}
@media (max-width: 900px) {
  .bv2-stats-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .bv2-stats-charts-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .diyetisyencim-stats-v2 {
    max-width: 100%;
    padding: 0 12px 44px;
    box-sizing: border-box;
  }
  .diyetisyencim-stats-v2 .bv2-header {
    padding: 20px 18px;
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .bv2-stats-kpi-row {
    grid-template-columns: 1fr;
  }
  .bv2-stats-kpi-card {
    padding: 16px 14px;
    gap: 10px;
  }
  .bv2-stats-kpi-label {
    font-size: 0.74rem;
    letter-spacing: 0.02em;
  }
  .bv2-stats-kpi-value {
    font-size: 1.22rem;
  }
  .bv2-stats-kpi-mini {
    display: none;
  }
  .bv2-stats-lists-row {
    grid-template-columns: 1fr;
  }
  .bv2-stats-list-card {
    padding: 14px 12px;
  }
  .bv2-stats-list-header {
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 8px;
  }
  .bv2-stats-list-header h4 {
    font-size: 0.84rem;
    line-height: 1.25;
  }
  .bv2-stats-list-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-areas:
      "rank name"
      ". count";
    align-items: start;
    column-gap: 8px;
    row-gap: 4px;
    padding: 8px;
  }
  .bv2-stats-rank {
    grid-area: rank;
    min-width: 0;
    font-size: 0.74rem;
  }
  .bv2-stats-item-name {
    grid-area: name;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    font-size: 0.82rem;
    line-height: 1.32;
  }
  .bv2-stats-item-count {
    grid-area: count;
    justify-self: start;
    font-size: 0.72rem;
    padding: 3px 8px;
  }
  .bv2-stats-chart-body {
    min-height: 200px;
    padding: 12px 10px;
  }
  .bv2-stats-chart-body.bv2-stats-chart-body-fallback {
    min-height: 0;
    padding: 10px;
  }
  .bv2-stats-revenue-fb {
    gap: 10px;
    padding: 6px 0;
  }
  .bv2-stats-rev-item {
    padding: 10px;
  }
  .bv2-stats-rev-item strong {
    font-size: 1rem;
  }
}

/* =============================================
   HEATMAP (Yoğun Saat Isı Haritası)
   ============================================= */
.bv2-heatmap-wrap {
  margin-bottom: 32px;
}
.bv2-heatmap-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
  padding: 4px;
  background: #f1f5f9;
  border-radius: 12px;
}
.bv2-heatmap-tab {
  padding: 8px 18px;
  border: none;
  background: transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s;
}
.bv2-heatmap-tab:hover {
  background: #e2e8f0;
  color: #334155;
}
.bv2-heatmap-tab-active {
  background: #fff;
  color: var(--diyetisyencim-primary, #ff8634);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.bv2-heatmap-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0f0f0;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.bv2-heatmap-header {
  margin-bottom: 16px;
}
.bv2-heatmap-title {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
}
.bv2-heatmap-grid {
  display: grid;
  gap: 3px;
  width: 100%;
}
.bv2-heatmap-corner {
  /* top-left empty cell */
  visibility: hidden;
}
.bv2-heatmap-day-label {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #475569;
  padding: 6px 0;
}
.bv2-heatmap-hour-label {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 8px;
  white-space: nowrap;
}
.bv2-heatmap-cell {
  aspect-ratio: 1.6;
  min-height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
  cursor: default;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.bv2-heatmap-cell:hover {
  transform: scale(1.15);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
  z-index: 2;
}
.bv2-heatmap-count {
  font-size: 11px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.55);
}
.bv2-heatmap-cell[data-count="0"] .bv2-heatmap-count {
  display: none;
}
/* Heatmap color palette via CSS custom properties */
.bv2-heatmap-wrap {
  --hm-empty: #f8fafc;
  --hm-low: #fef3c7;
  --hm-mid: #fbbf24;
  --hm-high: #f97316;
  --hm-peak: #ef4444;
}
.bv2-heatmap-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}
.bv2-heatmap-legend-label {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  margin: 0 4px;
}
.bv2-heatmap-legend-box {
  width: 20px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

@media (max-width: 600px) {
  .bv2-heatmap-card {
    padding: 12px 8px;
    border-radius: 12px;
  }
  .bv2-heatmap-grid {
    gap: 2px;
  }
  .bv2-heatmap-cell {
    min-height: 22px;
    border-radius: 4px;
  }
  .bv2-heatmap-hour-label {
    font-size: 9px;
    padding-right: 4px;
  }
  .bv2-heatmap-day-label {
    font-size: 10px;
  }
  .bv2-heatmap-count {
    font-size: 9px;
  }
  .bv2-heatmap-tabs {
    gap: 4px;
  }
  .bv2-heatmap-tab {
    padding: 6px 12px;
    font-size: 12px;
  }
}

/* =============================================
   LEAVES (İZİNLER) V2
   ============================================= */
.diyetisyencim-leaves-v2 {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 48px;
  animation: bv2FadeUp 0.5s ease-out;
}
.diyetisyencim-leaves-v2 .bv2-shimmer-bar {
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    #ffd6a5,
    var(--diyetisyencim-primary)
  );
  background-size: 200% 100%;
  animation: bv2ShimmerBg 3s linear infinite;
}
.diyetisyencim-leaves-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  padding: 28px 32px 24px;
  border-radius: 0 0 16px 16px;
  margin-bottom: 28px;
  box-shadow: 0 4px 20px rgba(var(--diyetisyencim-primary-rgb), 0.18);
}
.diyetisyencim-leaves-v2 .bv2-header-icon {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.diyetisyencim-leaves-v2 .bv2-header-icon svg {
  width: 26px;
  height: 26px;
  stroke: #fff;
}
.diyetisyencim-leaves-v2 .bv2-header-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.diyetisyencim-leaves-v2 .bv2-subtitle {
  font-size: 0.88rem;
  opacity: 0.85;
  font-weight: 400;
  margin-top: 2px;
}

/* Section dividers */
.diyetisyencim-leaves-v2 .bv2-section-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0 10px;
  margin: 28px 0 16px;
  border-bottom: 2px solid #f1f5f9;
}
.diyetisyencim-leaves-v2 .bv2-section-divider h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}
.diyetisyencim-leaves-v2 .bv2-section-icon {
  width: 34px;
  height: 34px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.diyetisyencim-leaves-v2 .bv2-section-icon svg {
  width: 18px;
  height: 18px;
  stroke: #fff;
}

/* Badge count */
.diyetisyencim-leaves-v2 .bv2-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 12px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  margin-left: auto;
}

/* Form card */
.diyetisyencim-leaves-v2 .bv2-form-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px 28px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  margin-bottom: 8px;
  transition:
    border-color 0.3s,
    box-shadow 0.3s;
}
.diyetisyencim-leaves-v2 .bv2-form-card.bv2-editing {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.12);
}
.diyetisyencim-leaves-v2 .bv2-leave-form-toolbar {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.diyetisyencim-leaves-v2 .bv2-leave-form-toggle {
  min-width: 190px;
  justify-content: center;
}
.diyetisyencim-leaves-v2 .bv2-leave-form-card.is-collapsed {
  display: none;
}
.diyetisyencim-leaves-v2 .bv2-field-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.diyetisyencim-leaves-v2 .bv2-field-group {
  display: flex;
  flex-direction: column;
}
.diyetisyencim-leaves-v2 .bv2-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 6px;
}
.diyetisyencim-leaves-v2 .bv2-label svg {
  stroke: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.diyetisyencim-leaves-v2 .bv2-required {
  color: #ef4444;
  font-weight: 700;
}
.diyetisyencim-leaves-v2 .bv2-optional {
  color: #94a3b8;
  font-size: 0.76rem;
  font-weight: 400;
}
.diyetisyencim-leaves-v2 .bv2-input,
.diyetisyencim-leaves-v2 .bv2-select {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.9rem;
  color: #1e293b;
  background: #fff;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  outline: none;
  font-family: inherit;
}
.diyetisyencim-leaves-v2 .bv2-input:focus,
.diyetisyencim-leaves-v2 .bv2-select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.diyetisyencim-leaves-v2 textarea.bv2-input {
  resize: vertical;
  min-height: 60px;
}

/* Form action buttons */
.bv2-leave-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.diyetisyencim-leaves-v2 .bv2-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 24px;
  border: none;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  cursor: pointer;
  transition:
    transform 0.15s,
    box-shadow 0.2s,
    opacity 0.2s;
  box-shadow: 0 2px 8px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.diyetisyencim-leaves-v2 .bv2-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.35);
}
.diyetisyencim-leaves-v2 .bv2-submit-btn:disabled,
.diyetisyencim-leaves-v2 .bv2-submit-btn.bv2-btn-loading {
  opacity: 0.6;
  pointer-events: none;
}
.diyetisyencim-leaves-v2 .bv2-btn-danger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 20px;
  border: 1.5px solid #fecaca;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #dc2626;
  background: #fff;
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s;
}
.diyetisyencim-leaves-v2 .bv2-btn-danger:hover {
  background: #fef2f2;
  border-color: #ef4444;
}

/* Report card */
.bv2-leave-report-form {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}
.diyetisyencim-leaves-v2 .bv2-leave-report-card {
  position: relative;
  z-index: 20;
  overflow: visible;
}
.bv2-leave-report-form .bv2-filter-group {
  display: flex;
  flex-direction: column;
  min-width: 160px;
  position: relative;
  z-index: 30;
}
.diyetisyencim-leaves-v2 .bv2-leave-report-form .bv2-select {
  position: relative;
  z-index: 40;
}
.bv2-leave-report-form .bv2-filter-btn {
  height: fit-content;
}

/* Report summary cards */
.bv2-leave-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #f1f5f9;
}
.bv2-leave-summary-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8fafc;
  border-radius: 12px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  transition: transform 0.2s;
}
.bv2-leave-summary-card:hover {
  transform: translateY(-2px);
}
.bv2-leave-summary-avatar {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-leave-summary-avatar svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-leave-summary-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-leave-summary-total {
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 600;
  margin-top: 2px;
}
.bv2-leave-no-report {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #94a3b8;
  font-size: 0.86rem;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f1f5f9;
}

/* Table */
.bv2-leave-table-wrap {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  overflow: hidden;
}
.bv2-leave-table {
  width: 100%;
  border-collapse: collapse;
}
.bv2-leave-table thead {
  background: #f8fafc;
}
.bv2-leave-table th {
  padding: 12px 16px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left;
  border-bottom: 2px solid #f1f5f9;
  white-space: nowrap;
}
.bv2-leave-table th svg {
  vertical-align: -2px;
  margin-right: 4px;
  stroke: #94a3b8;
}
.bv2-leave-table td {
  padding: 14px 16px;
  font-size: 0.88rem;
  color: #334155;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.bv2-leave-table tbody tr {
  transition: background 0.15s;
}
.bv2-leave-table tbody tr:hover {
  background: #fafbfd;
}
.bv2-leave-table tbody tr:last-child td {
  border-bottom: none;
}

/* Provider cell with avatar */
.bv2-leave-provider-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bv2-leave-avatar-sm {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-leave-avatar-sm svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-leave-provider-cell span {
  font-weight: 600;
}

/* Leave type badges */
.bv2-leave-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}
.bv2-leave-green {
  background: #dcfce7;
  color: #15803d;
}
.bv2-leave-red {
  background: #fee2e2;
  color: #dc2626;
}
.bv2-leave-amber {
  background: #fef3c7;
  color: #b45309;
}
.bv2-leave-gray {
  background: #f1f5f9;
  color: #64748b;
}
.bv2-leave-blue {
  background: #dbeafe;
  color: #2563eb;
}

/* Chip */
.diyetisyencim-leaves-v2 .bv2-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  background: #f1f5f9;
  color: #475569;
}

/* Date range arrows */
.bv2-leave-dates {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.84rem;
  color: #475569;
}
.bv2-leave-dates svg {
  stroke: #94a3b8;
  flex-shrink: 0;
}
.bv2-leave-date-start {
  font-weight: 600;
}
.bv2-leave-date-end {
  color: #64748b;
}

/* Note cell */
.bv2-leave-note {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.82rem;
  color: #64748b;
  max-width: 180px;
}

/* Action buttons */
.diyetisyencim-leaves-v2 .bv2-action-group {
  display: flex;
  gap: 6px;
}
.diyetisyencim-leaves-v2 .bv2-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s,
    transform 0.1s;
  background: none;
}
.diyetisyencim-leaves-v2 .bv2-action-btn:active {
  transform: scale(0.96);
}
.diyetisyencim-leaves-v2 .bv2-action-edit {
  color: #6366f1;
  border-color: #e0e7ff;
  background: #eef2ff;
}
.diyetisyencim-leaves-v2 .bv2-action-edit:hover {
  background: #e0e7ff;
  border-color: #6366f1;
}
.diyetisyencim-leaves-v2 .bv2-action-delete {
  color: #dc2626;
  border-color: #fecaca;
  background: #fef2f2;
}
.diyetisyencim-leaves-v2 .bv2-action-delete:hover {
  background: #fee2e2;
  border-color: #ef4444;
}

/* Empty state */
.diyetisyencim-leaves-v2 .bv2-empty-state {
  text-align: center;
  padding: 56px 24px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.diyetisyencim-leaves-v2 .bv2-empty-state p {
  color: #94a3b8;
  font-size: 0.92rem;
  margin: 14px 0 0;
}

/* Toast notification */
.bv2-leave-toast {
  position: fixed;
  bottom: 32px;
  right: 32px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 12px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
  z-index: 99999;
  transform: translateY(20px);
  opacity: 0;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  pointer-events: none;
}
.bv2-leave-toast.bv2-toast-show {
  transform: translateY(0);
  opacity: 1;
}
.bv2-toast-ok {
  background: linear-gradient(135deg, #10b981, #059669);
}
.bv2-toast-err {
  background: linear-gradient(135deg, #ef4444, #dc2626);
}
.diyetisyencim-leave-msg {
  margin-top: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  min-height: 20px;
}

/* Responsive */
@media (max-width: 768px) {
  .diyetisyencim-leaves-v2 {
    max-width: 100%;
    padding: 0 12px 44px;
    box-sizing: border-box;
  }
  .diyetisyencim-leaves-v2 .bv2-section-divider {
    margin-top: 22px;
  }
  .diyetisyencim-leaves-v2 .bv2-header {
    padding: 20px 18px;
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .diyetisyencim-leaves-v2 .bv2-form-card {
    padding: 18px 16px;
  }
  .diyetisyencim-leaves-v2 .bv2-field-row-2 {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .bv2-leave-report-form {
    flex-direction: column;
    align-items: stretch;
  }
  .bv2-leave-summary-grid {
    grid-template-columns: 1fr;
  }

  /* Mobile card layout for table */
  .bv2-leave-table thead {
    display: none;
  }
  .bv2-leave-table,
  .bv2-leave-table tbody,
  .bv2-leave-table tr,
  .bv2-leave-table td {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .bv2-leave-table-wrap {
    overflow: visible !important;
  }
  .bv2-leave-table tr {
    padding: 16px;
    margin-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
    position: relative;
  }
  .bv2-leave-table tr:last-child {
    margin-bottom: 0;
    border-bottom: none;
  }
  .bv2-leave-table td {
    padding: 4px 0;
    border-bottom: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
  }
  .bv2-leave-table td::before {
    content: attr(data-label);
    font-size: 0.74rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    min-width: 90px;
    flex: 0 0 90px;
  }
  .bv2-leave-provider-cell,
  .bv2-leave-dates,
  .bv2-leave-note {
    min-width: 0;
    max-width: 100%;
  }
  .bv2-leave-table td[data-label="İşlemler"] {
    padding-top: 10px;
    margin-top: 6px;
    border-top: 1px solid #f1f5f9;
    justify-content: flex-end;
  }
  .bv2-leave-table td[data-label="İşlemler"] .bv2-action-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }
  .bv2-leave-table td[data-label="İşlemler"] .bv2-action-btn {
    width: 100%;
    justify-content: center;
  }
  .diyetisyencim-leaves-v2 .bv2-action-btn span {
    display: none;
  }
  .diyetisyencim-leaves-v2 .bv2-action-btn {
    padding: 8px !important;
  }
}

@media (min-width: 560px) and (max-width: 768px) {
  .bv2-leave-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 6px;
  }
  .bv2-leave-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
  }
  .bv2-leave-table td::before {
    min-width: 0;
    flex: none;
  }
  .bv2-leave-table td[data-label="Not"],
  .bv2-leave-table td[data-label="İşlemler"] {
    grid-column: 1 / -1;
  }
}

/* =============================================
   CALENDAR (TAKVİM) V2
   ============================================= */
.diyetisyencim-calendar-v2 {
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 48px;
  animation: bv2FadeUp 0.5s ease-out;
}
.diyetisyencim-calendar-v2 .bv2-shimmer-bar {
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(
    90deg,
    var(--diyetisyencim-primary),
    #ffd6a5,
    var(--diyetisyencim-primary)
  );
  background-size: 200% 100%;
  animation: bv2ShimmerBg 3s linear infinite;
}
.diyetisyencim-calendar-v2 .bv2-header {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  padding: 28px 32px 24px;
  border-radius: 0 0 16px 16px;
  margin-bottom: 24px;
  box-shadow: 0 4px 20px rgba(var(--diyetisyencim-primary-rgb), 0.18);
}
.diyetisyencim-calendar-v2 .bv2-header-icon {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.diyetisyencim-calendar-v2 .bv2-header-icon svg {
  width: 26px;
  height: 26px;
  stroke: #fff;
}
.diyetisyencim-calendar-v2 .bv2-header-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.diyetisyencim-calendar-v2 .bv2-subtitle {
  font-size: 0.88rem;
  opacity: 0.85;
  font-weight: 400;
  margin-top: 2px;
}

/* Controls Bar */
.bv2-cal-controls {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #fff;
  border-radius: 14px;
  padding: 18px 22px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  border: 1px solid #f1f5f9;
  margin-bottom: 20px;
}
.bv2-cal-controls-left {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: flex-end;
}
.bv2-cal-filter {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}
.bv2-cal-controls .bv2-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 5px;
}
.bv2-cal-controls .bv2-label svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-cal-controls .bv2-select {
  padding: 9px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.86rem;
  color: #1e293b;
  background: #fff;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  font-family: inherit;
}
.bv2-cal-controls .bv2-select:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}

/* Navigation */
.bv2-cal-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bv2-cal-nav-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    border-color 0.15s,
    background 0.15s,
    transform 0.1s;
  color: #475569;
}
.bv2-cal-nav-btn:hover {
  border-color: var(--diyetisyencim-primary);
  background: #fff7ed;
  color: var(--diyetisyencim-primary);
}
.bv2-cal-nav-btn:active {
  transform: scale(0.93);
}
.bv2-cal-nav-btn svg {
  stroke: currentColor;
}
.bv2-cal-title {
  font-weight: 700;
  font-size: 1.05rem;
  color: #1e293b;
  min-width: 180px;
  text-align: center;
  white-space: nowrap;
}
.bv2-cal-today-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition:
    transform 0.15s,
    box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.bv2-cal-today-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.35);
}

/* Loading & Error states */
.bv2-cal-loading {
  display: flex;
  justify-content: center;
  padding: 60px 0;
}
.bv2-cal-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #f1f5f9;
  border-top-color: var(--diyetisyencim-primary);
  border-radius: 50%;
  animation: bv2CalSpin 0.7s linear infinite;
}
@keyframes bv2CalSpin {
  to {
    transform: rotate(360deg);
  }
}
.bv2-cal-error {
  text-align: center;
  padding: 48px 24px;
  color: #94a3b8;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f1f5f9;
}
.bv2-cal-error p {
  margin: 10px 0 0;
  font-size: 0.92rem;
}

/* Calendar Grid */
.bv2-cal-grid-wrap {
  overflow-x: auto;
}
.bv2-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: 100%;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

/* Header cells */
.bv2-cal-hdr {
  background: #f8fafc;
  text-align: center;
  font-weight: 700;
  font-size: 0.78rem;
  padding: 10px 4px;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #f1f5f9;
  min-width: 0;
}
.bv2-cal-hdr-weekend {
  color: var(--diyetisyencim-primary);
  background: #fff7ed;
}

/* Day cells */
.bv2-cal-day {
  min-height: 115px;
  padding: 8px;
  position: relative;
  cursor: default;
  min-width: 0;
  border-right: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.15s;
}
.bv2-cal-day:nth-child(7n) {
  border-right: none;
}
.bv2-cal-day:hover {
  background: #fafbfe;
}
.bv2-cal-today {
  background: #eff6ff !important;
}
.bv2-cal-other {
  background: #fafafa;
}
.bv2-cal-other .bv2-cal-day-num {
  opacity: 0.35;
}

/* Day top bar */
.bv2-cal-day-top {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
}
.bv2-cal-day-num {
  font-weight: 700;
  font-size: 0.82rem;
  color: #334155;
}
.bv2-today-num {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--diyetisyencim-primary);
  color: #fff !important;
  font-size: 0.78rem;
}
.bv2-cal-day-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 10px;
  line-height: 1.4;
}
.bv2-badge-appt {
  background: #dbeafe;
  color: #2563eb;
}
.bv2-badge-note {
  background: #fef3c7;
  color: #b45309;
}

/* Add note button */
.bv2-cal-add-note {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: none;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  transition:
    background 0.15s,
    transform 0.1s;
  padding: 0;
}
.bv2-cal-add-note svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-cal-day:hover .bv2-cal-add-note {
  display: flex;
}
.bv2-cal-add-note:hover {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.2);
  transform: scale(1.1);
}

/* Appointment items */
.bv2-cal-appt {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  margin-bottom: 3px;
  border-radius: 6px;
  font-size: 0.7rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: transform 0.1s;
  border-left: 3px solid transparent;
  max-width: 100%;
}
.bv2-cal-appt:hover {
  transform: translateX(2px);
}
.bv2-cal-appt-time {
  font-weight: 700;
  flex-shrink: 0;
}
.bv2-cal-appt-svc {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.bv2-cal-appt-status {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
/* Status colors */
.bv2-cal-st-pending {
  background: #eff6ff;
  border-left-color: #3b82f6;
  color: #1e40af;
}
.bv2-cal-st-pending .bv2-cal-appt-status svg {
  stroke: #3b82f6;
}
.bv2-cal-st-approved,
.bv2-cal-st-confirmed {
  background: #ecfdf5;
  border-left-color: #10b981;
  color: #065f46;
}
.bv2-cal-st-approved .bv2-cal-appt-status svg,
.bv2-cal-st-confirmed .bv2-cal-appt-status svg {
  stroke: #10b981;
}
.bv2-cal-st-cancelled,
.bv2-cal-st-rejected {
  background: #fef2f2;
  border-left-color: #ef4444;
  color: #991b1b;
  text-decoration: line-through;
  opacity: 0.7;
}
.bv2-cal-st-cancelled .bv2-cal-appt-status svg,
.bv2-cal-st-rejected .bv2-cal-appt-status svg {
  stroke: #ef4444;
}

/* Note items */
.bv2-cal-note {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  margin-bottom: 3px;
  border-radius: 6px;
  background: #fefce8;
  border-left: 3px solid #eab308;
  font-size: 0.7rem;
  color: #854d0e;
  max-width: 100%;
}
.bv2-cal-note > svg {
  flex-shrink: 0;
  stroke: #eab308;
}
.bv2-cal-note-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}
.bv2-cal-note-actions {
  display: flex;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.15s;
}
.bv2-cal-note:hover .bv2-cal-note-actions {
  opacity: 1;
}
.bv2-cal-note-btn {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 0;
  transition: background 0.15s;
}
.bv2-cal-note-btn svg {
  stroke: #94a3b8;
}
.bv2-cal-note-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}
.bv2-cal-note-btn:hover svg {
  stroke: #475569;
}
.bv2-cal-note-del:hover {
  background: #fee2e2;
}
.bv2-cal-note-del:hover svg {
  stroke: #dc2626;
}

/* Modal */
.bv2-cal-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3px);
}
.bv2-cal-modal {
  background: #fff;
  border-radius: 16px;
  padding: 0;
  max-width: 440px;
  width: 92%;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
  transform: translateY(20px) scale(0.97);
  opacity: 0;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
  overflow-y: auto;
  max-height: 85vh;
}
.bv2-cal-modal.bv2-modal-open {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.bv2-cal-modal-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  background: #f8fafc;
  border-bottom: 1px solid #f1f5f9;
}
.bv2-cal-modal-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-cal-modal-icon svg {
  stroke: var(--diyetisyencim-primary);
}
.bv2-cal-modal-header h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1e293b;
  flex: 1;
}
.bv2-cal-modal-close {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: none;
  background: #f1f5f9;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  color: #64748b;
  flex-shrink: 0;
}

.bv2-cal-modal-close svg {
  width: 20px;
  height: 20px;
}
.bv2-cal-modal-close:hover {
  background: #e2e8f0;
  color: #1e293b;
}
.bv2-cal-modal form {
  padding: 20px 22px;
}
.bv2-cal-modal .bv2-input {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.9rem;
  color: #1e293b;
  background: #fff;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  font-family: inherit;
  resize: vertical;
  min-height: 80px;
}
.bv2-cal-modal .bv2-input:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.bv2-cal-modal-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  justify-content: center;
}
.bv2-cal-modal .bv2-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 24px;
  border: none;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  cursor: pointer;
  transition:
    transform 0.15s,
    box-shadow 0.2s,
    opacity 0.2s;
  box-shadow: 0 2px 8px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.bv2-cal-modal .bv2-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.35);
}
.bv2-cal-modal .bv2-submit-btn:disabled,
.bv2-cal-modal .bv2-submit-btn.bv2-btn-loading {
  opacity: 0.6;
  pointer-events: none;
}
.bcal-note-msg {
  margin-top: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #ef4444;
  min-height: 18px;
}

/* Toast */
.bv2-cal-toast {
  position: fixed;
  bottom: 32px;
  right: 32px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 12px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
  z-index: 999999;
  transform: translateY(20px);
  opacity: 0;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  pointer-events: none;
}
.bv2-cal-toast.bv2-toast-show {
  transform: translateY(0);
  opacity: 1;
}

/* Responsive */
@media (max-width: 900px) {
  .bv2-cal-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .bv2-cal-controls-left {
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  .bv2-cal-filter {
    width: min(340px, 100%);
    min-width: 0;
  }
  .bv2-cal-controls .bv2-select {
    width: 100%;
  }
  .bv2-cal-nav {
    justify-content: center;
  }
  .bv2-cal-day {
    min-height: 86px;
    padding: 5px;
  }
  .bv2-cal-appt,
  .bv2-cal-note {
    font-size: 0.64rem;
    padding: 2px 4px;
  }
}
@media (max-width: 640px) {
  .diyetisyencim-calendar-v2 .bv2-header {
    padding: 20px 18px;
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .bv2-cal-controls {
    padding: 14px 14px;
  }
  .bv2-cal-controls-left {
    flex-direction: column;
    align-items: center;
  }
  .bv2-cal-filter {
    width: 100%;
    max-width: 320px;
  }
  .bv2-cal-title {
    font-size: 0.88rem;
    min-width: 120px;
  }
  .bv2-cal-today-btn span {
    display: none;
  }
  .bv2-cal-day {
    min-height: 70px;
    padding: 4px;
  }
  .bv2-cal-day-num {
    font-size: 0.72rem;
  }
  .bv2-cal-appt,
  .bv2-cal-note {
    font-size: 0.62rem;
    padding: 2px 4px;
  }
  .bv2-cal-appt-svc {
    display: none;
  }
  .bv2-cal-hdr {
    font-size: 0.68rem;
    padding: 8px 2px;
  }
  .bv2-cal-day-badge {
    font-size: 0.58rem;
    padding: 0 4px;
  }
}

/* ═══════════════════════════════════════════════════════════
   Day View (Timeline)
   ═══════════════════════════════════════════════════════════ */
.bv2-cal-dayview {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  border: 1px solid #e9ecef;
  background: #fff;
  overflow: hidden;
}
.bv2-cal-dv-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.bv2-cal-dv-date {
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a2e;
}
.bv2-cal-dv-count {
  font-size: 0.82rem;
  color: #6b7280;
  background: #e9ecef;
  padding: 3px 10px;
  border-radius: 20px;
}
.bv2-cal-dv-body {
  display: flex;
  position: relative;
  min-height: 500px;
  overflow-y: auto;
}
.bv2-cal-dv-times {
  width: 60px;
  flex-shrink: 0;
  position: relative;
  background: #fafafa;
  border-right: 1px solid #e9ecef;
}
.bv2-cal-dv-hour {
  height: 100px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
  position: relative;
}
.bv2-cal-dv-hour-label {
  font-size: 0.7rem;
  color: #6b7280;
  font-weight: 500;
}
.bv2-cal-dv-slots {
  flex: 1;
  position: relative;
  min-height: calc(15 * 100px);
}
.bv2-cal-dv-half-hour {
  position: absolute;
  left: 0;
  right: 0;
  height: 50px;
  border-bottom: 1px solid #f1f3f5;
}
.bv2-cal-dv-half-line {
  border-bottom-style: dashed;
  border-bottom-color: #f1f3f5;
}
/* Appointments in day view */
.bv2-cal-dv-appt {
  position: absolute;
  left: 4px;
  right: 4px;
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  font-size: 0.75rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
  transition: box-shadow .15s;
  z-index: 2;
  min-height: 24px;
  justify-content: center;
  border-left: 3px solid transparent;
}
.bv2-cal-dv-appt:hover {
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  z-index: 3;
}
.bv2-cal-dv-appt-time {
  font-weight: 700;
  font-size: 0.68rem;
  color: inherit;
  opacity: .8;
}
.bv2-cal-dv-appt-name {
  font-weight: 600;
  font-size: 0.78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-cal-dv-appt-svc {
  font-size: 0.65rem;
  opacity: .7;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-cal-dv-appt-status {
  position: absolute;
  top: 3px;
  right: 5px;
}

/* Status colors for day view cards */
.bv2-cal-dv-appt.bv2-cal-st-pending {
  background: #fef3cd;
  color: #856404;
}
.bv2-cal-dv-appt.bv2-cal-st-approved,
.bv2-cal-dv-appt.bv2-cal-st-confirmed {
  background: #d1ecf1;
  color: #0c5460;
}
.bv2-cal-dv-appt.bv2-cal-st-cancelled,
.bv2-cal-dv-appt.bv2-cal-st-rejected {
  background: #f8d7da;
  color: #721c24;
  opacity: .7;
}
.bv2-cal-dv-appt.bv2-cal-st-completed {
  background: #d4edda;
  color: #155724;
}

/* ═══════════════════════════════════════════════════════════
   Appointment Detail Modal
   ═══════════════════════════════════════════════════════════ */
.bv2-cal-appt-modal {
  max-width: 420px;
}
.bv2-cal-appt-detail {
  padding: 0;
}
.bcal-appt-loading,
.bcal-appt-error {
  text-align: center;
  padding: 32px 16px;
  color: #6b7280;
  font-size: 0.88rem;
}
.bv2-appt-info-row {
  display: flex;
  padding: 8px 16px;
  border-bottom: 1px solid #f1f3f5;
  font-size: 0.84rem;
  align-items: flex-start;
}
.bv2-appt-info-row:last-child {
  border-bottom: none;
}
.bv2-appt-info-label {
  flex: 0 0 80px;
  font-weight: 600;
  color: #6b7280;
  font-size: 0.78rem;
}
.bv2-appt-info-value {
  flex: 1;
  color: #1a1a2e;
  word-break: break-word;
}
.bv2-appt-status-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}
.bv2-appt-tag-pending { background: #fef3cd; color: #856404; }
.bv2-appt-tag-approved { background: #d1ecf1; color: #0c5460; }
.bv2-appt-tag-confirmed { background: #d1ecf1; color: #0c5460; }
.bv2-appt-tag-completed { background: #d4edda; color: #155724; }
.bv2-appt-tag-cancelled { background: #f8d7da; color: #721c24; }
.bv2-appt-tag-rejected { background: #f8d7da; color: #721c24; }

/* Status action buttons */
.bv2-appt-status-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: none;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  color: #fff;
}
.bv2-appt-status-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.bv2-appt-status-btn svg {
  flex-shrink: 0;
}
.bv2-appt-btn-approve {
  background: #0ea5e9;
}
.bv2-appt-btn-approve:hover {
  background: #0284c7;
}
.bv2-appt-btn-complete {
  background: #22c55e;
}
.bv2-appt-btn-complete:hover {
  background: #16a34a;
}
.bv2-appt-btn-cancel {
  background: #ef4444;
}
.bv2-appt-btn-cancel:hover {
  background: #dc2626;
}

/* ═══════════════════════════════════════════════════════════
   Color Legend
   ═══════════════════════════════════════════════════════════ */
.bv2-cal-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  padding: 10px 16px;
  font-size: 0.74rem;
  color: #4b5563;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 6px;
}
.bv2-cal-legend-title {
  font-weight: 600;
  color: #374151;
}
.bv2-cal-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.bv2-cal-legend-swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
}

#bcal-add-appt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, var(--diyetisyencim-primary), var(--diyetisyencim-primary-dark));
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s;
}
#bcal-add-appt:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(59,130,246,.3);
}

/* ═══════════════════════════════════════════════════════════
   Quick-Add Appointment Modal
   ═══════════════════════════════════════════════════════════ */
#bcal-add-form .bv2-input,
#bcal-add-form .bv2-select {
  margin-top: 3px;
  box-sizing: border-box;
}

/* Normal text inputs in add-form - override 80px min-height */
#bcal-add-form input.bv2-input[type="text"],
#bcal-add-form input.bv2-input[type="tel"],
#bcal-add-form input.bv2-input[type="date"],
#bcal-add-form input.bv2-input[type="email"],
#bcal-add-form input.bv2-input {
  min-height: 38px;
  padding: 6px 12px;
}

/* Responsive day view */
@media (max-width: 640px) {
  .bv2-cal-dv-times {
    width: 44px;
  }
  .bv2-cal-dv-hour-label {
    font-size: 0.6rem;
  }
  .bv2-cal-dv-appt {
    font-size: 0.65rem;
    left: 2px;
    right: 2px;
    padding: 3px 4px;
  }
  .bv2-cal-dv-appt-name {
    font-size: 0.7rem;
  }
  .bv2-appt-info-label {
    flex: 0 0 65px;
    font-size: 0.72rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   V2 Booking Wizard
   ═══════════════════════════════════════════════════════════ */
@keyframes bv2WzFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bv2WzSpin {
  to {
    transform: rotate(360deg);
  }
}

.bv2-wizard {
  width: 100%;
  max-width: 780px;
  margin: 12px auto;
  padding: 0;
  position: relative;
}

/* ── Quota banner ── */
.bv2-wz-quota {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  font-size: 14px;
  color: #856404;
  background: #fffbeb;
  border-bottom: 1px solid #ffeeba;
}
.bv2-wz-quota svg {
  flex-shrink: 0;
  color: #d4a005;
}
.bv2-wz-quota.bv2-wz-quota-err {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
}
.bv2-wz-quota.bv2-wz-quota-err svg {
  color: #e11d48;
}

/* ── Header ── */
.bv2-wz-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px 18px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary) 0%,
    var(--diyetisyencim-primary-dark) 100%
  );
  color: #fff;
  border-radius: 16px 16px 0 0;
}
.bv2-wz-hdr-ico {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  flex-shrink: 0;
}
.bv2-wz-hdr-ico svg {
  color: #fff;
}
.bv2-wz-hdr-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.3px;
}
.bv2-wz-hdr-sub {
  font-size: 14px;
  opacity: 0.85;
  margin-top: 2px;
}

/* ── Step Indicator (stepper) ── */
.bv2-wz-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 18px 16px 14px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.bv2-wz-si {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.bv2-si-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  background: #e5e7eb;
  color: #9ca3af;
  transition: all 0.3s ease;
  position: relative;
}
.bv2-si-txt {
  font-size: 10px;
  color: #9ca3af;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: color 0.3s ease;
  white-space: nowrap;
}
/* Active */
.bv2-si-active .bv2-si-num {
  background: var(--diyetisyencim-primary);
  color: #fff;
  box-shadow: 0 3px 12px rgba(var(--diyetisyencim-primary-rgb), 0.35);
  transform: scale(1.1);
}
.bv2-si-active .bv2-si-txt {
  color: var(--diyetisyencim-primary-dark);
}
/* Done */
.bv2-si-done .bv2-si-num {
  background: #22c55e;
  color: #fff;
}
.bv2-si-done .bv2-si-txt {
  color: #16a34a;
}
/* Line between steps */
.bv2-wz-si-line {
  width: 20px;
  height: 2px;
  background: #e5e7eb;
  flex-shrink: 0;
  margin: 0 2px;
  margin-bottom: 18px;
  border-radius: 2px;
  transition: background 0.3s ease;
}
.bv2-wz-si-line.bv2-sl-done {
  background: #22c55e;
}

/* ── Hidden progress bar (kept for JS state sync) ── */
.bv2-wizard .bv2-wz-prog-lbl,
.bv2-wizard .bv2-wz-prog {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

/* ── Step body ── */
.bv2-wizard .bv2-wz-body {
  padding: 0;
}
.bv2-wizard .bv2-wz-step {
  padding: 20px 24px;
  animation: bv2WzFadeIn 0.35s ease both;
}
.bv2-wz-step-hdr {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
}
.bv2-wz-step-ico {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
  margin-top: 2px;
}
.bv2-wz-step-hdr h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #1f2937;
}
.bv2-wz-step-sub {
  margin: 3px 0 0;
  font-size: 13px;
  color: #6b7280;
  font-weight: 400;
}

/* ── Provider select (hidden when grid exists, V2-styled when visible) ── */
.bv2-wizard select[name="provider_id"] {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  font-size: 15px;
  background: #fafafa;
  color: #1f2937;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.bv2-wizard select[name="provider_id"]:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.12);
  outline: none;
}

/* ── Provider grid (JS-created by initDiyetisyencimBooking) ── */
.bv2-wizard .diyetisyencim-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.bv2-wizard .diyetisyencim-provider-card {
  background: #fff;
  border: 2px solid #f0f0f0;
  border-radius: 14px;
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bv2-wizard .diyetisyencim-provider-card:hover {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 6px 20px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  transform: translateY(-2px);
}
.bv2-wizard .diyetisyencim-provider-card.selected {
  border-color: var(--diyetisyencim-primary);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.04);
  box-shadow: 0 8px 28px rgba(var(--diyetisyencim-primary-rgb), 0.15);
}
.bv2-wizard .diyetisyencim-provider-photo img {
  border-radius: 50%;
  width: 68px;
  height: 68px;
  object-fit: cover;
  border: 3px solid #f3f4f6;
}
.bv2-wizard .diyetisyencim-provider-photo-placeholder {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary) 0%,
    var(--diyetisyencim-primary-dark) 100%
  );
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}
.bv2-wizard .diyetisyencim-provider-name {
  font-weight: 700;
  font-size: 14px;
  color: #1f2937;
}
.bv2-wizard .diyetisyencim-provider-svc-count {
  font-size: 11px;
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 10px;
  border-radius: 10px;
}
.bv2-wizard .diyetisyencim-provider-select-btn {
  margin-top: 4px;
  padding: 8px 20px;
  border: 0;
  border-radius: 10px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    transform 0.15s ease;
}
.bv2-wizard .diyetisyencim-provider-select-btn:hover {
  background: var(--diyetisyencim-primary-dark);
  transform: scale(1.04);
}

/* ── Service list (step 2) ── */
.bv2-wizard .bv2-svc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 12px;
  max-height: 420px;
  overflow-y: auto;
  padding-right: 4px;
}
.bv2-svc-card {
  margin: 0;
}
/* Neutralize legacy card box styles in BV2 so only the inner label card is visible. */
.bv2-wizard .diyetisyencim-service-card.bv2-svc-card {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.bv2-svc-label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.18s ease;
  background: #fff;
  min-height: auto;
}
.bv2-svc-label:hover {
  border-color: #d1d5db;
  background: #fafafa;
}
.bv2-svc-cb {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
  clip: rect(0 0 0 0) !important;
  overflow: hidden !important;
}
/* If legacy markup is present, keep only one visual indicator. */
.bv2-wizard .bv2-svc-label .diyetisyencim-service-check {
  display: none !important;
}
.bv2-svc-check {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 2px solid #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0;
  transition: all 0.18s ease;
  background: #fff;
}
.bv2-svc-check svg {
  opacity: 0;
  transition: opacity 0.15s ease;
  color: #fff;
}
.bv2-svc-cb:checked ~ .bv2-svc-check {
  background: var(--diyetisyencim-primary);
  border-color: var(--diyetisyencim-primary);
}
.bv2-svc-cb:checked ~ .bv2-svc-check svg {
  opacity: 1;
}
.bv2-svc-cb:checked ~ .bv2-svc-info .bv2-svc-name {
  color: var(--diyetisyencim-primary-dark);
}
.bv2-svc-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.bv2-svc-name {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.35;
  color: #1f2937;
  transition: color 0.15s ease;
}
.bv2-svc-dur {
  font-size: 13px;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.bv2-svc-price {
  font-weight: 800;
  font-size: 15px;
  color: var(--diyetisyencim-primary-dark);
  flex-shrink: 0;
  white-space: nowrap;
  margin-left: 12px;
  margin-top: 0;
  padding-left: 10px;
  border-left: 1px solid rgba(11, 35, 60, 0.1);
}
.bv2-svc-empty {
  text-align: center;
  color: #9ca3af;
  padding: 24px;
  font-size: 14px;
}

/* Total bar */
.bv2-wz-total-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  padding: 14px 16px;
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.06),
    rgba(var(--diyetisyencim-primary-rgb), 0.02)
  );
  border-radius: 12px;
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
}
.bv2-wz-total-label {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}
.bv2-wz-total-amount {
  font-size: 18px;
  font-weight: 800;
  color: var(--diyetisyencim-primary-dark);
}

/* ── Coupon bar (step 2) ── */
.bv2-wz-coupon-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 12px;
  background: #faf8ff;
  border-radius: 8px;
  border: 1px solid #e9e5ff;
}
.bv2-wz-coupon-bar .bv2-wz-coupon-input {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid #ddd6fe;
  border-radius: 6px;
  font-size: 13px;
  text-transform: uppercase;
  box-sizing: border-box;
}
.bv2-wz-coupon-bar .bv2-wz-coupon-apply {
  padding: 6px 14px;
  background: #8b5cf6;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 420px) {
  .bv2-wz-coupon-bar {
    flex-wrap: wrap;
  }
  .bv2-wz-coupon-bar .bv2-wz-coupon-input {
    flex: 1 1 100%;
  }
  .bv2-wz-coupon-bar .bv2-wz-coupon-apply {
    flex: 1 1 auto;
    text-align: center;
  }
}

/* ── Date buttons (step 3) ── */
.bv2-wizard .bv2-wz-cal {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 8px;
  -webkit-overflow-scrolling: touch;
}
.bv2-date-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 14px;
  border: 2px solid #f0f0f0;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  min-width: 64px;
  flex-shrink: 0;
  transition: all 0.2s ease;
  position: relative;
}
.bv2-date-btn:hover {
  border-color: #d1d5db;
  background: #fafafa;
}
.bv2-date-day {
  font-size: 11px;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
}
.bv2-date-num {
  font-size: 22px;
  font-weight: 800;
  color: #1f2937;
  line-height: 1.1;
}
.bv2-date-mo {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 500;
}
.bv2-date-today {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  font-weight: 700;
  color: #fff;
  background: var(--diyetisyencim-primary);
  padding: 1px 8px;
  border-radius: 8px;
  white-space: nowrap;
}
.bv2-date-btn.active {
  border-color: var(--diyetisyencim-primary);
  background: var(--diyetisyencim-primary);
  transform: scale(1.05);
  box-shadow: 0 6px 18px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}
.bv2-date-btn.active .bv2-date-day,
.bv2-date-btn.active .bv2-date-num,
.bv2-date-btn.active .bv2-date-mo {
  color: #fff;
}
.bv2-date-btn.active .bv2-date-today {
  background: rgba(0, 0, 0, 0.2);
}

/* ── Off-day (disabled) date buttons ── */
.diyetisyencim-date-off,
.bv2-date-btn.diyetisyencim-date-off {
  opacity: 0.4;
  cursor: not-allowed;
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
  pointer-events: none;
  position: relative;
}
.diyetisyencim-date-off .bv2-date-day,
.diyetisyencim-date-off .bv2-date-num,
.diyetisyencim-date-off .bv2-date-mo {
  color: #94a3b8 !important;
}
.bv2-date-off-label {
  display: block;
  font-size: 9px;
  color: #ef4444;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 2px;
  letter-spacing: 0.5px;
}
/* v1 off-day styling */
button.diyetisyencim-date-btn.diyetisyencim-date-off {
  opacity: 0.4;
  background: #f1f5f9;
  color: #94a3b8;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* ── Working hours (step 3) ── */
.bv2-wz-hours {
  margin-bottom: 14px;
}
.bv2-wz-hours-default {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6b7280;
  padding: 10px 14px;
  background: #f9fafb;
  border-radius: 10px;
}
.bv2-wz-hours-default svg {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
}
.bv2-wz-hours-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 6px;
}
.bv2-wz-hr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  background: #f9fafb;
  border-radius: 8px;
  font-size: 13px;
}
.bv2-wz-hr-d {
  font-weight: 700;
  color: #374151;
}
.bv2-wz-hr-v {
  color: #6b7280;
}
.bv2-wz-hr-v.bv2-wz-closed {
  color: #ef4444;
  font-style: italic;
}

/* ── Time slots (step 4) ── */
.bv2-slot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 8px;
}
.bv2-slot-btn {
  padding: 12px 8px;
  border: 2px solid #f0f0f0;
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  color: #1f2937;
  cursor: pointer;
  transition: all 0.18s ease;
}
.bv2-slot-btn:hover:not(:disabled) {
  border-color: var(--diyetisyencim-primary);
  background: rgba(var(--diyetisyencim-primary-rgb), 0.04);
}
.bv2-slot-btn.active {
  background: var(--diyetisyencim-primary);
  border-color: var(--diyetisyencim-primary);
  color: #fff;
  box-shadow: 0 4px 14px rgba(var(--diyetisyencim-primary-rgb), 0.3);
  transform: scale(1.04);
}
.bv2-slot-btn.bv2-slot-off {
  background: #f8fafc;
  color: #9ca3af;
  border-color: #e5e7eb;
  cursor: not-allowed;
  text-decoration: line-through;
  text-decoration-color: #ef4444;
  text-decoration-thickness: 2px;
}

/* ── Contact fields (step 5) ── */
.bv2-wz-fields {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bv2-wz-field label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 6px;
}
.bv2-wz-field input[type="text"] {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  font-size: 15px;
  background: #fafafa;
  color: #1f2937;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  box-sizing: border-box;
}
.bv2-wz-field input[type="text"]:focus {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
  outline: none;
  background: #fff;
}
.bv2-wz-field input[type="text"]::placeholder {
  color: #9ca3af;
}

/* ── Product grid (step 6) ── */
.bv2-wizard .bv2-prod-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}
.bv2-wizard .bv2-prod-card {
  display: flex;
  flex-direction: column;
  border: 2px solid #f0f0f0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.bv2-wizard .bv2-prod-card:hover {
  border-color: #d1d5db;
  transform: translateY(-2px);
}
.bv2-wizard .diyetisyencim-product-card.selected {
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 6px 22px rgba(var(--diyetisyencim-primary-rgb), 0.15);
}
.bv2-wizard .bv2-prod-photo img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
}
.bv2-wizard .bv2-prod-meta {
  padding: 10px 12px;
}
.bv2-wizard .bv2-prod-out {
  opacity: .5;
  filter: grayscale(.6);
  pointer-events: none;
}
.bv2-wizard .bv2-prod-out .diyetisyencim-product-card {
  cursor: not-allowed;
}
.bv2-wizard .bv2-prod-stock {
  font-size: 11px;
  color: #64748b;
  margin-top: 4px;
}
.bv2-wizard .bv2-prod-out .bv2-prod-stock {
  color: #dc2626;
  font-weight: 600;
}

/* ── Review (step 7) ── */
.bv2-wz-review {
  background: #f9fafb;
  border: 1px solid #f0f0f0;
  border-radius: 14px;
  padding: 18px 20px;
  font-size: 14px;
  line-height: 1.7;
  color: #374151;
  margin-bottom: 16px;
}
.bv2-wz-review strong {
  color: #1f2937;
}

/* ── Submit button ── */
.bv2-wz-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
  letter-spacing: 0.3px;
}
.bv2-wz-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(34, 197, 94, 0.35);
}
.bv2-wz-submit svg {
  flex-shrink: 0;
}

/* ── Navigation ── */
.bv2-wz-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px 20px;
  gap: 12px;
}
.bv2-wz-prev,
.bv2-wz-next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.18s ease;
  border: 0;
}
.bv2-wz-prev {
  background: #f3f4f6;
  color: #374151;
}
.bv2-wz-prev:hover:not(:disabled) {
  background: #e5e7eb;
}
.bv2-wz-prev:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bv2-wz-next {
  background: var(--diyetisyencim-primary);
  color: #fff;
  margin-left: auto;
}
.bv2-wz-next:hover {
  background: var(--diyetisyencim-primary-dark);
  transform: translateY(-1px);
}

/* ── Loading / empty ── */
.bv2-wz-empty {
  text-align: center;
  color: #9ca3af;
  padding: 28px 16px;
  font-size: 14px;
}
.bv2-wz-slot-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 28px;
  color: #6b7280;
  font-size: 14px;
}
.bv2-wz-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #e5e7eb;
  border-top-color: var(--diyetisyencim-primary);
  border-radius: 50%;
  animation: bv2WzSpin 0.7s linear infinite;
}

/* ── Final success (V2 scoped) ── */
.bv2-wizard .diyetisyencim-final-success-inner {
  background: linear-gradient(180deg, #f0fdf4, #fff);
  border: 1px solid #bbf7d0;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
}
.bv2-wizard .diyetisyencim-final-success h3 {
  color: #16a34a;
}
.bv2-wizard .diyetisyencim-final-success-actions .diyetisyencim-final-ok {
  background: var(--diyetisyencim-primary);
  color: #fff;
  border-radius: 10px;
  padding: 10px 20px;
  font-weight: 700;
}

/* ── Final icon (approved / pending) ── */
.bv2-final-icon {
  margin: 0 auto 12px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bv2-final-icon-ok {
  background: #f0fdf4;
  border: 2px solid #bbf7d0;
}
.bv2-final-icon-pending {
  background: #fffbeb;
  border: 2px solid #fde68a;
}
.bv2-final-desc {
  font-size: 14px;
  color: var(--diyetisyencim-text-muted, #64748b);
  margin: 0 0 16px;
  line-height: 1.6;
}
/* pending state overrides */
.bv2-wizard .diyetisyencim-final-success-inner:has(.bv2-final-icon-pending) {
  background: linear-gradient(180deg, #fffbeb, #fff);
  border-color: #fde68a;
}
.bv2-wizard .diyetisyencim-final-success:has(.bv2-final-icon-pending) h3 {
  color: #d97706;
}

/* ── Form message (V2) ── */
.bv2-wz-msg {
  margin: 0 24px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}
.bv2-wz-msg[style*="color:green"],
.bv2-wz-msg[style*="color: green"] {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}
.bv2-wz-msg[style*="color:red"],
.bv2-wz-msg[style*="color: red"] {
  background: #fff1f2;
  border: 1px solid #fecdd3;
}

/* ── Override old wizard CSS within V2 scope ── */
.bv2-wizard.diyetisyencim-booking-wizard {
  padding: 0;
  border: none;
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.08),
    0 1.5px 4px rgba(0, 0, 0, 0.04);
  scroll-margin-top: 84px;
}
.bv2-wizard .diyetisyencim-wizard-steps {
  padding: 0;
  min-height: auto;
}
.bv2-wizard .diyetisyencim-step {
  display: none;
}
.bv2-wizard .diyetisyencim-step[data-step="1"] {
  display: block;
}
.bv2-wizard .diyetisyencim-wizard-controls {
  margin-top: 0;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  #diyetisyencim-sd-wizard-wrap.bv2-sd-section {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  #diyetisyencim-sd-wizard-wrap .bv2-sd-section-header {
    padding: 0 0 14px;
    margin: 0 0 12px;
  }
  .bv2-wizard .bv2-svc-list {
    grid-template-columns: 1fr;
    max-height: 320px;
    gap: 10px;
  }
  .bv2-svc-label {
    padding: 10px 12px;
    min-height: auto;
  }
  .bv2-svc-name {
    font-size: 14px;
  }
  .bv2-svc-dur {
    font-size: 12px;
  }
  .bv2-svc-price {
    font-size: 14px;
  }
  .bv2-wizard {
    margin: 4px 0;
  }
  .bv2-wz-header {
    padding: 14px 16px 12px;
  }
  .bv2-wz-hdr-ico {
    width: 42px;
    height: 42px;
  }
  .bv2-wz-hdr-title {
    font-size: 17px;
  }
  .bv2-wz-stepper {
    padding: 12px 10px 10px;
    gap: 0;
  }
  .bv2-si-num {
    width: 26px;
    height: 26px;
    font-size: 11px;
  }
  .bv2-si-txt {
    font-size: 8px;
  }
  .bv2-wz-si-line {
    width: 12px;
  }
  .bv2-wizard .bv2-wz-step {
    padding: 14px 14px;
  }
  .bv2-wz-step-hdr h4 {
    font-size: 15px;
  }
  .bv2-wz-nav {
    padding: 10px 14px 14px;
  }
  .bv2-wz-prev,
  .bv2-wz-next {
    padding: 10px 16px;
    font-size: 13px;
  }
  .bv2-slot-grid {
    grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
    gap: 6px;
  }
  .bv2-slot-btn {
    padding: 10px 4px;
    font-size: 13px;
  }
  .bv2-wizard .diyetisyencim-provider-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .bv2-wizard .diyetisyencim-provider-photo img,
  .bv2-wizard .diyetisyencim-provider-photo-placeholder {
    width: 56px;
    height: 56px;
    font-size: 16px;
  }
  .bv2-wizard .bv2-prod-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 380px) {
  .bv2-wz-stepper {
    padding: 10px 6px 8px;
  }
  .bv2-si-txt {
    display: none;
  }
  .bv2-wz-si-line {
    width: 8px;
    margin-bottom: 0;
  }
  .bv2-wizard .diyetisyencim-provider-grid {
    grid-template-columns: 1fr;
  }
  .bv2-wizard .bv2-prod-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════
   V2 Wizard — Auth Gate (login/register required)
   ═══════════════════════════════════════════════════════════ */
.bv2-wz-auth-gate {
  max-width: 520px;
}
.bv2-auth-body {
  padding: 32px 28px 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.bv2-auth-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.1),
    rgba(var(--diyetisyencim-primary-rgb), 0.04)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.bv2-auth-icon svg {
  color: var(--diyetisyencim-primary);
}
.bv2-auth-title {
  font-size: 20px;
  font-weight: 800;
  color: #1f2937;
  margin: 0;
}
.bv2-auth-desc {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  max-width: 380px;
  margin: 4px 0 0;
}
.bv2-auth-actions {
  display: flex;
  gap: 12px;
  margin-top: 18px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.bv2-auth-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  border: 0;
  flex: 1;
  justify-content: center;
  min-width: 180px;
}
.bv2-auth-login {
  background: var(--diyetisyencim-primary);
  color: #fff !important;
}
.bv2-auth-login:hover {
  background: var(--diyetisyencim-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}
.bv2-auth-register {
  background: #f3f4f6;
  color: #374151 !important;
  border: 2px solid #e5e7eb;
}
.bv2-auth-register:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.bv2-auth-note {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 12px;
}

@media (max-width: 480px) {
  .bv2-wz-auth-gate {
    margin: 12px 8px;
  }
  .bv2-auth-body {
    padding: 24px 18px 22px;
  }
  .bv2-auth-icon {
    width: 72px;
    height: 72px;
  }
  .bv2-auth-icon svg {
    width: 40px;
    height: 40px;
  }
  .bv2-auth-title {
    font-size: 17px;
  }
  .bv2-auth-actions {
    flex-direction: column;
  }
  .bv2-auth-btn {
    min-width: 0;
    padding: 12px 20px;
    font-size: 14px;
  }
}

/* ═══════════════════════════════════════════════════════════
   V2 Wizard — Repeat Last Appointment Banner
   ═══════════════════════════════════════════════════════════ */
.bv2-wz-repeat {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 20px;
  padding: 14px 16px;
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.06),
    rgba(var(--diyetisyencim-primary-rgb), 0.02)
  );
  border: 2px solid rgba(var(--diyetisyencim-primary-rgb), 0.15);
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}
.bv2-wz-repeat:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.35);
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.1),
    rgba(var(--diyetisyencim-primary-rgb), 0.04)
  );
  box-shadow: 0 4px 16px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.bv2-repeat-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-repeat-icon svg {
  color: var(--diyetisyencim-primary);
}
.bv2-repeat-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bv2-repeat-text strong {
  font-size: 14px;
  font-weight: 700;
  color: #1f2937;
}
.bv2-repeat-text span {
  font-size: 12px;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-repeat-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--diyetisyencim-primary);
  color: #fff;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s;
}
.bv2-repeat-btn:hover {
  background: var(--diyetisyencim-primary-dark);
  transform: scale(1.08);
  box-shadow: 0 4px 12px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}

@media (max-width: 480px) {
  .bv2-wz-repeat {
    margin: 0 12px;
    padding: 10px 12px;
    gap: 10px;
  }
  .bv2-repeat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }
  .bv2-repeat-icon svg {
    width: 18px;
    height: 18px;
  }
  .bv2-repeat-text strong {
    font-size: 13px;
  }
  .bv2-repeat-btn {
    width: 32px;
    height: 32px;
  }
}

/* ═══════════════════════════════════════════════════════════
   V2 — Customer Appointments (Randevularım)
   ═══════════════════════════════════════════════════════════ */
.bv2-cust-appts {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}

/* Header */
.bv2-cust-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark)
  );
  color: #fff;
  padding: 22px 28px;
  border-radius: 20px 20px 0 0;
  gap: 12px;
  flex-wrap: wrap;
}
.bv2-cust-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.bv2-cust-header-left svg {
  opacity: 0.85;
  flex-shrink: 0;
}
.bv2-cust-title {
  font-size: 20px;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}
.bv2-cust-subtitle {
  font-size: 13px;
  opacity: 0.8;
  margin: 2px 0 0;
}
.bv2-cust-count {
  background: rgba(255, 255, 255, 0.2);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

/* Empty State */
.bv2-cust-empty {
  text-align: center;
  padding: 56px 28px;
  background: #fff;
  border-radius: 0 0 20px 20px;
  border: 1px solid #e5e7eb;
  border-top: 0;
}
.bv2-cust-empty-icon {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.08),
    rgba(var(--diyetisyencim-primary-rgb), 0.03)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
}
.bv2-cust-empty-icon svg {
  color: var(--diyetisyencim-primary);
  opacity: 0.6;
}
.bv2-cust-empty h3 {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 6px;
}
.bv2-cust-empty p {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 20px;
}
.bv2-cust-browse-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--diyetisyencim-primary);
  color: #fff !important;
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
}
.bv2-cust-browse-btn:hover {
  background: var(--diyetisyencim-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}

/* Card List */
.bv2-cust-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 20px 20px;
  padding: 16px;
}

/* Individual Card */
.bv2-cust-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.25s ease;
  margin-bottom: 12px;
  animation: bv2FadeUp 0.4s ease both;
}
.bv2-cust-card:last-child {
  margin-bottom: 0;
}
.bv2-cust-card:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.2);
  transform: translateY(-2px);
}
.bv2-cust-card-past {
  opacity: 0.6;
}
.bv2-cust-card-past:hover {
  opacity: 0.8;
  transform: none;
  box-shadow: none;
}

/* Card Top (shop + status) */
.bv2-cust-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: #fafbfc;
  border-bottom: 1px solid #f3f4f6;
  gap: 10px;
  flex-wrap: wrap;
}
.bv2-cust-card-shop {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #374151;
}
.bv2-cust-card-shop svg {
  color: var(--diyetisyencim-primary);
  flex-shrink: 0;
}

/* Status Badges */
.bv2-cust-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.bv2-cs-pending {
  background: #fef3c7;
  color: #92400e;
}
.bv2-cs-approved {
  background: #d1fae5;
  color: #065f46;
}
.bv2-cs-rejected {
  background: #fee2e2;
  color: #991b1b;
}

/* Card Body */
.bv2-cust-card-body {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bv2-cust-info-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.bv2-cust-info-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-cust-info-icon svg {
  color: #6b7280;
}
.bv2-cust-info-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 1px;
}
.bv2-cust-info-value {
  display: block;
  font-size: 14px;
  color: #374151;
  font-weight: 500;
  flex: 1;
  min-width: 0;
}
.bv2-cust-info-value strong {
  font-weight: 700;
  color: var(--diyetisyencim-primary);
}
.bv2-cust-price {
  font-weight: 700;
  color: #059669;
}
.bv2-cust-datetime .bv2-cust-info-icon {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
}
.bv2-cust-datetime .bv2-cust-info-icon svg {
  color: var(--diyetisyencim-primary);
}

/* Card Actions */
.bv2-cust-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 18px;
  border-top: 1px solid #f3f4f6;
  background: #fafbfc;
}
.bv2-cust-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  border: 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bv2-cust-btn-edit {
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  color: var(--diyetisyencim-primary);
}
.bv2-cust-btn-edit:hover {
  background: var(--diyetisyencim-primary);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(var(--diyetisyencim-primary-rgb), 0.25);
}
.bv2-cust-btn-cancel {
  background: #fee2e2;
  color: #dc2626;
}
.bv2-cust-btn-cancel:hover {
  background: #dc2626;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25);
}

/* Past Label */
.bv2-cust-past-label {
  justify-content: flex-start;
}
.bv2-cust-past-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: #9ca3af;
}

/* ── Modals ── */
.bv2-cust-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.bv2-cust-modal {
  background: #fff;
  border-radius: 20px;
  width: 100%;
  max-width: 420px;
  padding: 32px 28px;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
  animation: bv2FadeUp 0.3s ease;
}
.bv2-cust-modal-edit {
  max-width: 460px;
  text-align: left;
}
.bv2-cust-modal-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.bv2-cust-modal-edit .bv2-cust-modal-icon {
  margin: 0 auto 16px;
}
.bv2-modal-icon-cancel {
  background: linear-gradient(135deg, #fee2e2, #fecaca);
}
.bv2-modal-icon-cancel svg {
  color: #dc2626;
}
.bv2-modal-icon-edit {
  background: linear-gradient(
    135deg,
    rgba(var(--diyetisyencim-primary-rgb), 0.12),
    rgba(var(--diyetisyencim-primary-rgb), 0.05)
  );
}
.bv2-modal-icon-edit svg {
  color: var(--diyetisyencim-primary);
}
.bv2-cust-modal-title {
  font-size: 19px;
  font-weight: 800;
  color: #1f2937;
  margin: 0 0 6px;
}
.bv2-cust-modal-edit .bv2-cust-modal-title {
  text-align: center;
}
.bv2-cust-modal-desc {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 20px;
}
.bv2-cust-modal-edit .bv2-cust-modal-desc {
  text-align: center;
}
.bv2-cust-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 8px;
}
.bv2-cust-modal-btn {
  flex: 1;
  padding: 12px 20px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  border: 0;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.bv2-modal-btn-no {
  background: #f3f4f6;
  color: #374151;
}
.bv2-modal-btn-no:hover {
  background: #e5e7eb;
}
.bv2-modal-btn-yes {
  background: #dc2626;
  color: #fff;
}
.bv2-modal-btn-yes:hover {
  background: #b91c1c;
  box-shadow: 0 6px 18px rgba(220, 38, 38, 0.3);
}
.bv2-modal-btn-save {
  background: var(--diyetisyencim-primary);
  color: #fff;
}
.bv2-modal-btn-save:hover {
  background: var(--diyetisyencim-primary-dark);
  box-shadow: 0 6px 18px rgba(var(--diyetisyencim-primary-rgb), 0.3);
}

/* Edit Form */
.bv2-cust-edit-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bv2-cust-edit-row label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 4px;
}
.bv2-cust-edit-row input {
  width: 100%;
  padding: 11px 14px;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 14px;
  color: #1f2937;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.bv2-cust-edit-row input:focus {
  outline: none;
  border-color: var(--diyetisyencim-primary);
  box-shadow: 0 0 0 3px rgba(var(--diyetisyencim-primary-rgb), 0.1);
}

/* Toast Notification */
.bv2-cust-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  padding: 14px 28px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  z-index: 999999;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.bv2-cust-toast-success {
  background: linear-gradient(135deg, #10b981, #059669);
}
.bv2-cust-toast-error {
  background: linear-gradient(135deg, #ef4444, #dc2626);
}
.bv2-cust-toast-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .bv2-cust-header {
    padding: 16px 18px;
    border-radius: 16px 16px 0 0;
  }
  .bv2-cust-title {
    font-size: 17px;
  }
  .bv2-cust-header-left svg {
    width: 22px;
    height: 22px;
  }
  .bv2-cust-list {
    padding: 10px;
    border-radius: 0 0 16px 16px;
  }
  .bv2-cust-card {
    border-radius: 12px;
  }
  .bv2-cust-card-top {
    padding: 10px 14px;
  }
  .bv2-cust-card-body {
    padding: 12px 14px;
    gap: 8px;
  }
  .bv2-cust-card-actions {
    padding: 10px 14px;
  }
  .bv2-cust-btn {
    padding: 7px 12px;
    font-size: 12px;
  }
  .bv2-cust-info-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }
  .bv2-cust-info-icon svg {
    width: 16px;
    height: 16px;
  }
  .bv2-cust-info-value {
    font-size: 13px;
  }
  .bv2-cust-modal {
    padding: 24px 20px;
    border-radius: 16px;
  }
  .bv2-cust-modal-icon {
    width: 64px;
    height: 64px;
  }
  .bv2-cust-modal-icon svg {
    width: 36px;
    height: 36px;
  }
  .bv2-cust-modal-title {
    font-size: 16px;
  }
  .bv2-cust-modal-actions {
    flex-direction: column;
  }
}
@media (max-width: 400px) {
  .bv2-cust-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .bv2-cust-count {
    align-self: flex-end;
  }
  .bv2-cust-card-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}
@media (max-width: 380px) {
  .bv2-cust-list {
    padding: 6px;
  }
  .bv2-cust-card-body {
    padding: 10px 12px;
    gap: 8px;
  }
  .bv2-cust-card-actions {
    padding: 8px 12px;
    flex-wrap: wrap;
  }
  .bv2-cust-card-top {
    padding: 8px 12px;
  }
}

/* ================================================================== */
/*  NOTIFICATIONS PAGE — Bildirimlerim                                 */
/* ================================================================== */

/* Page wrapper */
.bv2-notif-page {
  max-width: 720px;
  margin: 28px auto;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
    sans-serif;
}

/* Header */
.bv2-notif-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary, #6c5ce7),
    var(--diyetisyencim-primary-dark, #5b4bd5)
  );
  color: #fff;
  border-radius: 20px 20px 0 0;
}
.bv2-notif-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.bv2-notif-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}
.bv2-notif-subtitle {
  font-size: 13px;
  opacity: 0.8;
  margin: 2px 0 0;
  line-height: 1.3;
}
.bv2-notif-header-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.bv2-notif-mark-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.bv2-notif-mark-all:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Email toggle */
.bv2-notif-email-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.bv2-notif-email-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.bv2-notif-email-toggle .bv2-notif-toggle-slider {
  width: 36px;
  height: 20px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  position: relative;
  transition: background 0.2s;
  flex-shrink: 0;
}
.bv2-notif-email-toggle .bv2-notif-toggle-slider::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: transform 0.2s;
}
.bv2-notif-email-toggle input:checked + .bv2-notif-toggle-slider {
  background: rgba(16, 185, 129, 0.8);
}
.bv2-notif-email-toggle input:checked + .bv2-notif-toggle-slider::after {
  transform: translateX(16px);
}
.bv2-notif-toggle-label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
}

/* Filters */
.bv2-notif-filters {
  display: flex;
  gap: 0;
  background: #f5f3ff;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
}
.bv2-notif-filter-btn {
  flex: 1;
  text-align: center;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
}
.bv2-notif-filter-btn:hover {
  color: var(--diyetisyencim-primary, #6c5ce7);
}
.bv2-notif-filter-btn.bv2-nf-active {
  color: var(--diyetisyencim-primary, #6c5ce7);
  border-bottom-color: var(--diyetisyencim-primary, #6c5ce7);
  background: rgba(108, 92, 231, 0.06);
}
.bv2-notif-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #ef4444;
  color: #fff;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: middle;
}

/* Notification list */
.bv2-notif-list {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
}
.bv2-notif-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.15s;
  cursor: default;
}
.bv2-notif-item:last-child {
  border-bottom: 0;
}
.bv2-notif-item:hover {
  background: #faf9ff;
}
.bv2-notif-unread {
  background: #f5f3ff;
  border-left: 3px solid var(--diyetisyencim-primary, #6c5ce7);
}
.bv2-notif-unread:hover {
  background: #ede9fe;
}

/* Icon circle */
.bv2-notif-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv2-nt-new .bv2-notif-icon {
  background: #ecfdf5;
  color: #059669;
}
.bv2-nt-status .bv2-notif-icon {
  background: #eff6ff;
  color: #2563eb;
}
.bv2-nt-cancel .bv2-notif-icon {
  background: #fef2f2;
  color: #dc2626;
}
.bv2-nt-reminder .bv2-notif-icon {
  background: #ecfeff;
  color: #0891b2;
}
.bv2-nt-info .bv2-notif-icon {
  background: #f5f3ff;
  color: #7c3aed;
}

/* Content */
.bv2-notif-content {
  flex: 1;
  min-width: 0;
}
.bv2-notif-item-title {
  font-size: 14px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 3px;
  line-height: 1.3;
}
.bv2-notif-item-msg {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 4px;
}
.bv2-notif-item-time {
  font-size: 11px;
  color: #9ca3af;
  line-height: 1;
}

/* Read button */
.bv2-notif-read-btn {
  width: 32px;
  height: 32px;
  border: 1px solid #fdba74;
  background: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ff8634;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
  margin-top: 4px;
}
.bv2-notif-read-btn::before {
  content: "✅";
  font-size: 14px;
  line-height: 1;
}
.bv2-notif-read-btn svg {
  display: none;
}
.bv2-notif-read-btn:hover {
  background: #ff8634;
  color: #fff;
  border-color: #ff8634;
}

/* Empty state */
.bv2-notif-empty {
  text-align: center;
  padding: 56px 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 20px 20px;
}
.bv2-notif-empty-icon {
  width: 96px;
  height: 96px;
  margin: 0 auto 18px;
  background: #f5f3ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(108, 92, 231, 0.4);
}
.bv2-notif-empty h3 {
  font-size: 18px;
  color: #374151;
  margin: 0 0 6px;
  font-weight: 700;
}
.bv2-notif-empty p {
  font-size: 14px;
  color: #9ca3af;
  margin: 0;
  line-height: 1.5;
}

/* ================================================================== */
/*  FLOATING BELL                                                       */
/* ================================================================== */

.bv2-bell-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 99999;
}
.bv2-bell-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary, #6c5ce7),
    var(--diyetisyencim-primary-dark, #5b4bd5)
  );
  color: #fff;
  border-radius: 50%;
  box-shadow:
    0 4px 20px rgba(108, 92, 231, 0.35),
    0 2px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  position: relative;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.bv2-bell-btn:hover {
  transform: scale(1.08);
  box-shadow:
    0 6px 28px rgba(108, 92, 231, 0.45),
    0 3px 12px rgba(0, 0, 0, 0.12);
}
.bv2-bell-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  background: #ef4444;
  color: #fff;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  line-height: 1;
}

/* Pulse animation when there are unread notifications */
.bv2-bell-has-notif .bv2-bell-btn::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--diyetisyencim-primary, #6c5ce7);
  animation: bv2BellPulse 2s infinite;
}
@keyframes bv2BellPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  70% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* ── Notifications Responsive ── */
@media (max-width: 640px) {
  .bv2-notif-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 16px 16px 0 0;
  }
  .bv2-notif-header-right {
    align-self: flex-end;
  }
  .bv2-notif-title {
    font-size: 17px;
  }
  .bv2-notif-item {
    padding: 12px 14px;
    gap: 10px;
  }
  .bv2-notif-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 10px;
  }
  .bv2-notif-icon svg {
    width: 16px;
    height: 16px;
  }
  .bv2-notif-item-title {
    font-size: 13px;
  }
  .bv2-notif-item-msg {
    font-size: 12px;
  }
  .bv2-notif-mark-all {
    padding: 6px 10px;
    font-size: 11px;
  }
  .bv2-bell-float {
    bottom: 18px;
    right: 18px;
  }
  .bv2-bell-btn {
    width: 46px;
    height: 46px;
  }
  .bv2-bell-btn svg {
    width: 20px;
    height: 20px;
  }
}

/* ══════════════════════════════════════════
   Müşteriler (Customers) page – .bv2-custp-*
   ══════════════════════════════════════════ */
.bv2-topcust-wrap {
  max-width: 1100px;
  margin: 0 auto 18px;
  padding: 24px 36px;
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.bv2-topcust-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.bv2-topcust-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 12px;
}
.bv2-topcust-title-wrap h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
}
.bv2-topcust-toggle-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 6px 10px;
}
.bv2-topcust-toggle-wrap label {
  font-size: 12px;
  font-weight: 600;
  color: #475569;
}
.bv2-collapsible-header {
  cursor: pointer;
  user-select: none;
}
.bv2-collapsible-header .bv2-collapse-chevron {
  font-size: 11px;
  color: #94a3b8;
  transition: transform 0.25s ease;
  margin-left: auto;
}
.bv2-collapsible-header.collapsed .bv2-collapse-chevron {
  transform: rotate(-90deg);
}
.bv2-collapsible-content {
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.25s ease;
  max-height: 2000px;
  opacity: 1;
}
.bv2-collapsible-content.collapsed {
  max-height: 0;
  opacity: 0.5;
  padding-top: 0;
  padding-bottom: 0;
}
.bv2-topcust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  padding: 0 24px;
}
.bv2-topcust-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px 24px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.bv2-topcust-card:hover {
  transform: translateY(-2px);
  border-color: #c7d2fe;
  box-shadow: 0 8px 20px rgba(99, 102, 241, 0.1);
}
.bv2-topcust-rank {
  position: absolute;
  top: 24px;
  right: 24px;
  min-width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #f97316, #fb923c);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.35);
}
.bv2-topcust-main {
  padding-right: 38px;
}
.bv2-topcust-name {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-topcust-phone {
  font-size: 12px;
  color: #64748b;
  margin-top: 2px;
}
.bv2-topcust-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.bv2-topcust-metric {
  background: #f8fafc;
  border: 1px solid #eef2f7;
  border-radius: 10px;
  padding: 8px;
  text-align: center;
  min-width: 0;
}
.bv2-topcust-metric span {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-topcust-metric strong {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-topcust-empty {
  text-align: center;
  padding: 26px 12px;
  font-size: 14px;
  color: #94a3b8;
  border: 1px dashed #dbe4ef;
  border-radius: 12px;
  background: #ffffff;
}

.bv2-bday-wrap {
  max-width: 1100px;
  margin: 0 auto 18px;
  padding: 24px 36px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  box-shadow: 0 8px 20px rgba(18, 36, 56, 0.08);
  position: relative;
  overflow: hidden;
}
.bv2-bday-wrap::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 220px;
  height: 220px;
  @diyetisyencim background: radial-gradient(
    circle,
    rgba(253, 186, 116, 0.45) 0%,
    rgba(253, 186, 116, 0) 60%
  );
  pointer-events: none;
}
.bv2-bday-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding: 0 12px;
  position: relative;
  z-index: 1;
}
.bv2-bday-header h3 {
  margin: 0;
  gap: 20px;
  font-size: 17px;
  font-weight: 800;
  color: #7c2d12;
  letter-spacing: -0.2px;
}
.bv2-bday-count {
  background: #fff3d6;
  color: #7c2d12;
  border: 1px solid #fbbf24;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.bv2-bday-empty {
  font-size: 13px;
  color: #7c2d12;
  background: rgba(255, 255, 255, 0.8);
  border: 1px dashed #f59e0b;
  border-radius: 14px;
  padding: 16px 18px;
  margin: 0 12px;
  text-align: center;
  position: relative;
  z-index: 1;
}
.bv2-bday-list {
  list-style: none;
  margin: 0;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  position: relative;
  z-index: 1;
}
.bv2-bday-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  padding: 16px 22px;
  font-size: 13px;
  color: #334155;
  box-shadow: 0 4px 12px rgba(18, 36, 56, 0.06);
  position: relative;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.bv2-bday-item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.15);
  flex-shrink: 0;
}
.bv2-bday-item:hover {
  transform: translateY(-2px);
  border-color: #2563eb;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.12);
}
.bv2-bday-name {
  font-weight: 700;
  color: #7c2d12;
  width: 100%;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-bday-date {
  font-weight: 800;
  font-size: 12px;
  color: #7c2d12;
  background: #ffedd5;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid #fdba74;
}

.bv2-custp-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 16px;
}
.bv2-custp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.bv2-custp-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bv2-custp-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: #1e293b;
}
.bv2-custp-count {
  background: #f1f5f9;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
}
.bv2-custp-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bv2-custp-provider-filter {
  padding: 7px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #334155;
  background: #fff;
  cursor: pointer;
  outline: none;
  min-width: 160px;
  transition: border-color 0.2s;
}
.bv2-custp-provider-filter:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
.bv2-custp-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #4f46e5;
  border-radius: 12px;
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
  color: #fff;
  box-shadow:
    0 10px 22px rgba(79, 70, 229, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  cursor: pointer;
  position: relative;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}
.bv2-custp-info-btn svg {
  display: none;
}
.bv2-custp-info-btn::before {
  content: "?";
  position: relative;
  z-index: 1;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  color: #ef4444;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.22);
}
.bv2-custp-info-btn::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 14px;
  border: 2px solid rgba(79, 70, 229, 0.25);
  pointer-events: none;
  animation: custpInfoPulse 2.4s ease-out infinite;
}
.bv2-custp-info-btn:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow:
    0 14px 28px rgba(79, 70, 229, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  filter: brightness(1.06);
}
.bv2-custp-info-btn:active {
  transform: translateY(0) scale(0.98);
}
.bv2-custp-info-btn:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(99, 102, 241, 0.28),
    0 14px 28px rgba(79, 70, 229, 0.35);
}
@keyframes custpInfoPulse {
  0% {
    opacity: 0.55;
    transform: scale(0.92);
  }
  70% {
    opacity: 0;
    transform: scale(1.08);
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}
.bv2-custp-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 36px;
  padding: 0 16px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}
.bv2-custp-add-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(16, 185, 129, 0.35);
}
.bv2-custp-add-btn:active {
  transform: translateY(0);
}

.bv2-custp-announce-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25);
}
.bv2-custp-announce-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35);
}
.bv2-custp-announce-btn:active {
  transform: translateY(0);
}

.bv2-custp-top-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bv2-custp-search-box {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0 12px;
  height: 36px;
  min-width: 200px;
  transition: border-color 0.2s;
}
.bv2-custp-search-box:focus-within {
  border-color: #6366f1;
}
.bv2-custp-search-box svg {
  color: #94a3b8;
  flex-shrink: 0;
}
.bv2-custp-search-box input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 13px;
  width: 100%;
  color: #1e293b;
}
.bv2-custp-search-box input::placeholder {
  color: #94a3b8;
}

/* grid */
.bv2-custp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}
.bv2-custp-loading,
.bv2-custp-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 48px 20px;
  color: #94a3b8;
  font-size: 15px;
}

/* card */
.bv2-custp-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all 0.25s;
}
.bv2-custp-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.08);
}
.bv2-custp-card.bv2-custp-approved {
  border-color: #a5b4fc;
  background: linear-gradient(135deg, #faf5ff 0%, #eef2ff 100%);
}
.bv2-custp-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bv2-custp-avatar {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.5px;
}
.bv2-custp-card-info {
  flex: 1;
  min-width: 0;
}
.bv2-custp-name {
  display: block;
  font-weight: 600;
  font-size: 15px;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-custp-phone {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-top: 2px;
}
.bv2-custp-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

/* stats row */
.bv2-custp-stats {
  display: flex;
  gap: 8px;
}
.bv2-custp-stat {
  flex: 1;
  background: #f8fafc;
  border-radius: 10px;
  padding: 8px 10px;
  text-align: center;
}
.bv2-custp-stat-val {
  display: block;
  font-weight: 700;
  font-size: 14px;
  color: #1e293b;
}
.bv2-custp-stat-lbl {
  display: block;
  font-size: 10px;
  color: #94a3b8;
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* services chips */
.bv2-custp-services {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.bv2-custp-svc {
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.bv2-custp-svc-more {
  background: #e0e7ff;
  color: #6366f1;
  font-weight: 600;
}

/* action buttons */
/* card-end: badge + 3-dot menu group */
.bv2-custp-card-end {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  flex-shrink: 0;
}

/* 3-dot menu */
.bv2-custp-menu {
  position: relative;
  display: flex;
}
.bv2-custp-menu-btn {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  color: #94a3b8;
  transition: background 0.15s, color 0.15s;
  letter-spacing: 2px;
}
.bv2-custp-menu-btn:hover {
  background: #f1f5f9;
  color: #475569;
}
.bv2-custp-menu-dropdown {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 170px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  z-index: 20;
  padding: 4px;
  margin-top: 4px;
}
.bv2-custp-menu-dropdown.open {
  display: block;
}
.bv2-custp-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  border: none;
  background: none;
  font-size: 13px;
  font-weight: 500;
  color: #1e293b;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.1s;
}
.bv2-custp-menu-item:hover {
  background: #f1f5f9;
}
.dyt-cmi-ico {
  width: 18px;
  text-align: center;
  font-size: 14px;
  flex-shrink: 0;
}
.bv2-custp-menu-item.bv2-custp-btn-approve,
.bv2-custp-menu-item.bv2-custp-btn-unblock {
  color: #16a34a;
}
.bv2-custp-menu-item.bv2-custp-btn-unapprove {
  color: #dc2626;
}
.bv2-custp-menu-item.bv2-custp-btn-block,
.bv2-custp-menu-item.bv2-custp-menu-delete {
  color: #dc2626;
}
.bv2-custp-menu-divider {
  height: 1px;
  background: #e2e8f0;
  margin: 3px 8px;
}

/* blocked card state */
.bv2-custp-card.bv2-custp-blocked {
  border-color: #fca5a5;
  background: linear-gradient(135deg, #fef2f2 0%, #fff1f2 100%);
  opacity: 0.85;
}
.bv2-custp-card.bv2-custp-blocked:hover {
  border-color: #f87171;
  box-shadow: 0 4px 20px rgba(239, 68, 68, 0.1);
}
.bv2-custp-card.bv2-custp-blocked .bv2-custp-avatar {
  opacity: 0.6;
}
.bv2-custp-card.bv2-custp-blocked .bv2-custp-name {
  text-decoration: line-through;
  color: #94a3b8;
}
.bv2-custp-badge-blocked {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
}

/* info modal */
.bv2-custp-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  z-index: 10001;
  align-items: center;
  justify-content: center;
}
.bv2-custp-modal-overlay.active {
  display: flex;
}
.bv2-custp-modal {
  background: #fff;
  border-radius: 20px;
  width: 92%;
  max-width: 440px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  animation: custpSlideUp 0.3s ease;
}
@keyframes custpSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bv2-custp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid #f1f5f9;
}
.bv2-custp-modal-header h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #1e293b;
}
.bv2-custp-modal-close {
  background: none;
  border: none;
  font-size: 22px;
  color: #94a3b8;
  cursor: pointer;
  padding: 0 4px;
}
.bv2-custp-modal-close:hover {
  color: #ef4444;
}
.bv2-custp-modal-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
@media (max-height: 600px) {
  .bv2-custp-modal-body { padding: 12px; gap: 10px; }
}
.bv2-custp-modal-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.bv2-custp-modal-icon {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}
.bv2-custp-modal-item strong {
  display: block;
  font-size: 14px;
  color: #1e293b;
  margin-bottom: 2px;
}
.bv2-custp-modal-item p {
  margin: 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
}

/* create customer form */
.bv2-custp-modal-narrow {
  max-width: 400px;
}
.bv2-custp-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.bv2-custp-field label {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}
.bv2-custp-req {
  color: #ef4444;
}
.bv2-custp-field input,
.bv2-custp-field textarea {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  background: #f8fafc;
  color: #1e293b;
  transition: border-color 0.2s;
}
.bv2-custp-field input:focus,
.bv2-custp-field textarea:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
.bv2-custp-field textarea {
  resize: vertical;
  min-height: 60px;
  font-family: inherit;
}
.bv2-custp-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.bv2-custp-field-error {
  font-size: 13px;
  color: #ef4444;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 8px 12px;
}
.bv2-custp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bv2-custp-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}
.bv2-custp-chip:hover {
  border-color: #94a3b8;
  background: #f1f5f9;
}
.bv2-custp-chip input[type="checkbox"] {
  display: none;
}
.bv2-custp-chip:has(input:checked) {
  background: #fef2f2;
  border-color: #ef4444;
  color: #dc2626;
}
.bv2-custp-field input:disabled {
  opacity: 0.7;
  background: #f1f5f9;
  cursor: not-allowed;
}

@media (max-width: 480px) {
  .bv2-custp-field-row {
    grid-template-columns: 1fr;
  }
}
.bv2-custp-appt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bv2-custp-appt-table th {
  text-align: left;
  padding: 10px 8px;
  font-weight: 700;
  color: #64748b;
  border-bottom: 2px solid #e2e8f0;
  white-space: nowrap;
}
.bv2-custp-appt-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #f1f5f9;
  color: #334155;
}
.bv2-custp-appt-table tbody tr:hover {
  background: #f8fafc;
}
.bv2-custp-appt-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  background: #f1f5f9;
  color: #64748b;
}
.bv2-custp-appt-status-completed {
  background: #dcfce7;
  color: #16a34a;
}
.bv2-custp-appt-status-cancelled,
.bv2-custp-appt-status-rejected {
  background: #fef2f2;
  color: #dc2626;
}
.bv2-custp-appt-status-confirmed,
.bv2-custp-appt-status-approved {
  background: #dbeafe;
  color: #2563eb;
}
.bv2-custp-appt-status-no_show {
  background: #fef9c3;
  color: #ca8a04;
}
.bv2-custp-photos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}
@media (max-width: 480px) {
  .bv2-custp-photos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bv2-custp-photo-item {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  aspect-ratio: 1;
}
.bv2-custp-photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: zoom-in;
}
.bv2-custp-photo-del {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.bv2-custp-photo-del:hover {
  background: rgba(220,38,38,0.85);
}
.bv2-custp-photo-upload-area {
  margin-top: 4px;
}
.bv2-custp-photo-upload-msg {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #16a34a;
  height: 0;
  overflow: hidden;
  transition: height 0.3s, opacity 0.3s;
  opacity: 0;
}
.bv2-custp-photo-upload-msg.success {
  height: 28px;
  opacity: 1;
}
.bv2-custp-photo-fullscreen {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0,0,0,0.85);
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
}
.bv2-custp-photo-fullscreen.active {
  display: flex;
}
.bv2-custp-photo-fullscreen img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 8px;
  box-shadow: 0 4px 40px rgba(0,0,0,0.5);
}
.bv2-custp-photo-fullscreen-close {
  position: fixed;
  top: 16px;
  right: 24px;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.bv2-custp-photo-fullscreen-close:hover {
  opacity: 1;
}
@media (max-width: 480px) {
  .bv2-custp-photo-fullscreen img {
    max-width: 96vw;
    max-height: 80vh;
  }
}
.bv2-custp-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 4px;
}
.bv2-custp-btn-cancel {
  padding: 8px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.bv2-custp-btn-cancel:hover {
  background: #f1f5f9;
}
.bv2-custp-btn-save {
  padding: 8px 20px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25);
}
.bv2-custp-btn-save:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.35);
}
.bv2-custp-btn-save:active {
  transform: translateY(0);
}
.bv2-custp-btn-save:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* responsive */
@media (max-width: 640px) {
  .bv2-topcust-wrap {
    padding: 16px 22px;
    margin-bottom: 14px;
    border-radius: 14px;
  }
  .bv2-topcust-header {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 0 6px;
  }
  .bv2-topcust-title-wrap {
    justify-content: space-between;
    padding: 0 20px;
    width: 100%;
  }
  .bv2-topcust-toggle-wrap {
    margin-left: 6px;
    margin-right: 6px;
    width: auto;
    justify-content: center;
    border-radius: 12px;
  }
  .bv2-topcust-grid {
    grid-template-columns: 1fr;
  }
  .bv2-topcust-metrics {
    grid-template-columns: 1fr;
  }
  .bv2-custp-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .bv2-custp-header-left {
    justify-content: center;
  }
  .bv2-custp-header-right {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .bv2-custp-header-right .bv2-custp-top-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }
  .bv2-custp-provider-filter {
    min-width: 0;
    width: 100%;
  }
  .bv2-custp-announce-btn,
  .bv2-custp-add-btn {
    flex: 1;
    justify-content: center;
    min-width: 0;
  }
  .bv2-custp-info-btn {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    flex-shrink: 0;
  }
  .bv2-custp-info-btn::before {
    font-size: 22px;
  }
  .bv2-custp-info-btn::after {
    display: none;
  }
  .bv2-custp-search-box {
    min-width: 0;
    width: 100%;
    order: 10;
  }
  .bv2-custp-grid {
    grid-template-columns: 1fr;
  }
  .bv2-custp-title {
    font-size: 18px;
  }
  .bv2-bday-wrap {
    padding: 16px 22px;
    border-radius: 14px;
  }
  .bv2-bday-list {
    grid-template-columns: 1fr;
  }
  .bv2-custp-stat-lbl {
    font-size: 9px;
  }
}

/* ══════════════════════════════════════════
   Feedback Modal (Randevularım page) – .bv2-fb-*
   ══════════════════════════════════════════ */
.bv2-fb-modal {
  width: 92%;
  max-width: 400px;
  border-radius: 20px;
  overflow: hidden;
  animation: custpSlideUp 0.3s ease;
}
.bv2-fb-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 10px;
}
.bv2-fb-modal-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1e293b;
}
.bv2-fb-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  color: #94a3b8;
  cursor: pointer;
}
.bv2-fb-modal-close:hover {
  color: #ef4444;
}
.bv2-fb-modal-shop {
  padding: 0 20px 8px;
  font-size: 13px;
  color: #6366f1;
  font-weight: 600;
}
.bv2-fb-stars {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px 4px;
}
.bv2-fb-star {
  font-size: 36px;
  color: #e2e8f0;
  cursor: pointer;
  transition:
    color 0.15s,
    transform 0.15s;
  user-select: none;
}
.bv2-fb-star:hover {
  transform: scale(1.15);
}
.bv2-fb-star.active {
  color: #f59e0b;
}
.bv2-fb-rating-text {
  text-align: center;
  font-size: 13px;
  color: #64748b;
  padding: 0 20px 10px;
  min-height: 20px;
}
.bv2-fb-comment {
  display: block;
  width: calc(100% - 40px);
  margin: 0 20px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  resize: vertical;
  min-height: 60px;
  font-family: inherit;
  transition: border-color 0.2s;
}
.bv2-fb-comment:focus {
  outline: none;
  border-color: #6366f1;
}
.bv2-fb-anon {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px 14px;
  font-size: 13px;
  color: #475569;
  cursor: pointer;
  user-select: none;
}
.bv2-fb-anon input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  pointer-events: none !important;
}
.bv2-fb-anon-check {
  width: 20px;
  height: 20px;
  border: 2px solid #cbd5e1;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}
.bv2-fb-anon-check::after {
  content: "✓";
  font-size: 12px;
  color: transparent;
  font-weight: 700;
  transition: color 0.15s;
}
.bv2-fb-anon input:checked + .bv2-fb-anon-check {
  background: #6366f1;
  border-color: #6366f1;
}
.bv2-fb-anon input:checked + .bv2-fb-anon-check::after {
  color: #fff;
}
.bv2-fb-submit {
  display: block;
  width: calc(100% - 40px);
  margin: 0 20px 20px;
  padding: 12px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.bv2-fb-submit:hover:not(:disabled) {
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.35);
  transform: translateY(-1px);
}
.bv2-fb-submit:disabled {
  opacity: 0.6;
  cursor: default;
}

/* Feedback button on appointment card */
.bv2-cust-btn-feedback {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
}
.bv2-cust-btn-feedback:hover {
  box-shadow: 0 3px 12px rgba(245, 158, 11, 0.35);
}
.bv2-cust-btn-rated {
  background: #f0fdf4;
  color: #16a34a;
  cursor: default;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.bv2-cust-btn-rated svg {
  fill: #16a34a;
  stroke: #16a34a;
}

/* ══════════════════════════════════════════
   Geri Bildirimler (Feedbacks) page – .bv2-fbp-*
   ══════════════════════════════════════════ */
.bv2-fbp-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 16px;
}
.bv2-fbp-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.bv2-fbp-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bv2-fbp-header-left svg {
  color: #f59e0b;
  fill: #f59e0b;
}
.bv2-fbp-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: #1e293b;
}

/* summary card */
.bv2-fbp-summary {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
  display: flex;
  gap: 32px;
  align-items: center;
  flex-wrap: wrap;
}
.bv2-fbp-avg {
  text-align: center;
  min-width: 120px;
}
.bv2-fbp-avg-num {
  display: block;
  font-size: 42px;
  font-weight: 800;
  color: #1e293b;
  line-height: 1;
}
.bv2-fbp-avg-stars {
  margin: 6px 0 4px;
}
.bv2-fbp-avg-count {
  font-size: 13px;
  color: #94a3b8;
}
.bv2-fbp-star-filled {
  color: #f59e0b;
}
.bv2-fbp-star-half {
  color: #fbbf24;
  opacity: 0.6;
}
.bv2-fbp-star-empty {
  color: #e2e8f0;
}

/* bar chart */
.bv2-fbp-bar-wrap {
  flex: 1;
  min-width: 200px;
}
.bv2-fbp-bar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.bv2-fbp-bar-label {
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  min-width: 30px;
  text-align: right;
}
.bv2-fbp-star-sm {
  color: #f59e0b;
  font-size: 12px;
}
.bv2-fbp-bar {
  flex: 1;
  height: 8px;
  background: #f1f5f9;
  border-radius: 4px;
  overflow: hidden;
}
.bv2-fbp-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  border-radius: 4px;
  transition: width 0.4s ease;
}
.bv2-fbp-bar-num {
  font-size: 12px;
  color: #94a3b8;
  min-width: 20px;
}

/* feedbacks list */
.bv2-fbp-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bv2-fbp-loading,
.bv2-fbp-empty {
  text-align: center;
  padding: 48px 20px;
  color: #94a3b8;
  font-size: 15px;
}
.bv2-fbp-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px 18px;
  transition: all 0.2s;
}
.bv2-fbp-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 12px rgba(99, 102, 241, 0.06);
}
.bv2-fbp-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.bv2-fbp-card-avatar {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 10px;
  background: #6366f1;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
}
.bv2-fbp-card-avatar.bv2-fbp-anon {
  background: #94a3b8;
}
.bv2-fbp-card-info {
  flex: 1;
  min-width: 0;
}
.bv2-fbp-card-name {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #1e293b;
}
.bv2-fbp-card-date {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 1px;
}
.bv2-fbp-card-rating {
  white-space: nowrap;
}
.bv2-fbp-card-comment {
  margin: 0 0 6px;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.6;
}
.bv2-fbp-card-svc {
  display: inline-block;
  background: #f1f5f9;
  color: #6366f1;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 6px;
}

/* responsive */
@media (max-width: 640px) {
  .bv2-fbp-summary {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .bv2-fbp-avg {
    min-width: auto;
  }
  .bv2-fbp-bar-wrap {
    min-width: 100%;
  }
  .bv2-fbp-title {
    font-size: 18px;
  }
  .bv2-fb-star {
    font-size: 30px;
  }
}

/* ══════════════════════════════════════════
   Shop Card Rating – .bv2-shop-rating
   ══════════════════════════════════════════ */
.bv2-shop-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0 2px;
}
.bv2-shop-stars {
  display: flex;
  gap: 1px;
}
.bv2-shop-star {
  font-size: 15px;
  line-height: 1;
}
.bv2-star-full {
  color: #f59e0b;
}
.bv2-star-half {
  color: #f59e0b;
  opacity: 0.55;
}
.bv2-star-empty {
  color: #e2e8f0;
}
.bv2-shop-rating-num {
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
}
.bv2-shop-rating-count {
  font-size: 12px;
  color: #94a3b8;
}

/* ═══════════════════════════════════════════════════════════
   V2 — Staff Readonly Shop View (.bv2-staff-*)
   ═══════════════════════════════════════════════════════════ */
.bv2-staff-view {
  max-width: 720px;
  margin: 0 auto;
  animation: bv2FadeUp 0.45s ease both;
}

/* Header — shop avatar + name + staff badge */
.bv2-staff-header {
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(
    135deg,
    var(--diyetisyencim-primary),
    var(--diyetisyencim-primary-dark, #121225)
  );
  color: #fff;
  padding: 28px 28px 24px;
  border-radius: 20px 20px 0 0;
}
.bv2-staff-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.bv2-staff-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bv2-staff-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
}
.bv2-staff-avatar-placeholder svg {
  color: rgba(255, 255, 255, 0.6);
}
.bv2-staff-header-info {
  min-width: 0;
}
.bv2-staff-shop-name {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 4px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-staff-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  margin: 0;
  backdrop-filter: blur(4px);
}
.bv2-staff-role-badge svg {
  opacity: 0.8;
}

/* Link bar */
.bv2-staff-link-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: #f0fdf4;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  font-size: 13px;
}
.bv2-staff-link-bar svg {
  color: #059669;
  flex-shrink: 0;
}
.bv2-staff-link-bar a {
  color: #059669;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv2-staff-link-bar a:hover {
  text-decoration: none;
}

/* Info Cards Grid */
.bv2-staff-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  padding: 20px;
  background: #f9fafb;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
}
.bv2-staff-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all 0.2s ease;
}
.bv2-staff-card:hover {
  border-color: rgba(var(--diyetisyencim-primary-rgb), 0.25);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.bv2-staff-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
}
.bv2-staff-card-icon svg {
  color: var(--diyetisyencim-primary);
}
.bv2-staff-icon-phone {
  background: #ecfdf5;
}
.bv2-staff-icon-phone svg {
  color: #059669;
}
.bv2-staff-icon-city {
  background: #eff6ff;
}
.bv2-staff-icon-city svg {
  color: #2563eb;
}
.bv2-staff-icon-type {
  background: #fdf4ff;
}
.bv2-staff-icon-type svg {
  color: #a855f7;
}
.bv2-staff-icon-time {
  background: #fff7ed;
}
.bv2-staff-icon-time svg {
  color: #ea580c;
}
.bv2-staff-icon-email {
  background: #fef2f2;
}
.bv2-staff-icon-email svg {
  color: #dc2626;
}
.bv2-staff-card-label {
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.bv2-staff-card-value {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  word-break: break-word;
}

/* Sections (address, services, social) */
.bv2-staff-section {
  padding: 16px 20px;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  background: #fff;
}
.bv2-staff-section + .bv2-staff-section {
  border-top: 1px solid #f3f4f6;
}
.bv2-staff-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 10px;
}
.bv2-staff-section-header svg {
  color: #9ca3af;
}
.bv2-staff-section-text {
  font-size: 14px;
  color: #374151;
  line-height: 1.6;
  margin: 0;
}

/* Service Chips */
.bv2-staff-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bv2-staff-chip {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.07);
  color: var(--diyetisyencim-primary);
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid rgba(var(--diyetisyencim-primary-rgb), 0.12);
}

/* Social Tags */
.bv2-staff-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bv2-staff-social-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--social-color, #374151);
  background: color-mix(in srgb, var(--social-color, #374151) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--social-color, #374151) 15%, #fff);
  word-break: break-all;
}
.bv2-staff-social-tag svg {
  flex-shrink: 0;
  color: var(--social-color, #374151);
}

/* Empty */
.bv2-staff-empty {
  text-align: center;
  padding: 56px 24px;
  background: #fff;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
}
.bv2-staff-empty p {
  font-size: 14px;
  color: #6b7280;
  margin: 14px 0 0;
}

/* Last section gets rounded bottom */
.bv2-staff-view > .bv2-staff-section:last-child,
.bv2-staff-view > .bv2-staff-grid:last-child {
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0 0 20px 20px;
}
.bv2-staff-view > .bv2-staff-section:last-child {
  padding-bottom: 20px;
}

/* Responsive */
@media (max-width: 600px) {
  .bv2-staff-header {
    flex-direction: column;
    text-align: center;
    padding: 24px 18px 20px;
    gap: 12px;
  }
  .bv2-staff-shop-name {
    font-size: 18px;
    white-space: normal;
  }
  .bv2-staff-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 14px;
  }
  .bv2-staff-card {
    padding: 12px;
  }
  .bv2-staff-card-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  .bv2-staff-card-icon svg {
    width: 16px;
    height: 16px;
  }
  .bv2-staff-card-value {
    font-size: 13px;
  }
  .bv2-staff-section {
    padding: 14px 16px;
  }
  .bv2-staff-link-bar {
    padding: 10px 16px;
    font-size: 12px;
  }
}
@media (max-width: 380px) {
  .bv2-staff-grid {
    grid-template-columns: 1fr;
  }
}

/* ──────────────────────────────────────────────
   V2 — Staff Readonly Services View
   ────────────────────────────────────────────── */
.diyetisyencim-svc-readonly .bv2-readonly-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fef3c7;
  color: #92400e;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 10px;
  margin: 0 20px 16px;
}
.diyetisyencim-svc-readonly .bv2-readonly-badge svg {
  flex-shrink: 0;
  color: #d97706;
}
.bv2-svc-readonly-list {
  padding: 0 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.bv2-svc-readonly-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.15s;
}
.bv2-svc-readonly-row:last-child {
  border-bottom: none;
}
.bv2-svc-readonly-row:hover {
  background: #f9fafb;
}
.bv2-svc-readonly-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(var(--diyetisyencim-primary-rgb), 0.1);
  color: var(--diyetisyencim-primary);
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.bv2-svc-readonly-name {
  flex: 1;
  font-weight: 600;
  font-size: 0.9rem;
  color: #1f2937;
}
.bv2-svc-readonly-price {
  background: #ecfdf5;
  color: #065f46;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}
.bv2-svc-readonly-dur {
  background: #ede9fe;
  color: #6d28d9;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.bv2-svc-readonly-summary {
  padding: 12px 20px 16px;
  color: #6b7280;
  font-size: 0.82rem;
  border-top: 1px solid #f3f4f6;
}
@media (max-width: 480px) {
  .bv2-svc-readonly-row {
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px;
  }
  .bv2-svc-readonly-name {
    width: 100%;
    order: -1;
  }
  .diyetisyencim-svc-readonly .bv2-readonly-badge {
    margin: 0 12px 12px;
    font-size: 0.76rem;
  }
}

/* ──────────────────────────────────────────────
   V2 — Staff Readonly Products View
   ────────────────────────────────────────────── */
.diyetisyencim-prod-readonly .bv2-readonly-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fef3c7;
  color: #92400e;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 10px;
  margin: 0 20px 16px;
}
.diyetisyencim-prod-readonly .bv2-readonly-badge svg {
  flex-shrink: 0;
  color: #d97706;
}
.bv2-prod-readonly-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  padding: 0 20px 16px;
}
.bv2-prod-readonly-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 14px;
  overflow: hidden;
  transition:
    box-shadow 0.2s,
    transform 0.15s;
}
.bv2-prod-readonly-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
  transform: translateY(-2px);
}
.bv2-prod-readonly-img {
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bv2-prod-readonly-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bv2-prod-no-img {
  background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
}
.bv2-prod-no-img svg {
  opacity: 0.3;
}
.bv2-prod-readonly-body {
  padding: 14px 16px;
}
.bv2-prod-readonly-name {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1f2937;
}
.bv2-prod-readonly-desc {
  margin: 0 0 10px;
  font-size: 0.8rem;
  color: #6b7280;
  line-height: 1.4;
}
.bv2-prod-readonly-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.bv2-prod-readonly-stock,
.bv2-prod-readonly-vis {
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.bv2-stock-ok {
  background: #ecfdf5;
  color: #065f46;
}
.bv2-stock-empty {
  background: #fef2f2;
  color: #991b1b;
}
.bv2-vis-on {
  background: #ede9fe;
  color: #6d28d9;
}
.bv2-vis-off {
  background: #f3f4f6;
  color: #9ca3af;
}
@media (max-width: 480px) {
  .bv2-prod-readonly-grid {
    grid-template-columns: 1fr;
    padding: 0 12px 12px;
  }
  .diyetisyencim-prod-readonly .bv2-readonly-badge {
    margin: 0 12px 12px;
    font-size: 0.76rem;
  }
}

/* ── Staff Notifications Toggle Card (owner only) ── */
.bv2-notif-staff-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
  border: 1px solid #c7d8f4;
  border-radius: 14px;
  padding: 18px 22px;
  margin-bottom: 20px;
  transition:
    box-shadow 0.2s,
    opacity 0.2s;
}
.bv2-notif-staff-card.bv2-saving {
  opacity: 0.6;
  pointer-events: none;
}
.bv2-notif-staff-card-left {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex: 1;
  min-width: 0;
}
.bv2-notif-staff-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  color: #4a6cf7;
}
.bv2-notif-staff-title {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-notif-staff-desc {
  margin: 0;
  font-size: 0.84rem;
  color: #64748b;
  line-height: 1.45;
}
.bv2-notif-staff-toggle {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 28px;
  flex-shrink: 0;
  cursor: pointer;
}
.bv2-notif-staff-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.bv2-notif-staff-toggle .bv2-notif-toggle-slider {
  position: absolute;
  inset: 0;
  background: #cbd5e1;
  border-radius: 28px;
  transition: background 0.25s;
}
.bv2-notif-staff-toggle .bv2-notif-toggle-slider::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.25s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.bv2-notif-staff-toggle input:checked + .bv2-notif-toggle-slider {
  background: #4a6cf7;
}
.bv2-notif-staff-toggle input:checked + .bv2-notif-toggle-slider::before {
  transform: translateX(24px);
}
@media (max-width: 600px) {
  .bv2-notif-staff-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 16px;
  }
  .bv2-notif-staff-toggle {
    align-self: flex-end;
    margin-top: -6px;
  }
}

/* ── Owner Badge in providers table ── */
.bv2-owner-badge {
  display: inline-block;
  padding: 2px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #4a6cf7, #6366f1);
  border-radius: 20px;
  letter-spacing: 0.02em;
  vertical-align: middle;
  margin-left: 6px;
  white-space: nowrap;
}

/* ── Claim / Invite Form (V2) ── */
.bv2-claim-gate {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 320px;
  padding: 24px 16px;
}
.bv2-claim-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
  padding: 36px 32px;
  max-width: 460px;
  width: 100%;
  text-align: center;
}
.bv2-claim-card--info {
  border-top: 4px solid #f59e0b;
}
.bv2-claim-card--success {
  border-top: 4px solid #10b981;
}
.bv2-claim-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin-bottom: 18px;
}
.bv2-claim-icon--lock {
  background: #f3f4f6;
  color: #6b7280;
}
.bv2-claim-icon--owner {
  background: #fef3c7;
  color: #d97706;
}
.bv2-claim-icon--check {
  background: #d1fae5;
  color: #059669;
}
.bv2-claim-icon--invite {
  background: #ede9fe;
  color: #7c3aed;
}
.bv2-claim-title {
  margin: 0 0 10px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
}
.bv2-claim-desc {
  margin: 0 0 20px;
  font-size: 0.92rem;
  color: #64748b;
  line-height: 1.55;
}
.bv2-claim-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f8fafc;
  border-radius: 12px;
  padding: 14px 18px;
  margin-top: 18px;
}
.bv2-claim-meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: #334155;
}
.bv2-claim-meta-item svg {
  color: #94a3b8;
  flex-shrink: 0;
}
.bv2-claim-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.bv2-claim-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 10px;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.15s,
    box-shadow 0.2s;
}
.bv2-claim-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.bv2-claim-btn:active {
  transform: translateY(0);
}
.bv2-claim-btn--primary {
  background: linear-gradient(135deg, #4a6cf7, #6366f1);
  color: #fff;
}
.bv2-claim-btn--secondary {
  background: #f1f5f9;
  color: #475569;
}
.bv2-claim-btn--secondary:hover {
  background: #e2e8f0;
}
.bv2-claim-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}
.bv2-claim-form-inner {
  text-align: center;
  margin-top: 4px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.bv2-claim-field {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bv2-claim-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 6px;
}
.bv2-claim-input {
  width: min(100%, 320px);
  padding: 11px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.95rem;
  color: #1e293b;
  background: #f8fafc;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  box-sizing: border-box;
}
.bv2-claim-input:focus {
  outline: none;
  border-color: #4a6cf7;
  box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.12);
  background: #fff;
}
.bv2-claim-submit {
  width: 100%;
  justify-content: center;
}
.bv2-claim-result {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 500;
  display: none;
  align-items: center;
  gap: 8px;
}
.bv2-claim-result--success {
  display: flex;
  background: #d1fae5;
  color: #065f46;
}
.bv2-claim-result--error {
  display: flex;
  background: #fee2e2;
  color: #991b1b;
}
@keyframes bv2-spin {
  to {
    transform: rotate(360deg);
  }
}
.bv2-spin {
  animation: bv2-spin 0.7s linear infinite;
}
@media (max-width: 480px) {
  .bv2-claim-card {
    padding: 24px 18px;
  }
  .bv2-claim-icon {
    width: 60px;
    height: 60px;
  }
  .bv2-claim-icon svg {
    width: 36px;
    height: 36px;
  }
  .bv2-claim-title {
    font-size: 1.1rem;
  }
  .bv2-claim-form-inner {
    max-width: 100%;
  }
  .bv2-claim-input {
    width: 100%;
  }
}

/* Info button for slot system modal */
.diyetisyencim-slot-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--diyetisyencim-primary, #ff8c42);
  background: transparent;
  color: var(--diyetisyencim-primary, #ff8c42);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1;
  padding: 0;
  transition: background 0.15s, color 0.15s;
}
.diyetisyencim-slot-info-btn:hover {
  background: var(--diyetisyencim-primary, #ff8c42);
  color: #fff;
}
.diyetisyencim-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  animation: diyetisyencimFadeIn 0.2s ease;
}
.diyetisyencim-modal-overlay.bv2-modal-open {
  display: flex;
}
.diyetisyencim-modal-content {
  max-height: 90vh;
  overflow-y: auto;
  background: #fff;
  color: #1e293b;
}
@keyframes diyetisyencimFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.diyetisyencim-modal-content {
  animation: diyetisyencimSlideUp 0.25s ease;
}
@keyframes diyetisyencimSlideUp {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* Variable duration badge in service list */
.bv2-svc-dur-variable {
  color: #f59e0b;
  font-style: italic;
  font-size: 12px;
}

/* Variable appointment styles */
.bv2-cal-appt-variable .bv2-cal-appt-time,
.bv2-cal-dv-appt-variable .bv2-cal-dv-appt-time {
  color: #f59e0b !important;
}
.bv2-cal-appt-variable .bv2-cal-appt-time::after,
.bv2-cal-dv-appt-variable .bv2-cal-dv-appt-time::after {
  content: " (Değişken)";
  font-size: 10px;
  font-style: italic;
  opacity: 0.8;
}
.bv2-badge-variable, .dyt-badge-variable {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #f59e0b;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 4px;
  vertical-align: middle;
  font-style: italic;
}

/* Variable duration service checkbox */
.diyetisyencim-svc-variable-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #64748b;
  cursor: pointer;
  white-space: nowrap;
}
.diyetisyencim-svc-variable-label input[type="checkbox"] {
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.diyetisyencim-svc-seans-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #7c3aed;
  cursor: pointer;
  white-space: nowrap;
}
.diyetisyencim-svc-seans-label input[type="checkbox"] {
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.diyetisyencim-svc-options-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.diyetisyencim-service-seans-count {
  width: 60px !important;
  padding: 4px 6px !important;
  font-size: 12px !important;
  border: 1px solid #d8b4fe !important;
  border-radius: 6px !important;
  outline: none;
}
.diyetisyencim-service-seans-count:focus {
  border-color: #7c3aed !important;
  box-shadow: 0 0 0 2px rgba(124,58,237,0.15) !important;
}
.bv2-svc-readonly-dur.bv2-svc-variable {
  color: #f59e0b;
  font-style: italic;
}
.bv2-svc-seans {
  color: #7c3aed;
  font-weight: 600;
  font-size: 11px;
  background: #f3e8ff;
  padding: 2px 8px;
  border-radius: 999px;
  display: inline-block;
}

/* Variable duration warning in wizard review */
.bv2-wz-variable-inline {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 12px 0 4px;
  font-size: 13px;
  color: #92400e;
  line-height: 1.5;
}
.bv2-wz-variable-inline svg {
  vertical-align: -3px;
  margin-right: 6px;
  flex-shrink: 0;
}
.bv2-wz-variable-warning {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 8px 0;
  font-size: 13px;
  color: #92400e;
  line-height: 1.5;
}
.bv2-wz-variable-warning svg {
  vertical-align: -3px;
  margin-right: 6px;
  flex-shrink: 0;
}

/* Variable appointment in staff views */
.bv2-appt-time.bv2-appt-variable {
  color: #f59e0b !important;
}
.bv2-appt-time.bv2-appt-variable::after {
  content: " (Değişken)";
  font-size: 11px;
  font-style: italic;
  opacity: 0.8;
}




/* --- Stats V2: Extended Reports --- */
.bv2-ext-kpi-row {
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.bv2-ext-kpi-card {
  flex: 1;
  min-width: 140px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
}
.bv2-ext-kpi-label {
  font-size: 12px;
  color: #64748b;
  font-weight: 600;
  margin-bottom: 4px;
}
.bv2-ext-kpi-value {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bv2-ext-kpi-value.red {
  color: #dc2626;
}
.bv2-ext-kpi-value.green {
  color: #16a34a;
}
.bv2-ext-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.bv2-ext-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
}
.bv2-ext-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.bv2-ext-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d9fbe7, #bbf7d0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  color: #166534;
  flex: 0 0 auto;
  overflow: hidden;
}
.bv2-ext-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bv2-ext-name {
  font-weight: 700;
  font-size: 14px;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bv2-ext-sub {
  font-size: 12px;
  color: #94a3b8;
}
.bv2-ext-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.bv2-ext-stat {
  background: #f8fafc;
  border-radius: 8px;
  padding: 8px 10px;
  text-align: center;
}
.bv2-ext-stat-label {
  font-size: 10px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 600;
}
.bv2-ext-stat-val {
  font-size: 15px;
  font-weight: 700;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bv2-ext-stat-val.lg {
  font-size: 17px;
  font-weight: 800;
}
.bv2-ext-stat-val.green {
  color: #16a34a;
}
.bv2-ext-stat-val.purple {
  color: #6366f1;
}
.bv2-ext-sales-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
}
.bv2-ext-sales-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.bv2-ext-sales-pct {
  font-size: 22px;
  font-weight: 800;
  margin-left: auto;
  flex-shrink: 0;
}
.bv2-ext-progress {
  width: 100%;
  height: 6px;
  background: #f1f5f9;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}
.bv2-ext-progress-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .4s ease;
}
.bv2-ext-sales-meta {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #64748b;
}
.bv2-ext-chart-wrap {
  margin-top: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
}
.bv2-ext-chart-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #f1f5f9;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}
.bv2-ext-chart-body {
  padding: 10px;
  height: 220px;
}
.bv2-ext-chart-body canvas {
  width: 100% !important;
  height: 100% !important;
}

/* Cari debtor - vertical card list */
.bv2-ext-cari-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bv2-ext-cari-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #f8fafc;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}
.bv2-ext-cari-item-info {
  flex: 1;
  min-width: 0;
}
.bv2-ext-cari-item-name {
  font-weight: 600;
  font-size: 14px;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bv2-ext-cari-item-meta {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 2px;
}
.bv2-ext-cari-item-debt {
  font-size: 16px;
  font-weight: 700;
  color: #dc2626;
  text-align: right;
  flex-shrink: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .bv2-ext-kpi-card { min-width: calc(50% - 12px); }
  .bv2-ext-grid { grid-template-columns: 1fr; }
  .bv2-ext-cari-item { flex-wrap: wrap; gap: 6px; }
  .bv2-ext-cari-item-debt { width: 100%; text-align: left; }
}


/* ─── Package Card (Service Bundles) ─── */
.diyetisyencim-service-card-pkg {
  border-left: 3px solid #f59e0b !important;
  background: #fffbeb !important;
}
.diyetisyencim-service-card-pkg .diyetisyencim-service-name {
  color: #92400e;
}
.diyetisyencim-service-card-pkg .diyetisyencim-service-duration {
  background: #fef3c7;
  color: #92400e;
}
.diyetisyencim-service-card-pkg .diyetisyencim-service-price {
  color: #059669 !important;
}

/* ─── Package Card in Booking Wizard (bv2) ─── */
.bv2-svc-card-pkg {
  border-left: 3px solid #f59e0b !important;
  background: #fffbeb !important;
  cursor: pointer;
  transition: all 0.15s ease;
}
.bv2-svc-card-pkg:hover {
  background: #fef3c7 !important;
}
.bv2-svc-card-pkg .bv2-svc-name {
  color: #92400e;
}
.bv2-svc-card-pkg .bv2-svc-price {
  color: #059669 !important;
  font-weight: 700;
}
.bv2-svc-dur-pkg {
  background: #f59e0b !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
}

/* Package expandable details */
.bv2-svc-pkg-detail {
  padding: 10px 14px 10px 42px;
  background: #fefce8;
  border-top: 1px solid #fde68a;
  font-size: 12px;
  line-height: 1.6;
}
.bv2-svc-pkg-header {
  font-weight: 700;
  color: #92400e;
  margin-bottom: 4px;
  font-size: 13px;
}
.bv2-svc-pkg-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bv2-svc-pkg-items li {
  padding: 1px 0;
  color: #334155;
}
.bv2-svc-pkg-summary {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #fde68a;
  font-weight: 600;
  color: #92400e;
}
.bv2-svc-card-pkg-expanded {
  border-left-color: #d97706 !important;
}

/* Package Sales table */
.bv2-pkg-sales-stat {
  transition: transform 0.15s;
}
.bv2-pkg-sales-stat:hover {
  transform: translateY(-2px);
}

/* ─── Paket Ekle Button ─── */
.bv2-pkg-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: var(--diyetisyencim-primary, #0d6b5e);
  color: #fff;
  border: none;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.bv2-pkg-add-btn:hover {
  background: var(--diyetisyencim-primary-dark, #094f45);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(13, 107, 94, 0.25);
}
.bv2-pkg-add-btn:active {
  transform: translateY(0);
  box-shadow: none;
}
.bv2-pkg-add-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ─── Responsive: Paket Yönetimi ─── */
@media (max-width: 768px) {
  .bv2-pkg-card-header { flex-wrap:wrap; gap:6px; padding:10px 12px; }
  .bv2-pkg-name { font-size:13px; min-width:80px; }
  .bv2-pkg-price { font-size:13px; }
  .bv2-pkg-card-body { padding:0 12px 10px; }
  .bv2-pkg-svc-tag { font-size:11px; padding:2px 8px; }
  .diyetisyencim-services-box .diyetisyencim-add-pkg {
  margin: 12px 0;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  box-sizing: border-box;
  width: 100%;
}

.diyetisyencim-services-box .diyetisyencim-add-pkg .bv2-pkg-add-btn-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

@media (max-width: 768px) {
  .diyetisyencim-services-box .diyetisyencim-add-pkg {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .diyetisyencim-services-box .diyetisyencim-add-pkg .bv2-pkg-add-btn-wrap {
    margin-left: 0;
    justify-content: center;
  }
}

  .bv2-pkg-sales-summary { flex-direction:column; }
  .bv2-pkg-sales-stat { min-width:auto !important; }
  .dyt-table { font-size:12px !important; }
  .dyt-table th, .dyt-table td { padding:6px 8px !important; }
}
@media (max-width: 480px) {
  .bv2-pkg-card-header { flex-direction:column; align-items:flex-start; }
  .bv2-pkg-badge { align-self:flex-start; }
  .bv2-pkg-card-actions { flex-direction:column; gap:6px; }
  .bv2-pkg-card-actions button { width:100%; text-align:center; }
  .bv2-section-divider { flex-direction:column; gap:4px; }
  .bv2-section-divider h3 { font-size:15px; }
}

/* ─── Modal responsive ─── */
@media (max-width: 640px) {
  .bv2-custp-modal { max-width:94% !important; margin:10px auto; }
  .bv2-custp-modal-body { padding:14px; }
}
@media (max-width: 480px) {
  .bv2-custp-modal { max-width:96% !important; margin:6px auto; border-radius:14px; max-height:92vh; }
  .bv2-custp-modal-body { padding:10px; gap:8px; }
}
@media (max-height: 500px) {
  .bv2-custp-modal { max-height:96vh; }
  .bv2-custp-modal-header { padding:10px 14px; }
  .bv2-custp-modal-body { padding:10px; }
}

/* ─── Package modal responsive ─── */
@media (max-width: 640px) {
  #bv2PkgModal .bv2-custp-modal { max-width:95% !important; margin:10px auto; }
  #bv2PkgModal .bv2-custp-modal-body { padding:12px; }
  .bv2-pkg-calc-summary { padding:10px !important; }
  .bv2-pkg-calc-summary div[style*="justify-content:space-between"] { font-size:12px !important; }
  .bv2-pkg-calc-summary input[name="price"] { width:100px !important; }
  .bv2-pkg-card-actions { flex-direction:column; gap:6px; }
  .bv2-pkg-card-actions button { width:100%; justify-content:center; }
}
@media (max-width: 480px) {
  .bv2-pkg-calc-summary div[style*="display:flex"] { flex-direction:column; align-items:flex-start !important; gap:4px; }
  .bv2-pkg-calc-summary input[name="price"] { width:100% !important; max-width:100%; }
}

/* --- Shop detail page package details --- */
.bv2-sd-pkg-details {
  margin-top: 8px;
  padding: 8px 10px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  font-size: 12px;
}
.bv2-sd-pkg-details-header {
  font-weight: 700;
  color: #92400e;
  margin-bottom: 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.bv2-sd-pkg-detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 0;
  border-bottom: 1px solid #fef3c7;
}
.bv2-sd-pkg-detail-item:last-child {
  border-bottom: none;
}
.bv2-sd-pkg-detail-name {
  color: #1a1a2e;
  font-weight: 500;
}
.bv2-sd-pkg-detail-price {
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
}
.bv2-sd-pkg-detail-total {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #fde68a;
  text-align: right;
  font-size: 11px;
  color: #92400e;
  font-weight: 700;
}

/* ─── Premium Blur Overlay ─── */
.dyt-premium-blur-wrap {
  position: relative;
  isolation: isolate;
  min-height: 300px;
  margin-bottom: 16px;
}
.dyt-premium-blur-wrap .dyt-premium-content {
  filter: blur(2px);
  pointer-events: none;
  user-select: none;
  overflow: hidden;
}
.dyt-premium-blur-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.35);
  z-index: 10;
  transform: translateZ(0);
  isolation: isolate;
}
.dyt-premium-overlay-inner {
  position: relative;
  z-index: 11;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  max-width: 300px;
  width: 90%;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  backface-visibility: hidden;
  transform: translateZ(0);
}
.dyt-premium-icon {
  font-size: 36px;
  margin-bottom: 10px;
}
.dyt-premium-title {
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 6px;
}
.dyt-premium-desc {
  font-size: 13px;
  color: #64748b;
  margin-bottom: 16px;
  line-height: 1.5;
}
.dyt-premium-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 10px;
  background: var(--diyetisyencim-primary, #ff8c42);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  transition: all 0.15s;
}
.dyt-premium-btn:hover {
  background: var(--diyetisyencim-primary-dark, #f97316);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ── Modern scrollbar — eklenti ön yüz sayfaları (Randevu Al wizard, modallar, müşteri paneli) ──
   Panel dışındaki (body.dyt-panel olmayan) eklenti sayfalarında klasik kalın
   scrollbar yerine ince yuvarlak thumb kullanılır. Seçiciler eklentiye özgü
   sınıflarla kapsandığı için tema/genel site etkilenmez. */
.bv2-page *,
.diyetisyencim-modal *,
.diyetisyencim-step *,
.bv2-wizard *,
.bv2-custp-page *,
.bv2-cust-appts *,
.mmg-overlay *,
.diyetisyencim-times-list,
.diyetisyencim-modal-inner,
.diyetisyencim-modal-content,
.bv2-qr-dialog,
.bv2-custp-modal-body,
.bv2-table-wrap,
.bv2-wizard .bv2-wz-cal {
  scrollbar-width: thin;
  scrollbar-color: #c7ccd4 transparent;
}
.bv2-page ::-webkit-scrollbar,
.diyetisyencim-modal ::-webkit-scrollbar,
.diyetisyencim-step ::-webkit-scrollbar,
.bv2-wizard ::-webkit-scrollbar,
.bv2-custp-page ::-webkit-scrollbar,
.bv2-cust-appts ::-webkit-scrollbar,
.mmg-overlay ::-webkit-scrollbar,
.diyetisyencim-times-list::-webkit-scrollbar,
.diyetisyencim-modal-inner::-webkit-scrollbar,
.diyetisyencim-modal-content::-webkit-scrollbar,
.bv2-qr-dialog::-webkit-scrollbar,
.bv2-custp-modal-body::-webkit-scrollbar,
.bv2-table-wrap::-webkit-scrollbar,
.bv2-wizard .bv2-wz-cal::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.bv2-page ::-webkit-scrollbar-track,
.diyetisyencim-modal ::-webkit-scrollbar-track,
.diyetisyencim-step ::-webkit-scrollbar-track,
.bv2-wizard ::-webkit-scrollbar-track,
.bv2-custp-page ::-webkit-scrollbar-track,
.bv2-cust-appts ::-webkit-scrollbar-track,
.mmg-overlay ::-webkit-scrollbar-track,
.diyetisyencim-times-list::-webkit-scrollbar-track,
.diyetisyencim-modal-inner::-webkit-scrollbar-track,
.diyetisyencim-modal-content::-webkit-scrollbar-track,
.bv2-qr-dialog::-webkit-scrollbar-track,
.bv2-custp-modal-body::-webkit-scrollbar-track,
.bv2-table-wrap::-webkit-scrollbar-track,
.bv2-wizard .bv2-wz-cal::-webkit-scrollbar-track {
  background: transparent;
}
.bv2-page ::-webkit-scrollbar-thumb,
.diyetisyencim-modal ::-webkit-scrollbar-thumb,
.diyetisyencim-step ::-webkit-scrollbar-thumb,
.bv2-wizard ::-webkit-scrollbar-thumb,
.bv2-custp-page ::-webkit-scrollbar-thumb,
.bv2-cust-appts ::-webkit-scrollbar-thumb,
.mmg-overlay ::-webkit-scrollbar-thumb,
.diyetisyencim-times-list::-webkit-scrollbar-thumb,
.diyetisyencim-modal-inner::-webkit-scrollbar-thumb,
.diyetisyencim-modal-content::-webkit-scrollbar-thumb,
.bv2-qr-dialog::-webkit-scrollbar-thumb,
.bv2-custp-modal-body::-webkit-scrollbar-thumb,
.bv2-table-wrap::-webkit-scrollbar-thumb,
.bv2-wizard .bv2-wz-cal::-webkit-scrollbar-thumb {
  background: #c7ccd4;
  border-radius: 999px;
}
.bv2-page ::-webkit-scrollbar-thumb:hover,
.diyetisyencim-modal ::-webkit-scrollbar-thumb:hover,
.diyetisyencim-step ::-webkit-scrollbar-thumb:hover,
.bv2-wizard ::-webkit-scrollbar-thumb:hover,
.bv2-custp-page ::-webkit-scrollbar-thumb:hover,
.bv2-cust-appts ::-webkit-scrollbar-thumb:hover,
.mmg-overlay ::-webkit-scrollbar-thumb:hover,
.diyetisyencim-times-list::-webkit-scrollbar-thumb:hover,
.diyetisyencim-modal-inner::-webkit-scrollbar-thumb:hover,
.diyetisyencim-modal-content::-webkit-scrollbar-thumb:hover,
.bv2-qr-dialog::-webkit-scrollbar-thumb:hover,
.bv2-custp-modal-body::-webkit-scrollbar-thumb:hover,
.bv2-table-wrap::-webkit-scrollbar-thumb:hover,
.bv2-wizard .bv2-wz-cal::-webkit-scrollbar-thumb:hover {
  background: #9aa3af;
}
.bv2-page ::-webkit-scrollbar-corner,
.diyetisyencim-modal ::-webkit-scrollbar-corner,
.diyetisyencim-step ::-webkit-scrollbar-corner,
.bv2-wizard ::-webkit-scrollbar-corner,
.bv2-custp-page ::-webkit-scrollbar-corner,
.bv2-cust-appts ::-webkit-scrollbar-corner,
.mmg-overlay ::-webkit-scrollbar-corner,
.diyetisyencim-times-list::-webkit-scrollbar-corner,
.diyetisyencim-modal-inner::-webkit-scrollbar-corner,
.diyetisyencim-modal-content::-webkit-scrollbar-corner,
.bv2-qr-dialog::-webkit-scrollbar-corner,
.bv2-custp-modal-body::-webkit-scrollbar-corner,
.bv2-table-wrap::-webkit-scrollbar-corner,
.bv2-wizard .bv2-wz-cal::-webkit-scrollbar-corner {
  background: transparent;
}
