
:root{--cwh-bg:#f5f1ec;--cwh-card:#fff;--cwh-ink:#27221e;--cwh-muted:#7d736b;--cwh-line:#e7ded6;--cwh-gold:#b18d5d;--cwh-dark:#2d2824;--cwh-shadow:0 18px 55px rgba(43,35,30,.09)}
body{background:linear-gradient(180deg,#fbf9f6 0,#f5f1ec 48%,#f8f5f1 100%);color:var(--cwh-ink)}
.container{max-width:1180px}
.site-header{background:rgba(250,248,245,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(177,141,93,.16)}
.cwh-panel,.cwh-admin-card,.card,.booking-card,.booking-panel,.dashboard-card,.auth-shell{background:rgba(255,255,255,.96)!important;border:1px solid var(--cwh-line)!important;border-radius:28px!important;box-shadow:var(--cwh-shadow)!important}
.pick-card{border-radius:20px!important;transition:transform .15s,box-shadow .15s!important}
.pick-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(43,35,30,.1)}
.pick-card.selected{box-shadow:0 14px 34px rgba(43,35,30,.12)!important}
.step-num{box-shadow:0 4px 12px rgba(43,35,30,.08)}
.cwh-health-check-card{background:var(--cwh-bg)!important;border:1px solid var(--cwh-line)!important;border-radius:22px!important;padding:20px!important;margin:18px 0!important}
.cwh-health-check-card textarea,.cwh-health-check-card input{background:#fff!important}
.avatar-circle{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--cwh-line)}
.entity-card{transition:box-shadow .15s,transform .15s}
.entity-card:not(.entity-card-editing):hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(43,35,30,.09)!important}
.auth-shell{position:relative;overflow:hidden}
.auth-shell:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--cwh-gold),var(--cwh-dark))}
.auth-eyebrow{display:block;color:var(--cwh-gold);letter-spacing:.16em;font-weight:850;font-size:.78rem;text-transform:uppercase;margin-bottom:10px}
.cwh-page-head h1,.hero h1,h1{letter-spacing:-.035em}.cwh-page-head p,.cwh-muted{color:var(--cwh-muted)}
.btn{border-radius:999px!important;font-weight:750!important}.btn-primary{background:var(--cwh-dark)!important;border-color:var(--cwh-dark)!important}.btn-outline{background:#fff!important;border-color:var(--cwh-line)!important;color:var(--cwh-ink)!important}
input,select,textarea{border-radius:16px!important;border:1px solid var(--cwh-line)!important;background:#fff!important;padding:13px 14px!important}
.cwh-admin-grid{gap:22px!important}.cwh-service-row{border:1px solid var(--cwh-line)!important;border-radius:22px!important;background:#fff!important;padding:16px!important;margin-bottom:10px!important}
.cwh-service-list{display:grid;gap:10px}.cwh-card-heading{padding-bottom:16px;border-bottom:1px solid var(--cwh-line);margin-bottom:18px}
.cwh-eyebrow{color:var(--cwh-gold)!important;letter-spacing:.16em;font-weight:850}
.cwh-profile-tabs{background:#fff;border:1px solid var(--cwh-line);border-radius:999px;padding:5px;gap:4px;box-shadow:0 8px 25px rgba(43,35,30,.06)}
.cwh-profile-tabs a{border-radius:999px!important}.cwh-profile-tabs a.active{background:var(--cwh-dark)!important;color:#fff!important}
.cwh-category-manager{display:grid;grid-template-columns:minmax(230px,.7fr) 1.3fr;gap:22px;align-items:start}
.cwh-category-create{position:sticky;top:100px;background:linear-gradient(145deg,#302a25,#24201d);color:#fff;border-radius:26px;padding:22px}
.cwh-category-create h3{color:#fff;margin:4px 0 6px}.cwh-category-create p{color:rgba(255,255,255,.7)}
.cwh-category-create label{color:rgba(255,255,255,.82)}.cwh-category-create .btn{background:var(--cwh-gold)!important;border-color:var(--cwh-gold)!important;color:#fff!important;width:100%}
.cwh-category-items{background:#fff;border:1px solid var(--cwh-line);border-radius:26px;padding:10px}
.cwh-category-items .cwh-service-row{box-shadow:none!important;margin:0 0 8px!important}
.cwh-media-thumb{width:92px;height:72px;object-fit:cover;border-radius:16px;border:1px solid var(--cwh-line)}
@media(max-width:760px){.cwh-category-manager{grid-template-columns:1fr}.cwh-category-create{position:static}.cwh-panel,.cwh-admin-card,.card{border-radius:22px!important}.container{padding-left:16px;padding-right:16px}}

/* Master reference-inspired polish */
main,.section{position:relative}.section{padding-top:42px;padding-bottom:52px}
.cwh-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px}
.cwh-page-head h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;margin:.25rem 0 .55rem}
.cwh-page-head p{max-width:700px;font-size:1.02rem;line-height:1.7}
table{border-collapse:separate!important;border-spacing:0 8px!important}tbody tr{background:#fff;box-shadow:0 7px 24px rgba(43,35,30,.05)}tbody td{border-top:1px solid var(--cwh-line);border-bottom:1px solid var(--cwh-line);padding-top:14px!important;padding-bottom:14px!important}tbody td:first-child{border-left:1px solid var(--cwh-line);border-radius:16px 0 0 16px}tbody td:last-child{border-right:1px solid var(--cwh-line);border-radius:0 16px 16px 0}
.alert{border-radius:18px!important;padding:14px 16px!important}.form-group label{font-weight:750;margin-bottom:7px}.form-group small{color:var(--cwh-muted)}
.cwh-admin-card h2,.cwh-admin-card h3,.cwh-panel h2,.cwh-panel h3{letter-spacing:-.025em}
.cwh-stat-card,.stat-card{border-radius:24px!important;border:1px solid var(--cwh-line)!important;background:#fff!important;box-shadow:var(--cwh-shadow)!important}

/* ===================== Public homepage: layered hero + card depth ===================== */
.hero{padding:86px 0 70px}
.ticket{border-radius:26px!important;box-shadow:0 28px 70px rgba(20,16,13,.32)!important;padding:34px 30px 30px!important}
.ticket-card2{border-radius:20px!important;box-shadow:0 20px 50px rgba(43,35,30,.16)!important;bottom:-32px!important}
.service-card,.stylist-card{border-radius:24px!important;border:1px solid var(--cwh-line)!important;box-shadow:0 10px 32px rgba(43,35,30,.06)!important;transition:transform .18s,box-shadow .18s!important}
.service-card:hover,.stylist-card:hover{transform:translateY(-5px)!important;box-shadow:0 22px 50px rgba(43,35,30,.13)!important}
.stylist-photo-img,.stylist-photo{box-shadow:0 10px 26px rgba(43,35,30,.14)}
.cat-tab{border-radius:999px!important}
@media(max-width:900px){.ticket{transform:rotate(1.5deg)!important}.ticket-card2{transform:rotate(-2deg)!important}}

/* ===================== Client dashboard appointment cards ===================== */
.appt-card{border-radius:20px!important;border-left:4px solid var(--accent,var(--cwh-gold))!important;box-shadow:0 8px 26px rgba(43,35,30,.055)!important;transition:transform .15s,box-shadow .15s}
.appt-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(43,35,30,.1)!important}
.appt-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--cwh-line)}
.appt-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--cwh-dark);color:#fff;font-weight:800;font-size:.86rem}

/* =====================================================================
   SOFT LUXURY LAYOUT SYSTEM (matches the app)
   dark header -> white rounded sheet -> floating cards -> icon circles
   ===================================================================== */
:root{--cwh-softgold:#f1e7d9;--cwh-sheet-r:38px}

/* ---- Reusable dark header + overlapping sheet ---- */
.cwh-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#2d2824 0%,#231f1c 100%);color:#fff;padding:46px 0 128px}
.cwh-hero:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(177,141,93,.2);top:-170px;right:-120px}
.cwh-hero:after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(241,231,217,.06);bottom:-130px;left:-90px}
.cwh-hero .container{position:relative;z-index:1}
.cwh-hero-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.cwh-hero-greet{margin:0;color:rgba(255,255,255,.72);font-size:1.05rem}
.cwh-hero h1{color:#fff;font-size:clamp(2rem,5vw,2.9rem);margin:2px 0 0;letter-spacing:-.03em}
.cwh-hero-avatar{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--cwh-dark);display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.25);flex:0 0 auto}
.cwh-sheet{position:relative;z-index:2;margin-top:-38px;background:var(--cwh-bg);border-radius:var(--cwh-sheet-r) var(--cwh-sheet-r) 0 0;padding-top:0!important;min-height:420px}
.cwh-sheet>.container{padding-top:0}

/* ---- Icon in a soft circle ---- */
.cwh-icon-circle{width:46px;height:46px;border-radius:50%;background:var(--cwh-softgold);color:var(--cwh-dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cwh-icon-circle svg{width:21px;height:21px}

/* ---- Floating "next appointment" card (half over dark, half over sheet) ---- */
.cwh-next-card{position:relative;z-index:3;margin:-92px 0 18px;max-width:640px;background:var(--cwh-softgold);border-radius:32px;padding:20px;box-shadow:0 26px 60px rgba(35,29,25,.24);border:1px solid rgba(177,141,93,.22)}
.cwh-next-top{display:flex;align-items:center;gap:14px}
.cwh-next-top .cwh-icon-circle{background:rgba(255,255,255,.7)}
.cwh-next-kicker{display:block;color:var(--cwh-muted);font-size:.86rem;font-weight:600}
.cwh-next-when{display:block;font-size:1.28rem;letter-spacing:-.02em;color:var(--cwh-ink);margin-top:2px}
.cwh-next-bottom{display:flex;align-items:center;gap:14px;margin-top:16px;background:rgba(255,255,255,.58);border-radius:24px;padding:12px}
.cwh-next-avatar{width:54px!important;height:54px!important;font-size:1rem!important}
.cwh-next-info{flex:1;min-width:0}.cwh-next-info strong{display:block;font-size:1.05rem;color:var(--cwh-ink)}.cwh-next-info span{display:block;color:var(--cwh-muted);font-size:.9rem;margin-top:2px}
.cwh-chevron{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--cwh-dark);display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;text-decoration:none;box-shadow:0 4px 12px rgba(43,35,30,.1);padding-bottom:3px}

/* ---- Three-up quick action tiles ---- */
.cwh-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:640px;margin:0 0 34px}
.cwh-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;background:#fff;border:0;border-radius:26px;color:var(--cwh-ink);font:inherit;font-weight:700;font-size:.86rem;text-decoration:none;text-align:center;cursor:pointer;box-shadow:0 10px 30px rgba(43,35,30,.07);transition:transform .15s,box-shadow .15s}
.cwh-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(43,35,30,.12)}
.cwh-tile[aria-expanded="true"] .cwh-icon-circle{background:var(--cwh-dark);color:#fff}

/* ---- Client dashboard lists ---- */
.cwh-sheet h3{letter-spacing:-.025em}
.appt-card{background:#fff!important;border:0!important;border-left:0!important;border-radius:26px!important;padding:16px 18px!important;position:relative;overflow:hidden}
.appt-card:before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 6px 6px 0;background:var(--accent,var(--cwh-gold))}
.status-pill{border-radius:999px!important}
.empty-state{background:#fff;border-radius:28px;box-shadow:var(--cwh-shadow);padding:34px 24px!important}

/* ---- Public homepage: dark hero, white sheet overlapping ---- */
.hero{position:relative;background:linear-gradient(160deg,#2d2824 0%,#231f1c 100%);color:#fff;padding:80px 0 130px!important}
.hero:before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(177,141,93,.2);top:-220px;right:-140px}
.hero:after{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(241,231,217,.06);bottom:-150px;left:-100px}
.hero .hero-grid{position:relative;z-index:1}
.hero h1,.hero h1 em{color:#fff}.hero h1 em{color:var(--cwh-softgold)}
.hero .eyebrow{color:var(--cwh-softgold)}.hero .eyebrow:before{background:var(--cwh-softgold)}
.hero .hero-sub{color:rgba(255,255,255,.78);opacity:1}
.hero .hero-stats strong{color:#fff}.hero .hero-stats span{color:rgba(255,255,255,.68);opacity:1}
.hero .btn-primary{background:var(--cwh-gold)!important;border-color:var(--cwh-gold)!important;color:#fff!important}
.hero .btn-outline{background:transparent!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important}
.hero .ticket{background:#fff!important;color:var(--cwh-ink)!important}
.hero .ticket h3,.hero .ticket-row strong{color:var(--cwh-ink)!important}
.hero .ticket:before,.hero .ticket:after{background:#2a2521!important}
.hero .ticket-perf{border-top-color:var(--cwh-line)!important}
.hero .ticket-card2{background:var(--cwh-softgold)!important}
.hero+.section{position:relative;z-index:2;margin-top:-44px;border-radius:var(--cwh-sheet-r) var(--cwh-sheet-r) 0 0;background:var(--cwh-bg)!important;padding-top:64px}
.service-photo{display:block;width:100%;height:180px;object-fit:cover;border-radius:22px;margin-bottom:16px}
.pick-photo{display:block;width:100%;height:110px;object-fit:cover;border-radius:16px;margin-bottom:10px}
.pick-avatar{display:block;width:62px;height:62px;border-radius:50%;object-fit:cover;margin:0 auto 10px;box-shadow:0 0 0 3px #fff,0 8px 20px rgba(43,35,30,.14)}
.pick-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--cwh-softgold);color:var(--cwh-dark);font-weight:800}
[data-select-stylist]{text-align:center}

/* ---- Login / auth pages: dark photo-style backdrop, sheet slides over it ---- */
main:has(.auth-shell){position:relative;padding-bottom:70px}
main:has(.auth-shell):before{content:'';position:absolute;left:0;right:0;top:0;height:330px;background:radial-gradient(circle at 85% 0,rgba(177,141,93,.3),transparent 55%),linear-gradient(160deg,#2d2824,#231f1c)}
main:has(.auth-shell)>.container{position:relative;z-index:1}
.auth-shell{margin-top:78px!important;border-radius:36px!important;padding:44px 36px 38px!important;box-shadow:0 30px 70px rgba(35,29,25,.28)!important}
.auth-shell:before{left:50%!important;right:auto!important;top:12px!important;width:46px;height:5px!important;border-radius:6px;transform:translateX(-50%);background:var(--cwh-line)!important}
.auth-shell h1{text-align:center;font-size:2rem}
.auth-eyebrow{text-align:center}
.auth-shell .btn-block{height:56px;font-size:1rem}

/* ---- Bottom tab bar: rounded sheet, brand-accent active item ---- */
.app-tabbar{border-top:0!important;border-radius:28px 28px 0 0;background:rgba(255,255,255,.98)!important;box-shadow:0 -10px 36px rgba(43,35,30,.12);padding-top:10px!important}
.app-tab.active{color:var(--cwh-gold)!important}
.admin-body .app-tabbar{background:#fff!important}.admin-body .app-tab{color:var(--cwh-ink)}.admin-body .app-tab.active{color:var(--cwh-gold)!important}
.app-tab:active{background:var(--cwh-softgold)!important}

/* ---- Page headings on the remaining pages: eyebrow + big title ---- */
.cwh-page-head{align-items:center}

@media(max-width:700px){
  .cwh-hero{padding:34px 0 118px}
  .cwh-next-card{margin-top:-88px;border-radius:28px}
  .cwh-tiles{gap:10px}.cwh-tile{padding:16px 4px;font-size:.78rem;border-radius:22px}
  .hero{padding:50px 0 110px!important}
  .auth-shell{margin-top:60px!important;padding:40px 22px 30px!important}
}

/* ---- Admin diary: rounded pastel cards with avatars / initials ---- */
.dash-header h1{font-size:clamp(2rem,4vw,2.9rem);letter-spacing:-.035em}
.diary-scroll{border-radius:30px;background:#fff;box-shadow:var(--cwh-shadow);border:1px solid var(--cwh-line)}
.diary-appt{border-radius:18px!important;padding:8px 10px 8px 12px!important;box-shadow:0 8px 22px rgba(43,35,30,.07)!important;border-left-width:4px!important}
.diary-appt-time{font-size:.72rem;color:var(--cwh-muted);font-weight:700!important}
.diary-appt-client{display:flex;align-items:center;gap:8px;font-weight:800!important;color:var(--cwh-ink)}
.diary-appt-service{font-size:.74rem}
.dap-av{width:28px;height:28px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff;flex:0 0 auto}
.dap-av-fallback{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.88);color:var(--cwh-dark);font-size:.62rem;font-weight:800}
.agenda-card{display:flex!important;align-items:center;gap:14px;border-radius:26px!important;padding:14px 16px!important;margin-bottom:12px;box-shadow:0 10px 28px rgba(43,35,30,.07)!important}
.agenda-av{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff;flex:0 0 auto;order:0}
.agenda-av-fallback{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:var(--cwh-dark);font-weight:800;font-size:.85rem}
.agenda-time{order:-1}.agenda-mid{flex:1;min-width:0}.agenda-client{font-weight:800}
.week-strip{background:#fff;border-radius:999px;padding:6px;box-shadow:var(--cwh-shadow);border:1px solid var(--cwh-line)}
.week-strip-nav{border-radius:50%;background:var(--cwh-bg)}
.week-strip-day{border-radius:22px}
.week-strip-day.selected{background:var(--cwh-dark)!important;color:#fff!important}
.diary-fab{background:var(--cwh-gold)!important;color:#fff!important;border-radius:50%!important;box-shadow:0 14px 34px rgba(177,141,93,.45)!important}
.diary-fab-secondary{background:#fff!important;color:var(--cwh-dark)!important;box-shadow:0 10px 28px rgba(43,35,30,.15)!important}
.month-grid{border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--cwh-shadow)}
.month-chip{border-radius:10px}

/* ---- Admin pages: dark rounded header band + soft sidebar ---- */
.admin-main .dash-header{position:relative;overflow:hidden;align-items:center;background:linear-gradient(160deg,#2d2824 0%,#231f1c 100%);color:#fff;border-radius:34px;padding:28px 32px;margin-bottom:26px;box-shadow:0 22px 50px rgba(35,29,25,.22)}
.admin-main .dash-header:before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(177,141,93,.2);top:-150px;right:-70px;pointer-events:none}
.admin-main .dash-header>*{position:relative;z-index:1}
.admin-main .dash-header h1{color:#fff;margin-bottom:2px}
.admin-main .dash-header p{color:rgba(255,255,255,.72)!important;opacity:1!important}
.admin-main .dash-header .btn-outline{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.35)!important;color:#fff!important}
.admin-main .dash-header .btn-outline:hover{background:#fff!important;color:var(--cwh-dark)!important}
.admin-main .dash-header .btn-primary{background:var(--cwh-gold)!important;border-color:var(--cwh-gold)!important}
.admin-side nav a{border-radius:999px}
.admin-side nav a.active{background:var(--cwh-gold);color:#fff}
.cwh-stat-card .icon,.stat-card .icon{width:44px;height:44px;border-radius:50%;background:var(--cwh-softgold);display:inline-flex;align-items:center;justify-content:center}
.avatar-circle,.client-avatar{box-shadow:0 0 0 2px #fff,0 4px 12px rgba(43,35,30,.14)}
@media(max-width:700px){.admin-main .dash-header{border-radius:28px;padding:22px 20px}}

/* =====================================================================
   Remaining page polish (admin overview, lists, forms, utility pages)
   ===================================================================== */
.admin-main .cwh-eyebrow{color:var(--cwh-softgold)}
.admin-main .dash-header .cwh-eyebrow{display:block;margin-bottom:6px}
.stat-row .stat-card{display:flex;align-items:center;gap:14px;border:0;border-radius:28px;padding:20px;box-shadow:0 10px 30px rgba(43,35,30,.07)}
.stat-row .stat-card .num{font-size:1.6rem;line-height:1.15;letter-spacing:-.02em}
.stat-row .stat-card .lbl{margin-top:2px}
.stat-row .stat-card>div{min-width:0}
.cwh-row-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cwh-row-card .appt-when{min-width:74px}
.cwh-row-card .appt-mid{min-width:150px}
.cwh-row-card .appt-avatar{width:50px;height:50px}
.entity-card,.booking-panel,.cwh-admin-card,.settings-list{border-radius:28px!important;box-shadow:0 10px 30px rgba(43,35,30,.06)}
.entity-avatar-row .appt-avatar{width:46px;height:46px}
.cwh-client-list-row{border-radius:24px!important;padding:12px 16px!important;box-shadow:0 8px 24px rgba(43,35,30,.05);transition:transform .15s,box-shadow .15s}
.cwh-client-list-row:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(43,35,30,.1)}
.cwh-client-list-row .appt-avatar{width:42px;height:42px}
.cwh-client-photo{width:66px;height:66px}
.cwh-service-row .service-photo-thumb{width:84px;height:64px;margin:0;border-radius:16px;flex:0 0 auto}
.settings-row{border-radius:20px}
.cwh-hero-kicker{display:block;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--cwh-softgold);margin-bottom:6px}
@media(max-width:700px){
  .stat-row .stat-card{padding:16px;border-radius:24px;gap:10px}
  .stat-row .stat-card .num{font-size:1.25rem}
  .cwh-row-card .appt-mid{flex-basis:100%;order:5}
  .cwh-service-row .service-photo-thumb{width:100%;height:120px}
  .cwh-client-list-row{flex-wrap:wrap}
}

/* ---- Allergy / sensitivity warnings (staff side) ---- */
.health-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;border-radius:50%;background:#C62828;color:#fff;font-size:.66rem;font-weight:800;line-height:1;vertical-align:middle;margin:0 4px 0 2px;box-shadow:0 0 0 1.5px #fff;flex:0 0 auto;cursor:help}
.diary-appt-client .dap-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.diary-appt-client .dap-treat{font-weight:500;opacity:.78}
.diary-appt-compact .health-badge{width:14px;height:14px;min-width:14px;font-size:.58rem}
.agenda-client .health-badge{margin-left:4px}
.health-box{background:#FDECEA;border:1px solid #E5A5A0;border-left:4px solid #C62828;color:#7A1C16;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:.9rem;line-height:1.4;text-align:left}
.health-box-title{display:block;font-weight:800;margin-bottom:4px;color:#B71C1C}
.health-box-line b{font-weight:700}
.health-box-medical{font-size:.8rem;opacity:.7;margin-top:4px}

/* ---- Photos: profile avatars, salon backdrop ---- */
.cwh-hero-avatar-img{object-fit:cover;display:block;background:#fff}
.cwh-photo-row{display:flex;align-items:center;gap:16px}
.cwh-profile-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 3px #fff,0 8px 20px rgba(43,35,30,.14)}
.cwh-profile-photo-fallback{display:flex;align-items:center;justify-content:center;background:var(--cwh-softgold);color:var(--cwh-dark);font-weight:800;font-size:1.2rem}
.cwh-photo-actions{margin-top:10px}
.cwh-salon-preview{display:block;width:100%;max-width:520px;height:auto;max-height:260px;object-fit:cover;border-radius:18px;margin:12px 0 16px}
.has-salon-photo .hero{background-image:linear-gradient(160deg,rgba(35,29,25,.78),rgba(35,29,25,.88)),var(--cw-salon-photo);background-size:cover;background-position:center}
main.has-salon-photo:has(.auth-shell):before{background:linear-gradient(160deg,rgba(35,29,25,.72),rgba(35,29,25,.86)),var(--cw-salon-photo) center/cover no-repeat}

/* ---- Elegant section tabs (client profile, services/categories) ---- */
.cwh-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px;margin:18px 0 22px;background:#fff;border:1px solid var(--cwh-line);border-radius:26px;box-shadow:0 14px 34px rgba(43,35,30,.08);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cwh-tabs::-webkit-scrollbar{display:none}
.cwh-client-shell>.cwh-tabs{margin-left:26px;margin-right:26px;margin-top:20px}
.cwh-tabs .cwh-tab{flex:1 1 0;min-width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px 10px 10px;border-radius:20px;text-decoration:none;color:var(--cwh-muted);font-weight:700;font-size:.95rem;letter-spacing:.01em;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.cwh-tabs.cwh-tabs-wide .cwh-tab{flex:0 1 auto;min-width:180px}
.cwh-tabs .cwh-tab-icon{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cwh-soft);color:var(--cwh-dark);flex-shrink:0;transition:background .2s ease,color .2s ease}
.cwh-tabs .cwh-tab-icon svg{width:18px;height:18px}
.cwh-tabs .cwh-tab:hover{background:var(--cwh-soft);color:var(--cwh-ink);transform:translateY(-1px)}
.cwh-tabs .cwh-tab.active{background:var(--cwh-dark);color:#fff;box-shadow:0 10px 22px rgba(43,35,30,.22)}
.cwh-tabs .cwh-tab.active:hover{transform:none;background:var(--cwh-dark)}
.cwh-tabs .cwh-tab.active .cwh-tab-icon{background:rgba(255,255,255,.14);color:#fff}
.cwh-tabs .cwh-tab-num{min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--cwh-soft);color:var(--cwh-dark);font-size:.75rem;font-weight:800}
.cwh-tabs .cwh-tab.active .cwh-tab-num{background:var(--cwh-gold,#B18D5D);color:#fff}
.cwh-tabs .cwh-tab:focus-visible{outline:2px solid var(--cwh-gold,#B18D5D);outline-offset:2px}
@media(max-width:700px){.cwh-client-shell>.cwh-tabs{margin-left:14px;margin-right:14px}.cwh-tabs{border-radius:22px;padding:6px}.cwh-tabs .cwh-tab{flex:0 0 auto;padding:8px 14px 8px 8px;font-size:.88rem}.cwh-tabs.cwh-tabs-wide .cwh-tab{flex:1 1 0;min-width:0}}

/* ---- Features & policies, toggles, status badges (admin) ---- */
.cwh-feature-card{margin-bottom:18px;padding:22px 24px}
.cwh-feature-card>h3{margin:0 0 4px;font-size:1.15rem}
.cwh-feature-card>.cwh-feature-intro{margin:0 0 14px;color:var(--cwh-muted);font-size:.88rem}
.cwh-feature-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--cwh-line)}
.cwh-feature-row:first-of-type{border-top:0}
.cwh-feature-row .cwh-feature-label{flex:1;min-width:0}
.cwh-feature-row .cwh-feature-label strong{display:block;font-size:.95rem}
.cwh-feature-row .cwh-feature-label small,.cwh-feature-field small{display:block;color:var(--cwh-muted);font-size:.8rem;margin-top:2px;line-height:1.4}
.cwh-feature-field{padding:10px 0}
.cwh-feature-field label{display:block;font-weight:700;font-size:.88rem;margin-bottom:5px}
.cwh-feature-field input[type=text],.cwh-feature-field input[type=number],.cwh-feature-field input[type=url],.cwh-feature-field input[type=email],.cwh-feature-field select,.cwh-feature-field textarea{width:100%;max-width:520px}
.cwh-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px}
.cwh-feature-preview{background:var(--cwh-bg);border:1px dashed var(--cwh-line);border-radius:14px;padding:12px 14px;font-size:.88rem;margin-top:8px}
.cwh-feature-note{background:#fbf6ee;border:1px solid #eadcc3;border-radius:14px;padding:10px 14px;font-size:.84rem;color:#6b5a3e;margin:8px 0}
.cwh-switch{position:relative;display:inline-block;width:50px;height:30px;flex:0 0 auto}
.cwh-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.cwh-switch .cwh-slider{position:absolute;inset:0;background:#d6cdc4;border-radius:999px;transition:background .2s ease}
.cwh-switch .cwh-slider:before{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .2s ease}
.cwh-switch input:checked+.cwh-slider{background:#4c9a6a}
.cwh-switch input:checked+.cwh-slider:before{transform:translateX(20px)}
.cwh-switch input:focus-visible+.cwh-slider{outline:2px solid var(--cwh-gold);outline-offset:2px}
.cwh-badge-danger,.cwh-badge-ok,.cwh-badge-warn{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;text-decoration:none;line-height:1.5}
.cwh-badge-danger{background:#fbe7e9;color:#8f2530;border:1px solid #f2c1c6}
.cwh-badge-warn{background:#fff4dc;color:#7a5a12;border:1px solid #f0d9a0}
.cwh-badge-ok{background:#e6f2ea;color:#245c3c;border:1px solid #b6dcc4}
a.cwh-badge-danger:hover{background:#f5d3d7}
.cwh-status-list{list-style:none;margin:0;padding:0}
.cwh-status-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--cwh-line);flex-wrap:wrap}
.cwh-status-list li:first-child{border-top:0}
.cwh-status-bad{background:#fbe7e9;border:1px solid #f2c1c6;color:#8f2530;border-radius:16px;padding:14px 18px;margin-bottom:18px}
.cwh-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}
.cwh-filter-bar .form-group{margin:0}
.cwh-pager{display:flex;gap:8px;align-items:center;justify-content:center;margin:16px 0;flex-wrap:wrap}
.cwh-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cwh-sticky-save{position:sticky;bottom:12px;display:flex;justify-content:flex-end;margin-top:8px}
@media(max-width:600px){.cwh-feature-card{padding:18px 16px}}
.cwh-voucher-card{border:2px solid var(--cwh-gold);border-radius:24px;padding:34px 30px;text-align:center;background:#fffdf9;max-width:560px;margin:0 auto}
.cwh-voucher-card .cwh-voucher-amount{font-family:Georgia,serif;font-size:2.6rem;color:var(--cwh-dark);margin:8px 0}
.cwh-voucher-card .cwh-voucher-code{font-family:"Courier New",monospace;font-size:1.6rem;letter-spacing:.2em;font-weight:700;margin:14px 0}
@media print{.admin-side,.dash-header,.no-print,.alert{display:none!important}.admin-shell,.admin-main{display:block!important;padding:0!important;margin:0!important}body{background:#fff!important}.cwh-voucher-card{box-shadow:none;border-color:#999}}

/* ---------- Settings hub ---------- */
.cwh-hub-cat{margin:0 0 26px}
.cwh-hub-cat>h2{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cwh-muted);margin:0 0 12px;font-weight:800}
.cwh-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.cwh-hub-card{position:relative;display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:16px 18px;background:#fff;border:1px solid var(--cwh-line);border-radius:24px;box-shadow:0 12px 28px rgba(43,35,30,.07);color:var(--cwh-ink);text-decoration:none;cursor:pointer;font:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cwh-hub-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(43,35,30,.12);border-color:var(--cwh-gold)}
.cwh-hub-card:focus-visible{outline:2px solid var(--cwh-gold);outline-offset:2px}
.cwh-hub-ico{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cwh-soft);color:var(--cwh-dark)}
.cwh-hub-ico svg{width:22px;height:22px}
.cwh-hub-text{flex:1;min-width:0;display:block}
.cwh-hub-text strong{display:block;font-size:.98rem;line-height:1.25}
.cwh-hub-text small{display:block;margin-top:3px;color:var(--cwh-muted);font-size:.78rem;line-height:1.35}
.cwh-hub-pill{flex:0 0 auto;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#ece6de;color:#7a6e63}
.cwh-hub-pill.on{background:#dff1e6;color:#25663f}
.cwh-hub-pill:empty{display:none}
.cwh-hub-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;margin:0 0 10px;font:inherit;font-weight:700;font-size:.88rem;color:var(--cwh-dark);cursor:pointer}
.cwh-hub-back:hover{color:var(--cwh-gold)}
.cwh-hub-js .cwh-panel{display:none}
.cwh-hub-js .cwh-panel.open{display:block}
.cwh-hub-js.cwh-hub-open #hub-menu{display:none}
.cwh-hub-js:not(.cwh-hub-open) .cwh-sticky-save{display:none}
@media(max-width:600px){.cwh-hub-grid{grid-template-columns:1fr}}
