:root{--navy:#4b4945;--teal:#c8aa43;--teal-dark:#a98a24;--blue:#8f7a35;--aqua:#fbf7e9;--line:#e8e1d4;--muted:#77716a;--shadow:0 8px 24px rgba(75,73,69,.1)}*{box-sizing:border-box}body{color:var(--navy);font-family:Inter,Segoe UI,Arial,sans-serif;background:#fffdf8}a{text-decoration:none}.btn-primary{background:var(--teal);border-color:var(--teal);color:#2f2d2a;font-weight:700}.btn-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}.btn-outline-primary{color:var(--teal-dark);border-color:var(--teal)}.public-header{border-bottom:1px solid var(--line)}.navbar{min-height:78px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}.brand:hover{color:var(--navy)}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:var(--teal);color:#fff}.brand-logo img{width:58px;height:58px;border-radius:14px;object-fit:contain;border:1px solid var(--line);background:#f3f0ea}.sidebar .brand-logo img{width:52px;height:52px}.site-footer .brand-logo img{background:#fff}.brand strong,.brand small{display:block}.brand strong{font-size:18px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:1.8px;text-transform:uppercase}.nav-link{color:var(--navy);font-weight:600}.hero{background:linear-gradient(115deg,#fffdf8 50%,#f7efd8)}h1{font-size:clamp(2.6rem,5vw,4.7rem);font-weight:800;letter-spacing:-.06em;line-height:1.02}h2{font-weight:800;letter-spacing:-.04em}.eyebrow{color:var(--teal-dark);font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.lead{color:var(--muted);max-width:650px}.hero-visual{display:flex;min-height:390px;align-items:end;position:relative;padding:34px;border-radius:34px;background:linear-gradient(145deg,#4b4945,#c8aa43);box-shadow:var(--shadow);overflow:hidden}.hero-visual:before{content:"";position:absolute;right:-75px;top:-70px;width:300px;height:300px;border:45px solid rgba(255,255,255,.2);border-radius:50%}.hero-panel{position:relative;max-width:350px;color:#fff}.hero-panel i{font-size:58px;margin-bottom:26px}.hero-panel h3{font-size:30px;font-weight:800}.hero-stat{position:absolute;right:28px;top:28px;padding:16px 18px;border-radius:16px;background:#fff;color:var(--navy);box-shadow:var(--shadow)}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{font-size:24px}.hero-stat span{font-size:12px;color:var(--muted)}.trust-strip{padding:22px 0;border-block:1px solid var(--line);background:#fff}.trust-strip i{float:left;margin:4px 12px 20px 0;color:var(--teal-dark);font-size:24px}.trust-strip strong,.trust-strip span{display:block}.trust-strip span{font-size:12px;color:var(--muted)}.section{padding:76px 0}.section-soft,.content-hero{background:#fbf7e9}.feature-card,.person-card,.content-card{height:100%;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.feature-card i{color:var(--teal-dark);font-size:30px}.feature-card h3,.person-card h3{margin-top:20px;font-size:17px;font-weight:800}.feature-card p,.person-card p{color:var(--muted);font-size:14px}.person-card{display:flex;gap:16px}.person-card h3{margin-top:4px}.avatar{display:grid;min-width:58px;height:58px;place-items:center;border-radius:18px;background:var(--aqua);color:var(--teal-dark);font-weight:800}.site-footer{background:#4b4945;color:#f4ead2;font-size:14px}.site-footer a{color:#fff}.site-footer h6{color:#fff;font-weight:800}.brand-light{color:#fff}.brand-light:hover{color:#fff}
.app-body{margin:0;background:#faf7ee}.app-shell{display:flex;min-height:100vh}.sidebar{display:flex;width:230px;min-width:230px;flex-direction:column;padding:20px 16px;border-right:1px solid var(--line);background:#fff}.sidebar nav{display:grid;gap:7px;margin-top:34px}.sidebar nav a,.sidebar nav .nav-disabled{padding:12px 14px;border-radius:10px;color:var(--navy);font-size:14px;font-weight:700}.sidebar nav a i,.sidebar nav .nav-disabled i{width:23px}.sidebar nav a.active{background:var(--teal);color:#2f2d2a}.sidebar nav .nav-disabled{color:#a39a8d;cursor:not-allowed}.sidebar nav .nav-disabled small{float:right;padding-top:2px;font-size:9px;text-transform:uppercase}.sidebar-help{display:grid;gap:5px;margin-top:auto;padding:16px;border-radius:14px;background:var(--aqua);font-size:13px}.sidebar-help i{font-size:22px;color:var(--teal-dark)}.sidebar-help small{color:var(--muted)}.app-main{min-width:0;flex:1}.app-topbar{display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px}.search{min-width:360px;padding:10px 14px;border:1px solid var(--line);border-radius:20px}.profile{margin-left:22px;color:var(--navy);font-weight:800}.badge-dot{position:relative;top:-11px;left:-4px;padding:2px 5px;border-radius:50%;background:var(--teal);color:#2f2d2a;font-size:9px}.dashboard-content{padding:24px}.dashboard-heading,.card-heading{display:flex;align-items:center;justify-content:space-between}.dashboard-heading h1{margin:4px 0 20px;font-size:30px;letter-spacing:-.04em}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card,.dash-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(75,73,69,.05)}.metric-card{display:flex;gap:14px;padding:18px}.metric-card>i{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--aqua);color:var(--teal-dark);font-size:18px}.metric-card small,.metric-card strong,.metric-card span{display:block}.metric-card small,.metric-card span,.card-heading small{color:var(--muted);font-size:11px}.metric-card strong{font-size:22px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;margin-top:14px}.dash-card{padding:16px}.card-heading{margin-bottom:14px}.card-heading h2{margin:0;font-size:15px;letter-spacing:0}.view-switch{display:flex}.view-switch button{padding:7px 11px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:11px}.view-switch button.active{background:var(--teal);color:#2f2d2a}.week-grid{display:grid;grid-template-columns:60px repeat(5,1fr);min-height:320px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.time-col,.day-col{display:grid;grid-template-rows:repeat(5,1fr);gap:7px;padding:9px;border-right:1px solid var(--line);font-size:11px}.time-col span{color:var(--muted)}.slot{padding:7px;border-radius:6px}.available{border:1px solid var(--teal);color:var(--teal-dark)}.booked{background:#f5ead0;color:#6b571f}.alert-row,.schedule-row{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.alert-row i{color:var(--teal-dark)}.alert-row strong,.alert-row small,.schedule-row strong,.schedule-row small{display:block}.alert-row small,.schedule-row small{color:var(--muted)}.approval-actions{display:flex;gap:8px;padding-top:16px}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:14px}.schedule-row{align-items:center}.schedule-row b{width:62px}.status{margin-left:auto;padding:3px 7px;border-radius:10px;background:var(--aqua);color:var(--teal-dark);font-size:10px}.pending{background:#fff6d8;color:#9b6b00}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions a{padding:14px;border-radius:10px;background:#fbf7e9;color:var(--navy);font-size:13px;font-weight:700}.quick-actions i{margin-right:7px;color:var(--teal-dark)}.chart{display:flex;height:290px;align-items:end;justify-content:space-around;gap:14px;padding:20px;border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbf7e9)}.chart-bar{display:grid;height:100%;min-width:54px;flex:1;grid-template-rows:1fr auto auto;align-items:end;text-align:center}.chart-bar span{display:block;width:55%;min-height:4px;margin-inline:auto;border-radius:8px 8px 0 0;background:linear-gradient(var(--teal),#7b6a2b)}.chart-bar small{margin-top:7px;color:var(--muted);font-size:11px}.chart-bar b{font-size:11px}
.profile-button{border:0;background:transparent}.public-account-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.public-account-actions .profile{margin-left:6px;font-size:13px}.public-account-actions .notification-toggle{padding:8px}.account-menu{min-width:190px;margin-top:13px;padding:7px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.account-menu .dropdown-item{padding:9px 10px;border-radius:7px;color:var(--navy);font-size:13px;font-weight:700}.account-menu .dropdown-item:hover{background:var(--aqua)}.account-menu i{width:19px;color:var(--teal)}
.notification-toggle{position:relative;border:0;background:transparent;color:var(--navy);font-size:16px}.notification-toggle .badge-dot{position:absolute;top:-8px;left:11px}.notification-menu{width:350px;margin-top:15px;padding:8px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.notification-menu-heading{display:flex;justify-content:space-between;padding:7px 9px 10px;color:var(--navy)}.notification-menu-heading a{color:var(--teal-dark);font-size:12px;font-weight:700}.notification-preview,.notification-row{display:flex;width:100%;gap:11px;padding:11px;border:0;border-radius:9px;background:#fff;color:var(--navy);text-align:left}.notification-preview:hover,.notification-row:hover,.notification-preview.unread,.notification-row.unread{background:#fbf7e9}.notification-preview i,.notification-row i{padding-top:3px;color:var(--teal-dark)}.notification-preview strong,.notification-preview small,.notification-row strong,.notification-row small{display:block}.notification-preview strong,.notification-row strong{font-size:12px}.notification-preview small,.notification-row small,.notification-empty{color:var(--muted);font-size:11px}.notification-empty{display:block;padding:16px 9px}.notification-center{padding:8px}.notification-row{align-items:center;padding:16px}.notification-row b{margin-left:auto;padding:3px 7px;border-radius:10px;background:var(--teal);color:#2f2d2a;font-size:10px}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.approvals{order:2}}@media(max-width:760px){.sidebar{display:none}.app-topbar{padding:0 16px}.search{display:none}.dashboard-content{padding:15px}.metric-grid{grid-template-columns:1fr}.week-grid{overflow:auto}.calendar-card{overflow:auto}.week-grid{min-width:680px}.quick-actions{grid-template-columns:1fr}h1{font-size:2.8rem}}
.admin-nav{display:flex;flex-wrap:wrap;gap:8px}.admin-nav a{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:13px;font-weight:700}.admin-nav i{margin-right:5px;color:var(--teal)}.admin-table{margin-bottom:0;font-size:13px}.admin-table th{color:var(--muted);font-size:11px;text-transform:uppercase}.admin-table td small{display:block;max-width:520px;color:var(--muted)}.form-card{max-width:900px}.form-card label{margin-bottom:5px;color:var(--navy);font-size:13px;font-weight:700}.form-card span[data-valmsg-for]{color:#c03342;font-size:12px}.form-check-wrap{display:flex;align-items:center;gap:8px;padding-top:31px}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.profile-admin-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px}.profile-admin-card h2{font-size:16px;letter-spacing:0}.profile-admin-card p{margin:10px 0;color:var(--muted);font-size:13px}.profile-actions{display:grid;align-content:start;gap:6px}.profile-actions form{display:grid}.service-card .eyebrow{display:block;margin-top:18px}.service-meta{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);color:var(--teal-dark)}.team-card{height:100%;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.team-card .avatar{margin-bottom:18px}.team-card h3{margin-top:14px;font-size:20px;font-weight:800}.team-card p{min-height:54px;color:var(--muted)}@media(max-width:900px){.profile-grid{grid-template-columns:1fr}}
.booking-steps{display:flex;gap:7px;margin-bottom:22px}.booking-steps span,.booking-steps a{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:16px;background:#eef3f6;color:var(--muted);font-size:12px;font-weight:700}.booking-steps a{text-decoration:none}.booking-steps a:hover{background:#fbf7e9;color:var(--teal-dark)}.booking-steps b{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#fff}.booking-steps .active{background:var(--aqua);color:var(--teal-dark)}.selection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.selection-card{display:flex;min-height:250px;flex-direction:column;align-items:flex-start}.selection-card>i{color:var(--teal);font-size:25px}.selection-card h2,.request-card h2{margin-top:15px;font-size:18px;letter-spacing:0}.selection-card p{flex:1;color:var(--muted);font-size:13px}.selection-card div:not(.avatar){display:flex;width:100%;justify-content:space-between;margin-bottom:15px;color:var(--teal-dark)}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.booking-calendar{max-width:980px}.booking-calendar-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.booking-calendar-heading small{color:var(--muted)}.date-card{display:grid;gap:3px;padding:17px;color:var(--navy);transition:.2s}.available-date{border:1px solid var(--line);border-radius:12px;background:#fffdf8}.date-card:hover{border-color:var(--teal);transform:translateY(-2px)}.date-card small{color:var(--muted)}.slot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:850px}.slot-choice{padding:14px;border:1px solid var(--teal);border-radius:10px;background:#fff;color:var(--teal-dark);font-weight:800;text-align:center}.slot-choice:hover{background:var(--teal);color:#fff}.empty-state{max-width:700px;padding:46px;text-align:center}.empty-state i{color:var(--teal);font-size:38px}.empty-state h2{margin-top:12px;font-size:22px}.empty-state p{color:var(--muted)}.review-summary{display:flex;gap:15px;align-items:center;margin-bottom:20px;padding:16px;border-radius:12px;background:var(--aqua)}.review-summary i{color:var(--teal);font-size:28px}.review-summary strong,.review-summary span{display:block}.request-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.request-card p,.request-card small{display:block;color:var(--muted)}.request-card form{margin-top:18px}.waitlisted{background:#e9e1ff;color:#6040a4}.cancelled,.rejected{background:#ffe4e7;color:#a83042}@media(max-width:1000px){.selection-grid,.request-grid{grid-template-columns:repeat(2,1fr)}.date-grid{grid-template-columns:repeat(4,1fr)}.slot-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.booking-steps{overflow:auto}.selection-grid,.request-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(2,1fr)}}
.calendar-toolbar,.calendar-nav{display:flex;align-items:center;justify-content:space-between}.calendar-toolbar h1{margin-bottom:4px;font-size:34px}.calendar-toolbar p{color:var(--muted)}.calendar-toolbar .view-switch a{padding:8px 13px;border:1px solid var(--line);color:var(--navy);font-size:12px;font-weight:700}.calendar-toolbar .view-switch a.active{background:var(--teal);color:#fff}.calendar-nav{justify-content:flex-start;gap:7px;margin:12px 0}.schedule-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:440px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.calendar-day header{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--muted)}.calendar-day header strong{color:var(--navy)}.calendar-event{display:grid;gap:2px;margin-bottom:7px;padding:8px;border-left:3px solid var(--teal);border-radius:6px;background:var(--aqua);font-size:11px}.calendar-event.approved{border-color:var(--teal)}.calendar-event.pending{border-color:#e4ae28}.calendar-event.waitlisted{border-color:#7656bf}.calendar-event.cancelled,.calendar-event.rejected{border-color:#c33;background:#ffe4e7}.calendar-event small{color:var(--muted)}.month-mode{grid-template-columns:repeat(7,1fr)}.month-mode .calendar-day{min-height:120px}.calendar-legend{display:flex;gap:16px;margin-top:14px;color:var(--muted);font-size:12px}.calendar-legend i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:50%;background:var(--teal)}.calendar-legend i.pending{background:#e4ae28}.calendar-legend i.waitlisted{background:#7656bf}.calendar-legend i.cancelled{background:#c33}@media(max-width:900px){.schedule-calendar{overflow:auto}.calendar-day{min-width:150px}.month-mode{grid-template-columns:repeat(7,150px)}}
main>h1,main>h2,main>.row{width:min(100% - 32px,1140px);margin-inline:auto}main>h1{margin-top:54px;margin-bottom:24px;font-size:44px}main>.row{margin-bottom:64px}form#account{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}form#account h2{font-size:24px;letter-spacing:-.03em}form#account .form-floating{margin-bottom:14px}form#account .btn{margin-top:8px;border-radius:9px}form#account p{margin:12px 0 0}main>.row section[aria-label="Use another service to log in."]{padding:26px;border-radius:18px;background:#fbf7e9}body:has(form#account){background:#fffdf8}@media(max-width:767px){main>h1{margin-top:34px;font-size:36px}form#account{padding:20px}}
main>h1,main>h2,main>.row{width:min(100% - 32px,1140px);margin-inline:auto}main>h1{margin-top:54px;margin-bottom:24px;font-size:44px}main>.row{margin-bottom:64px}form#account{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}form#account h2{font-size:24px;letter-spacing:-.03em}form#account .form-floating{margin-bottom:14px}form#account .btn{margin-top:8px;border-radius:9px}form#account p{margin:12px 0 0}main>.row section[aria-label="Use another service to log in."]{padding:26px;border-radius:18px;background:#fbf7e9}body:has(form#account){background:#fffdf8}main:has(.nav-pills){width:min(100% - 40px,1160px);margin:0 auto;padding:48px 0 68px}main:has(.nav-pills)>h1{width:auto;margin:0 0 22px;font-size:42px}main:has(.nav-pills) h2{font-size:27px}main:has(.nav-pills)>.row{width:auto;margin-bottom:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}main:has(.nav-pills) .nav-pills{gap:4px}main:has(.nav-pills) .nav-pills .nav-link{border-radius:9px;color:var(--navy)}main:has(.nav-pills) .nav-pills .nav-link.active{background:var(--teal);color:#2f2d2a}.authenticator-steps{display:grid;gap:18px;padding-left:20px}.qr-setup{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbf7e9}.qr-setup p{max-width:420px;margin:5px 0 12px;color:var(--muted);font-size:14px}.manual-key{max-width:360px;padding:14px;border-radius:10px;background:#fff}.manual-key code{display:block;padding:10px;border-radius:7px;background:var(--navy);color:#fff;line-height:1.8}.authenticator-form{max-width:440px;margin-left:20px}@media(max-width:767px){main>h1{margin-top:34px;font-size:36px}form#account{padding:20px}main:has(.nav-pills){width:min(100% - 28px,1160px);padding:28px 0 48px}main:has(.nav-pills)>h1{font-size:34px}main:has(.nav-pills)>.row{padding:16px}.authenticator-form{margin-left:0}}
/* Dynamic public content rendering */
.dynamic-section{padding:56px 0}.dynamic-section .container{max-width:1180px}.dynamic-hero{padding:70px 0 66px;background:linear-gradient(115deg,#fffdf8 55%,#f7efd8)}.dynamic-hero h1{font-size:clamp(2.3rem,4.6vw,4.25rem);letter-spacing:-.055em}.dynamic-hero .lead{margin-bottom:20px}.dynamic-hero .hero-visual{min-height:330px}.dynamic-hero .hero-panel i{font-size:46px;margin-bottom:18px}.dynamic-hero .hero-panel h3{font-size:26px;line-height:1.18}.dynamic-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.dynamic-stats span{min-width:132px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(75,73,69,.05)}.dynamic-stats strong,.dynamic-stats small{display:block}.dynamic-stats strong{font-size:20px}.dynamic-stats small{color:var(--muted);font-size:11px}.dynamic-section-heading{max-width:760px;margin-bottom:24px}.dynamic-section-heading h2{margin:4px 0 8px;font-size:clamp(1.8rem,2.8vw,2.65rem)}.dynamic-section-heading p{max-width:760px;margin:0;color:var(--navy)}.dynamic-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dynamic-card{padding:24px;min-height:190px}.dynamic-card h3{margin-top:18px;font-size:20px}.dynamic-card p{font-size:15px}.dynamic-actions{margin-top:22px}.dynamic-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dynamic-people-grid .person-card{min-height:126px;align-items:center}.dynamic-review-grid .dynamic-card{min-height:160px}.dynamic-review-grid .dynamic-card p{color:var(--navy);font-size:16px;line-height:1.5}.dynamic-cta{padding:70px 0}.dynamic-cta .container{max-width:820px}.dynamic-cta h2{font-size:clamp(2rem,3vw,3rem)}.dynamic-cta .lead{max-width:640px;margin:10px auto 14px}.dynamic-cta .btn{margin-inline:5px}@media(max-width:991px){.dynamic-section{padding:42px 0}.dynamic-hero{padding:52px 0}.dynamic-card-grid,.dynamic-people-grid{grid-template-columns:1fr 1fr}.dynamic-hero .hero-visual{min-height:280px}}@media(max-width:620px){.dynamic-section{padding:34px 0}.dynamic-hero{padding:42px 0}.dynamic-hero h1{font-size:2.45rem}.dynamic-card-grid,.dynamic-people-grid{grid-template-columns:1fr}.dynamic-card{min-height:0}.dynamic-section-heading{margin-bottom:18px}.dynamic-cta{padding:48px 0}.dynamic-cta .btn,.dynamic-actions .btn{display:inline-flex;margin:4px 4px 4px 0}.dynamic-stats span{flex:1 1 140px}.dynamic-hero .hero-panel h3{font-size:22px}}
.dynamic-image-text h2,.dynamic-rich-text h2{font-size:clamp(2rem,3.2vw,3rem)}.dynamic-image-text p,.dynamic-rich-text p{font-size:17px;line-height:1.7}.dynamic-insight-list{display:grid;gap:14px}.dynamic-insight-list .dynamic-card{display:flex;min-height:0;gap:18px;align-items:flex-start}.dynamic-insight-list .dynamic-card i{min-width:34px}.dynamic-insight-list .dynamic-card h3{margin-top:0}.dynamic-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-faq-grid .dynamic-card{min-height:210px}.dynamic-faq-grid .dynamic-card i{font-size:24px}.dynamic-rich-text .container{max-width:900px}@media(max-width:760px){.dynamic-faq-grid{grid-template-columns:1fr}.dynamic-image-text p,.dynamic-rich-text p{font-size:16px}.dynamic-insight-list .dynamic-card{display:block}}
.dynamic-layout-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-card-content{position:relative;z-index:1}.dynamic-card-image-bg{display:flex;min-height:280px;align-items:flex-end;background-position:center;background-size:cover;color:#fff;overflow:hidden}.dynamic-card-image-bg i,.dynamic-card-image-bg p{color:#fff}.dynamic-card-image-bg h3{color:#fff}.dynamic-card-image-column{display:grid;grid-template-columns:minmax(180px,.8fr) 1fr;gap:0;padding:0;overflow:hidden}.dynamic-card-image-column .dynamic-card-image{width:100%;height:100%;min-height:230px;object-fit:cover}.dynamic-card-image-column .dynamic-card-content{padding:24px}.dynamic-card-image-column h3{margin-top:18px}@media(max-width:760px){.dynamic-layout-two-column{grid-template-columns:1fr}.dynamic-card-image-column{grid-template-columns:1fr}.dynamic-card-image-column .dynamic-card-image{min-height:190px}}
.dynamic-hero-visual{background-position:center;background-size:cover}.dynamic-hero-visual .hero-panel{padding:20px;border-radius:24px;background:rgba(75,73,69,.5);backdrop-filter:blur(3px)}
.dynamic-hero-visual{background-blend-mode:multiply;background-color:rgba(200,170,67,.22)}.dynamic-hero-visual .hero-panel{background:rgba(75,73,69,.58)}
.dynamic-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dynamic-service-card{min-height:245px}.dynamic-service-card>i{color:var(--teal);font-size:30px}.dynamic-service-card .service-meta{margin-top:auto}@media(max-width:991px){.dynamic-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.dynamic-service-grid{grid-template-columns:1fr}.dynamic-service-card{min-height:0}}
.dynamic-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dynamic-team-card{display:flex;min-height:270px;flex-direction:column}.dynamic-team-card .avatar{margin-bottom:16px}.team-photo{width:100%;height:260px;margin-bottom:16px;border-radius:18px;background:#fffdf8;object-fit:cover;object-position:center;box-shadow:var(--shadow)}.profile-thumb{width:64px;height:64px;border-radius:18px;background:#fffdf8;object-fit:cover;object-position:center;box-shadow:var(--shadow)}.dynamic-team-card h3{margin-top:12px;font-size:20px}.dynamic-team-card p{min-height:auto}.dynamic-team-card small{display:block;margin-bottom:18px;color:var(--muted);font-size:13px}.dynamic-team-card .btn{margin-top:auto;align-self:flex-start}@media(max-width:991px){.dynamic-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.dynamic-team-grid{grid-template-columns:1fr}.dynamic-team-card{min-height:0}.team-photo{height:220px}}
.dynamic-rating-grid,.dynamic-published-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dynamic-rating-card,.dynamic-published-review-card{display:flex;min-height:230px;flex-direction:column}.dynamic-rating-card>i{color:var(--teal);font-size:30px}.dynamic-rating-card h3{margin-top:14px}.dynamic-rating-card small{display:block;margin-bottom:18px;color:var(--muted)}.dynamic-rating-card .btn{margin-top:auto;align-self:flex-start}.dynamic-stars{color:var(--teal);font-weight:800;letter-spacing:3px}.dynamic-published-review-card p{margin:18px 0;color:var(--navy);font-size:16px;line-height:1.55}.dynamic-published-review-card h3{margin-top:auto;font-size:18px}@media(max-width:760px){.dynamic-rating-grid,.dynamic-published-review-grid{grid-template-columns:1fr}.dynamic-rating-card,.dynamic-published-review-card{min-height:0}}
.dynamic-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.dynamic-contact-card{max-width:820px}.dynamic-contact-card>i{color:var(--teal);font-size:30px}.dynamic-contact-card h3{margin-top:16px}.dynamic-hours-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0}.dynamic-hours-list span{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.dynamic-hours-list small{color:var(--muted)}@media(max-width:620px){.dynamic-hours-list{grid-template-columns:1fr}.dynamic-hours-list span{display:block}}
.auth-container{padding:54px 0}.auth-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.auth-card h2{font-size:26px}.auth-links{display:flex;flex-wrap:wrap;gap:10px 18px}.dynamic-login-page>.container{max-width:1120px}.dynamic-login-page .col-lg-5>.dynamic-section{padding:0;background:transparent}.dynamic-login-page .col-lg-5>.dynamic-section+.dynamic-section{margin-top:16px}.dynamic-login-page .col-lg-5>.dynamic-section .container{width:100%;max-width:none;padding:0}.dynamic-login-page .dynamic-card-grid{grid-template-columns:1fr}.dynamic-login-card{max-width:560px;margin-left:auto}.dynamic-external-logins{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}@media(max-width:991px){.dynamic-login-card{max-width:none;margin-left:0}}
.live-week-grid{grid-template-columns:repeat(5,1fr);min-height:auto}.live-week-grid .day-col{grid-template-rows:auto;align-content:start;min-height:230px}.live-week-grid .slot{display:grid;gap:2px;line-height:1.25}.live-week-grid .slot strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.live-week-grid .slot small{display:block;color:inherit;opacity:.78}.slot.approved,.slot.completed{background:#fbf7e9;color:#6b571f}.slot.pending,.slot.waitlisted{background:#fff6d8;color:#9b6b00}.selection-card input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal-dark)}.form-card label,.dash-card label{font-weight:700;color:var(--navy)}.schedule-row .form-control{max-width:150px}
.admin-subhead{margin:12px 0 8px;font-size:14px}.admin-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.benefit-card{display:grid;gap:8px;align-content:start}.benefit-card label{margin:0;font-size:12px}@media(max-width:991px){.admin-benefit-grid{grid-template-columns:1fr}}
.admin-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:10px}.admin-option-card{min-height:0!important;flex-direction:row!important;align-items:center!important;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.admin-option-card span{line-height:1.2}.admin-option-card:hover{border-color:var(--teal);background:#fbf7e9}@media(max-width:640px){.admin-option-grid{grid-template-columns:1fr}}
.employee-profile-preview{display:flex;gap:16px;align-items:center;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbf7e9}.employee-profile-preview img{width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:center;background:#fffdf8}.employee-profile-preview strong,.employee-profile-preview small{display:block}.employee-profile-preview small{color:var(--muted)}.profile-cropper{display:grid;grid-template-columns:260px minmax(220px,1fr);gap:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fffdf8}.cropper-stage{display:grid;width:240px;height:240px;place-items:center;overflow:hidden;border-radius:50%;background:#fffdf8;box-shadow:inset 0 0 0 2px var(--teal);cursor:grab;touch-action:none}.cropper-stage:active{cursor:grabbing}.cropper-stage canvas{display:block;width:100%;height:100%;user-select:none}.cropper-controls{display:grid;align-content:center;gap:8px}.cropper-controls label{font-size:12px}.availability-day{margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.availability-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.availability-day h3{margin:0;font-size:15px}.switch-line{display:flex;align-items:center;gap:8px;margin:0}.switch-line input{width:18px;height:18px;accent-color:var(--teal-dark)}.availability-day-body{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start;margin-top:12px}.availability-window{display:inline-grid;grid-template-columns:132px 12px 132px 34px 34px;gap:6px;align-items:center;width:max-content}.availability-window .form-control{max-width:132px}.icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy)}.icon-button:hover{background:#fbf7e9}.availability-alternate{display:flex;flex-basis:100%;flex-wrap:wrap;gap:12px;align-items:center;padding-top:4px}.availability-alternate .form-control{max-width:190px}@media(max-width:760px){.profile-cropper{grid-template-columns:1fr}.cropper-stage{width:220px;height:220px}.availability-window{grid-template-columns:1fr 12px 1fr auto auto;width:100%}}
.footer-hours{display:grid;gap:4px}.footer-hours span{display:block;color:#f4ead2;font-size:12px;line-height:1.35}.footer-hours strong{display:inline-block;min-width:32px;color:#fff}.site-hours-editor{display:grid;gap:8px}.site-hours-row{display:grid;grid-template-columns:120px 90px 145px 145px minmax(220px,1fr);gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.site-hours-row strong{align-self:center}.site-hours-row label{margin:0;font-size:12px}.site-hours-note{min-width:0}.check-inline{display:flex;align-items:center;gap:7px;align-self:center}.check-inline input{width:18px;height:18px;accent-color:var(--teal-dark)}@media(max-width:900px){.site-hours-row{grid-template-columns:1fr 1fr}.site-hours-note{grid-column:1/-1}}
.search{display:flex;align-items:center;gap:8px}.search input{width:100%;border:0;background:transparent;color:var(--navy);outline:0}.dashboard-search-hidden{display:none!important}.appointment-table td{vertical-align:top}.calendar-links{display:flex;flex-wrap:wrap;gap:6px}.calendar-links a{padding:4px 7px;border-radius:7px;background:#fbf7e9;color:var(--teal-dark);font-size:11px;font-weight:800}.appointment-actions{min-width:190px}.cancel-appointment-form{display:inline-grid;margin-left:4px}.search-results-form{display:flex;gap:10px}.search-results-form input{max-width:520px}.search-result-group{margin-top:24px}.search-result-group h2{font-size:20px;letter-spacing:0}.search-result-card{display:grid;gap:4px;padding:14px 0;border-top:1px solid var(--line)}.search-result-card strong{font-size:16px}.search-result-card small{color:var(--teal-dark);font-weight:800}.search-result-card p{margin:0;color:var(--muted)}
.therapist-selection-card{overflow:hidden}.booking-therapist-photo{width:100%;height:190px;margin-bottom:14px;border-radius:16px;background:#fffdf8;object-fit:contain;object-position:center;box-shadow:var(--shadow)}
.dashboard-menu-toggle,.sidebar-collapse{display:none}.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.period-selector{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.period-selector label{margin:0;font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.period-selector .form-select{min-width:140px}.period-selector input[type=date]{max-width:170px}.dashboard-primary-panel{margin-top:14px}.dashboard-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.55fr)}.analytics-tabs{display:flex;flex-wrap:wrap;gap:6px}.analytics-tabs span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fffdf8;color:var(--muted);font-size:11px;font-weight:800}.analytics-tabs .active{background:var(--teal);color:#2f2d2a;border-color:var(--teal)}.analytics-sections{display:grid;gap:16px}.analytics-section{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.analytics-section h3{margin:0;font-size:16px}.analytics-section .chart{height:210px;border:1px solid var(--line);border-radius:12px;overflow-x:auto}.readonly-price{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;font-weight:800}.toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.toggle-card{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.toggle-card input{width:18px;height:18px;accent-color:var(--teal-dark)}.toggle-card span{font-weight:800}
.cms-builder-grid,.cms-editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:14px}.cms-block-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cms-block-row strong,.cms-block-row small,.cms-block-row span{display:block}.cms-block-row small{color:var(--muted)}.cms-add-block-form{display:grid;gap:12px}.cms-toggle-row{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.cms-toggle-row label{display:flex;gap:6px;align-items:center}.cms-editor-form{max-width:none}.cms-preview-panel{overflow:auto}.cms-preview-frame{max-height:900px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.cms-preview-frame .dynamic-section{padding:26px 0}.code-editor{transition:min-height .18s ease}.code-editor.expanded{min-height:360px;font-family:Consolas,monospace}.analytics-trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.analytics-trend-grid article,.analytics-trend-button{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;color:var(--navy);text-align:left}.analytics-trend-button{cursor:pointer}.analytics-trend-button:hover{border-color:var(--teal);box-shadow:0 6px 16px rgba(75,73,69,.08)}.analytics-trend-grid strong,.analytics-trend-grid span,.analytics-trend-grid small{display:block}.analytics-trend-grid small{color:var(--muted)}.booking-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.booking-day-card{display:grid;min-height:104px;gap:4px;align-content:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-align:left}.booking-day-card strong{font-size:18px}.booking-day-card small,.booking-day-card span{color:var(--muted);font-size:12px}.booking-day-card.selected-open{border-color:var(--teal);background:#fbf7e9}.booking-day-card.other-open{cursor:pointer}.booking-day-card.no-open{opacity:.55;background:#f4f0e8}.other-therapist-option{padding:12px 0;border-top:1px solid var(--line)}.compact-slots{grid-template-columns:repeat(3,1fr);margin-top:8px}
.error-stack{max-width:620px;max-height:260px;overflow:auto;padding:10px;border-radius:8px;background:#2f2d2a;color:#fff;font-size:11px;white-space:pre-wrap}
@media(max-width:1000px){.cms-builder-grid,.cms-editor-grid{grid-template-columns:1fr}.booking-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.cms-block-row{grid-template-columns:1fr}.booking-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-slots{grid-template-columns:1fr}}
@media(min-width:761px){.sidebar-collapse{display:grid;width:30px;height:30px;place-items:center;align-self:flex-end;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy)}.dashboard-nav-collapsed .sidebar{width:84px;min-width:84px;align-items:center}.dashboard-nav-collapsed .sidebar .brand span,.dashboard-nav-collapsed .sidebar nav span,.dashboard-nav-collapsed .sidebar-help strong,.dashboard-nav-collapsed .sidebar-help small,.dashboard-nav-collapsed .nav-disabled small{display:none}.dashboard-nav-collapsed .sidebar nav a,.dashboard-nav-collapsed .sidebar nav .nav-disabled{display:grid;place-items:center;padding:12px}.dashboard-nav-collapsed .sidebar nav a i,.dashboard-nav-collapsed .sidebar nav .nav-disabled i{width:auto}.dashboard-nav-collapsed .sidebar-help{padding:12px}.dashboard-nav-collapsed .sidebar-collapse i{transform:rotate(180deg)}}
@media(max-width:1000px){.dashboard-secondary-grid{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr}.dashboard-actions{width:100%;justify-content:space-between}.dashboard-heading{align-items:flex-start;gap:12px}}
@media(max-width:760px){.dashboard-menu-toggle{display:flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--navy);font-weight:800}.app-shell{display:block}.app-shell .sidebar{display:none}.app-shell.dashboard-menu-open .sidebar{display:flex;position:fixed;inset:0 auto 0 0;z-index:1050;width:min(86vw,320px);box-shadow:var(--shadow)}.app-topbar{gap:10px}.app-topbar .search{display:flex;min-width:0;flex:1}.dashboard-heading{display:grid}.period-selector{width:100%;justify-content:space-between}.period-selector .form-select{flex:1}.analytics-tabs{width:100%}.dashboard-secondary-grid{grid-template-columns:1fr}}
@media(min-width:1001px){.analytics-priority-grid{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr)}}
.footer-social-links{display:flex;gap:10px;margin-top:16px}.footer-social-links a{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#fff}.footer-social-links a:hover{background:var(--teal);color:#2f2d2a}
.page-loading-overlay{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:24px;background:rgba(75,73,69,.42);backdrop-filter:blur(2px)}.page-is-loading .page-loading-overlay{display:grid}.page-is-loading main,.page-is-loading header,.page-is-loading footer{pointer-events:none;user-select:none}.page-loading-card{display:grid;gap:10px;min-width:min(320px,90vw);justify-items:center;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fffdf8;color:var(--navy);box-shadow:var(--shadow);text-align:center}.page-loading-card strong{font-size:18px}.page-loading-card small{color:var(--muted)}.page-loading-spinner{width:44px;height:44px;border:4px solid #efe5cc;border-top-color:var(--teal);border-radius:50%;animation:page-loading-spin .8s linear infinite}@keyframes page-loading-spin{to{transform:rotate(360deg)}}
.customer-calendar-layout{display:grid;grid-template-columns:minmax(260px,.35fr) minmax(0,1fr);gap:16px}.customer-mini-calendar{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.customer-mini-calendar h3{margin:0;font-size:17px;letter-spacing:0}.customer-mini-weekdays,.customer-mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.customer-mini-weekdays span{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.customer-mini-day{position:relative;display:grid;min-height:36px;place-items:center;border:1px solid transparent;border-radius:999px;color:var(--navy);font-size:12px}.customer-mini-day.today{border-color:var(--teal);box-shadow:inset 0 0 0 2px rgba(200,170,67,.25)}.customer-mini-day.has-session:after{content:"";position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-radius:50%;background:var(--teal)}.customer-mini-day.approved:after{background:#2f9e44}.customer-mini-day.pending:after{background:#2f80ed}.customer-mini-day.cancelled:after{background:#c03342}.customer-mini-day b{position:absolute;left:5px;bottom:3px;color:var(--muted);font-size:9px}.customer-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.customer-calendar-legend i{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;background:var(--teal)}.customer-calendar-legend i.approved{background:#2f9e44}.customer-calendar-legend i.pending{background:#2f80ed}.customer-calendar-legend i.cancelled{background:#c03342}.customer-appointment-panel{display:grid;gap:10px;align-content:start}.customer-appointment-card{display:grid;grid-template-columns:1fr 1.2fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.customer-appointment-card strong,.customer-appointment-card span{display:block}.customer-appointment-card span{color:var(--muted);font-size:12px}.status.paid{background:#e4f7e8;color:#1d7a32}.status.refunded{background:#eef3f6;color:#4b4945}.status.failed{background:#ffe4e7;color:#a83042}.status.waived{background:#fbf7e9;color:#8f6b10}@media(max-width:900px){.customer-calendar-layout{grid-template-columns:1fr}.customer-appointment-card{grid-template-columns:1fr}}
