:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #2b2022;
  background: #fffaf7;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --rose: #c9586c;
  --rose-dark: #a94356;
  --rose-soft: #f6dfe2;
  --blush: #fff1ed;
  --cream: #fffaf7;
  --ink: #2b2022;
  --muted: #71676a;
  --line: #eadfdb;
  --paper: #ffffff;
  --shadow: 0 14px 42px rgba(79, 45, 51, .08);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--cream); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { border: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(201,88,108,.28); outline-offset: 2px; }

.brand { display: inline-grid; line-height: .82; align-items: center; min-width: 112px; }
.brand-script { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 32px; color: var(--rose); letter-spacing: -2px; }
.brand-sub { font-size: 9px; letter-spacing: 3px; color: #8d656c; margin-left: 16px; margin-top: 4px; }
.brand.compact .brand-script { font-size: 28px; }

.button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 14px; background: var(--rose); color: white; font-weight: 750; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; box-shadow: 0 8px 20px rgba(201,88,108,.18); }
.button:hover:not(:disabled) { background: var(--rose-dark); transform: translateY(-1px); }
.button.secondary { background: white; color: var(--rose-dark); border: 1px solid #e8bfc6; box-shadow: none; }
.button.small { min-height: 39px; padding: 0 15px; font-size: 13px; border-radius: 12px; }
.button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.inline-button { width: fit-content; }
.text-link { font-size: 13px; font-weight: 700; color: var(--rose-dark); }
.icon-button { width: 38px; height: 38px; border-radius: 12px; background: #f8eeeb; cursor: pointer; color: var(--ink); }

.public-site { min-height: 100vh; }
.public-header { position: sticky; top: 0; z-index: 50; height: 76px; padding: 0 max(24px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; background: rgba(255,250,247,.92); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(234,223,219,.7); }
.public-header nav { display: flex; justify-content: center; gap: 32px; font-size: 13px; }
.public-header nav a { color: #51484a; }
.public-header nav a:hover { color: var(--rose); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.brand-link { display: flex; }

.public-site main { max-width: 1240px; margin: 0 auto; }
.hero { margin: 28px 24px 0; min-height: 520px; border-radius: 34px; overflow: hidden; background: linear-gradient(125deg, #fff8f5 0%, #fbe9e4 60%, #f1d8d4 100%); box-shadow: var(--shadow); }
.minimal-hero { display: grid; grid-template-columns: 1.04fr .96fr; }
.hero-copy { padding: clamp(48px, 7vw, 88px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.eyebrow { margin: 0 0 10px; color: #a76772; font-size: 11px; font-weight: 800; letter-spacing: 3px; }
.hero h1, .public-section h2, .page-title h1, .client-shell h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; letter-spacing: -1.7px; }
.hero h1 { font-size: clamp(46px, 5.1vw, 76px); line-height: .98; margin: 0; max-width: 690px; }
.hero-subtitle { font-size: 18px; line-height: 1.55; color: #655b5d; max-width: 600px; margin: 22px 0 30px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-rules { display: flex; gap: 36px; margin-top: 34px; }
.hero-rules > div { display: flex; align-items: center; gap: 12px; }
.hero-rules span:last-child { display: grid; }
.hero-rules small { color: var(--muted); }
.hero-rules strong { font-size: 14px; }
.mini-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #e8bec5; border-radius: 12px; color: var(--rose); background: rgba(255,255,255,.58); font-size: 20px; }
.hero-art { position: relative; display: grid; place-items: center; overflow: hidden; min-height: 430px; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); }
.hero-orb.one { width: 430px; height: 430px; background: radial-gradient(circle at 32% 25%, #fff 0%, #edc8c4 40%, #d79598 76%, #c66678 100%); }
.hero-orb.two { width: 260px; height: 260px; right: -50px; bottom: -35px; background: rgba(255,255,255,.45); backdrop-filter: blur(10px); }
.hero-mark { position: relative; z-index: 2; font-family: Georgia, serif; font-style: italic; font-size: 180px; color: rgba(255,255,255,.94); text-shadow: 0 8px 35px rgba(118,58,70,.12); }
.hero-art p { position: absolute; z-index: 3; bottom: 48px; font-size: 12px; letter-spacing: 4px; font-weight: 800; color: white; text-transform: uppercase; }

.public-section { padding: 80px 24px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.section-heading h2, .location-section h2 { margin: 0; font-size: 38px; }
.section-heading > span { color: var(--muted); font-size: 13px; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.service-card { border-radius: var(--radius); overflow: hidden; background: white; border: 1px solid var(--line); min-height: 230px; transition: transform .18s ease, box-shadow .18s ease; }
.service-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.service-image { height: 166px; background: linear-gradient(135deg,#fde9e5,#f7d8db); background-position: center; background-size: cover; display: grid; place-items: center; font-size: 34px; color: #bf7782; }
.service-meta { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 16px 17px; }
.service-meta h3 { margin: 4px 0 0; font-size: 16px; }
.service-meta small { color: var(--muted); }
.service-meta > span { white-space: nowrap; font-weight: 800; color: var(--rose-dark); }
.promo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.promo-card { border-radius: var(--radius); overflow: hidden; min-height: 260px; position: relative; padding: 26px; background: linear-gradient(135deg,#f8dadd,#efd0ca); display: flex; align-items: flex-end; }
.promo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.promo-card > div { position: relative; z-index: 2; }
.promo-card h3 { font-family: Georgia,serif; font-size: 30px; margin: 8px 0; }
.promo-card p { max-width: 340px; color: #574b4d; }
.gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.gallery-grid figure { margin: 0; border-radius: 18px; overflow: hidden; background: white; border: 1px solid var(--line); }
.gallery-grid img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.gallery-grid figcaption { padding: 10px 12px; font-size: 12px; color: var(--muted); }
.location-section { margin: 80px 24px 70px; padding: 38px; border-radius: 28px; background: #2d2527; color: white; display: grid; grid-template-columns: 1fr .82fr; gap: 50px; }
.location-section .eyebrow { color: #eebac2; }
.location-copy > p { color: #d9cdcf; max-width: 600px; line-height: 1.55; }
.contact-row { display: flex; flex-wrap: wrap; gap: 20px; margin: 20px 0; }
.contact-row a { color: #f7cbd1; }
.hours-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 20px; padding: 20px; }
.hours-card h3 { margin-top: 0; }
.hours-card > div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; color: #ded5d7; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 13px; }
.hours-card strong { color: white; }
.public-footer { max-width: 1192px; margin: 0 auto; padding: 22px 24px 40px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--muted); font-size: 12px; }
.public-footer button { background: transparent; color: var(--rose-dark); cursor: pointer; }
.content-error, .info-banner { margin: 24px; padding: 14px 16px; border-radius: 12px; background: #fff1e7; color: #764d32; border: 1px solid #f2d2bd; }

.card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: 0 3px 14px rgba(86,52,59,.03); }
.card h2, .card h3 { margin-top: 0; }
.empty-state { min-height: 210px; border: 1px dashed #dbc9c5; border-radius: var(--radius); display: grid; place-items: center; align-content: center; text-align: center; padding: 30px; background: rgba(255,255,255,.55); }
.empty-state h3 { margin: 10px 0 4px; }
.empty-state p { margin: 0 0 18px; max-width: 480px; color: var(--muted); line-height: 1.5; }
.empty-icon { font-size: 32px; color: #c78993; }
.skeleton { min-height: 210px; border-radius: var(--radius); background: linear-gradient(90deg,#f5e9e5,#fff,#f5e9e5); background-size: 200% 100%; animation: shimmer 1.35s infinite; }
.promo-skeleton { min-height: 260px; }
@keyframes shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

.center-page { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 16px; padding: 24px; background: var(--cream); }
.spinner { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #f1d9dd; border-top-color: var(--rose); animation: spin .75s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.compact-card { max-width: 460px; text-align: center; }

.internal-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; background: #f8f4f2; }
.internal-sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 18px; background: #251e20; color: #f7eff0; display: flex; flex-direction: column; }
.sidebar-label { color: #9d888d; font-size: 9px; letter-spacing: 2.6px; font-weight: 800; margin: 40px 10px 13px; }
.internal-sidebar nav { display: grid; gap: 4px; }
.internal-sidebar nav a { padding: 11px 12px; border-radius: 10px; font-size: 13px; color: #cfbec2; }
.internal-sidebar nav a:hover, .internal-sidebar nav a.active { color: white; background: #3a2d31; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 8px; }
.sidebar-bottom a, .sidebar-bottom button { text-align: left; padding: 9px 12px; color: #b9a6aa; background: transparent; cursor: pointer; font-size: 12px; }
.internal-main { min-width: 0; }
.internal-header { height: 70px; padding: 0 28px; background: rgba(255,255,255,.88); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 20; }
.internal-header > div { display: grid; }
.internal-header small { color: var(--muted); }
.role-pills { display: flex; gap: 6px; }
.role-pills em { font-style: normal; font-size: 10px; padding: 5px 8px; border-radius: 999px; background: #f5e5e8; color: #934455; text-transform: uppercase; }
.internal-content { padding: 32px; max-width: 1440px; margin: 0 auto; }
.page-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-title h1 { margin: 0; font-size: 40px; }
.page-title p:not(.eyebrow) { color: var(--muted); max-width: 760px; margin: 8px 0 0; line-height: 1.5; }
.admin-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.admin-grid .card p { color: var(--muted); line-height: 1.5; }
.admin-grid .card a { color: var(--rose-dark); font-weight: 800; font-size: 13px; }
.split-admin { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 16px; align-items: start; }
.grow { min-width: 0; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.card-head > span { color: var(--muted); font-size: 12px; }
.inline-form { display: flex; gap: 8px; }
.inline-form .input { min-width: 0; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.tag-list span { background: #f8eeee; color: #784851; border-radius: 999px; padding: 6px 9px; font-size: 11px; }
.admin-list { display: grid; }
.admin-row { display: grid; grid-template-columns: 54px minmax(0,1fr) auto auto; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid #eee6e3; }
.admin-row:last-child { border-bottom: 0; }
.thumb { width: 54px; height: 54px; border-radius: 13px; background: #f7e8e8; display: grid; place-items: center; color: var(--rose); overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.row-main { display: grid; min-width: 0; }
.row-main small, .row-main span { color: var(--muted); font-size: 11px; }
.row-main strong { margin: 2px 0 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-actions { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.row-actions button { color: #7d5159; background: #fbf2f1; padding: 7px 9px; border-radius: 9px; font-size: 11px; cursor: pointer; }
.status-chip { display: inline-flex; width: fit-content; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; background: #eee9e8; color: #645b5d; }
.status-chip.success { background: #e5f4ea; color: #37734c; }
.status-chip.warning { background: #fff0d8; color: #946429; }
.status-chip.danger { background: #fbe4e3; color: #9c403d; }
.field { display: grid; gap: 7px; align-content: start; }
.field-label { font-size: 12px; font-weight: 800; color: #574c4f; }
.field small { color: var(--muted); font-size: 10px; }
.input { width: 100%; min-height: 44px; border: 1px solid #ded2cf; background: white; color: var(--ink); border-radius: 11px; padding: 9px 11px; }
.textarea { resize: vertical; min-height: 82px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid .field:has(textarea), .form-grid .full { grid-column: 1/-1; }
.check-field { min-width: 0; border: 1px solid #e5d9d6; border-radius: 12px; padding: 10px 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.check-field legend { padding: 0 5px; font-weight: 800; font-size: 11px; color: #66575a; }
.check-field label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.check-field input { accent-color: var(--rose); }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; padding: 24px; background: rgba(36,26,29,.46); backdrop-filter: blur(7px); display: grid; place-items: center; }
.modal { width: min(760px,100%); max-height: min(860px, calc(100vh - 48px)); overflow: auto; border-radius: 22px; background: white; padding: 22px; box-shadow: 0 32px 80px rgba(38,23,28,.26); }
.modal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.modal-head h2 { margin: 0; font-size: 22px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 6px; }
.toast { position: fixed; z-index: 150; right: 22px; top: 88px; max-width: 380px; padding: 12px 15px; border-radius: 12px; background: #245c3a; color: white; box-shadow: var(--shadow); font-size: 13px; }
.toast.danger { background: #923e43; }
.media-admin-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.media-admin-card { background: white; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.media-admin-card > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.media-admin-card > div { padding: 15px; }
.media-admin-card h3 { margin: 10px 0 4px; }
.media-admin-card p { color: var(--muted); font-size: 12px; }
.business-form { display: grid; gap: 16px; }
.hours-grid { display: grid; gap: 8px; }
.hour-row { display: grid; grid-template-columns: 120px 70px 130px 24px 130px; gap: 9px; align-items: center; padding: 7px 0; border-bottom: 1px solid #f0e9e7; }
.hour-row label { font-size: 12px; }
.sticky-save { position: sticky; bottom: 18px; display: flex; justify-content: flex-end; pointer-events: none; }
.sticky-save .button { pointer-events: auto; }
.audit-table { padding: 0; overflow: hidden; }
.audit-head, .audit-row { display: grid; grid-template-columns: 190px 170px 1fr 130px; gap: 14px; align-items: center; padding: 12px 16px; }
.audit-head { background: #f5ece9; font-size: 11px; font-weight: 800; }
.audit-row { border-top: 1px solid #eee7e4; font-size: 12px; }
.muted { color: var(--muted)!important; }

.staff-placeholder { min-height: 100vh; background: #f8f4f2; }
.staff-placeholder header { height: 72px; padding: 0 30px; background: white; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.staff-placeholder header > div { display: flex; gap: 14px; align-items: center; }
.staff-placeholder header button { background: transparent; cursor: pointer; color: var(--rose-dark); }
.staff-placeholder main { max-width: 980px; margin: 0 auto; padding: 70px 24px; }
.staff-placeholder h1 { font: 500 48px/1.05 Georgia,serif; margin: 0 0 12px; }
.staff-placeholder main > p:not(.eyebrow) { color: var(--muted); line-height: 1.6; max-width: 750px; }

.client-shell { min-height: 100dvh; max-width: 520px; margin: 0 auto; background: #fffaf7; position: relative; padding-bottom: 86px; box-shadow: 0 0 70px rgba(86,50,58,.1); }
.client-shell header { height: 76px; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; }
.client-shell main { padding: 44px 22px; }
.client-shell h1 { font-size: 50px; margin: 0; }
.client-lead { color: var(--muted); font-size: 16px; line-height: 1.6; }
.client-action-stack { display: grid; gap: 10px; margin: 28px 0; }
.client-preview-card { background: linear-gradient(145deg,#f7dfe0,#feece7); border-radius: 24px; padding: 24px; min-height: 200px; display: flex; flex-direction: column; justify-content: flex-end; }
.client-preview-card small { letter-spacing: 2px; color: #a15764; font-weight: 800; }
.client-preview-card h2 { font: 500 30px/1.06 Georgia,serif; margin: 8px 0; }
.client-preview-card p { color: #725b60; line-height: 1.5; }
.client-bottom-nav { position: fixed; bottom: 0; width: min(520px,100vw); height: 74px; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5,1fr); padding-bottom: env(safe-area-inset-bottom); }
.client-bottom-nav span { display: grid; place-items: center; align-content: center; gap: 3px; color: #8f8587; font-size: 19px; }
.client-bottom-nav span.active { color: var(--rose); }
.client-bottom-nav small { font-size: 9px; }

@media (max-width: 900px) {
  .public-header { grid-template-columns: auto 1fr; padding: 0 16px; height: 68px; }
  .public-header nav { display: none; }
  .header-actions { justify-content: end; }
  .header-actions .secondary, .header-actions .text-link { display: none; }
  .minimal-hero { grid-template-columns: 1fr; }
  .hero { margin: 14px 12px 0; min-height: auto; }
  .hero-copy { padding: 42px 28px 30px; }
  .hero h1 { font-size: clamp(44px,12vw,64px); }
  .hero-subtitle { font-size: 15px; }
  .hero-actions { display: grid; width: 100%; }
  .hero-rules { width: 100%; gap: 12px; display: grid; grid-template-columns: 1fr 1fr; }
  .hero-rules > div { background: rgba(255,255,255,.55); padding: 12px; border-radius: 14px; }
  .hero-art { min-height: 240px; }
  .hero-orb.one { width: 290px; height: 290px; }
  .hero-mark { font-size: 126px; }
  .hero-art p { bottom: 30px; }
  .public-section { padding: 58px 16px 0; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .promo-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .location-section { margin: 58px 16px 44px; padding: 25px; grid-template-columns: 1fr; gap: 22px; }
  .public-footer { margin: 0 16px; padding-inline: 0; flex-wrap: wrap; }
  .internal-shell { grid-template-columns: 1fr; }
  .internal-sidebar { position: static; height: auto; padding: 14px 16px; flex-direction: row; align-items: center; overflow-x: auto; }
  .internal-sidebar .brand, .sidebar-label, .sidebar-bottom { display: none; }
  .internal-sidebar nav { display: flex; gap: 6px; }
  .internal-sidebar nav a { white-space: nowrap; }
  .internal-header { top: 0; height: 62px; padding: 0 16px; }
  .internal-content { padding: 20px 14px 40px; }
  .page-title { align-items: flex-start; flex-direction: column; }
  .page-title h1 { font-size: 34px; }
  .admin-grid, .media-admin-grid { grid-template-columns: 1fr; }
  .split-admin { grid-template-columns: 1fr; }
  .admin-row { grid-template-columns: 48px minmax(0,1fr) auto; }
  .admin-row .row-actions { grid-column: 2/-1; justify-content: flex-start; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .field:has(textarea), .form-grid .full { grid-column: auto; }
  .hour-row { grid-template-columns: 1fr 70px; }
  .hour-row .input, .hour-row > span { grid-column: auto; }
  .audit-table { overflow-x: auto; }
  .audit-head, .audit-row { min-width: 760px; }
}

@media (max-width: 520px) {
  .header-actions .button { padding: 0 12px; font-size: 12px; }
  .hero-copy { padding: 36px 20px 24px; }
  .hero h1 { font-size: 44px; }
  .hero-rules strong { font-size: 12px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-image { height: 190px; }
  .section-heading h2, .location-section h2 { font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto!important; transition: none!important; animation-duration: .001ms!important; animation-iteration-count: 1!important; } }
.role-editor { display: grid; gap: 14px; }
.role-checkboxes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.role-checkboxes label { display: flex; gap: 9px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; text-transform: capitalize; }
.role-checkboxes label.disabled { opacity: .45; }
.role-checkboxes input { accent-color: var(--rose); }

/* ---------- Stage 2 client app / booking / queue ---------- */
.client-app-shell { min-height:100dvh; width:min(560px,100%); margin:0 auto; background:#fffaf8; box-shadow:0 0 70px rgba(86,50,58,.10); padding-bottom:86px; position:relative; }
.client-app-header { height:72px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:20; background:rgba(255,250,248,.92); backdrop-filter:blur(18px); border-bottom:1px solid rgba(226,214,211,.8); }
.client-head-right { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--muted); }
.client-head-right button { background:none; color:var(--rose-dark); cursor:pointer; font-weight:700; }
.client-app-main { padding:24px 18px 28px; }
.client-page { display:grid; gap:18px; }
.client-page h1 { margin:0; font:500 clamp(36px,10vw,52px)/1.02 Georgia,serif; letter-spacing:-.03em; }
.client-page h2 { margin:0 0 8px; font:500 26px/1.1 Georgia,serif; }
.client-page > section > p:not(.eyebrow) { color:var(--muted); line-height:1.55; }
.client-greeting { padding:14px 4px 0; }
.client-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.client-priority-card { border-color:#ecd3d3; background:linear-gradient(145deg,#fff,#fff5f4); }
.client-priority-card.called, .card.called { background:linear-gradient(145deg,#fff4e9,#fff); border-color:#f0d6b9; }
.queue-countdown { display:block; font-size:42px; letter-spacing:.04em; font-variant-numeric:tabular-nums; margin:12px 0; }
.client-bottom-nav { left:50%; transform:translateX(-50%); z-index:40; }
.client-bottom-nav a { text-decoration:none; display:grid; place-items:center; align-content:center; gap:3px; color:#8f8587; font-size:19px; }
.client-bottom-nav a.active { color:var(--rose); font-weight:700; }
.client-bottom-nav a small { font-size:9px; }
.card-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.button-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.service-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.service-check { display:grid; grid-template-columns:auto 1fr; column-gap:9px; row-gap:3px; padding:13px; border:1px solid var(--line); border-radius:14px; cursor:pointer; background:white; }
.service-check input { grid-row:1/3; accent-color:var(--rose); margin-top:3px; }
.service-check strong { font-size:13px; }
.service-check small { font-size:10px; color:var(--muted); }
.service-check.selected { border-color:#cb717e; box-shadow:0 0 0 2px rgba(203,113,126,.12); background:#fff8f8; }
.slot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:14px 0; }
.slot { border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px; cursor:pointer; display:grid; gap:2px; text-align:left; }
.slot small { color:var(--muted); font-size:9px; }
.slot.selected { background:#fbe5e5; border-color:var(--rose); }
.notice-card { background:#fff7ef; border-color:#f1d8c1; }
.client-list { display:grid; gap:10px; }
.profile-line { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid #f1e9e7; font-size:12px; }
.profile-line:last-child { border-bottom:0; }
.profile-line span { color:var(--muted); }
.reward-hero { display:flex; align-items:flex-end; gap:10px; }
.reward-hero strong { font:500 56px/1 Georgia,serif; }
.placeholder-calendar { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin:18px 0; }
.placeholder-calendar span { background:#f7efec; border-radius:9px; padding:9px 2px; font-size:9px; text-align:center; }
.success-note { color:#296141; background:#eaf6ee; padding:10px 12px; border-radius:10px; }
.form-error { color:#9b3d42; background:#fff0ef; padding:10px 12px; border-radius:10px; font-size:12px; }

.walkin-public { min-height:100dvh; background:#fff8f5; padding:24px; }
.walkin-public > .brand { margin-bottom:28px; }
.walkin-public > header { max-width:760px; margin:0 auto 22px; display:flex; justify-content:space-between; align-items:center; }
.walkin-public > header button { background:none; color:var(--rose-dark); cursor:pointer; }
.walkin-public > main, .walkin-public > .card { max-width:760px; margin:0 auto; }
.walkin-public main { display:grid; gap:18px; }
.walkin-public h1 { font:500 48px/1.05 Georgia,serif; margin:0; }

.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.page-heading h1 { margin:0; font:500 38px/1.05 Georgia,serif; }
.page-heading p:not(.eyebrow) { color:var(--muted); max-width:760px; }
.admin-section { margin-top:28px; }
.compact-list { display:grid; border:1px solid var(--line); background:white; border-radius:16px; overflow:hidden; }
.compact-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 14px; border-bottom:1px solid #f0e8e6; }
.compact-row:last-child { border-bottom:0; }
.compact-row > div:first-child { display:grid; gap:3px; }
.compact-row small { color:var(--muted); }
.queue-admin-tools { display:grid; grid-template-columns:minmax(260px,.8fr) 1.2fr; gap:22px; align-items:start; }
.queue-admin-tools > div { display:grid; gap:10px; }
.qr-image { width:min(280px,100%); border-radius:16px; border:1px solid var(--line); background:white; }
.break-all { overflow-wrap:anywhere; color:var(--muted); }
.queue-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:20px; }
.queue-columns > section { min-width:0; }
.queue-columns > section > h3 { text-transform:capitalize; font-size:13px; color:#66585b; }
.queue-entry-card { padding:14px; margin-bottom:9px; }
.staff-current { background:linear-gradient(145deg,#f3fff7,#fff); border-color:#cde4d4; }
.schedule-grid { display:grid; gap:6px; margin:16px 0; }
.schedule-row { display:grid; grid-template-columns:56px 86px repeat(4,minmax(100px,1fr)); gap:8px; align-items:center; }
.schedule-row label { display:flex; gap:5px; font-size:11px; align-items:center; }

@media (max-width:900px){
  .queue-columns { grid-template-columns:1fr 1fr; }
  .queue-admin-tools { grid-template-columns:1fr; }
  .schedule-row { grid-template-columns:52px 80px 1fr 1fr; }
  .schedule-row .input:nth-of-type(3), .schedule-row .input:nth-of-type(4) { grid-column:auto; }
}
@media (max-width:600px){
  .client-home-grid,.two-col,.service-check-grid { grid-template-columns:1fr; }
  .slot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .queue-columns { grid-template-columns:1fr; }
  .page-heading { flex-direction:column; }
  .schedule-row { grid-template-columns:50px 78px 1fr 1fr; padding-bottom:8px; border-bottom:1px solid var(--line); }
  .client-app-main { padding-inline:14px; }
  .walkin-public { padding:18px 14px; }
}

.notice-text { margin: .65rem 0; padding: .75rem .85rem; border-radius: .9rem; background: rgba(184,91,108,.08); color: var(--ink); font-size: .92rem; line-height: 1.45; }

/* Stage 3 verified operations */
.ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;align-items:start}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.camera-capture{display:grid;gap:10px;margin:12px 0 20px}.camera-frame{position:relative;overflow:hidden;border-radius:18px;background:#151515;aspect-ratio:4/3;border:1px solid var(--line)}.camera-frame.selfie{aspect-ratio:3/4;max-width:380px}.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.camera-frame.selfie video{transform:scaleX(-1)}.camera-guide{position:absolute;inset:auto 12px 12px;background:rgba(0,0,0,.65);color:white;padding:9px 12px;border-radius:10px;text-align:center;font-size:.85rem}.notice.success{border-color:#a7d7ba;background:#f2fbf5}.notice.error{border-color:#efb1b1;background:#fff5f5;color:#8a3131}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 16px}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:white}.check input{width:auto!important}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:24px}.catalog-card{border:1px solid var(--line);background:white;border-radius:15px;padding:16px;text-align:left;display:grid;gap:7px;cursor:pointer}.catalog-card:hover{border-color:var(--rose);box-shadow:0 8px 24px rgba(90,50,50,.08)}.catalog-card:disabled{opacity:.45;cursor:not-allowed}.catalog-card span{font-size:.84rem;color:var(--muted)}.cart{position:sticky;top:88px}.cart-total{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:1.15rem}.review-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px}.review-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 4px;display:flex;justify-content:space-between;text-align:left;gap:10px;cursor:pointer}.review-item.active{background:var(--blush);padding-inline:12px;border-radius:12px}.review-item small{display:block;color:var(--muted);margin-top:4px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-grid figure{margin:0}.evidence-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f6f2ef;border-radius:14px;border:1px solid var(--line)}.evidence-grid figcaption{font-size:.8rem;color:var(--muted);margin-top:5px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.field-card{border:1px solid var(--line);border-radius:12px;padding:11px;display:grid;gap:3px}.field-card small,.field-card em{color:var(--muted);font-style:normal}.summary-box{display:flex;gap:18px;justify-content:flex-end;padding:16px;margin-top:14px;background:var(--blush);border-radius:13px}.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:12px 18px;display:grid}.metric span{color:var(--muted);font-size:.8rem}.metric strong{font-size:1.35rem}.negative{color:#bd3f4d!important}.table-wrap{overflow:auto}.table-wrap table{min-width:760px}.list-row small{display:block;color:var(--muted);margin-top:3px}.list-row>span{white-space:nowrap}.empty-state{text-align:center;padding:60px 30px}.danger{background:#fff;border:1px solid #d66875;color:#a72939;border-radius:10px;padding:10px 15px}.link-button{border:0;background:transparent;color:var(--rose);cursor:pointer}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.ops-grid,.pos-layout,.review-layout{grid-template-columns:1fr}.cart{position:static}.evidence-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}}

/* Stage 4 relationship + intelligence UI */
.care-progress-card{overflow:hidden}.care-progress{height:8px;border-radius:999px;background:var(--surface-soft,#f6eded);overflow:hidden;margin-top:14px}.care-progress i{display:block;height:100%;background:var(--accent,#ca5e6d);border-radius:inherit;transition:width .2s ease}.care-task-list{display:grid;gap:10px}.care-task{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;padding:14px 16px;border:1px solid var(--border,#eadede);border-radius:16px;background:#fff;color:inherit}.care-task span{font-size:1.4rem}.care-task small{color:var(--muted,#746d6d)}.care-task.done{background:#f6fbf7;border-color:#cee4d3}.care-task.done strong{text-decoration:line-through;color:#667168}.reward-wallet{background:linear-gradient(135deg,#fff,#fbf1f2)}.reward-grid,.visit-grid,.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.visit-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:12px}.metric-big{font-size:2rem;font-weight:750;line-height:1.1;margin:.45rem 0}.metric-big small{font-size:.9rem;font-weight:500;color:var(--muted,#746d6d)}.section-mini-title{font-size:1.05rem;margin:18px 0 10px}.positive{color:#26804a}.negative{color:#b33a45}.profile-line span small{display:block;color:var(--muted,#746d6d);font-weight:400;margin-top:2px}
@media(max-width:680px){.care-task{grid-template-columns:auto 1fr}.care-task small{grid-column:2}.analytics-grid,.reward-grid,.visit-grid{grid-template-columns:1fr}}

/* RC6 — refined responsive client booking experience */
.client-app-shell {
  min-height: 100dvh;
  width: 100%;
  max-width: none;
  margin: 0;
  background:
    radial-gradient(circle at 12% 4%, rgba(221,149,159,.11), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(240,198,187,.16), transparent 26%),
    #fffaf8;
  box-shadow: none;
  padding-bottom: 110px;
}
.client-app-header {
  height: 82px;
  padding: 0 24px;
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,250,248,.88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(226,214,211,.72);
}
.client-app-header-inner {
  width: min(1120px,100%);
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.client-brand-link { display:flex; align-items:center; }
.client-head-right { display:flex; align-items:center; gap:14px; font-size:13px; color:var(--muted); }
.client-greeting { padding-right: 2px; }
.client-signout { background:transparent; color:var(--rose-dark); cursor:pointer; font-weight:750; padding:9px 11px; border-radius:10px; }
.client-signout:hover { background:rgba(201,88,108,.07); }
.client-app-main { width:min(1120px,100%); margin:0 auto; padding:42px 24px 48px; }
.client-page { gap:24px; }
.client-page h1 { font:500 clamp(42px,5vw,68px)/.98 Georgia,serif; letter-spacing:-.045em; }
.client-page h2 { font:500 28px/1.05 Georgia,serif; letter-spacing:-.025em; }

.client-bottom-nav {
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(610px,calc(100vw - 36px));
  height:72px;
  border:1px solid rgba(226,214,211,.95);
  border-radius:23px;
  background:rgba(255,255,255,.93);
  box-shadow:0 20px 55px rgba(76,42,50,.13);
  padding:7px;
  padding-bottom:calc(7px + env(safe-area-inset-bottom));
  overflow:hidden;
}
.client-bottom-nav a {
  min-width:0;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#94898b;
  font-size:0;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.client-bottom-nav a:hover { background:#fff6f4; color:#6f5c60; }
.client-bottom-nav a.active { color:var(--rose-dark); background:#fff0f1; font-weight:800; }
.client-bottom-nav a svg { display:block; }
.client-bottom-nav a small { font-size:10px; line-height:1; font-weight:700; }

.book-page { gap:30px; }
.book-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:42px;
  padding:8px 4px 12px;
}
.book-hero > div:first-child { max-width:720px; }
.book-hero h1 { margin:0; max-width:680px; }
.book-hero > div:first-child > p:not(.eyebrow) { color:var(--muted); line-height:1.6; max-width:650px; font-size:15px; margin:16px 0 0; }
.booking-steps { display:flex; align-items:center; gap:8px; padding-bottom:8px; }
.booking-steps span { display:grid; justify-items:center; gap:6px; color:#a09395; min-width:54px; }
.booking-steps span b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; border:1px solid #dfd1ce; background:white; font-size:12px; }
.booking-steps span small { font-size:9px; font-weight:800; letter-spacing:.04em; }
.booking-steps span.active,.booking-steps span.done { color:var(--rose-dark); }
.booking-steps span.active b { background:var(--rose); color:white; border-color:var(--rose); box-shadow:0 7px 18px rgba(201,88,108,.18); }
.booking-steps span.done b { background:#fff0f2; border-color:#e6aab4; }
.booking-steps i { width:34px; height:1px; background:#ded1cf; margin-top:-18px; }

.book-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr); gap:22px; align-items:start; }
.book-primary,.book-sidebar { display:grid; gap:18px; }
.book-sidebar { position:sticky; top:106px; }
.book-section-card { border-radius:26px; padding:24px; box-shadow:0 14px 40px rgba(76,42,50,.055); }
.book-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.book-card-heading > div:first-child { display:flex; gap:12px; align-items:flex-start; }
.book-card-heading > div:first-child > span { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:#fff0f1; color:var(--rose-dark); font-size:10px; font-weight:900; }
.book-card-heading small { display:block; color:#a66d77; font-size:9px; letter-spacing:.16em; font-weight:850; margin-bottom:4px; }
.book-card-heading h2 { margin:0; }
.book-card-heading > strong { font-size:11px; color:var(--rose-dark); padding:7px 10px; background:#fff2f3; border-radius:999px; }

.service-check-grid.book-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.book-services .service-check {
  position:relative;
  grid-template-columns:1fr auto;
  align-items:start;
  min-height:104px;
  padding:17px 17px 15px;
  border-radius:18px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.book-services .service-check:hover { transform:translateY(-1px); border-color:#deb7bd; box-shadow:0 10px 26px rgba(75,42,50,.06); }
.book-services .service-check input { position:absolute; opacity:0; pointer-events:none; }
.service-check-copy { display:grid; gap:6px; padding-right:18px; }
.book-services .service-check strong { font-size:14px; line-height:1.3; color:#3e3033; }
.book-services .service-check small { font-size:11px; line-height:1.35; }
.book-services .service-check > b { font-size:13px; color:var(--rose-dark); white-space:nowrap; }
.service-check-mark { position:absolute; right:14px; bottom:13px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:#eee7e5; color:white; font-size:12px; transform:scale(.8); opacity:.35; transition:.18s ease; }
.book-services .service-check.selected { border-color:#d7818f; background:linear-gradient(145deg,#fff9f9,#fff2f3); box-shadow:0 0 0 2px rgba(201,88,108,.08); }
.book-services .service-check.selected .service-check-mark { background:var(--rose); transform:scale(1); opacity:1; }

.notification-strip {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:15px 16px;
  border:1px solid #ead6cf;
  border-radius:19px;
  background:rgba(255,248,241,.88);
  box-shadow:0 8px 28px rgba(82,49,46,.035);
}
.notification-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:#fff0e5; color:#a66a45; }
.notification-icon span { font-weight:900; }
.notification-strip strong { display:block; font-size:13px; color:#4a3739; }
.notification-strip p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }
.notification-strip small { display:block; margin-top:5px; color:#826a6d; font-size:10px; line-height:1.35; }
.notification-strip .notification-note { color:#9a6446; }
.notification-strip .button { min-height:38px; padding:0 13px; font-size:11px; box-shadow:none; }

.booking-details-card { display:grid; gap:14px; }
.booking-details-card .book-card-heading { margin-bottom:2px; }
.booking-details-card .input { min-height:48px; border-radius:13px; background:#fffefd; }
.booking-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; border-radius:15px; background:#fbf5f3; border:1px solid #efe4e1; }
.booking-summary > div { display:grid; gap:4px; min-width:0; }
.booking-summary span { color:var(--muted); font-size:9px; }
.booking-summary strong { font-size:12px; color:#433437; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.book-primary-action { width:100%; min-height:50px; border-radius:15px; }
.booking-footnote { margin:0; text-align:center; color:var(--muted); font-size:10px; line-height:1.4; }
.book-error { margin:0; }

.book-empty { min-height:92px; display:flex; align-items:center; gap:14px; padding:18px; border:1px dashed #dfceca; border-radius:18px; background:#fffcfa; }
.book-empty > span { width:36px; height:36px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:#f8eeeb; color:#a86d77; font-size:16px; }
.book-empty > div { display:grid; gap:4px; }
.book-empty strong { font-size:13px; color:#493a3d; }
.book-empty small { color:var(--muted); font-size:11px; line-height:1.45; }
.book-empty.compact { min-height:78px; }

.availability-card .slot-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:6px 0 18px; }
.availability-card .slot { min-height:66px; border-radius:14px; padding:12px; text-align:center; align-content:center; }
.availability-card .slot strong { font-size:13px; }
.availability-card .slot small { font-size:9px; }
.availability-card .slot.selected { background:#fff0f2; box-shadow:0 0 0 2px rgba(201,88,108,.08); }

.book-appointments { margin-top:8px; padding-top:28px; border-top:1px solid var(--line); }
.section-title-row { display:flex; justify-content:space-between; align-items:end; margin-bottom:14px; }
.section-title-row h2 { margin:0; }
.appointment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.appointment-card { padding:16px 18px; border-radius:18px; box-shadow:none; }

@media (max-width: 920px) {
  .client-app-main { padding:32px 18px 42px; }
  .book-hero { grid-template-columns:1fr; gap:22px; }
  .booking-steps { justify-content:flex-start; }
  .book-layout { grid-template-columns:1fr; }
  .book-sidebar { position:static; }
  .notification-strip { order:2; }
  .booking-details-card { order:1; }
  .availability-card .slot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .client-app-shell { padding-bottom:94px; }
  .client-app-header { height:68px; padding:0 14px; }
  .client-app-header .brand-script { font-size:27px; }
  .client-app-header .brand-sub { font-size:8px; }
  .client-greeting { display:none; }
  .client-signout { font-size:11px; padding:8px 9px; }
  .client-app-main { padding:25px 14px 30px; }
  .client-page h1 { font-size:42px; }
  .client-page h2 { font-size:25px; }
  .book-page { gap:22px; }
  .book-hero { padding-inline:3px; }
  .book-hero > div:first-child > p:not(.eyebrow) { font-size:13px; margin-top:12px; }
  .booking-steps { width:100%; justify-content:space-between; gap:4px; }
  .booking-steps span { min-width:46px; }
  .booking-steps i { flex:1; width:auto; }
  .book-section-card { padding:18px; border-radius:21px; }
  .book-card-heading { margin-bottom:16px; }
  .service-check-grid.book-services { grid-template-columns:1fr; }
  .book-services .service-check { min-height:88px; }
  .notification-strip { grid-template-columns:auto 1fr; align-items:start; }
  .notification-strip .button { grid-column:2; width:max-content; }
  .booking-summary { grid-template-columns:1fr; gap:9px; }
  .booking-summary > div { grid-template-columns:1fr auto; align-items:center; }
  .availability-card .slot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .appointment-grid { grid-template-columns:1fr; }
  .client-bottom-nav { bottom:0; width:100%; max-width:none; height:76px; border-radius:20px 20px 0 0; border-left:0; border-right:0; border-bottom:0; padding:7px 6px calc(7px + env(safe-area-inset-bottom)); box-shadow:0 -8px 28px rgba(76,42,50,.08); }
  .client-bottom-nav a { border-radius:13px; }
  .client-bottom-nav a small { font-size:9px; }
}

/* ========================================================================== */
/* RC9 — premium pink lifestyle mobile UI                                    */
/* Clean cards, soft shadows, pill chips, spacious white surfaces.            */
/* Applies only to authenticated client surfaces. Admin/public remain intact. */
/* ========================================================================== */
:root {
  --premium-pink:#ef5f91;
  --premium-pink-deep:#d94679;
  --premium-pink-strong:#c93469;
  --premium-pink-soft:#ffe4ee;
  --premium-pink-pale:#fff5f8;
  --premium-bg:#f7f7fb;
  --premium-surface:#ffffff;
  --premium-ink:#2f3148;
  --premium-muted:#8e90a3;
  --premium-line:#ececf3;
  --premium-shadow:0 12px 32px rgba(59,54,83,.08);
  --premium-shadow-hover:0 18px 42px rgba(59,54,83,.12);
  --premium-radius:24px;
  --premium-pill:999px;
}

body:has(.client-app-shell) {
  background:linear-gradient(135deg,#f4f5fb 0%,#fdf7fa 48%,#f3f5fb 100%);
}
.client-app-shell.glow-app-shell {
  min-height:100dvh;
  width:min(1180px,100%);
  max-width:1180px;
  margin:0 auto;
  padding-bottom:108px;
  background:#fbfbfd;
  color:var(--premium-ink);
  position:relative;
  box-shadow:0 28px 90px rgba(55,50,80,.10);
  overflow:clip;
}
.client-app-shell .card {
  background:var(--premium-surface);
  border:1px solid var(--premium-line);
  border-radius:var(--premium-radius);
  box-shadow:var(--premium-shadow);
}

/* Top bar */
.glow-topbar {
  position:sticky;
  top:0;
  z-index:45;
  height:82px;
  padding:0 30px;
  background:rgba(251,251,253,.92);
  border-bottom:1px solid rgba(236,236,243,.85);
  backdrop-filter:blur(18px) saturate(1.1);
}
.glow-topbar-inner {
  max-width:1080px;
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.glow-topbar-copy { display:grid; gap:3px; }
.glow-topbar-copy small {
  color:var(--premium-pink);
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.glow-topbar-copy strong {
  color:var(--premium-ink);
  font-size:18px;
  line-height:1.15;
  font-weight:800;
}
.glow-head-actions { display:flex; align-items:center; gap:10px; }
.glow-icon-button,.glow-avatar {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid var(--premium-line);
  background:white;
  color:var(--premium-pink-deep);
  box-shadow:0 6px 18px rgba(53,49,73,.06);
  transition:transform .18s ease,box-shadow .18s ease;
}
.glow-icon-button:hover,.glow-avatar:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(53,49,73,.10); }
.glow-avatar {
  border-radius:50%;
  background:linear-gradient(145deg,#ff9cbc,#ee5e90);
  color:#fff;
  border:0;
  font-size:13px;
  font-weight:900;
}

.glow-main.client-app-main {
  max-width:1080px;
  margin:0 auto;
  padding:32px 30px 42px;
}
.client-page {
  color:var(--premium-ink);
  gap:22px;
}
.client-page h1,.client-page h2,.client-page h3,.client-app-shell h1 {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--premium-ink);
  letter-spacing:-.035em;
}
.client-page h1 { font-weight:850; }
.client-page h2,.client-page h3 { font-weight:800; }
.client-page .eyebrow,.glow-overline {
  color:var(--premium-pink-deep);
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.client-page .button {
  min-height:46px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--premium-pink),var(--premium-pink-deep));
  box-shadow:0 10px 22px rgba(217,70,121,.20);
  font-weight:800;
}
.client-page .button:hover:not(:disabled) {
  background:linear-gradient(135deg,#f56d9b,#d84075);
  box-shadow:0 14px 28px rgba(217,70,121,.24);
}
.client-page .button.secondary {
  background:#fff;
  color:var(--premium-pink-deep);
  border:1px solid #f0d9e2;
  box-shadow:none;
}
.client-page .input {
  min-height:48px;
  border:1px solid #e4e4ec;
  border-radius:15px;
  background:#fff;
  color:var(--premium-ink);
  padding-inline:14px;
}
.client-page .input:focus {
  border-color:#f0a0bc;
  box-shadow:0 0 0 4px rgba(239,95,145,.09);
}
.client-page .field-label { color:#4d4f68; }
.client-page .field small { color:var(--premium-muted); }
.client-page .status-chip {
  border-radius:var(--premium-pill);
  text-transform:none;
  letter-spacing:0;
  padding:6px 10px;
  font-size:9px;
}

/* Bottom navigation — clean equal tabs like a premium marketplace app */
.client-bottom-nav.glow-bottom-nav {
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  z-index:60;
  width:min(760px,calc(100vw - 34px));
  height:76px;
  padding:8px 12px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:stretch;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(232,232,240,.95);
  border-radius:26px;
  box-shadow:0 16px 42px rgba(52,49,73,.14);
  backdrop-filter:blur(18px);
}
.glow-bottom-nav a {
  min-width:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  border-radius:18px;
  color:#a0a1af;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.glow-bottom-nav a svg { width:19px; height:19px; }
.glow-bottom-nav a small { font-size:9px; line-height:1; font-weight:750; }
.glow-bottom-nav a:hover { color:var(--premium-pink-deep); background:#fff6f9; }
.glow-bottom-nav a.active {
  color:var(--premium-pink-deep);
  background:linear-gradient(180deg,#fff5f8,#ffedf3);
  font-weight:850;
}
.glow-bottom-nav a.active svg { stroke-width:2.2; }

/* Home */
.glow-home-page { display:grid; gap:24px; }
.glow-greeting-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:4px 2px 0;
}
.glow-greeting-row h1 {
  margin:5px 0 8px;
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.02;
}
.glow-greeting-row p {
  margin:0;
  max-width:620px;
  color:var(--premium-muted);
  font-size:13px;
  line-height:1.55;
}
.glow-sparkle-art {
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(145deg,#ffe2ec,#fff7fa);
  color:var(--premium-pink);
  border:1px solid #f8dfe8;
  box-shadow:var(--premium-shadow);
  transform:none;
}
.glow-sparkle-art svg { width:38px; height:38px; }

/* Main feature card: white editorial card with a pink visual panel */
.glow-feature-card {
  min-height:224px;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);
  gap:22px;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  color:var(--premium-ink);
  border:1px solid var(--premium-line);
  box-shadow:var(--premium-shadow-hover);
  position:relative;
}
.glow-feature-card::before { display:none; }
.glow-feature-copy {
  padding:30px 8px 30px 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.glow-feature-copy > span {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:var(--premium-pill);
  background:#fff0f5;
  color:var(--premium-pink-deep);
  font-size:9px;
  letter-spacing:.08em;
  font-weight:900;
}
.glow-feature-copy h2 {
  margin:13px 0 7px;
  font-size:clamp(24px,3.1vw,34px);
  color:var(--premium-ink);
}
.glow-feature-copy p {
  margin:0 0 20px;
  max-width:520px;
  color:var(--premium-muted);
  font-size:12px;
  line-height:1.55;
}
.glow-feature-button {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 15px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--premium-pink),var(--premium-pink-deep));
  color:white;
  font-size:11px;
  font-weight:850;
  box-shadow:0 8px 18px rgba(217,70,121,.18);
}
.glow-feature-orb {
  width:auto;
  height:auto;
  min-height:224px;
  position:relative;
  justify-self:stretch;
  border-radius:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 24%,rgba(255,255,255,.92) 0 7%,transparent 8%),
    radial-gradient(circle at 74% 24%,rgba(255,255,255,.40) 0 13%,transparent 14%),
    linear-gradient(145deg,#ffbad0 0%,#f875a1 48%,#e24d80 100%);
  box-shadow:none;
}
.glow-feature-orb::before {
  content:"";
  width:142px;
  height:142px;
  border-radius:40px;
  transform:rotate(-9deg);
  background:linear-gradient(145deg,#fff,#ffe5ee);
  box-shadow:0 18px 34px rgba(117,38,68,.17);
}
.glow-feature-orb::after {
  content:"";
  position:absolute;
  width:58px;
  height:58px;
  right:22px;
  bottom:18px;
  border-radius:20px;
  background:rgba(255,255,255,.32);
  border:1px solid rgba(255,255,255,.54);
}
.glow-feature-orb span {
  position:absolute;
  z-index:2;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:29px;
  color:var(--premium-pink-deep);
  transform:rotate(-9deg);
}
.glow-feature-orb i { display:none; }

.glow-soft-alert {
  padding:12px 15px;
  border-radius:16px;
  color:#9b6680;
  background:#fff7fa;
  border:1px solid #f5dce5;
  font-size:11px;
}
.glow-section-block { display:grid; gap:13px; }
.glow-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:0 2px;
}
.glow-section-head h2 { margin:4px 0 0; font-size:21px; }
.glow-section-head a {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:var(--premium-pill);
  color:var(--premium-pink-deep);
  background:#fff0f5;
  font-size:9px;
  font-weight:850;
}
.glow-routine-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.glow-routine-card {
  min-height:154px;
  display:grid;
  align-content:end;
  gap:5px;
  padding:18px;
  border-radius:24px;
  border:1px solid var(--premium-line);
  background:white!important;
  box-shadow:var(--premium-shadow);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.glow-routine-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:70px;
  background:linear-gradient(135deg,#ffe2ec,#fff5f8);
}
.glow-routine-card.lilac::before { background:linear-gradient(135deg,#f3e8ff,#fff7fc); }
.glow-routine-card.butter::before { background:linear-gradient(135deg,#fff0d7,#fff8ef); }
.glow-routine-card:hover { transform:translateY(-3px); box-shadow:var(--premium-shadow-hover); }
.glow-routine-icon {
  position:absolute;
  left:18px;
  top:18px;
  z-index:2;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--premium-pink-deep);
  background:white;
  border:1px solid rgba(235,228,235,.9);
  box-shadow:0 7px 16px rgba(54,49,73,.07);
}
.glow-routine-card strong { font-size:13px; color:var(--premium-ink); }
.glow-routine-card small { color:var(--premium-muted); font-size:9.5px; line-height:1.4; }

.glow-status-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.glow-status-card {
  padding:16px 18px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:white;
}
.glow-status-card small { font-size:8px; font-weight:900; letter-spacing:.1em; color:var(--premium-pink-deep); }
.glow-status-card strong { font-size:13px; color:var(--premium-ink); }
.glow-status-card > div:last-child { display:flex; align-items:center; gap:7px; }
.glow-time-pill {
  display:inline-flex;
  padding:6px 9px;
  border-radius:var(--premium-pill);
  background:#fff0f5;
  color:var(--premium-pink-deep);
  font-size:9px;
  font-weight:850;
}
.glow-tip-card {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border-radius:22px;
  background:white;
  border:1px solid var(--premium-line);
  box-shadow:var(--premium-shadow);
}
.glow-tip-heart {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff0f5;
  color:var(--premium-pink-deep);
}
.glow-tip-card strong { font-size:11px; }
.glow-tip-card p { margin:3px 0 0; color:var(--premium-muted); font-size:9.5px; line-height:1.45; }
.glow-tip-card > a { color:var(--premium-pink-deep); font-size:24px; }

/* Booking — application/form style */
.book-page { gap:24px; }
.book-hero {
  padding:4px 2px 0;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:18px;
}
.book-hero h1 {
  margin:6px 0 8px;
  font-size:clamp(34px,4.5vw,52px);
  line-height:1.02;
}
.book-hero > div:first-child > p:not(.eyebrow) {
  max-width:700px;
  margin:0;
  color:var(--premium-muted);
  font-size:12px;
  line-height:1.55;
}
.booking-steps {
  display:flex;
  gap:5px;
  padding:5px;
  border-radius:17px;
  background:#f1f1f6;
}
.booking-steps i { display:none; }
.booking-steps span {
  min-width:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border-radius:13px;
  color:#9697a6;
}
.booking-steps span b {
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#fff;
  font-size:9px;
}
.booking-steps span small { font-size:8px; letter-spacing:0; font-weight:800; }
.booking-steps span.active,.booking-steps span.done {
  background:#fff;
  color:var(--premium-pink-deep);
  box-shadow:0 5px 14px rgba(55,51,75,.07);
}
.book-layout {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:18px;
  align-items:start;
}
.book-primary,.book-sidebar { display:grid; gap:14px; }
.book-sidebar { position:sticky; top:100px; }
.book-section-card {
  border-radius:26px;
  padding:22px;
  background:#fff;
  border:1px solid var(--premium-line);
  box-shadow:var(--premium-shadow);
}
.book-card-heading { margin-bottom:16px; }
.book-card-heading > div:first-child { display:flex; gap:12px; align-items:flex-start; }
.book-card-heading > div:first-child > span {
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#fff0f5;
  color:var(--premium-pink-deep);
  font-size:10px;
  font-weight:900;
}
.book-card-heading small { color:#a8a8b5; font-size:8px; letter-spacing:.12em; }
.book-card-heading h2 { margin:2px 0 0; font-size:20px; }
.book-card-heading > strong {
  align-self:flex-start;
  padding:6px 10px;
  border-radius:var(--premium-pill);
  background:#fff0f5;
  color:var(--premium-pink-deep);
  font-size:9px;
}
.service-check-grid.book-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.book-services .service-check {
  min-height:94px;
  padding:14px;
  border-radius:19px;
  border:1px solid #e8e8ef;
  background:#fff;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.book-services .service-check:hover {
  transform:translateY(-2px);
  border-color:#f1b8ca;
  box-shadow:0 11px 24px rgba(59,54,83,.08);
}
.book-services .service-check.selected {
  background:linear-gradient(145deg,#fff7fa,#fff0f5);
  border-color:#efafc4;
  box-shadow:0 0 0 2px rgba(239,95,145,.06);
}
.book-services .service-check-copy strong { font-size:12px; color:var(--premium-ink); }
.book-services .service-check-copy small { font-size:9px; color:var(--premium-muted); }
.book-services .service-check > b {
  padding:5px 8px;
  border-radius:var(--premium-pill);
  background:#fff0f5;
  color:var(--premium-pink-deep);
  font-size:10px;
}
.service-check-mark { background:var(--premium-pink); }

.notification-strip {
  grid-template-columns:auto 1fr auto;
  padding:13px 14px;
  gap:10px;
  border-radius:18px;
  border:1px solid #f2dce4;
  background:#fff8fa;
  box-shadow:none;
}
.notification-icon {
  width:34px;
  height:34px;
  border-radius:12px;
  background:#fff0f5;
  color:var(--premium-pink-deep);
  border:0;
}
.notification-strip strong { font-size:10px; color:var(--premium-ink); }
.notification-strip p,.notification-strip small { font-size:8.5px; color:var(--premium-muted); line-height:1.4; }
.notification-note { color:#a86b82!important; }
.booking-details-card { gap:11px; }
.booking-details-card .input { min-height:46px; border-radius:14px; font-size:11px; }
.booking-details-card label,.booking-details-card .field-label { font-size:9px; }
.booking-summary {
  border:0;
  background:#f7f7fb;
  border-radius:18px;
  padding:12px;
}
.booking-summary span { color:var(--premium-muted); font-size:8px; }
.booking-summary strong { color:var(--premium-ink); font-size:10px; }
.book-primary-action { min-height:46px; border-radius:15px; }
.booking-footnote { color:var(--premium-muted); font-size:8.5px; }
.availability-card .slot {
  min-height:62px;
  border-radius:16px;
  border:1px solid #e9e9f0;
  background:#fff;
}
.availability-card .slot:hover { border-color:#f0b3c8; }
.availability-card .slot.selected {
  background:#fff0f5;
  border-color:#efa6bf;
  box-shadow:0 0 0 2px rgba(239,95,145,.06);
}
.appointment-card { border-radius:20px; background:#fff; }
.book-empty {
  border:1px dashed #dedee8;
  background:#fafafe;
  border-radius:18px;
}

/* Care / Rewards / Profile */
.care-progress-card,.reward-wallet,.client-page > .card { border-radius:24px; }
.care-progress-card {
  background:#fff;
  position:relative;
  overflow:hidden;
}
.care-progress-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(#f88aaf,#df4f81);
}
.care-progress { height:8px; border-radius:var(--premium-pill); background:#f0f0f5; overflow:hidden; }
.care-progress i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#f88aaf,#df4f81); }
.care-task-list { gap:10px; }
.care-task {
  min-height:70px;
  border-radius:20px;
  border:1px solid var(--premium-line);
  background:#fff;
  box-shadow:0 8px 20px rgba(59,54,83,.05);
}
.care-task.done { background:#fff5f8; border-color:#f2d7e1; }
.reward-wallet {
  background:linear-gradient(135deg,#f67da5,#dd4f82);
  color:#fff;
  border:0!important;
  box-shadow:0 18px 38px rgba(218,74,126,.20)!important;
  position:relative;
  overflow:hidden;
}
.reward-wallet::after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-45px;
  top:-90px;
  background:rgba(255,255,255,.13);
}
.reward-wallet p { color:rgba(255,255,255,.84); }
.reward-hero strong { color:#fff; }
.reward-grid { gap:12px; }
.reward-grid .card { background:#fff; border-radius:22px; }
.profile-line { border-color:#eeeeF4; }
.client-page > .success-note {
  border-radius:14px;
  background:#effaf4;
  color:#3b7756;
}

@media (max-width:900px){
  .client-app-shell.glow-app-shell { max-width:none; box-shadow:none; }
  .glow-main.client-app-main { padding:28px 20px 38px; }
  .book-layout { grid-template-columns:1fr; }
  .book-sidebar { position:static; }
}

@media (max-width:720px){
  body:has(.client-app-shell) { background:#fbfbfd; }
  .client-app-shell.glow-app-shell { padding-bottom:98px; }
  .glow-topbar { height:68px; padding:0 16px; }
  .glow-topbar-copy small { font-size:8px; }
  .glow-topbar-copy strong { font-size:15px; }
  .glow-icon-button,.glow-avatar { width:35px; height:35px; border-radius:12px; }
  .glow-avatar { border-radius:50%; }
  .glow-main.client-app-main { padding:22px 14px 28px; }
  .client-page h1 { font-size:32px; }
  .glow-greeting-row { grid-template-columns:1fr 62px; gap:12px; }
  .glow-greeting-row h1 { font-size:31px; }
  .glow-greeting-row p { font-size:11px; }
  .glow-sparkle-art { width:58px; height:58px; border-radius:19px; }
  .glow-sparkle-art svg { width:30px; height:30px; }
  .glow-feature-card { grid-template-columns:1fr 108px; min-height:190px; border-radius:26px; }
  .glow-feature-copy { padding:22px 0 22px 20px; }
  .glow-feature-copy h2 { font-size:23px; }
  .glow-feature-copy p { font-size:10px; }
  .glow-feature-orb { min-height:190px; }
  .glow-feature-orb::before { width:86px; height:86px; border-radius:26px; }
  .glow-feature-orb span { font-size:20px; }
  .glow-routine-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
  .glow-routine-card { min-height:126px; padding:13px 11px; border-radius:19px; }
  .glow-routine-card::before { height:58px; }
  .glow-routine-icon { left:12px; top:12px; width:32px; height:32px; border-radius:11px; }
  .glow-routine-card strong { font-size:11px; }
  .glow-routine-card small { font-size:8px; }
  .glow-status-list { grid-template-columns:1fr; }
  .glow-bottom-nav.client-bottom-nav {
    bottom:0;
    width:100%;
    height:72px;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    padding:6px 7px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 30px rgba(52,49,73,.10);
  }
  .glow-bottom-nav a { border-radius:15px; }
  .book-hero { grid-template-columns:1fr; gap:12px; }
  .booking-steps { width:100%; }
  .booking-steps span { flex:1; min-width:0; }
  .book-section-card { padding:18px; border-radius:22px; }
  .service-check-grid.book-services { grid-template-columns:1fr; }
  .notification-strip { order:2; }
  .booking-details-card { order:1; }
  .availability-card .slot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:410px){
  .glow-feature-card { grid-template-columns:1fr 88px; }
  .glow-feature-copy { padding-left:17px; }
  .glow-feature-copy > span { font-size:8px; }
  .glow-feature-button { min-height:38px; padding:0 12px; }
  .glow-routine-card small { display:none; }
  .glow-routine-card { min-height:105px; }
  .glow-tip-card p { font-size:8.5px; }
  .glow-bottom-nav a small { font-size:8px; }
}
