@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');

:root {
  /* ReHub Inspired Dark Slate & Blue Accent Palette */
  --bg: #080b12;
  --bg-elevated: #0d121d;
  --surface: rgba(15, 21, 35, 0.72);
  --surface-solid: #111827;
  --surface2: rgba(22, 31, 50, 0.78);
  --surface-hover: rgba(59, 130, 246, 0.09);

  --border: rgba(255, 255, 255, 0.085);
  --border-strong: rgba(59, 130, 246, 0.38);
  --border-subtle: rgba(148, 163, 184, 0.12);

  --text: #f8fafc;
  --text-secondary: #cbd5e1;
  --muted: #94a3b8;
  --muted-deep: #64748b;

  /* Primary Blue Accent System */
  --accent: #3b82f6;
  --accent-bright: #60a5fa;
  --accent-light: #93c5fd;
  --accent-dark: #2563eb;
  --accent-cyan: #38bdf8;
  --accent-glow: rgba(59, 130, 246, 0.38);
  --accent-badge: rgba(59, 130, 246, 0.14);

  /* Status Colors (ReHub style) */
  --status-success-bg: rgba(16, 185, 129, 0.14);
  --status-success-text: #10b981;
  --status-success-border: rgba(16, 185, 129, 0.32);

  --status-soon-bg: rgba(255, 255, 255, 0.05);
  --status-soon-text: #94a3b8;
  --status-soon-border: rgba(255, 255, 255, 0.12);

  --danger: #f43f5e;
  --radius: 18px;
  --radius-lg: 24px;
  --radius-sm: 12px;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(ellipse 70% 45% at 50% -10%, rgba(37, 99, 235, 0.22), transparent 70%),
    radial-gradient(ellipse 45% 35% at 85% 20%, rgba(56, 189, 248, 0.1), transparent 65%),
    var(--bg);
  color: var(--text);
  font: 14px/1.6 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  position: relative;
}

body.sheet-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

h1, h2, h3, h4, p {
  margin: 0;
}

h1, h2, h3 {
  font-family: 'Manrope', 'Inter', sans-serif;
  letter-spacing: -0.035em;
  color: var(--text);
}

h1 {
  font-size: clamp(36px, 5.2vw, 66px);
  line-height: 1.08;
  font-weight: 800;
}

h2 {
  font-size: clamp(26px, 3.6vw, 40px);
  line-height: 1.18;
  font-weight: 800;
}

h3 {
  font-size: 19px;
  font-weight: 700;
}

p {
  color: var(--muted);
}

.hidden {
  display: none !important;
}

/* Ambient Background & Grid Overlay (ReHub Atmosphere) */
.ambient {
  pointer-events: none;
  position: fixed;
  z-index: -2;
  filter: blur(115px);
  border-radius: 50%;
  opacity: 0.75;
  animation: ambient-float 16s ease-in-out infinite alternate;
}

.ambient-one {
  width: 540px;
  height: 540px;
  background: rgba(37, 99, 235, 0.16);
  left: -200px;
  top: -60px;
}

.ambient-two {
  width: 480px;
  height: 480px;
  background: rgba(14, 165, 233, 0.13);
  right: -160px;
  top: 260px;
  animation-delay: -5s;
}

.ambient-three {
  width: 420px;
  height: 420px;
  background: rgba(59, 130, 246, 0.1);
  left: 35%;
  bottom: -140px;
  animation-delay: -10s;
}

.bg-grid-overlay {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 25%, #000 35%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 25%, #000 35%, transparent 100%);
}

@keyframes ambient-float {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  100% { transform: translate3d(24px, -20px, 0) scale(1.06); }
}

.wrap {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
}

/* Sticky Glass Navbar (ReHub Style) */
.topbar {
  position: sticky;
  top: 14px;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 74px;
  padding: 0 22px;
  margin-top: 14px;
  background: rgba(11, 15, 25, 0.76);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 14px 40px -12px rgba(0, 0, 0, 0.55);
  transition: border-color 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}

.topbar:hover {
  border-color: rgba(59, 130, 246, 0.25);
}

.brand {
  font-family: 'Manrope', sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

.mark {
  display: inline-grid;
  place-items: center;
  background: linear-gradient(145deg, var(--accent-bright), var(--accent-dark));
  border: 1px solid rgba(147, 197, 253, 0.35);
  border-radius: 12px;
  width: 40px;
  height: 40px;
  color: #ffffff;
  font-size: 17px;
  box-shadow: 0 0 22px rgba(59, 130, 246, 0.42);
  transition: transform 0.28s var(--ease-out), box-shadow 0.28s var(--ease-out);
}

.brand:hover .mark {
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 0 28px rgba(59, 130, 246, 0.6);
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.brand-title {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
}

.brand-subtitle,
.brand-muted {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.01em;
}

.nav-menu,
.topbar nav {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
}

.nav-link,
.nav-text-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 11px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-weight: 600;
  font-size: 13px;
  transition: all 0.24s var(--ease-out);
}

.nav-link i,
.nav-text-button i {
  font-size: 13px;
  color: var(--accent-bright);
  opacity: 0.85;
  transition: transform 0.24s var(--ease-out);
}

.nav-link:hover,
.nav-text-button:hover {
  color: var(--text);
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.22);
}

.nav-link:hover i,
.nav-text-button:hover i {
  transform: translateY(-1px);
  opacity: 1;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.muted-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 11px;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 13px;
  border: 1px solid transparent;
  transition: all 0.24s var(--ease-out);
}

.muted-link i {
  color: var(--accent-bright);
}

.muted-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--border);
}

/* Buttons & Interactive Arrow Micro-animations */
.button {
  position: relative;
  border: 1px solid rgba(147, 197, 253, 0.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
  color: #ffffff;
  padding: 12px 20px;
  font-weight: 700;
  font-size: 13.5px;
  box-shadow: 0 8px 25px -6px rgba(37, 99, 235, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.22);
  transition: transform 0.26s var(--ease-out), background 0.26s var(--ease-out), box-shadow 0.26s var(--ease-out), border-color 0.26s var(--ease-out);
  white-space: nowrap;
  will-change: transform;
}

.button:hover:not(:disabled) {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--accent-bright) 0%, var(--accent) 100%);
  box-shadow: 0 12px 32px -6px rgba(59, 130, 246, 0.65), 0 0 22px rgba(59, 130, 246, 0.35);
  border-color: rgba(191, 219, 254, 0.55);
}

.button:active:not(:disabled) {
  transform: translateY(0) scale(0.985);
}

.button .btn-arrow {
  font-size: 12px;
  transition: transform 0.25s var(--ease-out);
}

.button:hover:not(:disabled) .fa-arrow-right.btn-arrow,
.button:hover:not(:disabled) .fa-chevron-right.btn-arrow {
  transform: translateX(4px);
}

.button:hover:not(:disabled) .fa-arrow-left.btn-arrow {
  transform: translateX(-4px);
}

.button:hover:not(:disabled) .fa-arrow-up-right-from-square.btn-arrow {
  transform: translate(2px, -2px);
}

.button.outline {
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(12px);
  border-color: var(--border);
  color: var(--text);
  box-shadow: none;
}

.button.outline:hover:not(:disabled) {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.42);
  box-shadow: 0 8px 25px -8px rgba(59, 130, 246, 0.28);
}

.button.ghost {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.25);
  color: var(--accent-light);
  box-shadow: none;
}

.button.ghost:hover:not(:disabled) {
  background: rgba(59, 130, 246, 0.18);
  color: #ffffff;
  border-color: rgba(96, 165, 250, 0.5);
}

.button.small {
  padding: 9px 15px;
  font-size: 13px;
  border-radius: 11px;
}

.button.large {
  padding: 15px 24px;
  font-size: 14px;
  border-radius: 14px;
}

.button.wide {
  width: 100%;
}

.button.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.button:focus-visible,
.service-choice:focus-visible,
.sheet-close:focus-visible,
.nav-text-button:focus-visible,
.time-options button:focus-visible,
.quick-date-btn:focus-visible,
.progress-item:focus-visible {
  outline: 2px solid var(--accent-bright);
  outline-offset: 3px;
}

/* Badges, Eyebrows & Pills (ReHub Style) */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  color: var(--accent-bright);
  letter-spacing: 0.12em;
  font-size: 11px;
  text-transform: uppercase;
}

.badge-pill {
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.28);
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.14);
}

.live-icon {
  color: #10b981;
  font-size: 10px;
  filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.8));
  animation: pulse-glow 2.2s infinite ease-in-out;
}

@keyframes pulse-glow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.88); }
}

.pill {
  border: 1px solid rgba(59, 130, 246, 0.28);
  color: var(--accent-light);
  background: rgba(59, 130, 246, 0.11);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.pill.tiny {
  padding: 5px 11px;
  font-size: 11px;
}

.pill-interactive {
  cursor: pointer;
  transition: all 0.22s var(--ease-out);
}

.pill-interactive:hover {
  background: rgba(59, 130, 246, 0.22);
  border-color: rgba(96, 165, 250, 0.5);
  color: #fff;
  transform: translateY(-1px);
}

.status-available {
  background: var(--status-success-bg) !important;
  color: var(--status-success-text) !important;
  border: 1px solid var(--status-success-border) !important;
}

.status-soon {
  background: var(--status-soon-bg) !important;
  color: var(--status-soon-text) !important;
  border: 1px solid var(--status-soon-border) !important;
}

.check-badge {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(59, 130, 246, 0.2);
  border: 1px solid rgba(96, 165, 250, 0.45);
  color: var(--accent-bright);
  font-size: 9px;
  margin-left: 4px;
  vertical-align: middle;
}

/* Hero Section */
.hero {
  text-align: center;
  padding-top: 64px;
}

.hero h1 {
  font-size: clamp(40px, 6.4vw, 76px);
  line-height: 1.07;
  margin: 22px auto 18px;
  max-width: 920px;
}

.hero-title-accent {
  color: var(--accent-bright);
  text-shadow: 0 0 38px rgba(59, 130, 246, 0.35);
}

.gradient-text {
  background: linear-gradient(95deg, #ffffff 0%, #93c5fd 48%, #38bdf8 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.hero-lead {
  font-size: 16.5px;
  max-width: 650px;
  margin: 0 auto;
  line-height: 1.75;
  color: var(--muted);
}

.hero-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
  flex-wrap: wrap;
}

.hero-badges {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.micro-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--muted);
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.micro-badge i {
  color: var(--accent-bright);
}

/* Interactive Hero Preview (Master Dashboard + Client ReHub Card) */
.hero-preview {
  margin: 64px auto 12px;
  max-width: 1020px;
  border: 1px solid rgba(59, 130, 246, 0.22);
  background: linear-gradient(145deg, rgba(15, 22, 38, 0.85), rgba(9, 13, 22, 0.92));
  backdrop-filter: blur(20px);
  border-radius: 26px;
  padding: 24px;
  display: grid;
  grid-template-columns: 1.25fr 0.85fr;
  gap: 24px;
  box-shadow: 0 35px 100px -20px rgba(0, 0, 0, 0.65), 0 0 40px rgba(37, 99, 235, 0.12);
  text-align: left;
}

.preview-left {
  padding: 14px;
  display: flex;
  flex-direction: column;
}

.preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
}

.preview-head-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.preview-title {
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.preview-title i {
  color: var(--accent-bright);
  font-size: 16px;
}

.week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  margin-bottom: 22px;
}

.week-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 10px 6px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.025);
  color: var(--text);
  transition: all 0.24s var(--ease-out);
}

.week-day span {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.05em;
}

.week-day strong {
  font-size: 14px;
  font-weight: 800;
}

.week-day:hover {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.09);
  transform: translateY(-2px);
}

.week-day.sel {
  background: linear-gradient(145deg, rgba(59, 130, 246, 0.26), rgba(37, 99, 235, 0.14));
  border-color: var(--accent-bright);
  color: #ffffff;
  box-shadow: 0 6px 20px -4px rgba(59, 130, 246, 0.35);
}

.week-day.sel span {
  color: var(--accent-light);
}

.preview-appointments {
  display: grid;
  gap: 10px;
}

.preview-slot {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border);
  transition: transform 0.24s var(--ease-out), border-color 0.24s var(--ease-out), background 0.24s var(--ease-out);
}

.preview-slot:hover {
  transform: translateX(4px);
  border-color: rgba(59, 130, 246, 0.32);
  background: rgba(59, 130, 246, 0.06);
}

.slot-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-size: 14px;
  flex-shrink: 0;
}

.slot-icon.blue {
  background: rgba(59, 130, 246, 0.16);
  color: var(--accent-bright);
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.slot-icon.cyan {
  background: rgba(56, 189, 248, 0.16);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.slot-icon.indigo {
  background: rgba(99, 102, 241, 0.16);
  color: #818cf8;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

.slot-time {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent-light);
  background: rgba(59, 130, 246, 0.1);
  padding: 5px 9px;
  border-radius: 8px;
  white-space: nowrap;
}

.slot-info {
  flex: 1;
  min-width: 0;
}

.slot-info strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.slot-info small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}

.slot-meta {
  font-style: normal;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
}

/* ReHub Card Right Preview */
.preview-right {
  display: flex;
}

.rehub-preview-card {
  width: 100%;
  border-radius: 20px;
  border: 1px solid rgba(59, 130, 246, 0.25);
  background: rgba(13, 18, 30, 0.85);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.32s var(--ease-out), border-color 0.32s var(--ease-out), box-shadow 0.32s var(--ease-out);
}

.rehub-preview-card:hover {
  transform: translateY(-4px);
  border-color: rgba(96, 165, 250, 0.45);
  box-shadow: 0 20px 45px -15px rgba(0, 0, 0, 0.65), 0 0 28px rgba(59, 130, 246, 0.2);
}

.rehub-card-banner {
  position: relative;
  padding: 56px 22px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background:
    radial-gradient(circle at 50% 25%, rgba(59, 130, 246, 0.32), transparent 68%),
    linear-gradient(160deg, #132038 0%, #0b111e 100%);
  border-bottom: 1px solid var(--border);
  flex: 1;
  justify-content: center;
}

.pinned-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 600;
  backdrop-filter: blur(8px);
}

.pinned-tag i {
  color: var(--accent-bright);
}

.rehub-card-banner .status-badge {
  position: absolute;
  top: 14px;
  right: 14px;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.faction-icon-box {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: rgba(59, 130, 246, 0.14);
  border: 1px solid rgba(96, 165, 250, 0.35);
  box-shadow: 0 0 28px rgba(59, 130, 246, 0.28);
  display: grid;
  place-items: center;
  font-size: 28px;
  color: var(--accent-bright);
  margin-bottom: 16px;
  transition: transform 0.3s var(--ease-out);
}

.rehub-preview-card:hover .faction-icon-box {
  transform: scale(1.06) rotate(-3deg);
}

.faction-subtitle {
  letter-spacing: 0.18em;
  font-size: 10px;
  font-weight: 800;
  color: var(--accent-light);
  text-transform: uppercase;
}

.rehub-card-banner h3 {
  font-size: 24px;
  margin: 8px 0 6px;
}

.faction-location {
  font-size: 12.5px;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.faction-location i {
  color: var(--accent-bright);
}

.rehub-card-footer {
  padding: 18px 20px;
  background: rgba(10, 14, 24, 0.9);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rehub-author-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.author-avatar {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 800;
  flex-shrink: 0;
}

.config-name {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text);
}

.author-name {
  font-size: 11.5px;
  color: var(--muted);
}

.fake-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: #ffffff;
  padding: 13px 20px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13.5px;
  width: 100%;
  box-shadow: 0 8px 24px -6px rgba(37, 99, 235, 0.55);
  transition: all 0.25s var(--ease-out);
}

.fake-btn:hover {
  background: linear-gradient(135deg, var(--accent-bright), var(--accent));
  transform: translateY(-2px);
}

.fake-btn .fake-btn-arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.25s var(--ease-out);
}

.fake-btn:hover .fake-btn-arrow {
  transform: translate(4px, -50%);
}

/* Feature Cards & ReHub Style Grid */
.section {
  padding-top: 104px;
}

.section-heading {
  text-align: center;
  margin-bottom: 42px;
}

.section-heading h2 {
  font-size: clamp(30px, 4vw, 46px);
  margin: 14px 0 12px;
}

.section-heading p {
  max-width: 600px;
  margin: 0 auto;
  font-size: 15px;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.feature-card {
  background: linear-gradient(160deg, rgba(17, 24, 39, 0.82), rgba(10, 14, 24, 0.92));
  border: 1px solid var(--border);
  padding: 26px;
  border-radius: 22px;
  backdrop-filter: blur(14px);
  display: flex;
  flex-direction: column;
  transition: transform 0.32s var(--ease-out), border-color 0.32s var(--ease-out), box-shadow 0.32s var(--ease-out);
}

.feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(59, 130, 246, 0.4);
  box-shadow: 0 22px 48px -14px rgba(0, 0, 0, 0.6), 0 0 26px rgba(59, 130, 246, 0.16);
}

.card-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 22px;
}

.pinned-mini {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 4px 10px;
  border-radius: 999px;
}

.pinned-mini i {
  color: var(--accent-bright);
}

.status-pill-mini {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
}

.status-pill-mini.available {
  background: var(--status-success-bg);
  color: var(--status-success-text);
  border: 1px solid var(--status-success-border);
}

.feature-icon {
  background: rgba(59, 130, 246, 0.13);
  border: 1px solid rgba(96, 165, 250, 0.3);
  width: 56px;
  height: 56px;
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 23px;
  border-radius: 16px;
  margin-bottom: 20px;
  box-shadow: 0 0 24px rgba(59, 130, 246, 0.2);
  transition: transform 0.3s var(--ease-out);
}

.feature-card:hover .feature-icon {
  transform: scale(1.07);
}

.card-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--accent-light);
  margin-bottom: 6px;
}

.feature-card h3 {
  margin-bottom: 10px;
  font-size: 20px;
}

.feature-card p {
  font-size: 13.5px;
  line-height: 1.7;
  flex: 1;
}

.card-footer-meta {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 11px;
}

.meta-avatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(59, 130, 246, 0.14);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 14px;
  flex-shrink: 0;
}

.card-footer-meta strong {
  display: block;
  font-size: 12.5px;
  color: var(--text);
}

.card-footer-meta small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

/* Workflow Steps Section */
.workflow-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}

.workflow-step {
  background: linear-gradient(155deg, rgba(17, 24, 39, 0.78), rgba(11, 15, 26, 0.9));
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 26px;
  transition: transform 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
}

.workflow-step:hover {
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.38);
}

.workflow-num {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.workflow-num span {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: var(--accent-bright);
  background: rgba(59, 130, 246, 0.14);
  border: 1px solid rgba(59, 130, 246, 0.3);
  padding: 4px 10px;
  border-radius: 999px;
}

.workflow-num i {
  font-size: 20px;
  color: var(--accent-light);
}

.workflow-step h3 {
  margin-bottom: 8px;
}

.workflow-step p {
  font-size: 13.5px;
}

.workflow-arrow {
  color: var(--accent-bright);
  font-size: 18px;
  opacity: 0.65;
}

/* Closing CTA */
.closing-cta {
  margin-bottom: 80px;
}

.closing-cta-inner {
  text-align: center;
  padding: 60px 28px;
  border: 1px solid rgba(59, 130, 246, 0.24);
  border-radius: 26px;
  background:
    radial-gradient(ellipse at 50% -30%, rgba(59, 130, 246, 0.25), transparent 70%),
    linear-gradient(160deg, rgba(15, 23, 42, 0.82), rgba(9, 13, 22, 0.94));
  box-shadow: 0 28px 80px -20px rgba(0, 0, 0, 0.6);
}

.closing-cta h2 {
  font-size: clamp(28px, 4.2vw, 44px);
  margin: 16px 0 12px;
}

.closing-cta p {
  margin: 0 auto 28px;
  max-width: 520px;
  font-size: 15px;
}

.cta-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Separate Slide-Over Pricing Drawer (Smooth Reversible Motion) */
.sheet-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  pointer-events: none;
}

.sheet-overlay.is-mounted {
  display: block;
  pointer-events: auto;
}

.sheet-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(4, 7, 14, 0.72);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  opacity: 0;
  transition: opacity 0.38s ease, backdrop-filter 0.38s ease, -webkit-backdrop-filter 0.38s ease;
  cursor: default;
}

.sheet-overlay.is-open .sheet-backdrop {
  opacity: 1;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.pricing-sheet {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(540px, 100%);
  padding: 34px clamp(22px, 4vw, 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 90% 10%, rgba(59, 130, 246, 0.18), transparent 55%),
    linear-gradient(160deg, #111a2e 0%, #090d18 70%);
  border-left: 1px solid rgba(96, 165, 250, 0.24);
  box-shadow: -35px 0 100px rgba(0, 0, 0, 0.65);
  transform: translateX(104%);
  opacity: 0.6;
  transition: transform 0.44s var(--ease-out), opacity 0.32s ease;
  outline: 0;
}

.sheet-overlay.is-open .pricing-sheet {
  transform: translateX(0);
  opacity: 1;
}

.sheet-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}

.sheet-close {
  width: 40px;
  height: 40px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
  font-size: 16px;
  transition: all 0.24s var(--ease-out);
}

.sheet-close:hover {
  background: rgba(59, 130, 246, 0.18);
  border-color: rgba(96, 165, 250, 0.45);
  transform: rotate(90deg);
}

.pricing-sheet h2 {
  font-size: clamp(26px, 3.5vw, 34px);
  margin: 0 0 10px;
}

.sheet-lead {
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 24px;
}

.sheet-plans {
  display: grid;
  gap: 16px;
}

.sheet-plan {
  padding: 24px;
  border: 1px solid rgba(59, 130, 246, 0.25);
  background: rgba(15, 23, 42, 0.65);
  border-radius: 20px;
  transition: transform 0.28s var(--ease-out), border-color 0.28s var(--ease-out), box-shadow 0.28s var(--ease-out);
}

.sheet-plan.active-plan {
  background:
    radial-gradient(circle at 100% 0%, rgba(59, 130, 246, 0.18), transparent 60%),
    rgba(17, 25, 44, 0.85);
  border-color: rgba(96, 165, 250, 0.4);
  box-shadow: 0 16px 40px -15px rgba(0, 0, 0, 0.5), 0 0 24px rgba(59, 130, 246, 0.12);
}

.sheet-plan:hover {
  transform: translateY(-3px);
}

.plan-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.plan-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(59, 130, 246, 0.16);
  border: 1px solid rgba(96, 165, 250, 0.35);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 15px;
}

.plan-icon-box.muted {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--border);
  color: var(--muted);
}

.sheet-plan h3 {
  font-size: 21px;
  margin: 6px 0 4px;
}

.sheet-price {
  font: 800 32px/1.25 'Manrope', sans-serif;
  letter-spacing: -0.04em;
  color: var(--text);
  margin: 6px 0 10px;
}

.sheet-price small {
  font-size: 12.5px;
  color: var(--muted);
  font-weight: 500;
  letter-spacing: 0;
}

.sheet-plan p {
  font-size: 13.5px;
  margin: 0 0 16px;
}

.plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  gap: 9px;
}

.plan-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-secondary);
}

.plan-features li i {
  color: var(--accent-bright);
  font-size: 12px;
  width: 18px;
  text-align: center;
}

.muted-plan {
  background: rgba(255, 255, 255, 0.025);
  border-color: var(--border);
}

.sheet-handle {
  display: none;
}

/* Footer */
.footer {
  margin-top: 80px;
  padding: 36px 0 48px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--muted);
}

.footer-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.footer-copy i {
  color: var(--accent-bright);
}

/* ==========================================================================
   PUBLIC BOOKING PAGE (Для того, кто записывается)
   ========================================================================== */
.public-page {
  --accent: #3b82f6;
  --accent-bright: #60a5fa;
  background:
    radial-gradient(ellipse 65% 40% at 50% -10%, rgba(59, 130, 246, 0.22), transparent 70%),
    #080b12;
}

.public-page.theme-ocean { --accent: #0ea5e9; --accent-bright: #38bdf8; }
.public-page.theme-rose { --accent: #3b82f6; --accent-bright: #60a5fa; }
.public-page.theme-forest { --accent: #2563eb; --accent-bright: #60a5fa; }
.public-page.theme-amber { --accent: #3b82f6; --accent-bright: #38bdf8; }

.public-top {
  width: min(980px, calc(100% - 40px));
  margin: 14px auto 0;
  height: 70px;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(11, 15, 25, 0.76);
  backdrop-filter: blur(16px);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.mini-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.mini-brand-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--accent-bright), var(--accent-dark));
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 15px;
  box-shadow: 0 0 18px rgba(59, 130, 246, 0.4);
}

.mini-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.mini-brand-text strong {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--text);
}

.mini-brand-text small {
  font-size: 11px;
  color: var(--muted);
}

.public-top-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.public-wrap {
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
}

.public-hero {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: stretch;
  gap: 36px;
  padding: 32px 0 44px;
}

.public-cover {
  min-height: 340px;
  border-radius: 24px;
  padding: 20px;
  border: 1px solid rgba(59, 130, 246, 0.26);
  background:
    radial-gradient(circle at 50% 35%, rgba(59, 130, 246, 0.35), transparent 68%),
    linear-gradient(155deg, #121d33 0%, #0a101d 100%);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  box-shadow: 0 28px 80px -18px rgba(0, 0, 0, 0.65), 0 0 32px rgba(59, 130, 246, 0.14);
  position: relative;
}

.cover-top-badges {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.cover-top-badges .pinned-tag {
  position: static;
}

.cover-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: auto 0;
}

.cover-symbol {
  width: 84px;
  height: 84px;
  border-radius: 22px;
  background: rgba(59, 130, 246, 0.16);
  border: 1px solid rgba(96, 165, 250, 0.4);
  box-shadow: 0 0 36px rgba(59, 130, 246, 0.35);
  color: var(--accent-bright);
  font-size: 36px;
  display: grid;
  place-items: center;
  backdrop-filter: blur(10px);
}

.cover-subtitle {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: var(--accent-light);
}

.cover-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 13px;
  background: rgba(9, 13, 22, 0.75);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  font-size: 11.5px;
  color: var(--text-secondary);
}

.cover-bottom-bar i {
  color: var(--accent-bright);
  margin-right: 5px;
}

.public-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.public-head h1 {
  font-size: clamp(32px, 4vw, 48px);
  margin: 14px 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.public-head h1 .check-badge {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.public-head p {
  line-height: 1.75;
  font-size: 15px;
  margin-bottom: 22px;
  color: var(--muted);
}

.public-details-grid {
  display: grid;
  gap: 10px;
}

.public-detail {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 15px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 13px;
  transition: all 0.24s var(--ease-out);
}

.public-detail.interactive:hover {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(59, 130, 246, 0.1);
  transform: translateX(4px);
}

.detail-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(59, 130, 246, 0.14);
  border: 1px solid rgba(59, 130, 246, 0.28);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 14px;
  flex-shrink: 0;
}

.detail-body {
  flex: 1;
  min-width: 0;
}

.detail-body small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

.detail-body strong {
  display: block;
  font-size: 13.5px;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.detail-arrow {
  color: var(--muted);
  font-size: 12px;
  transition: transform 0.24s var(--ease-out), color 0.24s var(--ease-out);
}

.public-detail.interactive:hover .detail-arrow {
  color: var(--accent-bright);
  transform: translate(2px, -2px);
}

/* Booking Wizard Card */
.booking-card {
  max-width: 840px;
  margin: 0 auto;
  background: linear-gradient(160deg, rgba(16, 23, 39, 0.88), rgba(10, 14, 24, 0.95));
  backdrop-filter: blur(20px);
  border: 1px solid rgba(59, 130, 246, 0.24);
  border-radius: 26px;
  box-shadow: 0 32px 95px -20px rgba(0, 0, 0, 0.65), 0 0 36px rgba(59, 130, 246, 0.1);
  padding: clamp(22px, 4.5vw, 44px);
}

.booking-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 26px;
  flex-wrap: wrap;
}

.booking-intro h2 {
  font-size: clamp(24px, 3.5vw, 32px);
  margin: 8px 0 4px;
}

.booking-intro p {
  font-size: 13.5px;
}

.live-selection-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.28);
  color: var(--accent-light);
  font-size: 12px;
  font-weight: 600;
}

.live-selection-pill i {
  color: var(--accent-bright);
}

/* Wizard Progress Bar */
.wizard-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 28px;
}

.progress-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 6px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  transition: all 0.28s var(--ease-out);
}

.progress-item b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font-size: 12px;
  transition: all 0.28s var(--ease-out);
}

.progress-item.is-active {
  color: #ffffff;
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.3);
}

.progress-item.is-active b {
  background: linear-gradient(135deg, var(--accent-bright), var(--accent-dark));
  border-color: var(--accent-light);
  color: #ffffff;
  box-shadow: 0 0 18px rgba(59, 130, 246, 0.5);
}

.progress-item.is-complete {
  color: var(--accent-light);
}

.progress-item.is-complete b {
  background: rgba(16, 185, 129, 0.18);
  border-color: rgba(16, 185, 129, 0.45);
  color: #10b981;
}

.progress-track {
  height: 2px;
  flex: 1;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  overflow: hidden;
  min-width: 12px;
}

/* Wizard Panels & Animated Transitions */
.wizard-viewport {
  position: relative;
  overflow: hidden;
  min-height: 290px;
}

.wizard-panel {
  display: none;
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.34s ease, transform 0.34s var(--ease-out);
}

.wizard-panel.is-current,
.wizard-panel.is-entering,
.wizard-panel.is-entering-back,
.wizard-panel.is-leaving,
.wizard-panel.is-leaving-back {
  display: block;
}

.wizard-panel.is-current {
  opacity: 1;
  transform: translateX(0);
}

.wizard-panel.is-entering {
  opacity: 0;
  transform: translateX(22px);
}

.wizard-panel.is-entering-back {
  opacity: 0;
  transform: translateX(-22px);
}

.wizard-panel.is-leaving {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateX(-22px);
  pointer-events: none;
}

.wizard-panel.is-leaving-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateX(22px);
  pointer-events: none;
}

.wizard-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.wizard-heading {
  margin-bottom: 20px;
}

.wizard-heading-row .wizard-heading {
  margin-bottom: 0;
}

.wizard-heading h3 {
  font-size: clamp(20px, 2.8vw, 25px);
  margin: 6px 0 4px;
}

.wizard-heading p {
  font-size: 13px;
}

/* Search Box in Step 1 (ReHub style) */
.service-search-box {
  position: relative;
  width: min(260px, 100%);
}

.service-search-box i {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: 13px;
  pointer-events: none;
}

.service-search-box input {
  padding: 10px 14px 10px 36px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid var(--border);
  font-size: 13px;
}

.service-search-box input:focus {
  border-color: var(--accent-bright);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

/* Service Choice Cards */
.service-options {
  display: grid;
  gap: 11px;
}

.service-choice {
  border: 1px solid var(--border);
  background: rgba(15, 23, 42, 0.62);
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
  color: var(--text);
  border-radius: 16px;
  transition: all 0.24s var(--ease-out);
}

.service-choice-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.service-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.26);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 17px;
  flex-shrink: 0;
  transition: all 0.24s var(--ease-out);
}

.service-info strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text);
}

.service-info small {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  margin-top: 4px;
  font-size: 12px;
}

.service-info small i {
  color: var(--accent-bright);
}

.service-choice-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.service-choice b {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
  background: rgba(59, 130, 246, 0.14);
  border: 1px solid rgba(59, 130, 246, 0.28);
  padding: 6px 12px;
  border-radius: 10px;
  white-space: nowrap;
}

.service-check-indicator {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  display: grid;
  place-items: center;
  font-size: 12px;
  transition: all 0.24s var(--ease-out);
}

.service-choice:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(30, 41, 59, 0.75);
}

.service-choice:hover .service-check-indicator {
  color: var(--accent-bright);
  border-color: rgba(59, 130, 246, 0.4);
  transform: translateX(2px);
}

.service-choice.active {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.22), rgba(15, 23, 42, 0.88));
  border-color: var(--accent-bright);
  box-shadow: 0 12px 30px -10px rgba(37, 99, 235, 0.4), inset 0 0 0 1px rgba(96, 165, 250, 0.25);
}

.service-choice.active .service-icon-box {
  background: linear-gradient(135deg, var(--accent-bright), var(--accent-dark));
  color: #ffffff;
  border-color: transparent;
}

.service-choice.active .service-check-indicator {
  background: var(--accent);
  border-color: var(--accent-bright);
  color: #ffffff;
}

/* Quick 7-Day Strip & Date Picker (Step 2) */
.quick-date-strip {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.quick-date-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 6px;
  border-radius: 13px;
  border: 1px solid var(--border);
  background: rgba(15, 23, 42, 0.6);
  color: var(--text);
  transition: all 0.22s var(--ease-out);
}

.quick-date-btn small {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.quick-date-btn strong {
  font-size: 15px;
  font-weight: 800;
}

.quick-date-btn span {
  font-size: 10px;
  color: var(--muted-deep);
}

.quick-date-btn:hover {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(59, 130, 246, 0.1);
  transform: translateY(-2px);
}

.quick-date-btn.active {
  background: linear-gradient(145deg, var(--accent), var(--accent-dark));
  border-color: var(--accent-light);
  color: #ffffff;
  box-shadow: 0 8px 22px -6px rgba(37, 99, 235, 0.55);
}

.quick-date-btn.active small,
.quick-date-btn.active span {
  color: rgba(255, 255, 255, 0.85);
}

.date-input-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 14px;
  border-radius: 13px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid var(--border);
  margin-bottom: 18px;
}

.date-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 12.5px;
  margin: 0;
  white-space: nowrap;
}

.date-label i {
  color: var(--accent-bright);
}

#book-date {
  max-width: 210px;
  padding: 8px 12px;
  border-radius: 10px;
  color-scheme: dark;
}

.slots-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-secondary);
}

.slots-header i {
  color: var(--accent-bright);
  margin-right: 5px;
}

.slots-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-light);
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.25);
  padding: 3px 10px;
  border-radius: 999px;
}

.time-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 10px;
  min-height: 84px;
  align-content: flex-start;
}

.time-options button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: rgba(15, 23, 42, 0.72);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 700;
  font-size: 13.5px;
  transition: all 0.22s var(--ease-out);
}

.time-options button i {
  font-size: 12px;
  color: var(--accent-bright);
  transition: color 0.22s var(--ease-out);
}

.time-options button:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.14);
}

.time-options button.active {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  border-color: var(--accent-light);
  color: #ffffff;
  box-shadow: 0 8px 22px -6px rgba(37, 99, 235, 0.6);
}

.time-options button.active i {
  color: #ffffff;
}

/* Step 3 Summary & Form */
.booking-summary {
  padding: 16px 18px;
  background: linear-gradient(145deg, rgba(37, 99, 235, 0.14), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(59, 130, 246, 0.32);
  border-radius: 16px;
  color: var(--text);
  font-size: 13px;
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.summary-chip {
  display: flex;
  align-items: center;
  gap: 10px;
}

.summary-chip i {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(59, 130, 246, 0.18);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  font-size: 14px;
  flex-shrink: 0;
}

.summary-chip small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

.summary-chip strong {
  display: block;
  font-size: 13px;
  color: #ffffff;
}

.form-field {
  margin-bottom: 14px;
}

.label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  flex-wrap: wrap;
}

label {
  display: block;
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 12.5px;
  margin-bottom: 7px;
}

.label-row label {
  margin-bottom: 0;
}

label i {
  color: var(--accent-bright);
  margin-right: 5px;
}

.contact-quick-pills {
  display: flex;
  gap: 6px;
}

.contact-pill {
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s var(--ease-out);
}

.contact-pill.active,
.contact-pill:hover {
  background: rgba(59, 130, 246, 0.16);
  border-color: rgba(59, 130, 246, 0.4);
  color: var(--accent-light);
}

input,
select,
textarea {
  width: 100%;
  outline: 0;
  background: rgba(15, 23, 42, 0.72);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 13px 15px;
  transition: border-color 0.22s var(--ease-out), box-shadow 0.22s var(--ease-out);
  font-size: 13.5px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent-bright);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

textarea {
  resize: vertical;
}

.wizard-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
}

.wizard-actions.end {
  justify-content: flex-end;
}

.wizard-actions .button {
  min-height: 48px;
}

.subtle {
  font-size: 12.5px;
  color: var(--muted);
}

.empty-state-box {
  padding: 32px;
  text-align: center;
  border-radius: 16px;
  border: 1px dashed var(--border);
  color: var(--muted);
}

.empty-state-box i {
  font-size: 28px;
  color: var(--accent-bright);
  margin-bottom: 10px;
}

/* Booking Confirmation Panel */
.success-panel {
  text-align: center;
  padding: 36px 20px;
  animation: entrance-up 0.5s var(--ease-out) both;
}

.success-icon {
  width: 72px;
  height: 72px;
  background: linear-gradient(135deg, #10b981, #059669);
  border: 2px solid rgba(167, 243, 208, 0.4);
  box-shadow: 0 0 35px rgba(16, 185, 129, 0.4);
  border-radius: 22px;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  color: #ffffff;
  font-size: 30px;
}

.success-panel h2 {
  margin: 14px 0 10px;
}

.success-panel p {
  margin: 0 auto 26px;
  max-width: 480px;
  font-size: 14.5px;
}

.public-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 34px 0 64px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
  font-size: 12.5px;
  color: var(--muted);
}

.public-footer a {
  color: var(--accent-bright);
  font-weight: 700;
}

.footer-link-btn {
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-secondary);
  padding: 7px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: all 0.22s var(--ease-out);
}

.footer-link-btn:hover {
  border-color: rgba(59, 130, 246, 0.4);
  color: #fff;
  background: rgba(59, 130, 246, 0.12);
}

/* ==========================================================================
   AUTH & DASHBOARD COMPATIBILITY (Unified ReHub Blue Theme)
   ========================================================================== */
.auth-wrap {
  min-height: calc(100vh - 94px);
  display: grid;
  place-items: center;
  padding: 45px 20px;
}

.auth-card {
  width: min(100%, 460px);
  background: linear-gradient(155deg, rgba(17, 24, 39, 0.9), rgba(10, 14, 24, 0.96));
  border: 1px solid rgba(59, 130, 246, 0.24);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 28px 85px rgba(0, 0, 0, 0.55);
}

.auth-card h1 { font-size: 32px; margin: 12px 0; }
.auth-card > p { margin-bottom: 25px; }
.auth-card form, .form-stack { display: grid; gap: 16px; }

.slug-field {
  display: flex;
  align-items: center;
  background: rgba(15, 23, 42, 0.72);
  border-radius: 12px;
  margin-top: 7px;
  border: 1px solid var(--border);
  overflow: hidden;
}

.slug-field span { padding-left: 13px; color: var(--accent-light); }
.slug-field input { border: 0; margin: 0; }
.auth-bottom { margin-top: 25px; color: var(--muted); text-align: center; }
.auth-bottom a { color: var(--accent-bright); font-weight: 600; }
.error-banner {
  border: 1px solid rgba(244, 63, 94, 0.4);
  background: rgba(244, 63, 94, 0.14);
  color: #fda4af;
  padding: 12px 14px;
  border-radius: 12px;
  margin: 15px 0;
}

/* Toast Notification */
.toast {
  z-index: 300;
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: rgba(15, 23, 42, 0.94);
  backdrop-filter: blur(14px);
  color: #fff;
  border: 1px solid rgba(59, 130, 246, 0.45);
  border-radius: 14px;
  padding: 13px 18px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.65), 0 0 24px rgba(59, 130, 246, 0.22);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: all 0.28s var(--ease-out);
  font-weight: 600;
}

.toast .toast-icon {
  color: var(--accent-bright);
  font-size: 16px;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

.toast.bad {
  border-color: rgba(244, 63, 94, 0.6);
}

.toast.bad .toast-icon {
  color: #f43f5e;
}

/* Control Panel / Dashboard */
.app-layout { display: flex; min-height: 100vh; }
.sidebar {
  width: 265px;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 28px 18px;
  background: rgba(10, 14, 24, 0.92);
  backdrop-filter: blur(18px);
  border-right: 1px solid var(--border);
}
.sidebar > .brand { padding: 0 10px; font-size: 19px; }
.workspace {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 12px;
  background: rgba(17, 24, 39, 0.78);
  border-radius: 14px;
  border: 1px solid var(--border);
  margin: 30px 0 22px;
}
.workspace-avatar, .user-avatar {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--accent-bright), var(--accent-dark));
  color: white;
  border-radius: 11px;
  width: 38px;
  height: 38px;
  font-weight: 800;
}
.workspace > div:nth-child(2) { flex: 1; min-width: 0; }
.workspace strong, .workspace span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace strong { font-size: 12.5px; }
.workspace span { color: var(--muted); font-size: 11px; }
.sidebar-label { color: var(--muted-deep); letter-spacing: 0.14em; font-size: 10px; font-weight: 800; margin: 14px 12px 10px; }
.side-nav { display: grid; gap: 4px; }
.side-nav button, .sidebar-bottom button, .sidebar-bottom a {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  border-radius: 12px;
  text-align: left;
  width: 100%;
  padding: 11px 13px;
  font-weight: 600;
  font-size: 13px;
  transition: all 0.22s var(--ease-out);
}
.side-nav button span { width: 20px; font-size: 16px; text-align: center; line-height: 1; color: var(--accent-bright); }
.side-nav button:hover, .side-nav button.active {
  background: rgba(59, 130, 246, 0.14);
  border-color: rgba(59, 130, 246, 0.28);
  color: #ffffff;
}
.sidebar-bottom { margin-top: auto; border-top: 1px solid var(--border); padding-top: 14px; }
.sidebar-bottom button:hover, .sidebar-bottom a:hover { color: white; }
.dash-main { flex: 1; min-width: 0; }
.dash-top {
  height: 76px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 42px;
  background: rgba(10, 14, 24, 0.65);
  backdrop-filter: blur(14px);
}
.crumb { color: var(--muted); font-size: 12.5px; }
.crumb span { margin-left: 8px; color: var(--text); font-weight: 700; }
.dash-top-right { display: flex; align-items: center; gap: 15px; }
.user-avatar { width: 34px; height: 34px; border-radius: 50%; font-size: 12px; }
.dash-content { padding: 42px min(4%, 56px) 84px; max-width: 1520px; margin: auto; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 32px; }
.page-heading h1 { font-size: 38px; margin: 10px 0; }
.punct { color: var(--accent-bright); }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.stat, .panel {
  background: linear-gradient(155deg, rgba(17, 24, 39, 0.86), rgba(11, 15, 26, 0.94));
  border: 1px solid var(--border);
  border-radius: 20px;
}
.stat { padding: 24px 26px; }
.stat-top { display: flex; justify-content: space-between; color: var(--muted); font-size: 12.5px; }
.stat-top span { color: var(--accent-bright); font-size: 18px; }
.stat > strong { display: block; font-size: 38px; margin: 8px 0 0; font-family: 'Manrope', sans-serif; letter-spacing: -0.04em; }
.stat small { color: var(--muted); font-size: 11.5px; }
.dual-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; }
.panel { padding: 26px; min-width: 0; }
.panel h2 { font-size: 20px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; gap: 12px; }
.panel-head p, .muted { color: var(--muted); font-size: 12.5px; margin-top: 6px; }
.subtle-button { border: 0; background: none; padding: 6px 0; color: var(--accent-bright); font-weight: 700; font-size: 12.5px; }
.booking-row, .service-row { display: flex; align-items: center; gap: 13px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.booking-row:last-child, .service-row:last-child { border: 0; }
.circle-avatar {
  flex-shrink: 0;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.16);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: var(--accent-bright);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  font-weight: 800;
}
.row-detail { flex: 1; }
.row-detail strong, .row-detail small, .row-end strong, .row-end small, .service-row strong, .service-row small { display: block; }
.row-detail strong, .row-end strong, .service-row strong { font-size: 13px; }
.row-detail small, .row-end small, .service-row small { color: var(--muted); font-size: 11.5px; }
.row-end { text-align: right; }
.share-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.share-symbol { position: absolute; right: -3px; top: -50px; font-size: 160px; color: rgba(59, 130, 246, 0.08); pointer-events: none; }
.copy-line {
  margin-top: 20px;
  display: flex;
  align-items: center;
  background: rgba(9, 13, 22, 0.85);
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  gap: 10px;
}
.copy-line span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-secondary); font-size: 12px; }
.copy-line button { border: 0; background: rgba(59, 130, 246, 0.2); color: var(--accent-light); font-weight: 700; font-size: 11.5px; padding: 8px 12px; border-radius: 8px; }
.empty { padding: 24px; color: var(--muted); text-align: center; }
.table-scroll { overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; min-width: 580px; }
th { color: var(--muted); font-size: 10.5px; letter-spacing: 0.07em; font-weight: 700; padding: 13px; border-bottom: 1px solid var(--border); }
td { font-size: 12.5px; color: var(--text-secondary); padding: 16px 13px; border-bottom: 1px solid var(--border); }
td strong { color: white; }
.status-select { min-width: 130px; padding: 8px; border-radius: 9px; background: rgba(15, 23, 42, 0.85); }
.service-layout { grid-template-columns: 1.2fr 1fr; }
.service-row > div:first-child { flex: 1; }
.service-actions { display: flex; gap: 7px; }
.icon-btn { background: rgba(255, 255, 255, 0.05); color: var(--text-secondary); border: 1px solid var(--border); border-radius: 9px; width: 34px; height: 34px; font-size: 15px; display: grid; place-items: center; }
.icon-btn.danger { color: #fda4af; }
.schedule-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.schedule-row label { display: flex; align-items: center; gap: 9px; min-width: 110px; margin: 0; }
.schedule-row input[type=checkbox], .switch-label input { width: 17px; height: 17px; accent-color: var(--accent); margin: 0; }
.schedule-row > div { display: flex; align-items: center; gap: 6px; }
.schedule-row input[type=time] { width: 106px; padding: 8px; }
.off-days { margin-top: 20px; }
.off-days > div { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }
.themes { display: flex; gap: 12px; flex-wrap: wrap; }
.theme-choice { width: 44px; height: 44px; border-radius: 50%; background: var(--swatch); border: 3px solid #1e293b; display: grid; place-items: center; color: #0f172a; }
.theme-choice span { opacity: 0; }
.theme-choice.selected { outline: 2px solid var(--accent-bright); }
.theme-choice.selected span { opacity: 1; }
.theme-preview {
  --preview-color: #3b82f6;
  background: linear-gradient(135deg, var(--preview-color), #0f172a);
  padding: 28px;
  border-radius: 16px;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

/* Entrance Animations */
@keyframes entrance-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero .eyebrow,
.hero h1,
.hero-lead,
.hero-buttons,
.hero-badges,
.hero-preview,
.public-cover,
.public-head,
.booking-card {
  animation: entrance-up 0.68s both var(--ease-spring);
}

.hero h1 { animation-delay: 0.06s; }
.hero-lead { animation-delay: 0.12s; }
.hero-buttons { animation-delay: 0.18s; }
.hero-badges { animation-delay: 0.22s; }
.hero-preview { animation-delay: 0.28s; }
.public-head { animation-delay: 0.08s; }
.booking-card { animation-delay: 0.15s; }

/* Responsive Design */
@media (max-width: 920px) {
  .sidebar { width: 220px; }
  .dash-top { padding: 0 22px; }
  .dash-content { padding: 28px 22px; }
  .dual-grid, .feature-grid, .workflow-grid { grid-template-columns: 1fr; }
  .workflow-arrow { display: none; }
  .hero-preview { grid-template-columns: 1fr; }
  .public-hero { grid-template-columns: 1fr; gap: 24px; }
  .public-cover { min-height: 280px; }
}

@media (max-width: 680px) {
  .wrap, .public-wrap, .public-top { width: calc(100% - 28px); }
  .topbar { height: 64px; padding: 0 14px; }
  .topbar .nav-menu, .topbar nav { display: none; }
  .brand-subtitle { display: none; }
  .hero { padding-top: 38px; }
  .hero-preview { padding: 14px; margin-top: 40px; }
  .section { padding-top: 72px; }
  .footer, .public-footer { flex-direction: column; align-items: flex-start; }
  .app-layout { display: block; }
  .sidebar { height: auto; position: relative; width: 100%; padding: 12px 15px; border-right: 0; border-bottom: 1px solid var(--border); }
  .workspace, .sidebar-label, .sidebar-bottom { display: none; }
  .side-nav { display: flex; overflow-x: auto; gap: 6px; }
  .side-nav button { width: auto; white-space: nowrap; padding: 9px 12px; font-size: 12px; }
  .stats-grid { grid-template-columns: 1fr; }
  .pricing-sheet {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: min(88dvh, 780px);
    border-left: 0;
    border-top: 1px solid rgba(96, 165, 250, 0.3);
    border-radius: 24px 24px 0 0;
    transform: translateY(105%);
    padding: 18px 20px 28px;
  }
  .sheet-overlay.is-open .pricing-sheet { transform: translateY(0); }
  .sheet-handle {
    display: block;
    width: 42px;
    height: 4px;
    border-radius: 9px;
    background: rgba(148, 163, 184, 0.4);
    margin: 0 auto 18px;
  }
  .quick-date-strip {
    grid-template-columns: repeat(4, 1fr);
  }
  .quick-date-btn:nth-child(n+5) {
    display: none;
  }
  .booking-card { padding: 20px 16px; }
  .wizard-progress { gap: 4px; }
  .progress-item span { display: none; }
  .progress-item.is-active span { display: inline; }
  .date-input-wrapper { flex-direction: column; align-items: stretch; }
  #book-date { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* v3: calm customer-first surfaces and centered plans */
body::before,.ambient-three {opacity:.15!important}
.ambient-one,.ambient-two {opacity:.26!important;filter:blur(100px)!important}
.bg-grid-overlay {opacity:.16!important}
.public-cover,.hero-preview,.booking-card,.sheet-plan,.public-head {box-shadow:0 10px 38px rgba(0,0,0,.16)!important}
.cover-center {display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.cover-center .cover-subtitle {text-align:center}
.pricing-modal-overlay {position:fixed!important;inset:0!important;display:none;align-items:center;justify-content:center;z-index:9999;padding:20px!important;overflow-y:auto}
.pricing-modal-overlay.is-mounted {display:flex!important}
.pricing-modal-overlay .sheet-backdrop {position:fixed!important;inset:0!important;width:100%;height:100%;background:rgba(4,7,14,.76);backdrop-filter:blur(9px);opacity:0;transition:opacity .32s ease}
.pricing-modal-overlay.is-open .sheet-backdrop {opacity:1}
.pricing-modal-overlay .pricing-modal {position:relative!important;inset:auto!important;right:auto!important;left:auto!important;bottom:auto!important;margin:auto!important;transform:translateY(22px) scale(.95)!important;opacity:0!important;visibility:visible!important;max-width:830px!important;width:min(100%,830px)!important;max-height:min(90vh,850px)!important;overflow-y:auto;overflow-x:hidden;border-radius:24px!important;box-shadow:0 34px 90px rgba(0,0,0,.50)!important;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .28s ease!important;scrollbar-width:thin;scrollbar-color:#474e70 transparent}
.pricing-modal-overlay.is-open .pricing-modal {transform:translateY(0) scale(1)!important;opacity:1!important}
.pricing-modal-overlay .sheet-handle {display:none!important}
.pricing-modal-overlay .sheet-plans {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pricing-modal-overlay .sheet-plan {min-width:0;max-width:none}
.reminder-choice {padding:20px;margin:18px 0;border:1px solid #333a50;border-radius:18px;background:rgba(21,26,39,.75)}
.reminder-choice-title {font-weight:750;font-size:17px;display:flex;align-items:center;gap:10px}
.reminder-choice p {color:#a8afc1;font-size:13px;margin:9px 0 16px}
.reminder-methods {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.reminder-method {position:relative;display:block;cursor:pointer;min-width:0}
.reminder-method input {position:absolute;opacity:0;pointer-events:none}
.reminder-method span {height:100%;min-height:112px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;border:1px solid #353e57;border-radius:14px;padding:14px;background:#171c2a;transition:background .22s,border-color .22s,transform .22s,box-shadow .22s}
.reminder-method input:checked + span {border-color:#829dff;background:#212a43;box-shadow:inset 0 0 0 1px rgba(130,157,255,.2)}
.reminder-method input:focus-visible + span {outline:2px solid #9bafff;outline-offset:3px}
.reminder-method:hover span {transform:translateY(-2px);border-color:#7f92c5}
.reminder-method input:disabled + span {opacity:.42;cursor:not-allowed}
.reminder-method i {color:#9bb5ff;font-size:19px}
.reminder-method b {color:#f6f8fe;font-size:13px}
.reminder-method small {color:#a5adbf;font-size:11px;line-height:1.45}
.reminder-lead {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;font-weight:600}
.reminder-lead select,.customer-controls select {width:auto;min-width:165px;border:1px solid #38435e;border-radius:10px;background:#131a29;color:#fff;padding:11px}
.customer-page {background:#0b0e17;color:#f7f8fd;min-height:100vh}
.customer-top {padding-top:24px;display:flex;justify-content:space-between;align-items:center}
.customer-wrap {max-width:800px;margin:0 auto;padding:70px 20px 110px}
.customer-intro h1 {font-size:clamp(38px,7vw,58px);margin:12px 0}
.customer-intro p,.customer-settings p {color:#adb6c9;line-height:1.6}
.customer-appointment,.customer-settings {background:#141a29;border:1px solid #303a51;border-radius:24px;padding:28px;margin-top:24px;box-shadow:0 14px 35px rgba(0,0,0,.15)}
.customer-appointment-row {display:flex;justify-content:space-between;gap:12px;align-items:center}
.customer-appointment h2 {font-size:clamp(23px,4vw,35px);margin:20px 0}
.customer-facts {display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.customer-facts div {display:flex;align-items:center;gap:8px;background:#20283b;border-radius:10px;padding:10px 14px}
.customer-facts i {color:#9baeff}
.customer-appointment .button {margin-top:18px}
.section-title h2 {font-size:26px;margin:8px 0}
.customer-methods {margin:22px 0}
.customer-controls {display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap}
.customer-controls label {display:flex;flex-direction:column;gap:10px;font-weight:600;font-size:13px}
.customer-connect {display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #303a51;margin-top:24px;padding-top:22px}
.customer-connect p {margin:6px 0 0;font-size:13px}
.customer-connect .button {flex-shrink:0}
.customer-notice {font-size:13px;padding:14px;border:1px solid #343c52;border-radius:10px;margin-top:15px}
.customer-notifications {border-top:1px solid #303a51;margin-top:25px;padding-top:22px}
.customer-notifications h3 {margin-bottom:17px}
.notice-item {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #293144}
.notice-item small {color:#99a5bc;white-space:nowrap}
.customer-bottom {font-size:12px;text-align:center;color:#8e98af;margin:24px}
html {scroll-behavior:smooth}
@media(max-width:760px){.pricing-modal-overlay{padding:12px!important}.pricing-modal-overlay .pricing-modal {border-radius:18px!important;max-height:calc(100dvh - 24px)!important}.pricing-modal-overlay .sheet-plans {grid-template-columns:1fr}.reminder-methods {grid-template-columns:1fr}.reminder-method span {min-height:60px;display:grid;grid-template-columns:25px 1fr;gap:4px 10px;align-items:center}.reminder-method b {grid-column:2;grid-row:1}.reminder-method small {grid-column:2;grid-row:2}.reminder-method i {grid-row:1 / span 2}.customer-wrap {padding-top:44px}.customer-settings,.customer-appointment {padding:20px}.customer-connect {align-items:stretch;flex-direction:column}.customer-connect .button {width:100%}}
@media(prefers-reduced-motion:reduce){.pricing-modal-overlay *, .reminder-method span {transition:none!important;animation:none!important}}

/* v3 · customer-first visual polish */
:root {
  --bg:#090c13;
  --bg-elevated:#0e1420;
  --surface:rgba(16,22,34,.92);
  --surface-solid:#121a28;
  --surface2:rgba(24,32,48,.89);
  --accent:#558ef2;
  --accent-bright:#83aaff;
  --accent-light:#b5cbff;
  --accent-glow:rgba(55,109,218,.12);
  --border:rgba(165,185,220,.105);
  --border-strong:rgba(112,150,221,.30);
  --text:#edf2fb;
  --muted:#a3afc4;
  --muted-deep:#8391aa;
}
[hidden]{display:none!important}
html{scrollbar-color:#37445a #0c111b}
body{
  background:radial-gradient(ellipse 50% 34% at 48% -16%,rgba(55,88,155,.075),transparent 78%),var(--bg);
}
.ambient{opacity:.12;filter:blur(125px);animation:none}
.bg-grid-overlay{opacity:.34}
.gradient-text,.hero-title-accent{background-image:none!important;text-shadow:none!important;-webkit-text-fill-color:initial!important}
.gradient-text{color:#a5bef6!important}
.hero-title-accent{color:var(--text)!important}
.hero h1,.hero h2,.page-heading h1{text-shadow:none!important}
.button,.fake-btn,.pill,.service-choice,.feature-card,.panel,.preview-frame{
  box-shadow:none;
}
.button{transition:background .22s ease,border-color .22s ease,transform .22s cubic-bezier(.22,1,.36,1),color .22s ease,box-shadow .22s ease}
.button:hover:not(:disabled),.fake-btn:hover{transform:translateY(-2px)}
.button:active:not(:disabled){transform:translateY(0) scale(.985)}
.button:not(.outline):not(.ghost){background:#427bdb;border-color:#548de9;box-shadow:0 7px 19px rgba(21,57,126,.15)}
.button:not(.outline):not(.ghost):hover{background:#5087e7;box-shadow:0 10px 26px rgba(30,76,157,.19)}
.button.outline{background:rgba(25,35,51,.55);border-color:var(--border)}
.button.outline:hover{background:rgba(48,72,109,.46);border-color:var(--border-strong)}
.feature-card,.rehub-card,.workflow-step,.panel,.booking-card{
  background:rgba(15,21,33,.90);border-color:var(--border);box-shadow:0 8px 24px rgba(0,0,0,.07)
}
.feature-card:hover,.rehub-card:hover{border-color:var(--border-strong);box-shadow:0 12px 30px rgba(0,0,0,.11)}
.hero-preview{background:rgba(14,20,30,.86)!important;border-color:var(--border)!important;box-shadow:0 14px 40px rgba(0,0,0,.13)!important}
.rehub-preview-card,.preview-left,.preview-right,.public-cover{box-shadow:none!important}
.check-badge{box-shadow:none!important;text-shadow:none!important}
.cover-center{left:50%;transform:translateX(-50%);text-align:center}
.cover-center .cover-subtitle{letter-spacing:.14em}
.public-cover{background-color:#18263c;background-image:linear-gradient(135deg,#203454,#111b2b);}
.public-cover::after{opacity:.3}
.public-cover .cover-top-badges,.public-cover .cover-bottom-bar{opacity:.83}
.public-head h1{letter-spacing:-.05em}
.public-detail{background:rgba(17,23,35,.75)!important}
.service-choice,.quick-date-btn{transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.service-choice:hover,.quick-date-btn:hover{box-shadow:none!important;transform:translateY(-2px)}
.service-choice.active,.quick-date-btn.active{box-shadow:0 0 0 1px rgba(80,133,221,.14)!important}
.booking-intro .live-selection-pill{box-shadow:none}
.wizard-panel.is-current{will-change:opacity,transform}
.tab-screen.screen-enter{animation:booking-screen-in .28s both cubic-bezier(.22,1,.36,1)}
.tab-screen.screen-leave{position:absolute;top:0;left:0;right:0;pointer-events:none;animation:booking-screen-out .24s both ease-in}
.dash-content{position:relative}
@keyframes booking-screen-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes booking-screen-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}
.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.scroll-reveal.is-revealed{opacity:1;transform:translateY(0)}
body.sheet-open{overflow:hidden}
.sheet-overlay{display:none;place-items:center;padding:20px 14px;overflow:hidden}
.sheet-overlay.is-mounted{display:grid}
.sheet-backdrop{background:rgba(3,7,13,.78);transition:opacity .34s ease,backdrop-filter .34s ease}
.sheet-overlay.is-open .sheet-backdrop{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pricing-sheet{
  position:relative;inset:auto;z-index:1;
  width:min(860px,100%);height:auto;max-height:min(85dvh,850px);overflow:auto;
  background:linear-gradient(150deg,#141e2e,#0d1420 84%);
  padding:28px clamp(20px,4vw,38px) 32px;
  border:1px solid rgba(139,171,222,.18);border-radius:24px;
  box-shadow:0 22px 80px rgba(0,0,0,.45);
  transform:translateY(20px) scale(.965);opacity:0;
  transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .24s ease;
}
.sheet-overlay.is-open .pricing-sheet{transform:translateY(0) scale(1);opacity:1}
.sheet-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sheet-plan{padding:22px;border-radius:17px;background:rgba(18,28,44,.82)!important;box-shadow:none!important;border-color:var(--border)}
.sheet-plan.active-plan{border-color:rgba(105,144,213,.32)}
.sheet-plan:hover{box-shadow:none;transform:translateY(-2px)}
.sheet-close{background:rgba(255,255,255,.03)}
.sheet-close:hover{transform:rotate(90deg);background:rgba(86,133,201,.12)}
.sheet-handle{display:none!important}
.pricing-sheet h2{font-size:clamp(23px,3vw,31px)}
.sheet-price{font-size:29px}
/* Site booking reminder selection */
.booking-reminder-choices{border:1px solid var(--border);border-radius:17px;margin:24px 0 20px;padding:20px;background:rgba(18,26,41,.8)}
.booking-reminder-choices legend{padding:0 8px;font-weight:750;color:var(--text);font-size:14px}
.booking-reminder-choices legend i{color:var(--accent-light);margin-right:8px}
.booking-reminder-choices>p{font-size:12px;margin:1px 0 16px}
.remind-radio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.remind-option{display:flex;gap:10px;align-items:center;position:relative;padding:13px 10px;background:#121c2b;border:1px solid var(--border);border-radius:13px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.remind-option:hover{background:#19263a;transform:translateY(-1px)}
.remind-option:has(input:checked){border-color:rgba(105,152,234,.68);background:rgba(57,104,182,.14)}
.remind-option input{position:absolute;opacity:0;width:1px;height:1px}
.remind-option:focus-within{outline:2px solid rgba(111,170,255,.5);outline-offset:2px}
.remind-option-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;background:rgba(100,149,229,.12);color:var(--accent-light)}
.remind-option span:nth-of-type(2){min-width:0;display:flex;flex-direction:column;gap:2px}
.remind-option strong{font-size:12px;color:var(--text)}
.remind-option small{font-size:10px;color:var(--muted)}
.remind-option>.fa-check{margin-left:auto;font-size:11px;color:var(--accent-light);opacity:0}
.remind-option:has(input:checked)>.fa-check{opacity:1}
.remind-lead-label{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 8px;color:var(--muted);font-size:12px}
.remind-lead-label select{max-width:180px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:#131e2e;color:var(--text)}
.remind-help{font-size:11px!important;margin:9px 0 0!important;color:var(--muted)}
.success-cabinet-note{max-width:510px;margin:12px auto 20px;color:var(--muted);font-size:13px}
.success-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
/* Customer account */
.customer-page{min-height:100vh;background:radial-gradient(ellipse at 58% -22%,rgba(64,105,182,.10),transparent 60%),#0a0e16}
.customer-top{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:24px 0;gap:14px}
.customer-shell{width:min(1080px,calc(100% - 32px));margin:28px auto 64px}
.customer-title{margin-bottom:28px}
.customer-title h1{font-size:clamp(31px,4.3vw,48px);margin:10px 0 9px}
.customer-title p{font-size:14px}
.customer-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:18px;align-items:start}
.customer-page .panel{border-radius:21px;padding:26px;background:#111924;border:1px solid rgba(153,177,218,.13)}
.customer-card-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.09em;font-weight:750;color:var(--accent-light);margin-bottom:23px}
.customer-card-label>span:first-child i{margin-right:6px}
.booking-state{font-size:10px;letter-spacing:0;padding:5px 10px;border:1px solid rgba(80,179,141,.25);border-radius:99px;color:#8ee0bc;background:rgba(45,150,107,.08)}
.booking-state.cancelled,.booking-state.no_show{color:#e9a3a3;border-color:rgba(237,122,122,.2)}
.visit-date{display:flex;align-items:baseline;gap:13px;margin-bottom:13px}
.visit-date strong{font-size:52px;letter-spacing:-.07em;line-height:1;color:var(--text)}
.visit-date span{color:var(--accent-light);font-size:14px}
.customer-visit h2{font-size:26px;line-height:1.25}
.customer-visit>p{margin-top:12px;color:var(--muted);font-size:13px}
.customer-visit>p i{margin-right:5px}
.visit-facts{margin:26px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.visit-facts div{border:1px solid var(--border);border-radius:12px;background:#151f2d;padding:12px 13px;min-width:0}
.visit-facts div span,.visit-facts div strong{display:block;overflow-wrap:anywhere}
.visit-facts div span{color:var(--muted);font-size:10px;margin-bottom:5px}
.visit-facts div strong{font-size:12px;color:var(--text)}
.customer-security{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px;margin-bottom:20px}
.customer-security i{color:var(--accent-light);margin-top:2px}
.customer-alerts>h2{font-size:25px;margin-bottom:7px}
.customer-alerts>p{font-size:13px;margin-bottom:20px}
.notify-choices{display:grid;gap:10px}
.notify-choice{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;cursor:pointer;position:relative;background:#151e2b;transition:border-color .2s,background .2s,transform .2s}
.notify-choice:hover{background:#1a283b;transform:translateY(-1px)}
.notify-choice:has(input:checked){border-color:rgba(98,154,238,.58);background:#1b2a42}
.notify-choice:focus-within{outline:2px solid rgba(120,163,233,.55);outline-offset:2px}
.notify-choice input{position:absolute;opacity:0;width:1px;height:1px}
.notify-choice-icon{flex:none;width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:rgba(96,148,227,.12);color:#9cbef3;font-size:16px}
.notify-choice span:nth-of-type(2){flex:1;display:flex;flex-direction:column;gap:3px}
.notify-choice strong{font-size:13px;font-weight:700;color:var(--text)}
.notify-choice small{font-size:11px;color:var(--muted);line-height:1.5}
.notify-check{color:var(--accent-light);opacity:0;transition:opacity .18s}
.notify-choice:has(input:checked) .notify-check{opacity:1}
.customer-lead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0!important;font-size:13px;color:var(--text)}
.customer-lead select{width:auto;max-width:210px;border-radius:10px;background:#151f2e;border:1px solid var(--border);color:var(--text);padding:9px 13px}
.notify-actions{border-top:1px solid var(--border);margin-top:19px;padding-top:17px;animation:booking-screen-in .27s both}
.notify-actions>p{font-size:12px;margin-bottom:14px;display:flex;gap:8px}
.notify-actions>p i{margin-top:3px;color:var(--accent-light)}
.notify-actions>small{display:block;margin-top:9px;font-size:11px}
.success-mini{color:#91ddb9!important}
.inline-alert{border:1px solid rgba(231,175,111,.22);background:rgba(185,115,48,.08);color:#deb68f;font-size:12px;padding:12px;border-radius:10px;margin-bottom:16px}
.customer-inbox{margin-top:18px}
.customer-inbox .panel-head{margin-bottom:22px}
.customer-inbox .panel-head h2{font-size:20px}
.customer-notice{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--border)}
.customer-notice-mark{display:grid;place-items:center;width:35px;height:35px;flex:none;background:rgba(71,121,198,.11);color:var(--accent-light);border-radius:11px}
.customer-notice strong{display:block;font-size:13px;margin-bottom:3px}
.customer-notice p{font-size:12px;color:var(--muted)}
.customer-notice small{font-size:10px;color:var(--muted-deep)}
.customer-inbox-empty{padding:30px;text-align:center}
.customer-inbox-empty i{font-size:23px;color:var(--accent-light);margin-bottom:9px}
.customer-inbox-empty p{max-width:420px;margin:auto}
.customer-footer{margin:auto auto 40px;color:var(--muted-deep);font-size:12px;display:flex;justify-content:center;gap:7px}
.customer-footer a{color:var(--accent-light)}
.anim-in{animation:booking-screen-in .45s both cubic-bezier(.22,1,.36,1)}
.customer-grid>article:nth-child(2){animation-delay:.08s}
.customer-inbox{animation-delay:.14s}
/* Dashboard reminders */
.sidebar .side-nav button i{width:20px;text-align:center;color:#91a4c5;font-size:13px;margin-right:9px}
.side-nav button.active i{color:#b4c9f4}
.reminder-owner-card{min-height:260px}
.reminder-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(90,142,229,.1);color:var(--accent-light)}
.reminder-owner-switch{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);background:rgba(20,30,45,.7);border-radius:13px;padding:15px;margin-top:22px;cursor:pointer}
.reminder-owner-switch span:first-child{display:flex;flex-direction:column;gap:4px}
.reminder-owner-switch strong{color:var(--text);font-size:13px}
.reminder-owner-switch small{color:var(--muted);font-size:11px}
.reminder-owner-switch input{position:absolute;opacity:0;width:1px;height:1px}
.toggle-knob{width:43px;height:24px;border-radius:99px;background:#39465c;position:relative;flex:none;transition:background .24s}
.toggle-knob:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#cfd9e8;transition:transform .24s}
.reminder-owner-switch input:checked+.toggle-knob{background:#3976d4}
.reminder-owner-switch input:checked+.toggle-knob:before{transform:translateX(19px);background:white}
.reminder-owner-switch:focus-within{outline:2px solid rgba(92,143,233,.7);outline-offset:2px}
.reminder-info-row{display:flex;gap:10px;margin-top:18px;color:var(--muted);font-size:12px}
.reminder-info-row i{margin-top:3px;color:var(--accent-light)}
.reminder-count{font:800 52px/1.2 Manrope,Inter,sans-serif;color:var(--text);margin:12px 0}
.reminder-owner-card>.button{margin-top:24px}
.reminder-owner-list{margin-top:18px}
.text-success{color:#9be4c4}.text-warning{color:#e8be86}
@media (max-width:900px){.customer-grid{grid-template-columns:1fr}.pricing-sheet{max-height:90dvh}}
@media (max-width:680px){
  .sheet-overlay{padding:14px;place-items:center}
  .pricing-sheet{inset:auto;bottom:auto;top:auto;left:auto;right:auto;width:100%;height:auto;max-height:calc(100dvh - 28px);padding:21px 18px 24px;border:1px solid rgba(139,171,222,.18);border-radius:21px;transform:translateY(18px) scale(.965)}
  .sheet-overlay.is-open .pricing-sheet{transform:translateY(0) scale(1)}
  .sheet-plans{grid-template-columns:1fr}
  .sheet-plan{padding:17px}
  .sheet-top{margin-bottom:13px}
  .sheet-price{font-size:25px}
  .remind-radio-grid{grid-template-columns:1fr}
  .remind-option{padding:12px 14px}
  .remind-lead-label{align-items:flex-start;flex-direction:column;gap:8px}
  .remind-lead-label select{width:100%;max-width:none}
  .booking-reminder-choices{padding:16px 13px}
  .customer-top{width:calc(100% - 32px);padding:15px 0}
  .customer-shell{margin:17px auto 40px}
  .customer-page .panel{padding:19px;border-radius:17px}
  .visit-date strong{font-size:46px}
  .visit-facts{gap:8px}
  .customer-lead{align-items:stretch;flex-direction:column}
  .customer-lead select{width:100%;max-width:none}
  .reminder-owner-switch{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none}}

/* Small screens: avoid clipping the account actions or overflowing showcase cards. */
@media(max-width:680px){
  .topbar{gap:8px;padding:0 10px;min-width:0}
  .topbar .brand{gap:7px;flex:0 0 auto}
  .topbar .mark{width:30px;height:30px}
  .topbar .brand-title{font-size:12px;letter-spacing:-.03em}
  .topbar .top-actions{gap:4px;margin-left:auto;min-width:0}
  .topbar .top-actions .muted-link{padding:8px 3px;font-size:11px;gap:4px}
  .topbar .top-actions .button{padding:9px 8px;font-size:11px;gap:3px;min-width:0}
  .topbar .top-actions .button .btn-arrow{display:none}
  .topbar .top-actions .button span{font-size:0}
  .topbar .top-actions .button span::after{content:'Создать';font-size:11px}
  .hero-preview{grid-template-columns:minmax(0,1fr);overflow:hidden}
  .preview-left,.preview-right,.rehub-preview-card{width:100%;min-width:0}
  .preview-head{flex-wrap:wrap}
  .week{max-width:100%;overflow-x:auto;scrollbar-width:none}
  .week::-webkit-scrollbar{height:0}
}

/* Booking v4 — consistent layered controls and calm visual hierarchy */
body { background: radial-gradient(ellipse 65% 35% at 50% -13%,rgba(45,83,145,.11),transparent 75%),var(--bg); }
.ambient { opacity:.28; filter:blur(105px); }
.punct { display:none; }

/* Only one dashboard screen exists in the document flow at any moment */
.tab-screen.screen-leave { position:relative; top:auto;left:auto;right:auto;pointer-events:none;animation:booking-screen-out .145s ease-in both; }
.tab-screen.screen-enter { animation:booking-screen-in .3s var(--ease-spring) both; }
.dash-content { min-height:400px; isolation:isolate; }
@keyframes booking-screen-in { from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)} }
@keyframes booking-screen-out { from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)} }
.side-nav button { transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--ease-spring); }
.side-nav button:hover { transform:translateX(2px); }

/* Clear reversible modal; avoid unrelated elevated-glow overrides */
.sheet-overlay.is-mounted { pointer-events:auto; }
.sheet-overlay .pricing-sheet { box-shadow:0 20px 68px rgba(0,0,0,.44)!important; }
.sheet-overlay .sheet-backdrop { transition:opacity .33s ease,backdrop-filter .33s ease!important; }
.pricing-modal-overlay .pricing-modal {
  transform:translateY(19px) scale(.965)!important;
  opacity:0!important;
  transition:transform .38s var(--ease-spring),opacity .32s ease!important;
}
.pricing-modal-overlay.is-open .pricing-modal {transform:translateY(0) scale(1)!important;opacity:1!important}
.sheet-plan {transition:background .24s,border-color .24s,transform .25s var(--ease-spring)!important}

/* Media upload / preview */
.cover-manager {display:grid;gap:10px;margin:3px 0 10px;}
.cover-upload-preview {
  min-height:178px;border-radius:15px;border:1px dashed rgba(128,158,209,.33);
  background-color:#121d2d;background-size:cover;background-position:center;
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  transition:background-color .22s ease,border-color .22s ease;
}
.cover-upload-preview:before {content:"";position:absolute;inset:0;background:#09121e;opacity:var(--cover-dim,.45);pointer-events:none}
.cover-upload-preview.has-cover {border-style:solid;border-color:rgba(113,154,224,.22)}
.cover-upload-preview #cover-upload-placeholder {z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;}
.cover-upload-preview #cover-upload-placeholder[hidden] {display:none!important}
.cover-upload-preview #cover-upload-placeholder i {font-size:25px;color:var(--accent-light)}
.cover-preview-stamp {position:absolute;left:12px;bottom:12px;z-index:1;background:rgba(8,15,26,.66);border:1px solid rgba(173,194,227,.13);border-radius:7px;padding:4px 9px;font-size:10px;color:#c9d7ed;backdrop-filter:blur(8px)}
.cover-upload-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;}
.cover-upload-button{cursor:pointer!important;margin:0!important;width:auto!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:43px;}
.cover-upload-button.is-loading{opacity:.5;pointer-events:none}
.cover-upload-actions .button{min-height:43px}
.upload-hint{font-size:11px;margin-bottom:4px}
.cover-dimmer-label{display:flex!important;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary)!important;font-size:12px}
.cover-dimmer-label output{color:var(--accent-light);font-weight:700;font-variant-numeric:tabular-nums;}
.public-cover.has-cover:before{content:"";position:absolute;inset:0;background:#071020;opacity:var(--cover-dim,.45);pointer-events:none;z-index:0;}
.public-cover.has-cover .cover-top-badges,.public-cover.has-cover .cover-center,.public-cover.has-cover .cover-bottom-bar{position:relative;z-index:1;}

/* Native range styled as a solid track with fill and matching handle */
input[type="range"]{
  -webkit-appearance:none;appearance:none;display:block;width:100%;height:7px;
  padding:0;margin:7px 0 14px;border:0;outline:0;border-radius:99px;
  background:linear-gradient(to right,#538ce4 0%,#538ce4 var(--range-fill,43%),#29354a var(--range-fill,43%),#29354a 100%);
  box-shadow:none;cursor:pointer;transition:filter .18s ease;
}
input[type="range"]:hover{filter:brightness(1.12)}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  background:#c5d8fb;border:3px solid #3e7cdf;box-shadow:0 0 0 3px rgba(67,122,218,.12);transition:transform .18s ease,box-shadow .18s ease;
}
input[type="range"]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#c5d8fb;border:3px solid #3e7cdf;box-shadow:0 0 0 3px rgba(67,122,218,.12)}
input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(67,122,218,.28)}

/* Unified, overlaid select lists */
.ui-select{display:block;position:relative;width:100%;min-width:0}
.ui-select-native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}
.ui-select-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:43px;max-width:100%;background:#121d2c;color:var(--text);
  border:1px solid rgba(136,161,202,.2);border-radius:11px;padding:10px 13px;
  font:500 13px/1.5 Inter,system-ui,sans-serif;text-align:left;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ui-select-trigger:hover{background:#1a283b;border-color:rgba(115,160,232,.43)}
.ui-select-trigger[aria-expanded="true"],.ui-select-trigger:focus-visible{border-color:#538bdf;outline:0;box-shadow:0 0 0 3px rgba(74,131,222,.13)}
.ui-select-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ui-select-chevron{color:#91add5;flex:none;transition:transform .21s var(--ease-spring)}
.ui-select-trigger[aria-expanded="true"] .ui-select-chevron{transform:rotate(180deg)}
.ui-select-menu{
  position:fixed;z-index:20050;overflow-y:auto;overscroll-behavior:contain;
  padding:5px;border:1px solid rgba(105,145,205,.28);border-radius:13px;
  background:#151f2e;box-shadow:0 14px 38px rgba(0,0,0,.33);
  opacity:0;transform:translateY(-7px) scale(.985);transform-origin:top center;
  transition:opacity .18s ease,transform .2s var(--ease-spring);
  scrollbar-color:#466ca5 transparent;scrollbar-width:thin;
}
.ui-select-menu.upward{transform-origin:bottom center;transform:translateY(7px) scale(.985)}
.ui-select-menu.is-open{opacity:1;transform:translateY(0) scale(1)}
.ui-select-menu.is-closing{opacity:0;transform:translateY(-4px) scale(.985);pointer-events:none}
.ui-select-menu.upward.is-closing{transform:translateY(4px) scale(.985)}
.ui-select-option{
  display:flex;align-items:center;width:100%;min-height:38px;min-width:0;
  padding:9px 11px;text-align:left;background:transparent;border:0;border-radius:8px;
  color:#cbd7eb;font-size:12px;font-weight:500;cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.ui-select-option:hover,.ui-select-option:focus-visible{background:#263d5d;color:#fff;outline:none}
.ui-select-option.is-selected{background:rgba(69,125,219,.18);color:#b8d5ff}
.ui-select-option.is-selected:after{content:"✓";margin-left:auto;font-weight:700;color:#81b4ff}
.ui-select-option:disabled{opacity:.35;cursor:default}
.status-select + .ui-select-trigger{min-width:125px}
/* Reuse the exact same appearance in all locations */
.remind-lead-label .ui-select,.customer-lead .ui-select{width:100%;min-width:165px;max-width:240px;}
.remind-lead-label .ui-select-trigger,.customer-lead .ui-select-trigger{width:100%;}

/* Unified disclosures expand without pushing the surrounding UI abruptly */
.ui-disclosure{overflow:hidden;margin-top:3px;border:1px solid rgba(136,161,202,.16);border-radius:11px;background:rgba(19,31,47,.55)}
.ui-disclosure summary{padding:12px 14px;list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-secondary);font-size:12px;font-weight:600;transition:background .18s ease}
.ui-disclosure summary::-webkit-details-marker{display:none}
.ui-disclosure summary:hover{background:rgba(69,118,185,.12)}
.ui-disclosure .disclosure-arrow{margin-left:auto;font-size:11px;color:var(--accent-light);transition:transform .24s var(--ease-spring)}
.ui-disclosure[open] .disclosure-arrow{transform:rotate(180deg)}
.ui-disclosure-content{display:grid;gap:11px;padding:0 14px 13px;animation:disclosure-in .24s var(--ease-spring) both}
.ui-disclosure.is-closing .ui-disclosure-content{animation:disclosure-out .18s ease both}
@keyframes disclosure-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes disclosure-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}
.ui-disclosure-content .button{justify-self:start}

/* Checkboxes and toggles follow the same palette */
input[type="checkbox"],input[type="radio"]{accent-color:#538bdf}
.switch-label{display:flex;align-items:center;gap:10px}
.switch-label input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:40px;height:23px;min-width:40px;margin:0;padding:0;border:1px solid #495972;border-radius:999px;background:#334257;position:relative;box-shadow:none;cursor:pointer;transition:background .22s,border-color .22s}
.switch-label input[type="checkbox"]:before{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#b9cbe6;transition:transform .22s var(--ease-spring)}
.switch-label input[type="checkbox"]:checked{background:#427dda;border-color:#427dda}
.switch-label input[type="checkbox"]:checked:before{transform:translateX(17px);background:#fff}
.switch-label input[type="checkbox"]:focus-visible{outline:2px solid #83b2fb;outline-offset:2px}
@media(max-width:680px){.cover-upload-actions>.button{flex:1}.cover-upload-preview{min-height:155px}.remind-lead-label .ui-select,.customer-lead .ui-select{width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){.tab-screen.screen-enter,.tab-screen.screen-leave,.ui-disclosure-content,.ui-disclosure.is-closing .ui-disclosure-content{animation:none!important}.pricing-modal-overlay .pricing-modal,.ui-select-menu,.sheet-backdrop{transition:none!important}}

/* V5. Polished ReHub Blue controls and account management */
html{scrollbar-width:thin;scrollbar-color:#385578 transparent}
*{scrollbar-width:thin;scrollbar-color:#385578 transparent}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#385578;border-radius:999px;border:1px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#547caa}

.wizard-heading-row{display:block!important}
.service-search-box{width:100%!important;max-width:none!important;margin:14px 0 17px!important}
.service-search-box input{width:100%;min-height:46px}

.workspace.profile-open{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;
  border:1px solid var(--border);transition:background .2s,border-color .2s,transform .2s}
.workspace.profile-open:hover{background:rgba(59,130,246,.10);border-color:var(--border-strong);transform:translateY(-1px)}
.user-avatar.profile-open{border:1px solid rgba(255,255,255,.12);cursor:pointer;
  transition:transform .22s var(--ease-spring),box-shadow .22s ease}
.user-avatar.profile-open:hover{transform:scale(1.065);box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.booking-delete{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}
.actions-column{width:76px}

.logo-upload-preview{width:122px;height:122px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:19px;border:1px dashed rgba(119,166,232,.36);
  background:linear-gradient(140deg,rgba(22,33,50,.94),rgba(12,18,30,.96));color:#87afd9;
  font-size:28px;transition:border-color .22s ease,background .22s ease}
.logo-upload-preview.has-logo{background:rgba(10,16,26,.9);border-style:solid}
.logo-upload-preview img{width:100%;height:100%;object-fit:contain;padding:9px}
.logo-manager{display:grid;justify-items:start;gap:12px}
.cover-manager{min-width:0}
.public-cover .cover-symbol.has-logo{width:114px;height:114px;background:rgba(8,13,23,.55);
  border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:13px;display:grid;place-items:center;
  backdrop-filter:blur(8px);overflow:hidden}
.public-company-logo{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.20))}

.suggest-wrap{position:relative;min-width:0}
.suggest-wrap>label{display:block}
.suggest-popover{position:absolute;left:0;right:0;top:calc(100% - 12px);z-index:500;
  border:1px solid rgba(108,151,211,.34);border-radius:13px;background:#111d2d;
  box-shadow:0 18px 40px rgba(0,0,0,.38);max-height:264px;overflow-y:auto;padding:6px;
  opacity:1;animation:suggest-in .19s var(--ease-spring) both}
.suggest-popover.hidden{display:none!important}
.suggest-item{width:100%;border:0;border-radius:9px;background:transparent;color:#d7e5f7;
  text-align:left;padding:10px 11px;font-size:12px;line-height:1.5;transition:background .18s,color .18s;}
.suggest-item:hover,.suggest-item:focus-visible{background:#263d5e;color:#fff;outline:0}
.suggest-credit{display:block;color:#768aa6;font-size:10px;margin-top:4px}
@keyframes suggest-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.native-time-hidden{display:none!important}
.scroll-time-input{min-width:98px;display:inline-flex;align-items:center;justify-content:center;
  gap:1px;background:#111e2d;border:1px solid rgba(127,165,210,.23);border-radius:11px;
  padding:0 7px;min-height:42px;transition:border-color .2s ease,box-shadow .2s ease}
.scroll-time-input:hover,.scroll-time-input:focus-within{border-color:#5289ce;box-shadow:0 0 0 3px rgba(59,130,246,.11)}
.scroll-time-input .clock-part{border:0!important;background:transparent!important;box-shadow:none!important;
  outline:0!important;width:27px!important;min-width:27px!important;padding:0!important;margin:0!important;
  min-height:38px!important;color:var(--text);font-size:13px!important;text-align:center;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;}
.scroll-time-input .clock-part:focus{color:#a8c9ff}
.scroll-time-input .time-separator{color:var(--muted);font-weight:700;pointer-events:none}

body.modal-locked{overflow:hidden}
.app-modal-overlay{position:fixed;inset:0;z-index:30000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(2,6,15,.0);backdrop-filter:blur(0px);
  transition:background .23s ease,backdrop-filter .23s ease}
.app-modal-overlay.is-visible{display:flex}
.app-modal-overlay.is-open{background:rgba(2,6,15,.76);backdrop-filter:blur(8px)}
.app-modal-overlay.is-closing{background:transparent;backdrop-filter:blur(0px)}
.app-modal-card{width:min(100%,480px);max-height:min(90vh,850px);overflow-y:auto;padding:27px;
  border:1px solid rgba(118,158,216,.23);border-radius:23px;
  background:linear-gradient(150deg,#182337,#0b1423);box-shadow:0 24px 90px rgba(0,0,0,.48);
  opacity:0;transform:translateY(19px) scale(.965);
  transition:opacity .26s ease,transform .32s var(--ease-spring)}
.app-modal-overlay.is-open .app-modal-card{opacity:1;transform:translateY(0) scale(1)}
.app-modal-overlay.is-closing .app-modal-card{opacity:0;transform:translateY(12px) scale(.98);
  transition-duration:.20s}
.app-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.app-modal-heading h2{font-size:26px;margin-top:6px}
.account-ids{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:21px}
.account-ids span{color:#99b1d0;background:rgba(61,96,149,.15);border:1px solid rgba(110,150,215,.17);
  border-radius:9px;padding:7px 10px;font-size:11px}
.account-ids b{color:#d9e8ff;font-variant-numeric:tabular-nums}
.dialog-actions{display:flex;gap:11px;margin-top:25px;justify-content:flex-end}
.dialog-actions .button{min-width:105px;justify-content:center}
.danger-button{background:#a52c50!important;color:white!important;border-color:#bf4868!important}
.danger-button:hover{background:#ba305b!important}
.confirmation-card>p{line-height:1.7}
@media(max-width:680px){.app-modal-card{padding:22px;border-radius:18px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}}
@media(prefers-reduced-motion:reduce){.app-modal-overlay,.app-modal-card,.suggest-popover{animation:none!important;transition:none!important}}

/* v6 · ReHub Blue — единая ширина, профиль и редактор */
.public-page{background:#080d16}
.public-top,.public-wrap{width:min(980px,calc(100% - 36px))}
.public-hero.profile-hero{display:block;max-width:100%;padding:26px 0 20px}
.profile-hero .public-cover{min-height:212px;border-radius:22px 22px 0 0;border:1px solid rgba(101,146,209,.22);border-bottom:0;box-shadow:none;display:flex;align-items:flex-start;justify-content:flex-end;padding:22px 27px;background-position:center 46%;}
.profile-hero .public-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(10,17,28,.55),rgba(9,17,30,.17));z-index:0}
.profile-cover-caption{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;background:rgba(11,19,31,.68);backdrop-filter:blur(11px);border:1px solid rgba(255,255,255,.1);padding:9px 13px;border-radius:10px;color:#eaf2ff;font-size:12px;font-weight:700}
.profile-cover-caption span{font-weight:500;color:#b5c7e0}
.public-head.profile-head{padding:25px clamp(20px,4vw,36px) 28px;display:block;background:linear-gradient(145deg,#131e2f,#0d1624);border:1px solid rgba(101,146,209,.22);border-radius:0 0 22px 22px}
.profile-info-row{display:flex;justify-content:space-between;align-items:center;gap:24px}
.profile-copy{flex:1;min-width:0}
.profile-copy .profile-category{font-size:10px;letter-spacing:.13em;color:#7fadf1}
.profile-copy h1{margin:7px 0 12px;font-family:'Manrope',sans-serif;font-size:clamp(27px,3.5vw,42px);overflow-wrap:anywhere;letter-spacing:-.045em}
.profile-copy p{max-width:670px;line-height:1.72;color:#b4c6dd;font-size:14px;margin-bottom:18px;white-space:pre-line}
.profile-logo-right{order:2;flex:0 0 clamp(88px,14vw,144px);width:clamp(88px,14vw,144px);height:clamp(88px,14vw,144px);display:grid;place-items:center;background:linear-gradient(145deg,#233959,#101a2a);border:1px solid rgba(113,162,230,.3);border-radius:23px;color:#8ebafd;font-size:42px;box-shadow:0 10px 36px rgba(0,0,0,.18);overflow:hidden}
.profile-logo-right img{width:100%;height:100%;object-fit:contain;padding:11px}
.profile-head .profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px;margin-top:24px}
.profile-head .public-detail{min-width:0;background:rgba(15,24,39,.76)!important}
.profile-book-button{min-width:155px;justify-content:center}
.booking-card{max-width:none;width:100%;border-radius:22px;box-shadow:0 14px 42px rgba(0,0,0,.18);border-color:rgba(105,148,208,.22)}
.pub-block{max-width:100%;margin:0 auto 16px;padding:27px clamp(20px,4vw,34px);background:linear-gradient(160deg,#111c2c,#0c1522);border:1px solid rgba(107,146,203,.21);border-radius:20px;animation:builder-public-enter .5s cubic-bezier(.2,1,.25,1) both}
.pub-section-heading{margin-bottom:19px}.pub-section-heading h2{font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(21px,3vw,28px);margin-top:5px}
.pub-section-heading .eyebrow{font-size:10px;color:#7eafea}
.pub-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pub-menu-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #263a54;border-radius:13px;padding:15px;background:#17263a;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.pub-menu-item:hover{background:#203451;border-color:#648ed0;transform:translateY(-2px)}
.pub-menu-item strong{display:block;color:#e9f1ff;font-size:13px}.pub-menu-item small{display:block;color:#91a9c8;font-size:11px;margin-top:5px}.pub-menu-item>span{font-size:13px;color:#bfd8fa;white-space:nowrap}.pub-menu-item>span i{font-size:10px;margin-left:6px}
.pub-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:0}.pub-schedule-day{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 3px;border-bottom:1px solid rgba(112,151,207,.13);font-size:12px}.pub-schedule-day>span{color:#98afcd}.pub-schedule-day>strong{font-size:12px;font-weight:600;color:#ebf4ff}
.pub-contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.pub-contact{display:flex;align-items:center;gap:12px;padding:15px;background:#17263a;border:1px solid #263a54;border-radius:13px;color:#d8e7fb;font-size:13px;overflow-wrap:anywhere}.pub-contact i{color:#83b9ff}
.pub-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pub-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:13px;border:1px solid rgba(128,161,208,.23)}.pub-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}.pub-gallery a:hover img{transform:scale(1.05)}
.pub-text{color:#b3c7e3;line-height:1.8;white-space:pre-line;font-size:14px}
.pub-divider{height:1px;background:linear-gradient(90deg,transparent,#45658c,transparent)}.pub-block-divider{background:none;border:0;padding:9px 12px}
.pub-cta{display:flex;align-items:center;justify-content:space-between;gap:20px}.pub-cta h2{font-size:24px;margin-top:8px}.pub-cta .button{white-space:nowrap}
@keyframes builder-public-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Панель конструктора — три рабочие колонки */
.builder-top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.builder-layout{display:grid;grid-template-columns:minmax(192px,220px) minmax(330px,1fr) minmax(205px,265px);gap:16px;align-items:start}
.builder-layout .panel{padding:20px;background:#111b2b;border-color:#2b3d59;box-shadow:none;border-radius:17px}
.builder-layout h2{font-size:16px;margin:0 0 5px}.builder-library .muted{font-size:11px;margin-bottom:15px}
.builder-types{display:flex;flex-direction:column;gap:6px}
.builder-library-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 9px;background:transparent;color:#cdddf2;text-align:left;border:1px solid transparent;border-radius:11px;transition:background .2s,border-color .2s,transform .2s;cursor:pointer}
.builder-library-item:hover{background:#1a2c45;border-color:#385987;transform:translateX(2px)}.builder-lib-icon{width:33px;height:33px;flex:0 0 33px;border-radius:10px;background:#233b5a;color:#a4c9fb;display:grid;place-items:center;font-size:13px}
.builder-lib-caption{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.builder-lib-caption strong{font-size:12px}.builder-lib-caption small{font-size:10px;line-height:1.4;color:#8199b9}.builder-lib-add{font-size:10px;color:#8aaddd}
.builder-library-help,.builder-hint{margin-top:16px;font-size:11px;color:#89a1c0;line-height:1.65}
.builder-stage{min-width:0;border:1px solid #2b3d59;border-radius:17px;background:#0c1522;overflow:hidden}.builder-stage-head{display:flex;justify-content:space-between;gap:10px;padding:18px 19px;border-bottom:1px solid #273851;color:#d7e7fc;font-size:12px;font-weight:700}.builder-stage-head i{color:#83b6f8;margin-right:8px}.builder-stage-head .muted{font-size:11px;font-weight:500;color:#88a3c4}.builder-stage-head .builder-unsaved{color:#ffca83}
.builder-blocks{padding:17px;display:flex;flex-direction:column;gap:13px;min-height:160px}.builder-edit-card{background:#121f31;border:1px solid #304461;border-radius:15px;overflow:hidden;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.builder-edit-card:hover{background:#172840;border-color:#5279b2}.builder-edit-card.selected{border-color:#6ca4f2;box-shadow:0 0 0 1px rgba(103,163,242,.24)}.builder-edit-card.drag-over{outline:2px dashed #8ab6f5;outline-offset:3px}.builder-edit-card.dragging{opacity:.5}.builder-edit-card.is-hidden{opacity:.5}
.builder-edit-header{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:12px 13px;border-bottom:1px solid #293d56}.builder-edit-title{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#dae8fa}.builder-edit-title>i{color:#7cadf3}.builder-edit-title .builder-grip{color:#697d9b;cursor:grab}.builder-edit-controls{display:flex;align-items:center;gap:2px}.builder-control{display:inline-flex;justify-content:center;align-items:center;width:29px;height:29px;background:transparent;border:0;border-radius:8px;color:#93acca;font-size:11px;cursor:pointer;transition:background .18s,color .18s}.builder-control:hover{color:#fff;background:#2a4466}
.builder-card-preview{padding:17px 19px;color:#e3eefb}.builder-card-preview h3{font-family:Manrope,system-ui,sans-serif;font-size:17px;margin:0 0 10px}.builder-card-preview hr{border:0;border-top:1px solid #3c597c}.builder-mini-line{display:flex;gap:8px;justify-content:space-between;padding:9px 0;border-bottom:1px solid #293b52;font-size:11px;color:#a8bfdb}.builder-mini-line strong{font-size:11px;color:#e7f1ff;font-weight:600}.builder-preview-muted,.builder-preview-text{white-space:pre-line;color:#9fb8d6;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.builder-cta-mock{display:inline-flex;background:#3a71c2;padding:10px 16px;border-radius:9px;font-size:12px;font-weight:700}.builder-preview-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.builder-preview-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.builder-stage-bottom{padding:0 17px 17px}.builder-stage-bottom .button{width:100%;justify-content:center}.builder-empty{padding:40px 20px;text-align:center;color:#9db4d0;font-size:12px}
.builder-inspect-kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#86afe3;margin:15px 0}.builder-field{display:flex;flex-direction:column;gap:7px;color:#bfd4ef;font-size:12px;margin-bottom:15px}.builder-field input,.builder-field textarea{width:100%;border-radius:10px;border:1px solid #304b6d;background:#111f32;color:#edf5ff;padding:11px;outline:none;font:inherit;transition:border-color .2s,box-shadow .2s}.builder-field input:focus,.builder-field textarea:focus{border-color:#6a9be0;box-shadow:0 0 0 3px rgba(87,142,218,.13)}.builder-field textarea{min-height:105px;resize:vertical}.builder-visibility{display:flex;align-items:center;gap:10px;font-size:12px;color:#d4e5fa;margin-top:18px;cursor:pointer}.builder-visibility input{width:16px;height:16px;accent-color:#5590ed}.builder-upload{display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:12px;padding:10px;margin-top:10px}.builder-image-entry{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:8px;border:1px solid #2a4263;padding:6px;border-radius:10px}.builder-image-entry img{width:60px;height:45px;object-fit:cover;border-radius:7px}
.domain-settings{margin-top:18px}.domain-records{padding:17px;background:#101f32;border:1px solid #2d486c;border-radius:13px;margin-top:9px;color:#afc8e6;font-size:12px;overflow-wrap:anywhere}.domain-records p{font-size:12px;margin:13px 0 6px}.domain-records code{display:block;padding:10px;border-radius:7px;background:#0b1523;color:#c8e1ff;user-select:text;overflow-wrap:anywhere}.domain-records .domain-status{font-weight:700;margin-bottom:15px}.domain-records .button{margin-top:16px}.domain-pro-note{display:flex;gap:12px;padding:17px;border-radius:11px;background:#15253a;border:1px solid #2f4766;color:#a5bfdf;font-size:12px;margin-top:16px}.domain-pro-note i{color:#85b7ef}
.slug-field{display:flex;align-items:center;gap:2px}.slug-field .slug-prefix,.slug-field .slug-suffix{font-size:12px;color:#a3bddd;white-space:nowrap}.slug-field input{min-width:75px;flex:1}
@media(max-width:1300px){.builder-layout{grid-template-columns:200px minmax(290px,1fr)}.builder-inspector{grid-column:1/-1}}
@media(max-width:750px){.builder-layout{grid-template-columns:minmax(0,1fr)}.builder-inspector{grid-column:auto}.builder-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.builder-library-item{min-width:0}.builder-library-item .builder-lib-add{display:none}.profile-hero .public-cover{min-height:150px;padding:13px}.profile-info-row{align-items:flex-start;gap:13px}.profile-logo-right{flex-basis:88px;width:88px;height:88px;border-radius:15px;font-size:29px}.profile-copy h1{font-size:25px}.profile-copy p{font-size:12px}.profile-head .profile-details{grid-template-columns:1fr}.pub-menu-grid,.pub-schedule-grid{grid-template-columns:1fr}.pub-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-cta{align-items:flex-start;flex-direction:column}.pub-cta h2{font-size:21px}.public-top{height:auto;min-height:65px;padding:8px 12px}.public-top-actions{gap:4px}.public-top .pill{font-size:10px}.builder-top-actions{justify-content:flex-start}}
@media(max-width:480px){.builder-types{grid-template-columns:1fr 1fr}.profile-info-row{gap:10px}.profile-logo-right{flex-basis:72px;width:72px;height:72px}.profile-head .public-detail{font-size:12px}.profile-cover-caption span{display:none}.builder-card-preview{padding:14px}.builder-edit-controls{gap:0}.builder-control{width:25px;height:27px}}
@media(prefers-reduced-motion:reduce){.pub-block,.builder-edit-card,.pub-menu-item,.pub-gallery img{animation:none!important;transition:none!important}}

@media(max-width:480px){.public-top{gap:10px}.mini-brand-text strong{font-size:12px}.mini-brand-text small{display:none}.mini-brand-icon{width:31px;height:31px;flex:0 0 31px}.public-top-actions .pill{padding:6px 8px}.public-top-actions{flex-shrink:0}.public-top-actions .status-available span{font-size:9px}}

/* V7 — ratio-aware gallery and food storefront */
.pub-gallery a{aspect-ratio:var(--gallery-ratio,16/9);border-radius:13px}
.builder-preview-gallery img{aspect-ratio:var(--gallery-ratio,16/9)}
.builder-field select,.builder-food-form input,.builder-food-form textarea,.builder-food-form select{width:100%;border-radius:10px;border:1px solid #304b6d;background:#111f32;color:#edf5ff;padding:11px;outline:none;font:inherit;min-width:0}
.builder-field select:focus,.builder-food-form input:focus{border-color:#6a9be0;box-shadow:0 0 0 3px rgba(87,142,218,.13)}
.builder-food-items{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.builder-food-detail{background:#111e30;border:1px solid #324765;border-radius:12px;overflow:hidden}
.builder-food-detail>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 12px;color:#e0edfb;font-size:12px;font-weight:700}
.builder-food-detail>summary::-webkit-details-marker{display:none}
.builder-food-detail>summary::after{content:'+';color:#81b6ef;font-size:18px;font-weight:400;transition:transform .22s}
.builder-food-detail[open]>summary::after{transform:rotate(45deg)}
.builder-food-detail>summary:hover{background:#213650}
.builder-food-form{padding:11px 12px 14px;border-top:1px solid #2b4160}
.builder-food-form-title{display:block;color:#c6dafa;font-size:12px;margin-bottom:12px}
.builder-food-actions{display:flex;gap:7px;flex-wrap:wrap}
.builder-food-actions .button{min-width:0;font-size:11px;padding:9px 12px}
.builder-food-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid #355174}
.builder-food-image[hidden]{display:none}
.builder-food-form .builder-upload{margin:10px 0}
.sidebar-count{display:inline-grid;place-items:center;background:#204064;border-radius:7px;min-width:22px;padding:1px 6px;margin-left:auto;font-size:10px}
.order-line{font-size:12px;color:#bfdbf7;padding:3px 0}
.orders-table td{vertical-align:top;min-width:100px}
.orders-table select{min-width:114px}
.food-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.food-product{min-width:0;border:1px solid #304760;border-radius:17px;background:#142236;overflow:hidden;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;display:flex;flex-direction:column}
.food-product:hover{transform:translateY(-3px);border-color:#5f86b8;box-shadow:0 10px 28px rgba(0,0,0,.19)}
.food-product-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#1c314e}
.food-product-placeholder{display:grid;place-items:center;color:#87b4e7;font-size:28px}
.food-product-body{display:flex;flex:1;flex-direction:column;justify-content:space-between;padding:14px;gap:16px}
.food-group{text-transform:uppercase;letter-spacing:.09em;color:#8bb7ed;font-size:10px;font-weight:800}
.food-product h3{font:700 16px/1.35 Manrope,Inter,sans-serif;color:#edf4ff;margin:5px 0 0;overflow-wrap:anywhere}
.food-product p{font-size:12px;color:#a4bad6;line-height:1.5;margin-top:7px;overflow-wrap:anywhere}
.food-product-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px}
.food-product-bottom strong{color:#e7f3ff;font-size:16px;white-space:nowrap}
.food-product-bottom .button{font-size:11px;padding:9px 12px;min-width:0}
.food-cart-bar{position:sticky;z-index:20;bottom:13px;margin-top:20px;border-radius:15px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #608acf;background:rgba(15,30,52,.96);box-shadow:0 12px 35px rgba(0,0,0,.36);backdrop-filter:blur(15px);color:#e8f3ff;font-size:13px}
.food-cart-bar[hidden]{display:none}
.food-cart-bar .button{font-size:12px}
.food-dialog-open{overflow:hidden}
.food-checkout{position:fixed;inset:0;z-index:600;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .28s ease}
.food-checkout.is-mounted{display:flex}
.food-checkout.is-open{opacity:1}
.food-checkout-shade{position:absolute;inset:0;background:rgba(2,7,15,.74);backdrop-filter:blur(7px)}
.food-checkout-card{position:relative;width:min(100%,510px);max-height:min(92dvh,850px);overflow:auto;background:#121e30;border:1px solid #45678e;border-radius:22px;box-shadow:0 22px 70px rgba(0,0,0,.55);padding:24px;transform:translateY(20px) scale(.96);opacity:0;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .24s ease;outline:none}
.food-checkout.is-open .food-checkout-card{transform:translateY(0) scale(1);opacity:1}
.food-checkout-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:19px}
.food-checkout-heading h3{margin:6px 0 0;font-size:24px;color:#f0f7ff}
.food-checkout-heading .icon-btn{flex-shrink:0}
.food-order-form{display:flex;flex-direction:column;gap:13px}
.food-order-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#c2d6ed}
.food-order-form label small{color:#809abb}
.food-order-form input,.food-order-form select,.food-order-form textarea{width:100%;border:1px solid #334c6c;border-radius:11px;padding:12px 13px;background:#101b2b;color:#f0f6ff;font:inherit;outline:none;min-width:0}
.food-order-form input:focus,.food-order-form select:focus,.food-order-form textarea:focus{border-color:#6198e5;box-shadow:0 0 0 3px rgba(73,132,209,.15)}
.food-order-summary{border:1px solid #2c4361;background:#0d1828;border-radius:13px;padding:4px 13px}
.food-order-line{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2b405c}
.food-order-line:last-child{border:0}
.food-order-line-title{min-width:0;display:flex;flex-direction:column;gap:4px}
.food-order-line-title strong{color:#e0efff;font-size:12px;overflow-wrap:anywhere}
.food-order-line-title small{font-size:11px;color:#a0bddd}
.food-quantity-controls{display:flex;align-items:center;gap:10px;color:#e0eaff;flex:0 0 auto}
.food-quantity-controls button{width:29px;height:29px;border-radius:8px;border:1px solid #3d6089;color:#e9f4ff;background:#203754;cursor:pointer}
.food-quantity-controls button:hover{background:#31547c}
.food-checkout-total{display:flex;justify-content:space-between;color:#d4e5f8;font-size:14px;font-weight:700}
.food-checkout-note{font-size:11px;line-height:1.6;color:#91a9c7}
.food-order-complete{text-align:center;padding:22px 0}
.food-order-complete>i{font-size:36px;color:#70b8fa;margin-bottom:12px}
.food-order-complete h3{font-size:24px;margin-bottom:10px}
.food-order-complete p{font-size:13px;color:#b8cde7;margin-bottom:25px}
.food-address-row[hidden],.food-order-form[hidden],.food-order-complete[hidden]{display:none}

/* Service choice: preserve aligned price and let metadata wrap as whole units */
.service-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;overflow:hidden}
.service-choice-left{display:flex;min-width:0;flex:1;gap:12px}
.service-info{min-width:0;overflow-wrap:break-word}
.service-info strong{line-height:1.45}
.service-info small{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;line-height:1.55}
.service-meta-unit{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.service-choice-right{gap:8px;min-width:0}
.service-choice-right>b{font-size:13px;padding:7px 10px}
.service-check-indicator{width:30px;height:30px;flex:0 0 30px}

/* Rounded webkit scrollbar thumbs and compact Firefox track */
:root{scrollbar-color:#5278a3 transparent;scrollbar-width:thin}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent;border-radius:999px}
*::-webkit-scrollbar-thumb{background:#496f99;border:2px solid transparent;background-clip:padding-box;border-radius:999px;min-height:25px}
*::-webkit-scrollbar-thumb:hover{background:#76a5d8;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-corner{background:transparent}

@media(max-width:930px){.food-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.food-menu-grid{grid-template-columns:1fr}.food-product{display:grid;grid-template-columns:120px minmax(0,1fr)}.food-product-photo{height:100%;aspect-ratio:3/4}.food-product-body{padding:12px}.food-product-bottom{flex-wrap:wrap}.food-cart-bar{flex-wrap:wrap}.food-cart-bar .button{width:100%;justify-content:center}.food-checkout{padding:12px}.food-checkout-card{padding:20px 16px}.service-choice{padding:14px 12px;gap:8px}.service-choice-left{gap:9px}.service-icon-box{width:38px;height:38px;font-size:14px}.service-info strong{font-size:13px}.service-info small{font-size:11px}.service-choice-right>b{font-size:12px;padding:6px 8px}.service-check-indicator{display:none}}
@media(max-width:390px){.food-product{grid-template-columns:100px minmax(0,1fr)}.service-choice-right{align-self:start}.service-choice-right>b{font-size:11px}.service-info small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.food-product,.food-checkout,.food-checkout-card{transition:none!important}}

/* Custom rounded thumb for browser scrollbar implementations with square native corners */
.site-scroll-rail{position:fixed;z-index:540;right:3px;top:9px;bottom:9px;width:9px;opacity:1;transition:opacity .2s ease;pointer-events:auto}
.site-scroll-rail.is-hidden{opacity:0;pointer-events:none}
.site-scroll-thumb{position:absolute;top:0;right:2px;width:6px;min-height:48px;border-radius:999px;background:linear-gradient(180deg,#6b9bcf,#3c658f);box-shadow:0 0 0 1px rgba(6,15,29,.35);cursor:grab;transition:background .18s}
.site-scroll-rail:hover .site-scroll-thumb{background:linear-gradient(180deg,#9ac2f3,#507fb6)}
.site-scroll-rail.is-dragging .site-scroll-thumb{cursor:grabbing;background:#9fc6f3}
html.site-scroll-enhanced{scrollbar-width:none!important}
html.site-scroll-enhanced::-webkit-scrollbar{display:none!important;width:0!important}
body.sheet-open .site-scroll-rail,body.food-dialog-open .site-scroll-rail{opacity:0;pointer-events:none}
@media(pointer:coarse),(max-width:799px){.site-scroll-rail{display:none!important}}

.food-category-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:19px}
.food-category-filter[hidden]{display:none}
.food-category-chip{border:1px solid #304d70;background:#172940;color:#bbd1eb;border-radius:999px;padding:8px 14px;cursor:pointer;font:600 12px Inter,system-ui,sans-serif;transition:background .18s ease,border-color .18s ease,color .18s ease}
.food-category-chip:hover{background:#233f63;border-color:#6b92c6}
.food-category-chip.active{background:#3270c3;color:#fff;border-color:#4e92e8}
.food-product[hidden]{display:none}
.food-cart-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(980px,calc(100% - 32px));z-index:180;box-shadow:0 17px 44px rgba(0,0,0,.55)}
body.has-food-cart .public-footer{padding-bottom:112px}


/* Glayru Spot v8 — original ReHub Blue layout preserved */
.spot-icon{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit;flex-shrink:0}
.mark:has(.spot-icon),.mini-brand-icon:has(.spot-icon){display:inline-grid;place-items:center;padding:0;overflow:hidden;background:transparent!important;box-shadow:none!important;border:0!important}
.mark .spot-icon,.mini-brand-icon .spot-icon{width:100%;height:100%;border-radius:inherit}
.brand:has(.spot-icon){gap:10px}
/* Numeric spinners: themed controls rather than browser-native gray arrows */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ui-number{display:flex;align-items:stretch;position:relative;width:100%;min-width:0}
.ui-number input[type=number]{flex:1;min-width:0;padding-right:45px!important;width:100%}
.ui-number-actions{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;grid-template-rows:1fr 1fr;gap:2px;z-index:2}
.ui-number-actions button{width:30px;height:17px;display:grid;place-items:center;padding:0;border:1px solid #304e73;border-radius:5px;background:#1c3350;color:#bcdcff;cursor:pointer;line-height:1}
.ui-number-actions button:hover{background:#315985;border-color:#5c98e5;color:white}
.ui-number-actions button:active{background:#3979cf;transform:scale(.96)}
.ui-number-actions button svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.builder-food-image{aspect-ratio:1/1;height:auto;max-width:260px;object-fit:cover}
.food-product-photo{aspect-ratio:1/1;height:auto;object-fit:cover}
.food-product-placeholder{aspect-ratio:1/1}
@media(max-width:650px){
  .food-product{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start}
  .food-product-photo{aspect-ratio:1/1;width:112px;height:112px;object-fit:cover}
  .food-product-placeholder{height:112px}
}
@media(max-width:390px){.food-product{grid-template-columns:100px minmax(0,1fr)}.food-product-photo,.food-product-placeholder{width:100px;height:100px}}
/* Avoid repeating expensive GPU blurs and offscreen paints during mobile scrolling. */
@media(max-width:799px),(pointer:coarse){
  body.public-page .ambient,body.public-page .bg-grid-overlay{display:none!important}
  body.public-page::before{display:none!important}
  body.public-page .pub-block{animation:none!important}
  body.public-page .profile-cover-caption{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(11,19,31,.85)}
  body.public-page .food-cart-bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#101e33}
  body.public-page .food-checkout-shade{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.public-page .public-top{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(11,20,34,.98)}
  body.public-page .profile-head,body.public-page .pub-block{box-shadow:none!important}
  body.public-page :is(.pub-block-gallery,.pub-block-text,.pub-block-contacts,.pub-block-schedule){content-visibility:auto;contain-intrinsic-size:auto 380px}
  body.public-page .pub-gallery img{transition:none!important}
  body.public-page .pub-menu-item{transition:background-color .16s ease,border-color .16s ease}
}

/* v9 — compact, stable food cards on touch screens without changing ReHub Blue design */
#tab-orders .orders-table select[data-food-order-status]{appearance:none;-webkit-appearance:none;border:1px solid #38557a;border-radius:10px;color:#e5f2ff;background:#15273c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2397b8df' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;padding:10px 29px 10px 10px;min-width:124px;max-width:100%;font-size:12px;cursor:pointer}
#tab-orders .orders-table select[data-food-order-status]:focus-visible{outline:2px solid #70a6fa;outline-offset:2px}
.orders-table .icon-btn.danger{border-radius:10px;width:35px;height:35px}
.owner-push-setup{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#121e30;border:1px solid #334d6d;border-radius:16px;padding:14px 17px;margin-bottom:16px}
.owner-push-setup>div{display:flex;align-items:center;gap:12px;flex:1;min-width:210px}
.owner-push-setup>div>i{color:#83b9ff;font-size:19px}
.owner-push-setup strong{display:block;color:#e3f0ff;font-size:13px}
.owner-push-setup small{display:block;color:#96aecb;font-size:11px;margin-top:4px;line-height:1.5}
.owner-push-setup #business-push-status{flex-basis:100%;margin:0}
@media(max-width:650px){
  .pub-block-food_menu .food-menu-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .pub-block-food_menu .food-product{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:112px;align-items:stretch;border-radius:14px;box-shadow:none;transform:none!important}
  .pub-block-food_menu .food-product-photo{display:block;width:112px;height:112px;max-height:112px;aspect-ratio:1/1;object-fit:cover;align-self:center}
  .pub-block-food_menu .food-product-body{display:flex;flex-direction:column;min-width:0;justify-content:space-between;gap:5px;padding:10px}
  .pub-block-food_menu .food-group{font-size:9px;letter-spacing:.05em;line-height:1.2}
  .pub-block-food_menu .food-product h3{font-size:13px;line-height:1.35;margin:3px 0 0}
  .pub-block-food_menu .food-product p{font-size:10px;line-height:1.4;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .pub-block-food_menu .food-product-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
  .pub-block-food_menu .food-product-bottom strong{font-size:14px;line-height:1.3}
  .pub-block-food_menu .food-product-bottom .button{font-size:11px;padding:7px 9px;min-height:32px;width:auto;white-space:nowrap;border-radius:9px;box-shadow:none;gap:5px}
  .pub-block-food_menu .food-product-bottom .button i{font-size:10px}
  .pub-block-food_menu .food-category-chip{padding:7px 11px;font-size:11px}
}
@media(max-width:380px){
  .pub-block-food_menu .food-product{grid-template-columns:96px minmax(0,1fr);min-height:96px}
  .pub-block-food_menu .food-product-photo{height:96px;width:96px;max-height:96px}
  .pub-block-food_menu .food-product-body{padding:8px;gap:4px}
  .pub-block-food_menu .food-product-bottom .button{font-size:10px;padding:6px 8px}
}
@media(max-width:650px){.owner-push-setup .button{width:100%;justify-content:center}}

/* Glayru Spot v10 · регион, персональная тема и пользовательская главная */
.signup-locale{border:1px solid rgba(98,150,225,.24);border-radius:16px;background:rgba(29,46,72,.38);padding:16px;margin:8px 0 17px;display:grid;gap:12px}
.signup-locale .form-section-title{display:flex;gap:9px;align-items:center;color:#bfdaff;font-weight:700;font-size:13px}
.signup-locale label{margin:0}
.locale-info{display:block;color:#91a7c5;font-size:11px;line-height:1.6;margin:4px 0 7px}
.locale-settings-panel{margin-bottom:18px}
.locale-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.locale-settings-panel .form-stack{margin-top:15px;max-width:850px}
.accent-picker{display:flex;gap:12px;align-items:center;margin-top:9px}
.accent-picker input[type=color]{width:56px;height:43px;border-radius:11px;border:1px solid #355273;padding:3px;background:#142238;cursor:pointer}
.accent-picker input[type=text]{width:150px;max-width:100%;letter-spacing:.04em;text-transform:uppercase}
.accent-picker-label{display:block}
.spot-home-live .preview-left,.spot-home-guest .preview-left{min-width:0}
.spot-home-live .preview-head{align-items:center}
.spot-home-booking{animation:entrance-up .26s ease both}
.spot-home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-height:170px;color:#94adce;text-align:center;font-size:13px}
.spot-home-empty i{font-size:27px;color:#6f9acb}
.spot-home-orders{height:100%;min-height:290px;border:1px solid #29405c;background:linear-gradient(155deg,#16263b,#0d1929);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:11px}
.spot-home-orders h3{font:700 20px Manrope,Inter,sans-serif;margin:0 0 10px}
.spot-home-order{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(164,191,231,.14);padding:12px 0}
.spot-home-order span{display:flex;flex-direction:column;gap:4px;min-width:0}
.spot-home-order strong{font-size:12px;overflow-wrap:anywhere}
.spot-home-order small{font-size:10px;color:#93a9c9}
.spot-home-order b{white-space:nowrap;color:#b5d9ff;font-size:12px}
.spot-home-orders>.button{margin-top:auto}
.spot-home-orders-empty{min-height:143px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#92a9c8;gap:11px}
.spot-home-orders-empty i{font-size:27px;color:#79a2db}
.spot-home-orders-empty p{max-width:250px;font-size:12px;line-height:1.6}
.spot-home-guest{align-items:center;min-height:270px}
.spot-home-guest h2{font:750 clamp(22px,3vw,34px)/1.18 Manrope,Inter,sans-serif;margin:13px 0 14px}
.spot-home-guest p{font-size:13px;line-height:1.65;color:#adc1df;max-width:500px;margin-bottom:24px}
.spot-home-guest-features{display:flex;flex-direction:column;gap:10px}
.spot-home-guest-features>div{display:flex;align-items:center;gap:13px;padding:17px;border-radius:13px;background:#17263c;border:1px solid #324966;font-size:13px;color:#c5d9f7}
.spot-home-guest-features i{font-size:18px;color:#83b5fb}
.spot-choice-overlay{position:fixed;inset:0;z-index:25000;display:none;place-items:center;padding:20px;pointer-events:none}
.spot-choice-overlay.is-mounted{display:grid;pointer-events:auto}
.spot-choice-shade{position:absolute;inset:0;border:0;background:rgba(2,6,13,.73);opacity:0;transition:opacity .27s ease;backdrop-filter:blur(3px);cursor:default}
.spot-choice-dialog{position:relative;z-index:1;width:min(430px,100%);padding:32px;border-radius:25px;border:1px solid #436592;background:linear-gradient(150deg,#16253a,#0b1423);box-shadow:0 26px 85px rgba(0,0,0,.42);display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;opacity:0;transform:translateY(18px) scale(.965);transition:opacity .3s cubic-bezier(.2,1,.25,1),transform .3s cubic-bezier(.2,1,.25,1)}
.spot-choice-overlay.is-open .spot-choice-shade{opacity:1}
.spot-choice-overlay.is-open .spot-choice-dialog{opacity:1;transform:translateY(0) scale(1)}
.spot-choice-close{position:absolute;right:16px;top:15px;border:0;background:rgba(255,255,255,.06);color:#adbfdb;border-radius:9px;width:33px;height:33px;cursor:pointer}
.spot-choice-close:hover{background:#2c4262;color:#fff}
.spot-choice-glyph{width:67px;height:67px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,#2776c9,#3d94f1);box-shadow:inset 0 1px 0 rgba(255,255,255,.17);font-size:29px;color:#fff;margin:6px 0}
.spot-choice-dialog h2{font:800 26px/1.2 Manrope,Inter,sans-serif;margin:3px 0}
.spot-choice-dialog p{color:#a9bfdc;font-size:13px;line-height:1.65;margin:0 0 9px}
.spot-choice-dialog .button{width:100%;justify-content:center}
.spot-choice-dialog .subtle-button{margin:4px auto 0}
/* Existing ReHub Blue remains default; skin controls only the client-facing page */
.public-page{--accent-light:var(--brand-accent-text,#93c5fd)}
.public-page .eyebrow,.public-page .pub-section-heading .eyebrow,.public-page .profile-copy .profile-category,.public-page .public-detail .detail-body small{color:var(--brand-accent-text,#93c5fd)!important}
.public-page.skin-midnight{background:#050712;--bg:#050712;--surface-solid:#101429;--surface:#101529}
.public-page.skin-midnight .public-head.profile-head,.public-page.skin-midnight .pub-block{background:linear-gradient(145deg,#12132a,#080e1e)}
.public-page.skin-midnight .booking-card{background:#0c1020}
.public-page.skin-midnight .food-product{background:#171b34}
.public-page.skin-graphite{background:#101215;--bg:#101215;--surface-solid:#202328;--surface:#24272d}
.public-page.skin-graphite .public-head.profile-head,.public-page.skin-graphite .pub-block{background:linear-gradient(145deg,#272a31,#171b21)}
.public-page.skin-graphite .booking-card{background:#1b2027}
.public-page.skin-graphite .food-product,.public-page.skin-graphite .pub-menu-item,.public-page.skin-graphite .pub-contact{background:#292e36}
.public-page.skin-light{background:#f1f5fb;color:#17233a;--bg:#f1f5fb;--text:#182b44;--text-secondary:#354b66;--muted:#62758f;--surface-solid:#fff;--surface:#fff;--border:rgba(35,66,108,.18)}
.public-page.skin-light .public-top{background:rgba(251,253,255,.96);border-color:#d1ddeb}
.public-page.skin-light .mini-brand-text strong,.public-page.skin-light .public-head h1{color:#172943}
.public-page.skin-light .public-head.profile-head,.public-page.skin-light .pub-block{background:linear-gradient(145deg,#fff,#ecf3fd);border-color:#ccdaec;color:#243550}
.public-page.skin-light .booking-card{background:#fff;color:#23364f;border-color:#d1ddeb}
.public-page.skin-light .booking-card h2,.public-page.skin-light .pub-section-heading h2,.public-page.skin-light .pub-block h3{color:#182d49}
.public-page.skin-light .public-head p,.public-page.skin-light .pub-text,.public-page.skin-light .booking-intro p{color:#526b88}
.public-page.skin-light .food-product,.public-page.skin-light .pub-menu-item,.public-page.skin-light .pub-contact,.public-page.skin-light .public-detail{background:#f8fbff!important;border-color:#cfdded;color:#2b4160}
.public-page.skin-light .food-product h3,.public-page.skin-light .pub-menu-item strong,.public-page.skin-light .pub-menu-item>span,.public-page.skin-light .pub-schedule-day>strong{color:#203b5a}
.public-page.skin-light .food-product p,.public-page.skin-light .pub-menu-item small,.public-page.skin-light .pub-schedule-day>span{color:#56718f}
.public-page.skin-light input,.public-page.skin-light select,.public-page.skin-light textarea{background:#f8fbff;color:#203550;border-color:#c7d7eb}
.public-page.skin-light .wizard-panel,.public-page.skin-light .service-choice,.public-page.skin-light .time-options button{background:#f6faff;color:#1d3554;border-color:#c5d5ea}
.public-page.skin-light .service-choice strong,.public-page.skin-light .service-choice small{color:#243c58}
.public-page.skin-light .food-checkout-card{background:#fff;color:#233650}
@media(max-width:700px){.locale-fields{grid-template-columns:1fr}.spot-home-orders{min-height:180px}.spot-home-guest-features{gap:7px}.spot-home-guest-features>div{padding:12px}.spot-choice-dialog{padding:27px 22px;border-radius:20px}.spot-home-live .preview-head{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.spot-choice-overlay *{transition:none!important}.spot-home-booking{animation:none!important}}


/* Glayru Spot v11: restrained ReHub Blue controls */
.ui-select-menu{
  overflow:hidden;display:flex;flex-direction:column;
  padding:0;border-radius:14px;isolation:isolate;
  background:#151f2e;
}
.ui-select-scroll{
  min-height:0;max-height:100%;width:100%;overflow-y:auto;
  overflow-x:hidden;overscroll-behavior:contain;
  padding:5px 6px 6px;
  scrollbar-width:thin;scrollbar-color:#466ca5 transparent;
}
.ui-select-scroll::-webkit-scrollbar{width:7px}
.ui-select-scroll::-webkit-scrollbar-track{border-radius:999px;background:transparent;margin-block:9px}
.ui-select-scroll::-webkit-scrollbar-thumb{background:#466ca5;border-radius:999px;border:1px solid #151f2e}
.ui-select-option{border-radius:9px}
.ui-select-menu.upward.is-closing .ui-select-scroll{pointer-events:none}

.suggest-popover{overflow:auto;overscroll-behavior:contain;z-index:800;border-radius:13px}
.suggest-popover::-webkit-scrollbar-track{margin-block:8px;border-radius:99px}
.suggest-feedback{padding:13px 12px;color:#a9bedb;font-size:12px;line-height:1.55}

/* The business logo image is the entire avatar; no rectangular plate. */
.profile-logo-right.has-logo{background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;border-radius:0!important}
.profile-logo-right.has-logo img{padding:0!important;display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:0!important;filter:none}

/* Keep the cart INSIDE the menu, after the products, not over them. */
.food-cart-bar,body.public-page .food-cart-bar{
  position:relative!important;inset:auto!important;left:auto!important;bottom:auto!important;
  transform:none!important;width:100%!important;z-index:1;
  margin:19px 0 0;box-shadow:none!important;
  border:1px solid rgba(97,145,214,.37);border-radius:15px;
  background:#17273b!important;color:#e9f3ff;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.has-food-cart .public-footer{padding-bottom:inherit}
.public-page.skin-light .food-cart-bar{background:#f5f9ff!important;border-color:#bdd2ed;color:#183356}
.public-page.skin-light .food-cart-bar .food-cart-total{color:#183c6a}
@media(max-width:650px){
  .food-cart-bar,body.public-page .food-cart-bar{gap:8px;padding:12px;flex-wrap:wrap}
  .food-cart-bar .button{width:100%;min-height:43px;justify-content:center}
}

.accent-picker-label{display:block;color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.5}
.accent-picker{position:relative;display:flex;gap:10px;align-items:center;margin-top:8px}
.accent-picker input[type=text]{height:43px;width:142px;max-width:calc(100% - 75px);border-radius:11px;font-variant-numeric:tabular-nums}
.spot-color-trigger{width:61px;height:43px;display:flex;align-items:center;justify-content:center;gap:5px;
  border:1px solid #42608a;border-radius:11px;background:#17273d;color:#9dbce4;
  padding:5px;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.spot-color-trigger:hover,.spot-color-trigger[aria-expanded=true]{border-color:#6b9feb;box-shadow:0 0 0 3px rgba(64,130,223,.12)}
.spot-color-trigger-inner{width:26px;height:26px;background:var(--spot-selected,#93c5fd);border-radius:7px;border:1px solid rgba(255,255,255,.27);flex-shrink:0}
.spot-color-trigger i{font-size:10px;transition:transform .2s ease}
.spot-color-trigger[aria-expanded=true] i{transform:rotate(180deg)}
.spot-color-popover{position:absolute;top:calc(100% + 10px);left:0;width:min(310px,calc(100vw - 42px));
  z-index:1000;padding:17px;background:#122035;color:#dceafd;border-radius:17px;
  border:1px solid #3e608b;box-shadow:0 17px 44px rgba(2,7,18,.46);
  opacity:0;transform:translateY(-7px) scale(.98);transform-origin:top left;
  transition:opacity .19s ease,transform .21s cubic-bezier(.2,1,.25,1)}
.spot-color-popover[hidden]{display:none!important}
.spot-color-popover.is-open{opacity:1;transform:translateY(0) scale(1)}
.spot-color-popover-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;margin-bottom:14px}
.spot-color-close{width:28px;height:28px;border:1px solid #3d5678;border-radius:9px;background:#1b2e48;color:#bcd0e9;display:grid;place-items:center;cursor:pointer}
.spot-color-close:hover{background:#304b70;color:#fff}
.spot-sv-area{position:relative;height:146px;border-radius:12px;border:1px solid rgba(217,230,255,.25);
  background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),hsl(var(--spot-hue,215),100%,50%);
  cursor:crosshair;touch-action:none;user-select:none;overflow:visible}
.spot-sv-area:focus-visible{outline:2px solid #8cbafa;outline-offset:3px}
.spot-sv-handle{position:absolute;width:15px;height:15px;border:2px solid #fff;border-radius:50%;
  box-shadow:0 1px 4px #000;transform:translate(-50%,-50%);pointer-events:none}
.spot-hue-label{display:block;margin:13px 0;color:#aec5e3;font-size:11px;font-weight:600}
.spot-hue-label input[type=range]{display:block;width:100%;margin:10px 0 0;height:7px;appearance:none;-webkit-appearance:none;
  border:0;border-radius:99px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}
.spot-hue-label input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#f1f7ff;border:3px solid #365783;box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.spot-hue-label input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#f1f7ff;border:3px solid #365783}
.spot-color-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}
.spot-color-swatch{width:100%;aspect-ratio:1.3;border-radius:9px;border:2px solid rgba(255,255,255,.14);background:var(--spot-swatch);cursor:pointer;transition:transform .13s,border-color .13s}
.spot-color-swatch:hover,.spot-color-swatch:focus-visible{transform:translateY(-2px);border-color:#fff;outline:none}
.spot-color-done{min-height:36px}
@media(prefers-reduced-motion:reduce){.spot-color-popover,.spot-color-trigger,.spot-color-swatch{transition:none!important}}

/* Glayru Spot v12: focused fixes for light pages and dialogs */
.public-page.skin-light .food-product-bottom strong,
.public-page.skin-light .pub-menu-item>span,
.public-page.skin-light .sheet-price{color:#183655!important}
.public-page.skin-light .food-group{color:#386eae!important}
.public-page.skin-light .pub-section-heading .eyebrow,
.public-page.skin-light .public-detail .detail-body small{color:#346bac!important}
.public-page.skin-light .food-product h3{color:#192e48!important}
.public-page.skin-light .food-product p{color:#475f7d!important}
.public-page.skin-light .food-cart-bar{box-shadow:0 8px 24px rgba(25,55,99,.11)!important}
.public-page.skin-light .pricing-modal-overlay .pricing-modal{color:#e5f1ff;background:linear-gradient(145deg,#162237,#0e1725 85%)!important}
.public-page.skin-light .pricing-modal h2,
.public-page.skin-light .pricing-modal h3,
.public-page.skin-light .pricing-modal .sheet-price,
.public-page.skin-light .pricing-modal .sheet-plan h3{color:#edf6ff!important}
.public-page.skin-light .pricing-modal .sheet-lead,
.public-page.skin-light .pricing-modal .sheet-plan p,
.public-page.skin-light .pricing-modal .sheet-price small{color:#afc5e2!important}
.public-page.skin-light .pricing-modal .sheet-plan{background:#18283f!important;border-color:#375577!important}
.public-page.skin-light .pricing-modal .sheet-close{color:#eaf3ff;border-color:#385370}
.public-page.skin-light .pricing-modal .muted-plan{opacity:.82}

/* Portal checkout outside content sections: all scrolling is inside the independent dialog */
body.public-page>.food-checkout{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;
 z-index:31000!important;overflow-y:auto!important;overscroll-behavior:contain;
 align-items:center;justify-content:center;padding:16px!important;
 transform:none!important;filter:none!important;contain:none!important}
body.public-page>.food-checkout.is-mounted{display:flex!important}
body.public-page>.food-checkout .food-checkout-card{position:relative;flex:0 1 550px;min-width:0;
 width:min(100%,550px);max-height:calc(100dvh - 32px)!important;overflow-x:hidden;overflow-y:auto!important;
 overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;
 border-radius:21px;isolation:isolate}
body.public-page>.food-checkout .food-checkout-shade{position:fixed;inset:0}
body.public-page.food-dialog-open{overflow:hidden!important}
@media(max-width:650px){
 body.public-page>.food-checkout{padding:10px!important}
 body.public-page>.food-checkout .food-checkout-card{max-height:calc(100dvh - 20px)!important;padding:20px 17px!important;border-radius:18px}
}
/* Light-theme checkout: legible text and fields, while order list stays dark */
.public-page.skin-light>.food-checkout .food-checkout-card{background:#fbfdff;color:#1d3452;border-color:#c6d8ee}
.public-page.skin-light>.food-checkout .food-checkout-heading h3,
.public-page.skin-light>.food-checkout .food-checkout-total,
.public-page.skin-light>.food-checkout .food-checkout-sum,
.public-page.skin-light>.food-checkout .food-order-complete h3{color:#173354!important}
.public-page.skin-light>.food-checkout .food-order-form label{color:#2b486b!important}
.public-page.skin-light>.food-checkout .food-order-form label small,
.public-page.skin-light>.food-checkout .food-checkout-note,
.public-page.skin-light>.food-checkout .food-order-complete p{color:#557392!important}
.public-page.skin-light>.food-checkout .food-order-form input,
.public-page.skin-light>.food-checkout .food-order-form select,
.public-page.skin-light>.food-checkout .food-order-form textarea{color:#183b5e!important;background:#f5f9ff!important;border-color:#bacfe8!important}
.public-page.skin-light>.food-checkout .food-order-form input::placeholder,
.public-page.skin-light>.food-checkout .food-order-form textarea::placeholder{color:#738cac}
.public-page.skin-light>.food-checkout .food-order-summary{background:#15263c;border-color:#324e70}
.public-page.skin-light>.food-checkout .food-order-line-title strong,
.public-page.skin-light>.food-checkout .food-quantity-controls{color:#e9f4ff!important}
.public-page.skin-light>.food-checkout .food-order-line-title small{color:#abc4e5!important}
.public-page.skin-light>.food-checkout .food-checkout-heading .icon-btn{background:#edf3fb;color:#25466a;border-color:#c9daee}

/* In-page suggestions, never native datalist/third-party popup */
.suggest-wrap{position:relative;min-width:0}
.suggest-wrap:focus-within{z-index:1100}
.suggest-wrap .suggest-popover{z-index:1105;left:0;right:0;top:calc(100% + 5px);max-height:230px;
 overflow:auto;overscroll-behavior:contain;border-radius:14px;padding:6px;background:#132135;
 border:1px solid #3a5a82;box-shadow:0 13px 35px rgba(5,11,24,.36)}
.suggest-wrap .suggest-item{display:block;width:100%;text-align:left;border-radius:9px;padding:10px 12px;color:#e3f0ff;
 background:transparent;white-space:normal;overflow-wrap:anywhere}
.suggest-wrap .suggest-feedback{padding:10px 11px;font-size:12px;color:#a4bbda}
.public-page.skin-light .suggest-wrap .suggest-popover{background:#fff;border-color:#bcd1ed;box-shadow:0 13px 35px rgba(20,45,81,.16)}
.public-page.skin-light .suggest-wrap .suggest-item{color:#173b64}
.public-page.skin-light .suggest-wrap .suggest-item:hover{background:#e9f2fd;color:#164c85}
.public-page.skin-light .suggest-wrap .suggest-feedback{color:#5d779a}

/* AI generation dialog and small existing image controls */
.spot-service-photo-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.spot-service-photo-actions #service-image-preview{width:100%;max-width:320px;aspect-ratio:16/9;
 object-fit:cover;border:1px solid #355475;border-radius:12px}
.spot-service-photo-actions #service-image-preview[hidden]{display:none}
.spot-service-photo-actions small{flex-basis:100%}
.builder-ai-generate{margin:8px 0 4px;display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:12px}
.service-choice-photo{width:100%;height:100%;object-fit:cover;border-radius:10px}
.spot-ai-open{overflow:hidden}
.spot-ai-overlay{display:none;position:fixed;inset:0;z-index:35000;padding:14px;align-items:center;justify-content:center}
.spot-ai-overlay.is-mounted{display:flex}
.spot-ai-backdrop{position:fixed;inset:0;background:rgba(2,7,17,.78);border:0;
 backdrop-filter:blur(7px);opacity:0;transition:opacity .26s ease}
.spot-ai-overlay.is-open .spot-ai-backdrop{opacity:1}
.spot-ai-card{position:relative;width:min(100%,510px);max-height:calc(100dvh - 28px);overflow-y:auto;
 border:1px solid #415e83;border-radius:22px;padding:25px;background:linear-gradient(145deg,#18283d,#101a2b);
 box-shadow:0 25px 75px rgba(0,0,0,.5);opacity:0;transform:translateY(15px) scale(.97);
 transition:opacity .26s ease,transform .31s cubic-bezier(.2,.8,.2,1)}
.spot-ai-overlay.is-open .spot-ai-card{opacity:1;transform:translateY(0) scale(1)}
.spot-ai-head{display:flex;justify-content:space-between;align-items:flex-start;gap:13px;margin-bottom:17px}
.spot-ai-head h2{font-size:23px;color:#e7f3ff;margin-top:7px}
.spot-ai-card label{display:flex;flex-direction:column;gap:7px;color:#bed3ef;font-size:12px;font-weight:650}
.spot-ai-card input,.spot-ai-card textarea,.spot-ai-card select{width:100%;background:#102036;border:1px solid #3b5878;
 border-radius:11px;color:#e8f4ff;padding:11px 12px;font:inherit;outline:0}
.spot-ai-card input:focus,.spot-ai-card textarea:focus,.spot-ai-card select:focus{border-color:#6ca4ec;box-shadow:0 0 0 3px rgba(76,135,217,.15)}
.spot-ai-card .dialog-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:13px}
@media(max-width:540px){.spot-ai-card{padding:20px 16px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.spot-ai-overlay .spot-ai-backdrop,.spot-ai-overlay .spot-ai-card{transition:none!important}}
.public-page.skin-light>.food-checkout .ui-select-trigger{color:#203d5e!important;background:#f5f9ff!important;border-color:#bacfe8!important}
.public-page.skin-light>.food-checkout .ui-select-label{color:#203d5e!important}
.public-page.skin-light>.food-checkout .ui-select-menu{background:#fff!important;border-color:#b9d1ed!important}
.public-page.skin-light>.food-checkout .ui-select-option{color:#294a72!important}
.public-page.skin-light>.food-checkout .ui-select-option:hover,
.public-page.skin-light>.food-checkout .ui-select-option.is-selected{background:#e7f1ff!important;color:#154d87!important}

/* v13: client theme tokens, popups, and accessible contrast on both page skins */
.public-page{
  --spot-brand-color:var(--brand-accent-text,#78b5ff);
  --spot-action-color:color-mix(in srgb,var(--spot-brand-color) 65%,#1b385c);
  --spot-action-soft:color-mix(in srgb,var(--spot-brand-color) 15%,transparent);
  --spot-action-border:color-mix(in srgb,var(--spot-brand-color) 48%,transparent);
  --accent:var(--spot-action-color);--accent-dark:color-mix(in srgb,var(--spot-action-color) 75%,#13223d);
  --accent-bright:var(--spot-brand-color);--accent-light:var(--spot-brand-color);
}
.public-page .button:not(.outline),.public-page .quick-date-btn.active,
.public-page .time-options button.active,.public-page .food-cart-bar .button,
.public-page .food-product .button,.public-page .wizard-actions .button:not(.outline){
  background:var(--spot-action-color)!important;border-color:var(--spot-action-border)!important;color:#fff!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--spot-action-color) 25%,transparent)!important;
}
.public-page .button:not(.outline):hover,.public-page .food-product .button:hover,
.public-page .wizard-actions .button:not(.outline):hover{
  background:color-mix(in srgb,var(--spot-action-color) 80%,#243e60)!important;
}
.public-page .button.outline:hover,.public-page .service-choice.active,
.public-page .food-category-chip.active,.public-page .contact-pill.active,
.public-page .remind-option:has(input:checked),.public-page .time-options button:not(.active):hover{
  border-color:var(--spot-action-border)!important;
  background:var(--spot-action-soft)!important;
}
.public-page .service-check-indicator,.public-page .progress-step.is-active b,
.public-page .progress-step.is-complete b,.public-page .summary-chip i,
.public-page .slots-header i,.public-page .service-choice.active .service-check-indicator,
.public-page .time-options button:not(.active) i,.public-page .food-product .food-group,
.public-page .food-category-chip.active,.public-page .booking-reminder-choices legend i,
.public-page .remind-option>.fa-check,.public-page .contact-pill.active i,
.public-page .quick-date-btn:not(.active):hover,.public-page .slots-badge{
  color:var(--spot-brand-color)!important;
}
.public-page .progress-step.is-active,.public-page .progress-step.is-complete,
.public-page .service-choice.active,.public-page .quick-date-btn.active,
.public-page .time-options button.active,.public-page .food-category-chip.active,
.public-page .remind-option:has(input:checked){border-color:var(--spot-action-border)!important}
.public-page .booking-summary,.public-page .summary-chip i,
.public-page .slots-badge,.public-page .service-icon-box,
.public-page .profile-category,.public-page .remind-option-icon{
  border-color:var(--spot-action-border)!important;
  background:var(--spot-action-soft)!important;
}
.public-page .wizard-viewport{width:100%;max-width:100%;min-width:0;overflow-x:clip;overflow-y:visible}
.public-page .wizard-panel{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.public-page .time-options{width:100%;min-width:0;max-width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr));gap:9px}
.public-page .time-options button{min-width:0;max-width:100%;white-space:normal;box-sizing:border-box}
.public-page .quick-date-strip{max-width:100%;min-width:0}
.public-page .quick-date-btn{min-width:0;max-width:100%}
.public-page .booking-summary{min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));}
.public-page .summary-chip{min-width:0}
.public-page .summary-chip strong{overflow-wrap:anywhere}
.public-page .booking-reminder-choices{background:color-mix(in srgb,var(--spot-brand-color) 5%,#101b2c)}
.public-page .remind-option{background:#142033}
.public-page .food-category-chip.active{color:#fff!important;background:var(--spot-action-color)!important}
.public-page .quick-date-btn.active small,.public-page .quick-date-btn.active span{color:rgba(255,255,255,.83)!important}
.public-page.skin-light{
  --spot-action-color:color-mix(in srgb,var(--brand-accent-text,#78b5ff) 55%,#16395a);
  --spot-action-soft:color-mix(in srgb,var(--brand-accent-text,#78b5ff) 12%,#f5faff);
  --spot-action-border:color-mix(in srgb,var(--brand-accent-text,#78b5ff) 52%,#c7d9ea);
  --accent-light:color-mix(in srgb,var(--brand-accent-text,#78b5ff) 50%,#173859);
  --accent-bright:var(--accent-light);
}
.public-page.skin-light .booking-card,.public-page.skin-light .wizard-viewport,
.public-page.skin-light .wizard-panel,.public-page.skin-light .booking-reminder-choices{color:#203750;background:#fff!important}
.public-page.skin-light .wizard-heading h3,.public-page.skin-light .wizard-panel h3,
.public-page.skin-light .wizard-panel h2,.public-page.skin-light .wizard-heading p,
.public-page.skin-light .wizard-actions .button.outline,.public-page.skin-light .wizard-progress strong{color:#18344f!important}
.public-page.skin-light .booking-reminder-choices,
.public-page.skin-light .booking-summary{background:#f5f9ff!important;color:#1b344f!important;border-color:var(--spot-action-border)!important}
.public-page.skin-light .booking-reminder-choices legend{color:#1c3651}
.public-page.skin-light .remind-option{background:#f9fbff;border:1px solid #c9d9ec}
.public-page.skin-light .remind-option:has(input:checked){background:var(--spot-action-soft)!important}
.public-page.skin-light .remind-option strong,.public-page.skin-light .remind-lead-label,
.public-page.skin-light .summary-chip strong,.public-page.skin-light .summary-chip small{color:#1a3551!important}
.public-page.skin-light .remind-option small,.public-page.skin-light .remind-help,
.public-page.skin-light .booking-reminder-choices p{color:#536e8b!important}
.public-page.skin-light .quick-date-btn:not(.active),.public-page.skin-light .time-options button:not(.active),
.public-page.skin-light .date-input-wrapper,.public-page.skin-light .service-choice:not(.active){
  background:#f8fbff!important;border:1px solid #c8d9ee!important;color:#203b57!important;
}
.public-page.skin-light .quick-date-btn:not(.active) small,.public-page.skin-light .quick-date-btn:not(.active) span,
.public-page.skin-light .date-label,.public-page.skin-light .slots-header,.public-page.skin-light .service-meta-unit{color:#4f6986!important}
.public-page.skin-light .time-options button:not(.active) i,.public-page.skin-light .service-choice-right b,
.public-page.skin-light .slots-badge,.public-page.skin-light .summary-chip i,
.public-page.skin-light .booking-reminder-choices legend i{color:var(--accent-light)!important}
.public-page.skin-light .slots-badge{background:var(--spot-action-soft)!important;border-color:var(--spot-action-border)!important}
.public-page.skin-light .summary-chip i{background:var(--spot-action-soft)!important}
.public-page.skin-light .contact-pill{background:#f6faff;color:#304d6a;border-color:#cbd9e9}
.public-page.skin-light .contact-pill.active{color:#1e486a!important}
.public-page.skin-light .contact-pill i{color:var(--accent-light)}
.public-page.skin-light .booking-card input::placeholder,.public-page.skin-light textarea::placeholder{color:#71869e}
.public-page.skin-light .wizard-actions .button.outline{background:#f4f8fd!important;border-color:#c7d9ed!important}
.public-page.skin-light .wizard-actions .button:not(.outline):disabled{color:#214366!important;background:#dae7f6!important;opacity:.65}
.public-page.skin-light .remind-lead-label .ui-select-trigger{background:#f8fbff!important;color:#183854!important;border-color:#c5d6ed}
.public-page.skin-light .remind-lead-label .ui-select-label{color:#173753}
.public-page.skin-light .food-product-bottom strong{color:#173854!important}
.public-page.skin-light .food-cart-bar .button{color:#fff!important}
/* The select portal is a body child, not a descendant of the modal. */
.ui-select-menu.spot-light-menu{background:#fff!important;border-color:#c1d3e9!important;box-shadow:0 15px 38px rgba(15,45,82,.22)}
.ui-select-menu.spot-light-menu .ui-select-option{color:#183a5f!important}
.ui-select-menu.spot-light-menu .ui-select-option:hover,
.ui-select-menu.spot-light-menu .ui-select-option.is-selected{background:#e8f1fe!important;color:#1c5088!important}
.ui-select-menu.spot-modal-menu{z-index:51000!important}
/* Builder's dynamically created forms inherit the same custom select behavior. */
.builder-food-form .builder-upload,.builder-food-form .builder-ai-generate{display:flex;width:100%;min-height:41px;align-items:center;justify-content:center;gap:8px;border-radius:11px;box-shadow:none;margin:9px 0}
.builder-category-field{position:relative}
.builder-category-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:1550;max-height:168px;overflow:auto;background:#142238;border:1px solid #3e5e89;border-radius:12px;padding:5px;box-shadow:0 12px 27px rgba(1,6,17,.32)}
.builder-category-suggestions[hidden]{display:none!important}
.builder-category-option{display:block;width:100%;padding:10px 12px;text-align:left;color:#e4f0ff;background:transparent;border:0;border-radius:8px;font:500 12px Inter,sans-serif;cursor:pointer}
.builder-category-option:hover,.builder-category-option:focus-visible{background:#29446b;color:#fff;outline:none}
.spot-home-link{color:inherit;text-decoration:none;cursor:pointer}
.spot-home-link:hover{border-color:color-mix(in srgb,var(--home-brand,#8bbcff) 58%,transparent)!important}
.spot-demo-label{font-size:11px;line-height:1.6;color:#91a9c8;margin:13px 0 0}
.spot-demo-preview .week-day{cursor:pointer}
/* Clickthrough detail dialog (push/deep link and dashboard). */
.spot-detail-overlay{position:fixed;inset:0;z-index:45000;display:none;align-items:center;justify-content:center;padding:14px}
.spot-detail-overlay.is-mounted{display:flex}
.spot-detail-backdrop{position:fixed;inset:0;border:0;background:rgba(3,8,16,.75);backdrop-filter:blur(5px);opacity:0;transition:opacity .25s}
.spot-detail-dialog{position:relative;z-index:1;width:min(100%,510px);max-height:calc(100dvh - 24px);overflow:auto;padding:23px;border:1px solid #42658d;border-radius:22px;background:linear-gradient(148deg,#182b42,#0d1829);box-shadow:0 20px 65px rgba(0,0,0,.48);opacity:0;transform:translateY(17px) scale(.975);transition:opacity .25s,transform .29s cubic-bezier(.2,1,.25,1)}
.spot-detail-overlay.is-open .spot-detail-backdrop{opacity:1}
.spot-detail-overlay.is-open .spot-detail-dialog{opacity:1;transform:translateY(0) scale(1)}
.spot-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}
.spot-detail-head h2{font:750 24px Manrope,Inter,sans-serif;margin:8px 0 0;color:#eef6ff}
.spot-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:1px solid #30465f;padding:12px 0;font-size:13px}
.spot-detail-row span{color:#98b3d3;min-width:90px}
.spot-detail-row strong{color:#eaf3ff;max-width:70%;overflow-wrap:anywhere;text-align:right;white-space:pre-wrap}
.spot-detail-dialog .dialog-actions{margin-top:12px;display:flex;justify-content:flex-end}
#orders-table-body [data-food-order],#tab-appointments [data-owner-booking]{cursor:pointer}
#orders-table-body [data-food-order]:hover,#tab-appointments [data-owner-booking]:hover{background:rgba(94,145,216,.055)}
@media (max-width:550px){.spot-detail-dialog{padding:20px 16px;border-radius:18px}.spot-detail-row{gap:10px}.spot-detail-row strong{max-width:65%}}
@media (prefers-reduced-motion:reduce){.spot-detail-overlay *{transition:none!important}}

/* Glayru Spot v13.1: booking modal focus, light progress, and owner preview alignment. */
.spot-detail-dialog:focus,
.spot-choice-dialog:focus{outline:none!important}
.spot-detail-dialog:focus-visible,
.spot-choice-dialog:focus-visible{outline:none!important;box-shadow:0 20px 65px rgba(0,0,0,.42)}
.spot-choice-dialog .button:focus,
.spot-choice-dialog .button:focus-visible{outline:none!important;box-shadow:none!important}
.public-page .booking-card input:focus,
.public-page .booking-card select:focus,
.public-page .booking-card textarea:focus{
  box-shadow:none!important;
  border-color:color-mix(in srgb,var(--brand-accent-text,#8bbcff) 25%,var(--border))!important
}
.public-page .booking-card input:focus-visible,
.public-page .booking-card select:focus-visible,
.public-page .booking-card textarea:focus-visible{
  outline:1px solid color-mix(in srgb,var(--brand-accent-text,#8bbcff) 22%,transparent);
  outline-offset:0
}
.public-page.skin-light .progress-item.is-active,
.public-page.skin-light .progress-item.is-complete{
  color:#223c58!important
}
.public-page.skin-light .progress-item.is-active{
  background:#eaf2ff!important;border-color:#c0d6ee!important
}
.public-page.skin-light .progress-item.is-active span,
.public-page.skin-light .progress-item.is-complete span{
  color:#233f5c!important;opacity:1!important
}
.public-page.skin-light .progress-item.is-active b{color:#fff!important;box-shadow:none!important}
.public-page.skin-light .progress-item.is-active b i{color:#fff!important}
.public-page.skin-light .spot-choice-dialog{
  color:#1c3652!important;
  background:linear-gradient(155deg,#fff,#f1f6fd)!important;
  border:1px solid #c4d5e8!important;
  box-shadow:0 22px 65px rgba(15,39,75,.23)!important
}
.public-page.skin-light .spot-choice-dialog h2{color:#172f4b!important}
.public-page.skin-light .spot-choice-dialog p{color:#506986!important}
.public-page.skin-light .spot-choice-dialog .eyebrow{color:var(--spot-action-color,#336ba5)!important}
.public-page.skin-light .spot-choice-close{background:#eaf1fa!important;color:#385775!important}
.public-page.skin-light .spot-choice-close:hover{background:#dce8f7!important;color:#173a5b!important}
.public-page.skin-light .spot-choice-dialog .button{color:#fff!important}
.public-page .spot-choice-dialog .button{min-height:46px}
@media(min-width:801px){
 .spot-home-live .preview-right{justify-content:flex-end;min-width:0}
 .spot-home-live .spot-home-orders{width:100%;margin-left:auto;margin-right:-12px}
}
@media(max-width:800px){.spot-home-live .spot-home-orders{margin-right:0}}
@media(prefers-reduced-motion:reduce){
 .spot-choice-dialog,.spot-choice-shade{transition:none!important}
}


/* Telegram account bridge */
.spot-telegram-auth{margin:22px 0 8px;padding:19px;border:1px solid #253b57;border-radius:16px;background:#121f32;text-align:center}
.spot-telegram-caption{font-size:13px;color:#b6c9e6;font-weight:650;margin-bottom:14px}
.spot-tg-widget{display:flex;align-items:center;justify-content:center;min-height:42px}
.spot-telegram-auth [data-tg-status]{display:block;margin-top:7px;min-height:0}
.user-avatar .spot-telegram-photo{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;inset:0}
.spot-telegram-linked{padding:10px 14px;background:#12233b;border-radius:11px;border:1px solid #293f5c;font-size:13px;color:#c8d9f5;margin-bottom:12px}
.spot-telegram-linked i{color:#57a8ff;margin-right:6px}

/* Spot Telegram OIDC Login 2.0 */
.spot-tg-oidc-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;max-width:100%;min-height:45px;background:#3484e9!important;color:#fff!important;border-color:rgba(135,185,255,.35)!important;box-shadow:none!important;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.spot-tg-oidc-button:hover{background:#2771cf!important;transform:translateY(-1px);box-shadow:0 7px 20px rgba(39,113,207,.18)!important}
.spot-tg-oidc-button:focus-visible,.spot-tg-oidc-link:focus-visible{outline:2px solid #91c7ff;outline-offset:3px}
.spot-tg-oidc-hint{display:block;color:#8ca8c9;font-size:11px;margin-top:11px}
.spot-tg-oidc-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px}
@media(max-width:500px){.spot-tg-oidc-button{width:100%}}
@media(prefers-reduced-motion:reduce){.spot-tg-oidc-button{transition:none!important;transform:none!important}}
