:root{--font-instagram:"Instagram Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ink:#2b2024;--muted:#8a7a80;--soft:#fdf8f5;--panel:#fff;--line:#efe3e3;--rose:#c2566f;--rose-strong:#a8485e;--rose-soft:#f8e8ea;--berry:#9a4860;--success:#247a45;--shadow:0 18px 48px #a050641f;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--soft);color:var(--ink);font-family:var(--font-instagram);margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}:focus-visible{outline-offset:3px;outline:3px solid #ef8ca257}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafbe6;border-bottom:1px solid #f1e6ebe6;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:.75rem;display:inline-flex}.brand-mark{background:var(--rose-soft);color:var(--rose-strong);font-family:var(--font-instagram);border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.15rem;font-weight:800;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{font-family:var(--font-instagram);font-size:1.28rem;font-weight:700;line-height:1}.brand small{color:var(--muted);margin-top:.15rem;font-size:.72rem}.desktop-nav{display:none}.header-cta,.primary-button,.ghost-button,.submit-button,.mini-appointment button{border-radius:var(--radius);justify-content:center;align-items:center;min-height:2.75rem;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.header-cta,.primary-button,.submit-button,.mini-appointment button{background:var(--rose);color:#fff}.header-cta{padding:.72rem 1rem}.primary-button,.ghost-button{gap:.45rem;padding:.9rem 1.05rem}.primary-button:hover,.submit-button:hover,.mini-appointment button:hover{background:var(--rose-strong);transform:translateY(-1px)}.ghost-button{color:var(--berry);background:#ffffffa3;border:1px solid #d96f8747}.hero{background:var(--soft);color:var(--ink);isolation:isolate;align-items:flex-end;min-height:100svh;padding:7.25rem 1rem 2rem;display:flex;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:52% top;z-index:-2;width:100%;height:100%}.hero-scrim{z-index:-1;background:linear-gradient(#fffafb47 0%,#fffafb94 44%,#fffafbfa 100%),linear-gradient(90deg,#fffafbf5 0%,#fffafbb8 48%,#fffafb2e 100%);position:absolute;inset:0}.hero-content{width:100%;max-width:42rem}.eyebrow{color:var(--rose);text-transform:uppercase;margin:0 0 .8rem;font-size:.76rem;font-weight:700}.hero .eyebrow{color:var(--rose-strong)}h1,h2,h3{font-family:var(--font-instagram);margin:0;font-weight:750}.hero h1{max-width:13ch;font-size:2.8rem;line-height:1}.hero-copy{color:var(--muted);max-width:35rem;margin:1rem 0 1.3rem;font-size:1rem;line-height:1.65}.hero-actions{flex-direction:column;gap:.75rem;display:flex}.hero-proof{gap:.55rem;margin-top:1rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.hero-proof,.date-row{scrollbar-width:none}.hero-proof::-webkit-scrollbar{display:none}.date-row::-webkit-scrollbar{display:none}.hero-proof>span,.review-proof-card{border-radius:var(--radius);background:#ffffffb8;border:1px solid #d96f872e;flex:none;align-items:center;gap:.35rem;padding:.55rem .7rem;display:inline-flex}.review-proof-card{gap:.65rem}.avatar-stack{padding-left:.15rem;display:flex}.avatar-stack img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:2rem;height:2rem;margin-left:-.42rem}.avatar-stack img:first-child{margin-left:0}.google-review-copy{gap:.05rem;display:grid}.google-review-copy strong{font-size:.9rem;line-height:1}.google-review-copy>span{color:#f6b100;gap:.03rem;display:inline-flex}.google-review-copy small{color:var(--muted);font-size:.72rem}.signal-strip{border-bottom:1px solid var(--line);background:#fff;gap:1px;display:grid}.signal-strip article{background:#fff;padding:1.15rem}.signal-strip span{margin-bottom:.28rem;font-weight:700;display:block}.signal-strip p{color:var(--muted);margin:0;line-height:1.5}.booking-section,.instagram-section,.reviews-section,.owner-section{padding:4rem 1rem;scroll-margin-top:5rem}.section-heading{max-width:48rem;margin:0 auto 1.5rem}.section-heading h2,.owner-copy h2{font-size:2.35rem;line-height:1.05}.section-heading p:not(.eyebrow),.owner-copy p{color:var(--muted);margin:.85rem 0 0;line-height:1.65}.booking-grid{gap:1rem;max-width:72rem;margin:0 auto;display:grid}.service-picker{gap:.85rem;display:grid}.service-filters{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.service-filters button{border-radius:var(--radius);color:var(--muted);background:0 0;min-height:2.45rem;font-weight:700}.service-filters button.is-selected{background:var(--rose-soft);color:var(--rose-strong)}.service-list{gap:.7rem;display:grid}.empty-service-state{border-radius:var(--radius);color:var(--muted);text-align:center;background:#fff;border:1px dashed #d96f8761;place-items:center;gap:.3rem;min-height:7rem;padding:1rem;display:grid}.empty-service-state strong{color:var(--ink)}.empty-service-state p{margin:0;line-height:1.45}.service-option{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-align:left;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:5.4rem;padding:.85rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.service-thumb{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;width:3.25rem;height:3.25rem}.service-option:hover,.service-option.is-selected{border-color:#ef8ca28c;box-shadow:0 10px 28px #ad5e7214}.service-option.is-selected{background:linear-gradient(#fff,#fff4f7)}.service-icon{background:var(--rose-soft);color:var(--rose-strong);border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.service-copy,.service-title,.service-meta{display:grid}.service-copy{gap:.25rem;min-width:0}.service-title{grid-template-columns:auto auto;justify-content:start;align-items:center;gap:.45rem;font-weight:700}.service-title small{background:var(--rose-soft);color:var(--rose-strong);border-radius:999px;padding:.15rem .45rem;font-size:.65rem}.service-copy>span:last-child,.service-meta small{color:var(--muted);font-size:.82rem;line-height:1.35}.service-category{text-transform:capitalize;font-weight:800;color:var(--rose-strong)!important;font-size:.74rem!important}.service-meta{white-space:nowrap;justify-items:end;gap:.2rem}.booking-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:1rem;padding:1rem;display:grid}.panel-topline{justify-content:space-between;align-items:center;display:flex}.panel-topline span{color:var(--muted)}.panel-topline strong{color:var(--berry);font-size:1.2rem}.booking-summary-pill{background:var(--rose-soft);border-radius:var(--radius);color:var(--rose-strong);border:1px solid #ef8ca233;justify-content:space-between;align-items:center;padding:.7rem .85rem;display:flex}.booking-summary-pill span{color:var(--muted)}.date-row{gap:.55rem;margin-inline:-.15rem;padding:.15rem;display:flex;overflow-x:auto}.date-chip,.time-chip{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff}.date-chip{flex:0 0 4.2rem;justify-items:center;gap:.1rem;min-height:4.7rem;padding:.55rem .35rem;display:grid}.date-chip span,.date-chip small{color:var(--muted);font-size:.76rem}.date-chip strong{font-size:1.3rem}.date-chip.is-selected,.time-chip.is-selected{background:var(--rose);border-color:var(--rose);color:#fff}.date-chip.is-selected span,.date-chip.is-selected small{color:#ffffffd1}.calendar-card{border:1px solid var(--line);border-radius:var(--radius);background:#fffdfd;overflow:hidden}.calendar-card-header{border-bottom:1px solid var(--line);gap:.2rem;padding:.9rem;display:grid}.calendar-card-header span,.calendar-card-header small{color:var(--muted);font-size:.82rem}.calendar-card-header strong{font-size:1rem}.calendar-timeline{max-height:31rem;display:grid;overflow-y:auto}.calendar-hour{grid-template-columns:3.55rem minmax(0,1fr);min-height:4.75rem;display:grid}.calendar-hour time{color:var(--muted);text-align:right;padding:.75rem .6rem 0 0;font-size:.78rem}.calendar-lane{border-left:1px solid var(--line);border-top:1px solid var(--line);gap:.45rem;padding:.48rem .55rem;display:grid}.calendar-hour:first-child .calendar-lane{border-top:0}.calendar-slot{border:1px solid #ef8ca242;border-left:4px solid var(--rose);border-radius:var(--radius);color:var(--ink);text-align:left;background:linear-gradient(90deg,#fff7f9,#fffdfd);justify-content:space-between;align-items:center;min-height:2.8rem;padding:.55rem .7rem;display:flex}.calendar-slot span{font-weight:700}.calendar-slot small{color:var(--muted)}.calendar-slot.is-selected{border-color:#f191a7;border-left-color:var(--berry);color:#fff;background:linear-gradient(90deg,#f191a7,#f4a9ba)}.calendar-slot.is-selected small{color:#ffffffd1}.calendar-slot.is-booked{border-color:var(--line);color:#a99aa1;background:#faf3f6;border-left-color:#dccbd2}.calendar-empty{color:#b5a7ad;align-items:center;min-height:2.8rem;font-size:.82rem;display:flex}.booking-fields{gap:.75rem;display:grid}.booking-fields label{gap:.35rem;display:grid}.booking-fields span{color:var(--muted);font-size:.8rem;font-weight:700}.booking-fields input,.booking-fields textarea{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fffafd;width:100%;min-height:3rem;padding:.75rem .85rem}.booking-fields textarea{resize:vertical;min-height:5.25rem}.success-message{border-radius:var(--radius);color:var(--success);background:#e9f7ee;border:1px solid #247a4538;align-items:flex-start;gap:.5rem;padding:.75rem;line-height:1.45;display:flex}.error-message{border-radius:var(--radius);color:#9a4158;background:#fff1f5;border:1px solid #d96f8747;padding:.75rem;line-height:1.45}.submit-button{gap:.45rem;width:100%;min-height:3.2rem}.secure-note{color:var(--muted);justify-content:center;align-items:center;gap:.35rem;margin:-.15rem 0 0;font-size:.78rem;display:flex}.instagram-section,.owner-section{background:#fff}.compact-heading{margin-left:0}.review-grid{gap:.8rem;max-width:72rem;margin:0 auto;display:grid}.instagram-profile-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffdfd;gap:1rem;max-width:72rem;margin:0 auto 1rem;padding:1rem;display:grid}.instagram-profile-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;display:grid}.instagram-avatar-ring{background:radial-gradient(circle,#fff 60%,#0000 61%),conic-gradient(from 210deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75);border-radius:50%;place-items:center;width:5.2rem;height:5.2rem;padding:.18rem;display:inline-grid}.instagram-avatar-ring img{object-fit:cover;border:3px solid #fff;border-radius:50%;width:4.65rem;height:4.65rem}.instagram-profile-copy{min-width:0}.instagram-username-row{align-items:center;gap:.35rem;display:flex}.instagram-username-row h2{font-size:1.55rem;line-height:1}.instagram-profile-copy p{color:var(--muted);margin:.45rem 0 .8rem;line-height:1.45}.instagram-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.instagram-profile-stats div{border:1px solid var(--line);border-radius:var(--radius);background:#fff7f9;gap:.15rem;padding:.6rem;display:grid}.instagram-profile-stats dt{color:var(--muted);font-size:.72rem}.instagram-profile-stats dd{margin:0;font-weight:800}.instagram-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.instagram-profile-actions a{border-radius:var(--radius);justify-content:center;align-items:center;gap:.45rem;min-height:2.65rem;font-weight:800;display:inline-flex}.instagram-profile-actions .instagram-follow{color:#fff;background:#1d9bf0}.instagram-profile-ghost{border:1px solid var(--line);color:var(--ink);background:#fff7f9}.instagram-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));max-width:72rem;margin:0 auto .9rem;display:grid}.instagram-tabs span{color:var(--muted);justify-content:center;align-items:center;gap:.35rem;padding:.75rem;font-size:.82rem;font-weight:800;display:inline-flex}.instagram-tabs span:first-child{border-bottom:2px solid var(--ink);color:var(--ink)}.instagram-header,.reels-header{justify-content:space-between;align-items:end;gap:1rem;max-width:72rem;margin:0 auto 1rem;display:flex}.instagram-header .instagram-follow,.reels-header a{color:var(--ink);flex:none;align-items:center;gap:.45rem;font-size:.88rem;display:inline-flex}.instagram-post-row{scrollbar-width:none;gap:.8rem;max-width:72rem;margin:0 auto 2.4rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.instagram-post-row::-webkit-scrollbar{display:none}.instagram-post{aspect-ratio:1;background:var(--rose-soft);border-radius:var(--radius);color:inherit;flex:0 0 10.6rem;display:block;position:relative;overflow:hidden}.instagram-post img,.reel-card img{object-fit:cover;width:100%;height:100%}.instagram-stats{color:#fff;background:linear-gradient(#0000,#1f171aad);align-items:center;gap:.75rem;padding:2.3rem .75rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.instagram-stats span,.reel-views{align-items:center;gap:.25rem;font-size:.85rem;font-weight:700;display:inline-flex}.reels-header{align-items:start;margin-top:.4rem}.reels-header h3{font-size:1.45rem}.reels-header p{color:var(--muted);margin:.25rem 0 0}.reel-grid{gap:.8rem;max-width:72rem;margin:0 auto;display:grid}.reel-card{aspect-ratio:16/9;background:var(--rose-soft);border-radius:var(--radius);color:inherit;display:block;position:relative;overflow:hidden}.reel-card:after{content:"";background:linear-gradient(#1f171a14,#1f171a85);position:absolute;inset:0}.play-badge{color:#fff;z-index:1;background:#1f171a80;border:1px solid #ffffff52;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reel-views{color:#fff;z-index:1;position:absolute;bottom:.75rem;left:.75rem}.pinterest-pin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:72rem;margin:0 auto;display:grid}.pinterest-pin-card{border:1px solid var(--line);border-radius:var(--radius);color:inherit;background:#fffdfd;gap:.55rem;padding-bottom:.75rem;display:grid;overflow:hidden}.pinterest-pin-card img{aspect-ratio:4/5;object-fit:cover;width:100%}.pinterest-pin-card:nth-child(3n+2) img{aspect-ratio:1}.pinterest-pin-card:nth-child(3n) img{aspect-ratio:3/4}.pinterest-pin-card span,.pinterest-pin-card strong{margin-inline:.75rem}.pinterest-pin-card span{color:#bd081c;align-items:center;gap:.3rem;font-size:.76rem;font-weight:800;display:inline-flex}.pinterest-pin-card strong{font-size:.9rem;line-height:1.25}.reviews-section{background:#fffafd}.reviews-proof-layout{gap:1rem;max-width:72rem;margin:0 auto;display:grid}.review-summary-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:1rem;padding:1.1rem;display:grid}.review-score-row{gap:.35rem;display:grid}.review-score-row strong{font-size:3rem;line-height:1}.review-score-row span{color:#f6b100;gap:.08rem;display:inline-flex}.review-score-row small{color:var(--muted)}.review-avatar-stack img{width:2.35rem;height:2.35rem}.rating-bars{gap:.45rem;display:grid}.rating-bars div{grid-template-columns:1rem minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.rating-bars span{color:var(--muted);font-size:.8rem;font-weight:800}.rating-bars i{background:#f6eef2;border-radius:999px;height:.55rem;overflow:hidden}.rating-bars b{background:var(--rose);border-radius:inherit;height:100%;display:block}.credibility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.credibility-grid div{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;padding:.75rem}.credibility-grid dt{color:var(--rose-strong);font-size:1.05rem;font-weight:900}.credibility-grid dd{color:var(--muted);margin:.2rem 0 0;font-size:.78rem}.review-grid{grid-template-columns:1fr}.review-card,.admin-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.review-card{gap:.85rem;padding:1.1rem;display:grid}.review-card div{color:var(--rose);gap:.18rem;display:flex}.review-badge{background:var(--rose-soft);color:var(--rose-strong);border-radius:999px;justify-self:start;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.review-card p{color:var(--muted);margin:0;line-height:1.6}.review-card small{color:var(--muted);font-weight:700}.owner-section{gap:2rem;display:grid}.owner-copy{max-width:36rem}.owner-button{margin-top:1.25rem}.phone-preview{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffafd;border-radius:2rem;gap:.9rem;width:100%;max-width:22rem;margin:0 auto;padding:1.1rem;display:grid}.phone-status,.mini-metrics,.mini-appointment,.mini-campaign{border-radius:var(--radius)}.phone-status{justify-content:space-between;align-items:center;padding:.3rem .2rem;font-weight:700;display:flex}.mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.mini-metrics span,.mini-appointment,.mini-campaign{border:1px solid var(--line);background:#fff;padding:.75rem}.mini-metrics span{color:var(--muted);gap:.25rem;font-size:.72rem;display:grid}.mini-metrics svg{color:var(--rose)}.mini-metrics strong{color:var(--ink);font-size:1.05rem}.mini-appointment{gap:.3rem;display:grid}.mini-appointment p,.mini-appointment span{color:var(--muted);margin:0}.mini-appointment button{min-height:2.55rem;margin-top:.45rem}.mini-campaign{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.mini-campaign svg{color:var(--rose)}.site-footer{border-top:1px solid var(--line);color:var(--ink);background:#fff7f9;gap:1.5rem;padding:2.4rem 1rem 6rem;display:grid}.site-footer p,.site-footer span,.site-footer a,.site-footer small{color:var(--muted)}.site-footer div{gap:.45rem;display:grid}.footer-brand .brand-mark{background:var(--rose-soft);color:var(--rose-strong)}.mobile-booking-bar{border-top:1px solid var(--line);padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-booking-bar span{min-width:0;display:grid}.mobile-booking-bar small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-booking-bar a{background:var(--rose);border-radius:var(--radius);color:#fff;padding:.78rem 1.25rem;font-weight:700}.admin-shell{background:linear-gradient(#fff7fa 0%,#fff 38%,#fff7fa 100%);min-height:100svh;padding:1rem 1rem 5.4rem}.appointments-page{background:linear-gradient(#fff7fa 0%,#fff 38%,#fff7fa 100%);min-height:100svh;padding:1rem 1rem 5rem}.appointments-header{grid-template-columns:auto 1fr;align-items:center;gap:.8rem;max-width:78rem;margin:0 auto 1rem;display:grid}.appointments-header .admin-back{align-items:center;gap:.35rem;display:inline-flex}.appointments-header p{color:var(--muted);margin:0 0 .1rem}.appointments-header h1{font-size:2rem;line-height:1}.appointments-toolbar,.appointment-workspace{max-width:78rem;margin:0 auto}.appointments-toolbar{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.appointments-toolbar label{color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.appointments-toolbar input,.appointment-edit-row input,.custom-message-row textarea{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fffafd;width:100%;min-height:2.55rem;padding:.55rem .65rem}.appointments-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.appointments-metrics span{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;background:#fffafd;padding:.65rem;font-size:.8rem;font-weight:800}.appointment-workspace{gap:1rem;display:grid}.calendar-legend{flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem;display:flex}.calendar-legend span{border:1px solid var(--line);color:var(--muted);background:#fffafd;border-radius:999px;align-items:center;gap:.32rem;padding:.35rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.calendar-legend i{border-radius:50%;width:.65rem;height:.65rem}.legend-open{background:#2d9b62}.legend-appointment{background:#6d7df6}.legend-blocked{background:#df6d85}.legend-busy{background:#b09adf}.appointment-calendar-list,.appointment-action-list{gap:.6rem;max-height:42rem;padding-right:.15rem;display:grid;overflow-y:auto}.appointment-calendar-row{grid-template-columns:4.2rem minmax(0,1fr);gap:.55rem;display:grid}.appointment-calendar-row time{color:var(--muted);text-align:right;padding-top:.7rem;font-size:.78rem}.appointment-calendar-block{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-align:left;border-left:5px solid;gap:.18rem;width:100%;min-height:4rem;padding:.7rem .8rem;display:grid}.appointment-calendar-block strong{align-items:center;gap:.35rem;font-weight:900;display:inline-flex}.appointment-calendar-block span,.appointment-calendar-block small{color:var(--muted);line-height:1.35}.appointment-calendar-block.is-open{background:#f1fff6;border-left-color:#2d9b62}.appointment-calendar-block.is-open svg{color:#2d9b62}.appointment-calendar-block.is-appointment{background:#f3f5ff;border-left-color:#6d7df6}.appointment-calendar-block.is-blocked{background:#fff1f5;border-left-color:#df6d85}.appointment-calendar-block.is-blocked svg{color:#df6d85}.appointment-calendar-block.is-busy{background:#f8f4ff;border-left-color:#b09adf}.appointment-action-card{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;gap:.75rem;padding:.9rem;display:grid}.appointment-action-card.is-demo{opacity:.72}.appointment-action-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.appointment-action-head span{gap:.15rem;display:grid}.appointment-action-head small,.appointment-action-card p,.appointment-contact-row,.appointment-note,.appointment-demo-note{color:var(--muted)}.appointment-action-head b{color:var(--rose-strong)}.appointment-action-card p{margin:0;line-height:1.45}.appointment-contact-row,.appointment-message-actions,.appointment-admin-actions,.appointment-edit-row{gap:.5rem;display:grid}.appointment-contact-row{font-size:.82rem}.appointment-contact-row a{overflow-wrap:anywhere}.message-button,.move-button,.remove-button{border-radius:var(--radius);justify-content:center;align-items:center;gap:.4rem;min-height:2.65rem;padding:.65rem .75rem;font-weight:800;display:inline-flex}.message-button:disabled,.move-button:disabled,.remove-button:disabled{opacity:.5}.message-button.is-reminder{color:#2374bd;background:#eef6ff}.message-button.is-cancel{color:#b3425b;background:#fff1f5}.message-button.is-custom{color:#7052b8;background:#f5efff}.custom-message-row{gap:.5rem;display:grid}.custom-message-row textarea{resize:vertical;min-height:4.8rem}.appointment-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-edit-row label{color:var(--muted);gap:.3rem;font-size:.78rem;font-weight:800;display:grid}.move-button{color:#9c650e;background:#fff7e8}.remove-button{color:#b3425b;background:#fff;border:1px solid #b3425b47}.appointment-note,.appointment-demo-note{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:start;gap:.4rem;padding:.65rem;display:flex}.confirmation-shell{background:linear-gradient(#fff7fa 0%,#fff 42%,#fff7fa 100%);align-items:center;min-height:100svh;padding:1rem;display:grid}.confirmation-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:1.4rem;gap:1rem;width:100%;max-width:42rem;margin:0 auto;padding:1.35rem;display:grid}.confirmation-check{color:#03935f;background:#d5f9e3;border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:5.4rem;height:5.4rem;display:inline-flex}.confirmation-card h1{font-size:2.15rem;line-height:1.05}.confirmation-copy{color:var(--muted);max-width:32rem;margin:0 auto;line-height:1.6}.confirmation-details{text-align:left;gap:.7rem;margin-top:.3rem;display:grid}.confirmation-details article,.confirmation-map{border:1px solid var(--line);border-radius:var(--radius);color:inherit;background:#fffafd;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;padding:.85rem;display:grid}.confirmation-map{background:linear-gradient(135deg,#fff1f5,#f7fffb);grid-template-columns:auto minmax(0,1fr) auto}.confirmation-details svg{color:var(--rose-strong);margin-top:.1rem}.confirmation-details span{gap:.2rem;display:grid}.confirmation-details small{color:var(--muted);line-height:1.35}.confirmation-map em{background:var(--rose);border-radius:var(--radius);color:#fff;white-space:nowrap;align-self:center;padding:.45rem .6rem;font-size:.78rem;font-style:normal;font-weight:800}.confirmation-actions{gap:.65rem;margin-top:.35rem;display:grid}.admin-header{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;max-width:72rem;margin:0 auto 1rem;display:grid}.admin-header h1{font-size:2.1rem;line-height:1}.admin-header p{color:var(--muted);margin:0 0 .25rem}.admin-back{border:1px solid var(--line);border-radius:var(--radius);color:var(--berry);background:#fff;padding:.7rem .8rem;font-size:.86rem;font-weight:700}.admin-header button,.admin-card-title button{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;display:inline-flex}.admin-grid{gap:1rem;max-width:72rem;margin:0 auto;display:grid}.admin-management{gap:1rem;max-width:72rem;margin:1rem auto 0;display:grid}.admin-management-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.admin-management-heading p{color:var(--muted);margin:0 0 .25rem}.admin-management-heading h2{font-size:1.9rem}.admin-management-heading span,.admin-status,.availability-note{color:var(--muted)}.admin-status{background:var(--rose-soft);border-radius:var(--radius);border:1px solid #ef8ca238;margin:0;padding:.75rem .9rem}.admin-management-grid{gap:1rem;display:grid}.service-editor-card{overflow:hidden}.service-editor-list{scroll-snap-type:x proximity;scrollbar-color:#d96f876b transparent;scrollbar-width:thin;gap:.85rem;margin-inline:-.15rem;padding:.15rem .15rem .5rem;display:flex;overflow-x:auto}.service-editor-list::-webkit-scrollbar{height:.45rem}.service-editor-list::-webkit-scrollbar-thumb{background:#d96f8757;border-radius:999px}.service-editor,.new-service-box{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;gap:.85rem;padding:.85rem;display:grid}.service-editor{scroll-snap-align:start;flex:0 0 min(21.5rem,86vw);max-height:32rem;overflow-y:auto}.service-editor>img{border-radius:var(--radius);object-fit:cover;width:100%;height:6.4rem}.service-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.full-field{grid-column:1/-1}.service-editor-fields label,.availability-date{color:var(--muted);gap:.3rem;font-size:.78rem;font-weight:700;display:grid}.service-editor-fields input,.service-editor-fields select,.service-editor-fields textarea,.availability-date input{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;width:100%;min-height:2.45rem;padding:.55rem .65rem}.service-editor-fields textarea{resize:vertical;min-height:3.6rem}.admin-save-button{background:var(--rose);border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;gap:.4rem;min-height:2.8rem;padding:.75rem 1rem;font-weight:700;display:inline-flex}.service-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.admin-delete-button{border-radius:var(--radius);color:var(--rose-strong);background:#fff;border:1px solid #d96f875c;justify-content:center;align-items:center;gap:.4rem;min-height:2.8rem;padding:.75rem 1rem;font-weight:800;display:inline-flex}.new-service-box summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:800;list-style:none;display:flex}.new-service-box summary::-webkit-details-marker{display:none}.new-service-box[open] summary{margin-bottom:.85rem}.availability-editor-card{align-self:start}.availability-toolbar{grid-template-columns:minmax(0,1fr);align-items:end;gap:.75rem;display:grid}.availability-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.availability-counts span{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;background:#fffafd;padding:.65rem;font-size:.82rem;font-weight:800}.admin-calendar-shell{border:1px solid var(--line);border-radius:var(--radius);background:#fffdfd;margin-top:.9rem;overflow:hidden}.admin-calendar-header{border-bottom:1px solid var(--line);background:#fffafd;gap:.2rem;padding:.85rem .9rem;display:grid}.admin-calendar-header span{color:var(--muted);font-size:.8rem;font-weight:800}.admin-calendar-timeline{max-height:34rem;display:grid;overflow-y:auto}.admin-calendar-row{grid-template-columns:4.35rem minmax(0,1fr);min-height:4.65rem;display:grid}.admin-calendar-row time{border-right:1px solid var(--line);color:var(--muted);text-align:right;padding:.75rem .55rem 0 0;font-size:.76rem}.admin-calendar-block{border-left:4px solid var(--success);border-top:1px solid var(--line);color:var(--ink);text-align:left;background:linear-gradient(90deg,#f0fff6,#fffdfd);align-self:stretch;gap:.25rem;min-height:3.45rem;padding:.65rem .75rem;display:grid}.admin-calendar-row:first-child .admin-calendar-block{border-top:0}.admin-calendar-block span{align-items:center;gap:.35rem;font-weight:800;display:inline-flex}.admin-calendar-block small{color:var(--muted)}.admin-calendar-block.is-open svg{color:var(--success)}.admin-calendar-block.is-blocked{border-left-color:var(--rose-strong);color:#8e5966;background:linear-gradient(90deg,#fff1f5,#fffdfd)}.admin-calendar-block.is-blocked svg{color:var(--rose-strong)}.availability-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.9rem;display:grid}.availability-slot-grid button{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;place-items:center;gap:.2rem;min-height:4.5rem;padding:.65rem;display:grid}.availability-slot-grid button.is-open svg{color:var(--success)}.availability-slot-grid button.is-blocked{color:#a8989f;background:#fbf3f6}.availability-slot-grid button.is-blocked svg{color:var(--rose-strong)}.availability-slot-grid small{color:var(--muted)}.availability-note{margin:.9rem 0 0;line-height:1.5}.admin-column{gap:1rem;display:grid}.admin-card{padding:1rem;box-shadow:0 14px 36px #7b243712}.admin-card-title{justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.9rem;display:flex}.admin-card-title span{flex:1;font-weight:700}.admin-card-title a{color:var(--rose-strong);font-size:.86rem;font-weight:700}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.metric-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;gap:.25rem;padding:.85rem;display:grid}.metric-grid span,.metric-grid small{color:var(--muted);font-size:.82rem}.metric-grid strong{font-size:1.55rem}.metric-grid small{color:var(--success)}.schedule-list{gap:.6rem;display:grid}.schedule-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.85rem;display:grid}.schedule-list time{color:var(--rose-strong);font-weight:700}.schedule-list span{gap:.15rem;display:grid}.schedule-list span,.schedule-list small{color:var(--muted)}.schedule-list strong{color:var(--ink)}.notification-card .admin-card-title small{background:var(--rose-soft);color:var(--rose-strong);border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:800}.notification-list{gap:.55rem;display:grid}.notification-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:.75rem;display:grid}.notification-list article>span{background:#d7d0d4;border-radius:50%;width:.6rem;height:.6rem;margin-top:.35rem}.notification-list article.is-unread>span{background:var(--rose)}.notification-list strong{font-size:.9rem;display:block}.notification-list p{color:var(--muted);margin:.18rem 0 0;font-size:.82rem;line-height:1.4}.notification-list time{color:var(--muted);white-space:nowrap;font-size:.76rem}.insight-chart{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#fffafd,#fff3f7);grid-template-columns:repeat(7,1fr);align-items:end;gap:.45rem;height:11rem;padding:1rem;display:grid}.insight-chart span{background:linear-gradient(180deg, var(--rose), #f4a3b3);border-radius:999px 999px 0 0;min-height:1.5rem}.insights-card p{color:var(--muted);margin:.8rem 0 0;line-height:1.5}.instagram-admin-profile{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-bottom:.85rem;display:grid}.instagram-admin-profile img,.instagram-admin-avatar{border-radius:50%;width:3rem;height:3rem}.instagram-admin-profile img{object-fit:cover}.instagram-admin-avatar{background:var(--rose-soft);color:var(--rose-strong);justify-content:center;align-items:center;display:inline-flex}.instagram-admin-profile h3{font-size:1.05rem}.instagram-admin-profile p,.instagram-source-note{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.45}.instagram-admin-profile a{border:1px solid var(--line);border-radius:var(--radius);color:var(--rose-strong);background:#fffafd;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;display:inline-flex}.instagram-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem;display:grid}.instagram-admin-metrics article{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;gap:.25rem;padding:.75rem;display:grid}.instagram-admin-metrics svg{color:var(--rose)}.instagram-admin-metrics span{color:var(--muted);font-size:.78rem}.instagram-admin-metrics strong{font-size:1.25rem}.instagram-live-chart{height:8.5rem}.instagram-admin-posts{gap:.55rem;margin-top:.8rem;display:grid}.instagram-admin-posts a{border:1px solid var(--line);border-radius:var(--radius);color:inherit;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem;display:grid}.instagram-admin-posts img{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;width:3.5rem}.instagram-admin-posts span{gap:.25rem;min-width:0;display:grid}.instagram-admin-posts strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.instagram-admin-posts small{color:var(--muted);align-items:center;gap:.3rem;display:flex}.instagram-source-note{background:var(--rose-soft);border-radius:var(--radius);border:1px solid #ef8ca238;padding:.65rem}.client-hero{align-items:center;gap:.85rem;display:flex}.client-hero img{object-fit:cover;border-radius:50%;width:4.5rem;height:4.5rem}.client-hero span{background:var(--rose-soft);color:var(--rose-strong);border-radius:999px;margin-bottom:.25rem;padding:.18rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.client-hero h2{font-size:1.75rem;line-height:1}.client-hero p{color:var(--muted);margin:.3rem 0 0}.contact-actions{grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0;display:grid}.contact-actions a,.contact-actions button{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#fffafd;place-items:center;gap:.25rem;min-height:4rem;display:grid}.contact-actions a[aria-disabled=true]{opacity:.5;pointer-events:none}.contact-actions a:hover,.contact-actions svg{color:var(--rose-strong)}.client-stats{border-bottom:1px solid var(--line);border-top:1px solid var(--line);gap:.75rem;margin:1rem 0;padding:1rem 0;display:grid}.client-stats div{justify-content:space-between;display:flex}.client-stats dt,.loyalty span,.notes-box p{color:var(--muted)}.client-stats dd{margin:0;font-weight:700}.loyalty{gap:.5rem;display:grid}.loyalty div{justify-content:space-between;display:flex}.loyalty progress{accent-color:var(--rose);width:100%;height:.75rem}.loyalty p,.notes-box p{margin:0;line-height:1.45}.notes-box{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;gap:.35rem;margin-top:1rem;padding:.85rem;display:grid}.empty-client-state{text-align:center;place-items:center;gap:.5rem;min-height:14rem;display:grid}.empty-client-state svg{color:var(--rose-strong)}.empty-client-state h2{font-size:1.35rem}.empty-client-state p,.empty-client-list{color:var(--muted);margin:0;line-height:1.45}.client-list-card .admin-card-title small{background:var(--rose-soft);color:var(--rose-strong);border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:800}.client-list-summary{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffafd,#fff4f7);grid-template-columns:auto 1fr;align-items:center;gap:.75rem;margin-bottom:.8rem;padding:.85rem;display:grid}.client-list-summary strong{color:var(--rose-strong);font-size:2rem;line-height:1}.client-list-summary p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.client-account-list{gap:.65rem;max-height:34rem;padding-right:.15rem;display:grid;overflow-y:auto}.client-account-row{border:1px solid var(--line);border-radius:var(--radius);background:#fffafd;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem;display:grid}.client-account-avatar{color:var(--rose-strong);background:linear-gradient(135deg,#f9d6df,#fff1f5);border:1px solid #cd607529;border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:.82rem;font-weight:900;display:inline-flex}.client-account-main{gap:.35rem;min-width:0;display:grid}.client-account-main>div:first-child{justify-content:space-between;align-items:baseline;gap:.45rem;display:flex}.client-account-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-account-main p,.client-account-main span{color:var(--muted);font-size:.82rem}.client-account-main p{overflow-wrap:anywhere;margin:0}.client-account-stats,.client-account-meta{flex-wrap:wrap;gap:.35rem;display:flex}.client-account-stats span{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:.24rem .48rem;font-weight:800}.client-account-meta span{background:#ffffffb8;border-radius:999px;padding:.2rem .45rem}.client-account-notes{line-height:1.4}.client-account-actions{gap:.35rem;display:grid}.client-account-actions a{border:1px solid var(--line);color:var(--rose-strong);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;display:inline-flex}.clients-directory-grid{gap:1rem;max-width:72rem;margin:0 auto;display:grid}.client-directory-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.client-directory-metrics article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:.35rem;padding:.9rem;display:grid;box-shadow:0 12px 30px #7b24370f}.client-directory-metrics svg{color:var(--rose-strong)}.client-directory-metrics span{color:var(--muted);font-size:.78rem;font-weight:700}.client-directory-metrics strong{font-size:1.55rem;line-height:1}.client-directory-card .client-account-list{max-height:none}@media (min-width:800px){.client-directory-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.client-directory-metrics article{padding:1.1rem}}.marketing-card{gap:.7rem;display:grid}.marketing-card .admin-card-title{margin-bottom:.2rem}.marketing-card article{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.7rem;padding:.85rem;display:grid}.marketing-card article>svg:first-child{color:var(--rose)}.marketing-card span{color:var(--muted);gap:.15rem;display:grid}.marketing-card strong{color:var(--ink)}.marketing-card small{color:var(--muted)}.admin-bottom-nav{border-top:1px solid var(--line);padding:.55rem .5rem calc(.55rem + env(safe-area-inset-bottom));z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.admin-bottom-nav a{color:var(--muted);place-items:center;gap:.2rem;font-size:.72rem;display:grid}.admin-bottom-nav a:first-child{color:var(--rose-strong)}@media (min-width:640px){.hero-actions{flex-direction:row}.signal-strip{grid-template-columns:repeat(3,1fr)}.booking-fields,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field,.review-card:last-child{grid-column:1/-1}.reel-grid,.pinterest-pin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer{grid-template-columns:1.4fr 1fr 1fr;padding-bottom:3rem}.confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.appointments-toolbar{grid-template-columns:minmax(13rem,.4fr) minmax(0,1fr);align-items:end}.appointments-metrics,.appointment-message-actions,.appointment-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.site-header{padding:.95rem 2rem}.desktop-nav{color:var(--muted);align-items:center;gap:1.5rem;font-weight:700;display:flex}.desktop-nav a:hover{color:var(--ink)}.hero{align-items:center;padding:8rem 6vw 5rem}.hero h1{font-size:4.7rem}.hero-copy{font-size:1.08rem}.booking-section,.instagram-section,.reviews-section,.owner-section{padding:5.8rem 2rem}.instagram-post-row{overflow:visible}.instagram-post{flex:1 1 0}.instagram-profile-card{grid-template-columns:minmax(0,1fr) 18rem;align-items:center}.instagram-profile-main{grid-template-columns:auto minmax(0,1fr)}.pinterest-pin-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.section-heading h2,.owner-copy h2{font-size:3.2rem}.reviews-proof-layout{grid-template-columns:21rem minmax(0,1fr);align-items:start}.booking-grid{grid-template-columns:minmax(0,1fr) 27rem;align-items:start}.booking-panel{position:sticky;top:6.4rem}.owner-section{grid-template-columns:minmax(0,1fr) 24rem;align-items:center;padding-left:max(2rem,50vw - 36rem);padding-right:max(2rem,50vw - 36rem)}.mobile-booking-bar{display:none}.admin-shell{padding:1.5rem 1.5rem 6rem}.admin-grid{grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr)}.appointment-workspace{grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);align-items:start}.admin-management-grid{grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);align-items:start}.service-editor{flex-basis:23.5rem;max-height:33rem}.service-editor>img{height:7rem}.availability-toolbar{grid-template-columns:minmax(0,1fr) 12rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-bottom-nav{border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:34rem;margin:1.25rem auto 0;padding:.55rem;position:static;bottom:auto;left:auto;right:auto;transform:none}}
.auth-shell{background:linear-gradient(160deg, var(--rose-soft), var(--soft));justify-content:center;align-items:center;min-height:100dvh;padding:32px 16px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:14px;padding:28px 24px;display:flex}.auth-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-icon{background:var(--rose-soft);width:48px;height:48px;color:var(--rose-strong);border-radius:999px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.auth-head h1{color:var(--ink);margin:0;font-size:22px}.auth-head p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.auth-field{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.auth-field input{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:10px;padding:11px 12px;font-size:15px;font-weight:500}.auth-field input:focus{outline:2px solid var(--rose);outline-offset:1px}.auth-submit{color:#fff;cursor:pointer;background:var(--rose-strong);border:none;border-radius:10px;margin-top:6px;padding:12px 14px;font-size:15px;font-weight:800}.auth-submit:disabled{opacity:.6;cursor:progress}.auth-error{color:#a3243c;background:#fde8ec;border:1px solid #f6c9d3;border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.auth-switch{text-align:center;color:var(--muted);margin:4px 0 0;font-size:14px}.auth-switch a{color:var(--rose-strong);font-weight:700}.auth-hint{text-align:center;max-width:420px;color:var(--muted);margin:-8px auto 32px;padding:0 20px;font-size:13px;line-height:1.5}.auth-hint code{background:var(--rose-soft);border-radius:5px;padding:1px 5px}.admin-topbar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.admin-topbar-inner{align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:10px 18px;display:flex}.admin-topbar-brand{color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.admin-topbar-dot{background:var(--rose-strong);border-radius:999px;width:10px;height:10px}.admin-topbar-nav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.admin-topbar-link{color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.admin-topbar-link:hover{background:var(--rose-soft);color:var(--rose-strong)}.admin-topbar-link.is-active{background:var(--rose-strong);color:#fff}.admin-topbar-logout{border:1px solid var(--line);background:var(--soft);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:700;display:inline-flex}.admin-topbar-logout:hover{border-color:var(--rose);color:var(--rose-strong)}.settings-wrap{max-width:920px;margin:0 auto;padding:28px 18px 80px}.settings-wrap>h1{color:var(--ink);margin:0 0 4px;font-size:26px}.settings-wrap>p.settings-lede{color:var(--muted);margin:0 0 22px}.settings-status{z-index:20;background:var(--success);color:#fff;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:700;position:sticky;top:64px}.settings-section{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:18px;padding:20px 18px}.settings-section h2{color:var(--ink);margin:0 0 4px;font-size:17px}.settings-section .section-note{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.5}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-field{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.settings-field.full{grid-column:1/-1}.settings-field input,.settings-field textarea,.settings-field select{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500}.settings-field textarea{resize:vertical;min-height:84px}.settings-field input:focus,.settings-field textarea:focus,.settings-field select:focus{outline:2px solid var(--rose);outline-offset:1px}.settings-field small{color:var(--muted);font-weight:500}.settings-save-bar{background:linear-gradient(to top, var(--soft), transparent);justify-content:flex-end;gap:10px;padding:14px 0 0;display:flex;position:sticky;bottom:0}.settings-save{color:#fff;background:var(--rose-strong);cursor:pointer;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:800}.settings-save:disabled{opacity:.6}.settings-secondary{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;padding:11px 16px;font-size:14px;font-weight:700}.settings-test-result{margin:8px 0 0;font-size:13px;font-weight:700}.settings-test-result.ok{color:var(--success)}.settings-test-result.bad{color:#a3243c}.hours-row{border-top:1px solid var(--line);grid-template-columns:110px 90px 1fr 1fr;align-items:center;gap:12px;padding:8px 0;display:grid}.hours-row:first-of-type{border-top:none}.hours-row .day-name{color:var(--ink);font-size:14px;font-weight:800}.hours-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.review-row{border:1px solid var(--line);border-radius:12px;gap:8px;margin-bottom:12px;padding:12px;display:grid}.review-row .review-row-top{align-items:center;gap:10px;display:flex}.review-row-remove{color:var(--rose-strong);cursor:pointer;background:0 0;border:none;margin-left:auto;font-weight:700}.tag-pill{background:var(--rose-soft);color:var(--berry);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:640px){.settings-grid{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr}.hours-row .day-name{grid-column:1/-1}}.portal-wrap{max-width:760px;margin:0 auto;padding:28px 18px 80px}.portal-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.portal-head h1{color:var(--ink);margin:0;font-size:24px}.portal-head .portal-sub{color:var(--muted);margin:2px 0 0;font-size:14px}.portal-actions{gap:8px;margin-left:auto;display:flex}.portal-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;align-items:flex-start;gap:14px;margin-bottom:14px;padding:16px;display:flex}.portal-card .portal-when{text-align:center;min-width:64px}.portal-card .portal-when .m{text-transform:uppercase;color:var(--rose-strong);font-size:12px;font-weight:800}.portal-card .portal-when .d{color:var(--ink);font-size:26px;font-weight:900;line-height:1}.portal-card .portal-body{flex:1}.portal-card .portal-body h3{color:var(--ink);margin:0 0 4px;font-size:16px}.portal-card .portal-meta{color:var(--muted);font-size:14px}.portal-status{border-radius:999px;margin-top:8px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-block}.portal-status.confirmed{color:var(--success);background:#e3f6ea}.portal-status.cancelled{color:#a3243c;background:#fde8ec}.portal-status.completed{background:var(--rose-soft);color:var(--berry)}.portal-empty{text-align:center;color:var(--muted);padding:40px 20px}.portal-cancel{border:1px solid var(--line);background:var(--soft);color:var(--ink);cursor:pointer;border-radius:8px;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:700}.portal-cancel:hover{border-color:var(--rose);color:var(--rose-strong)}.portal-book-cta{background:var(--rose-strong);color:#fff;border-radius:10px;padding:11px 18px;font-weight:800;text-decoration:none;display:inline-block}.drag-hint{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:600}.appointment-calendar-block.is-appointment[draggable=true]{cursor:grab}.appointment-calendar-block.is-appointment.is-dragging{opacity:.45;cursor:grabbing}.appointment-calendar-row.is-drop-target{outline:2px dashed var(--rose-strong);outline-offset:2px;background:var(--rose-soft);border-radius:10px}.revenue-wrap{max-width:920px;margin:0 auto;padding:24px 18px 90px;position:relative}.revenue-toast{z-index:25;background:var(--success);color:#fff;box-shadow:var(--shadow);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:14px;font-weight:700;position:sticky;top:64px}.revenue-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.revenue-head h1{color:var(--ink);margin:0;font-size:26px}.revenue-sub{color:var(--muted);margin:2px 0 0;font-size:14px}.revenue-datenav{align-items:center;gap:6px;display:flex}.revenue-datenav button{border:1px solid var(--line);background:var(--panel);cursor:pointer;width:36px;height:36px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.revenue-datenav input{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px}.revenue-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.revenue-stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:14px}.revenue-stat span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:800}.revenue-stat strong{color:var(--ink);margin:4px 0 2px;font-size:24px;display:block}.revenue-stat small{color:var(--muted);font-size:12px}.revenue-stat.is-net{background:linear-gradient(135deg,#eafaf0,#f3fff8);border-color:#cdeeda}.revenue-stat.is-net strong{color:var(--success)}.revenue-stat.is-expense strong{color:#b23a4d}.revenue-counts{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.revenue-counts span{border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.count-showed{color:var(--success);background:#e3f6ea}.count-noshow{color:#a3243c;background:#fde8ec}.count-scheduled{background:var(--rose-soft);color:var(--berry)}.revenue-section{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:18px;padding:18px}.revenue-section h2{color:var(--ink);margin:0 0 4px;font-size:17px}.revenue-section .section-note{color:var(--muted);margin:0 0 14px;font-size:13px}.revenue-empty{color:var(--muted);text-align:center;padding:22px;font-size:14px}.revenue-appt{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.revenue-appt.is-showed{background:#f6fffb;border-color:#cdeeda}.revenue-appt.is-noshow{opacity:.85;background:#fff7f9;border-color:#f6c9d3}.revenue-appt-when{color:var(--rose-strong);min-width:64px;font-size:14px;font-weight:800}.revenue-appt-main{flex:1;min-width:140px}.revenue-appt-main strong{color:var(--ink);font-size:15px;display:block}.revenue-appt-main span{color:var(--muted);font-size:13px}.revenue-appt-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.att-btn{border:1px solid var(--line);background:var(--soft);cursor:pointer;color:var(--ink);border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.att-showed.is-on{background:var(--success);color:#fff;border-color:var(--success)}.att-noshow.is-on{color:#fff;background:#b23a4d;border-color:#b23a4d}.tip-field{text-transform:uppercase;color:var(--muted);flex-direction:column;gap:2px;font-size:11px;font-weight:800;display:flex}.tip-input{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:8px;align-items:center;gap:2px;padding:4px 8px;display:inline-flex}.tip-input input{width:56px;color:var(--ink);background:0 0;border:none;outline:none;font-size:14px;font-weight:700}.expense-form{flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:14px;display:flex}.expense-form .exp-desc{flex:1;min-width:160px}.expense-form input,.expense-form select{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:9px;padding:9px 11px;font-size:14px}.exp-amount{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:9px;align-items:center;gap:2px;padding:0 10px;display:inline-flex}.exp-amount input{background:0 0;border:none;width:80px}.exp-file{border:1px dashed var(--line);color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:700;display:inline-flex}.exp-file.has-file{border-style:solid;border-color:var(--rose);color:var(--rose-strong)}.exp-add{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:5px;padding:9px 16px;font-size:14px;font-weight:800;display:inline-flex}.exp-add:disabled{opacity:.6}.expense-row{border:1px solid var(--line);border-radius:11px;align-items:center;gap:10px;margin-bottom:8px;padding:11px 12px;display:flex}.expense-icon{color:var(--berry);flex-shrink:0}.expense-main{flex:1;min-width:0}.expense-main strong{color:var(--ink);font-size:14px;display:block}.expense-main span{color:var(--muted);text-transform:capitalize;font-size:12px}.expense-receipt{color:var(--rose-strong);align-items:center;gap:4px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.expense-amount{color:#b23a4d;white-space:nowrap;font-size:15px}.expense-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px}.expense-remove:hover{color:#b23a4d}@media (max-width:640px){.revenue-summary{grid-template-columns:repeat(2,1fr)}}.revenue-overview-card .revenue-overview-net{text-align:center;padding:8px 0 14px}.revenue-overview-card .revenue-overview-net span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:800}.revenue-overview-card .revenue-overview-net strong{color:var(--success);margin-top:4px;font-size:38px;line-height:1.1;display:block}.revenue-overview-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 14px;display:grid}.revenue-overview-grid div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.revenue-overview-grid dt{color:var(--muted);font-size:12px;font-weight:700}.revenue-overview-grid dd{color:var(--ink);margin:2px 0 0;font-size:18px;font-weight:800}.revenue-overview-grid dd.is-expense{color:#b23a4d}.revenue-overview-counts{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.revenue-overview-counts span{border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.revenue-overview-cta{background:var(--rose-strong);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.appt-toast{z-index:40;color:#fff;max-width:680px;box-shadow:var(--shadow);text-align:center;border-radius:10px;margin:0 auto 12px;padding:11px 16px;font-size:14px;font-weight:700;position:sticky;top:8px}.appt-toast.success{background:var(--success)}.appt-toast.error{background:#b23a4d}.add-appt-btn{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:800;display:inline-flex}.appt-status-dot{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:800}.appt-status-dot.is-scheduled{background:var(--rose-soft);color:var(--berry)}.appt-status-dot.is-showed{color:var(--success);background:#e3f6ea}.appt-status-dot.is-noshow{color:#a3243c;background:#fde8ec}.appt-status-dot.is-cancelled{color:#888;background:#eee}.appt-block-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.appointment-calendar-block.is-appointment{cursor:pointer}.appointment-calendar-block.is-appointment.is-selected{outline:2px solid var(--rose-strong);outline-offset:1px}.free-slot-cell{flex:1;align-items:stretch;gap:6px;display:flex}.free-slot-cell .appointment-calendar-block{flex:1}.slot-add{border:1px dashed var(--line);background:var(--soft);width:42px;color:var(--rose-strong);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.slot-add:hover{border-color:var(--rose);background:var(--rose-soft)}.appointment-detail-card{align-self:start;position:sticky;top:70px}.panel-close{background:var(--soft);cursor:pointer;width:30px;height:30px;color:var(--muted);border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.panel-close:hover{color:var(--ink)}.panel-field{color:var(--ink);flex-direction:column;gap:5px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.panel-field input,.panel-field textarea{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:14px;font-weight:500}.panel-field textarea{resize:vertical;min-height:60px}.panel-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.panel-block{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.panel-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:800;display:block}.panel-primary{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px;font-size:15px;font-weight:800;display:inline-flex}.service-pick{flex-wrap:wrap;gap:6px;display:flex}.service-pick-chip{border:1px solid var(--line);background:var(--soft);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.service-pick-chip.is-on{background:var(--rose-strong);color:#fff;border-color:var(--rose-strong)}.appt-add-summary{text-align:right;color:var(--ink);margin:6px 0 12px;font-weight:800}.appt-detail-name{color:var(--ink);font-size:16px;font-weight:800}.appt-detail-meta{color:var(--muted);margin:6px 0 10px;font-size:13px;line-height:1.5}.appt-attendance{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.appt-daylist-hint{color:var(--muted);margin:0 0 10px;font-size:13px}.appt-daylist-row{text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:11px;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:10px 12px;display:flex}.appt-daylist-row:hover{border-color:var(--rose)}.appt-daylist-row time{color:var(--rose-strong);min-width:64px;font-size:13px;font-weight:800}.appt-daylist-row span{flex-direction:column;flex:1;display:flex}.appt-daylist-row strong{color:var(--ink);font-size:14px}.appt-daylist-row small{color:var(--muted);font-size:12px}.view-toggle{border:1px solid var(--line);background:var(--soft);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.view-toggle button.is-on{background:var(--rose-strong);color:#fff}.month-calendar{padding:16px}.month-calendar-head{justify-content:center;align-items:center;gap:16px;margin-bottom:14px;display:flex}.month-calendar-head strong{color:var(--ink);text-align:center;min-width:190px;font-size:18px}.month-calendar-head button{border:1px solid var(--line);background:var(--soft);cursor:pointer;width:36px;height:36px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.month-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.month-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:800}.month-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month-cell{border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;min-height:96px;font:inherit;border-radius:10px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;display:flex}.month-cell:hover{border-color:var(--rose)}.month-cell.is-empty{cursor:default;background:0 0;border:none;min-height:0}.month-cell.is-today{border-color:var(--rose-strong);box-shadow:inset 0 0 0 1px var(--rose-strong)}.month-cell.has-appts{background:#fffdfe}.month-cell-num{color:var(--ink);font-size:13px;font-weight:800}.month-cell.is-today .month-cell-num{color:var(--rose-strong)}.month-cell-list{flex-direction:column;gap:3px;display:flex;overflow:hidden}.month-cell-list em{white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:2px 5px;font-size:11px;font-style:normal;font-weight:700;overflow:hidden}.month-cell-list em.is-scheduled{background:var(--rose-soft);color:var(--berry)}.month-cell-list em.is-showed{color:var(--success);background:#e3f6ea}.month-cell-list em.is-noshow{color:#a3243c;background:#fde8ec}.month-cell-list em.is-cancelled{color:#888;background:#eee}.month-cell-more{color:var(--muted)!important;background:0 0!important;padding:0 5px!important}@media (max-width:720px){.month-cell{min-height:64px}.month-cell-list em{font-size:10px}}.booking-stepper{background:var(--panel);border:1px solid var(--line);max-width:760px;box-shadow:var(--shadow);border-radius:20px;margin:0 auto;overflow:hidden}.stepper-progress{border-bottom:1px solid var(--line);background:var(--soft);gap:6px;margin:0;padding:14px;list-style:none;display:flex;overflow-x:auto}.stepper-progress li{flex:1;min-width:0}.stepper-dot{width:100%;color:var(--muted);cursor:default;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:4px;font-size:13px;font-weight:700;display:flex}.stepper-dot.is-done{cursor:pointer}.stepper-dot span{background:var(--line);width:24px;height:24px;color:var(--ink);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.stepper-dot.is-active{color:var(--ink)}.stepper-dot.is-active span{background:var(--rose-strong);color:#fff}.stepper-dot.is-done span{background:var(--success);color:#fff}.stepper-body{min-height:280px;padding:18px}.stepper-step{display:block}.service-pick-dot{background:var(--rose-soft);width:24px;height:24px;color:var(--rose-strong);border-radius:999px;justify-content:center;align-items:center;margin-top:6px;font-weight:800;display:inline-flex}.service-option.is-selected .service-pick-dot{background:var(--rose-strong);color:#fff}.addons-block{border-top:1px dashed var(--line);margin-top:18px;padding-top:14px}.addons-block h3{color:var(--ink);margin:0 0 10px;font-size:15px}.addons-list{flex-direction:column;gap:8px;display:flex}.addon-option{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.addon-option.is-selected{border-color:var(--rose-strong);background:var(--rose-soft)}.addon-check{background:var(--soft);border:1px solid var(--line);width:26px;height:26px;color:var(--rose-strong);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.addon-option.is-selected .addon-check{background:var(--rose-strong);color:#fff;border-color:var(--rose-strong)}.addon-copy{flex-direction:column;flex:1;min-width:0;display:flex}.addon-copy strong{color:var(--ink);font-size:14px}.addon-copy small{color:var(--muted);font-size:12px}.addon-meta{text-align:right}.addon-meta strong{color:var(--ink);font-size:14px;display:block}.addon-meta small{color:var(--muted);font-size:12px}.review-card{border:1px solid var(--line);border-radius:14px;padding:16px}.review-card h3{color:var(--ink);margin:0 0 12px;font-size:16px}.review-services{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.review-services li{color:var(--ink);grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:14px;display:grid}.review-services li em{color:var(--muted);font-size:13px;font-style:normal}.review-services li strong{font-weight:800}.review-when{background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;display:flex}.review-when span{color:var(--muted);font-size:14px}.review-when strong{color:var(--rose-strong);font-size:15px}.promo-row{gap:8px;margin-bottom:12px;display:flex}.promo-row input{border:1px solid var(--line);background:var(--soft);color:var(--ink);text-transform:uppercase;border-radius:9px;flex:1;padding:10px 12px;font-size:14px}.promo-row button{border:1px solid var(--rose-strong);background:var(--panel);color:var(--rose-strong);cursor:pointer;border-radius:9px;padding:0 16px;font-weight:800}.review-totals{margin:0}.review-totals div{color:var(--ink);justify-content:space-between;padding:4px 0;font-size:14px;display:flex}.review-totals .is-discount dd{color:var(--success)}.review-totals .review-grand{border-top:1px solid var(--line);margin-top:4px;padding-top:8px;font-size:17px;font-weight:800}.review-totals dt,.review-totals dd{margin:0}.review-deposit{color:var(--muted);margin:10px 0 0;font-size:12px}.stepper-footer{border-top:1px solid var(--line);background:var(--soft);align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;bottom:0}.stepper-summary{flex-direction:column;display:flex}.stepper-summary strong{color:var(--ink);font-size:20px;line-height:1}.stepper-summary small{color:var(--muted);font-size:12px}.stepper-nav{gap:8px;margin-left:auto;display:flex}.stepper-back{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;padding:11px 18px;font-weight:700}.stepper-next{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:11px 20px;font-weight:800;display:inline-flex}.stepper-next:disabled{opacity:.55;cursor:not-allowed}.booking-stepper .secure-note{padding:0 18px 16px}.service-addon-toggle{align-items:center;gap:8px;flex-direction:row!important;font-weight:600!important}.deals-section{max-width:1100px;margin:8px auto 0;padding:0 18px}.deals-list{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.deal-card{background:linear-gradient(135deg, var(--rose-soft), #fff);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;padding:12px 16px;display:flex}.deal-icon{background:var(--rose-strong);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.deal-copy{flex-direction:column;display:flex}.deal-copy strong{color:var(--ink);font-size:15px}.deal-copy span{color:var(--muted);font-size:13px}.deal-copy b{color:var(--rose-strong);letter-spacing:.04em}.portal-past-actions{flex-direction:column;gap:10px;margin-top:10px;display:flex}.portal-rebook{border:1px solid var(--rose);background:var(--rose-soft);color:var(--rose-strong);border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.portal-review{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.portal-stars{gap:2px;display:flex}.portal-star{cursor:pointer;color:#d8b94e;background:0 0;border:none;padding:2px;line-height:0}.portal-star.is-on{color:#e3a82e}.portal-review textarea{border:1px solid var(--line);resize:vertical;background:var(--soft);min-height:50px;color:var(--ink);border-radius:9px;padding:8px 10px;font-family:inherit;font-size:13px}.portal-review-submit{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:8px 14px;font-size:13px;font-weight:800}.portal-review-submit:disabled{opacity:.6}.portal-review-thanks{color:var(--success);font-size:13px;font-weight:700}.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.quick-action{text-align:center;border:1px solid var(--line);background:var(--soft);color:var(--ink);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;font-size:12px;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.quick-action:hover{border-color:var(--rose);background:var(--rose-soft)}.quick-action.is-active{border-color:var(--rose-strong);background:var(--rose-soft)}.quick-action-icon{background:var(--rose-soft);width:42px;height:42px;color:var(--rose-strong);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.quick-action.is-active .quick-action-icon{background:var(--rose-strong);color:#fff}.promo-form{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;display:flex}.promo-form-head{justify-content:space-between;align-items:center;display:flex}.promo-form-head strong{color:var(--ink);font-size:14px}.promo-form-head button{background:var(--soft);width:28px;height:28px;color:var(--muted);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.promo-field{color:var(--ink);flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.promo-field input,.promo-field select,.promo-field textarea{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:14px;font-weight:500}.promo-field textarea{resize:vertical;min-height:70px}.promo-send{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:9px;align-self:flex-start;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:800;display:inline-flex}.promo-send:disabled{opacity:.6}.promo-result{margin:2px 0 0;font-size:13px;font-weight:700}.promo-result.ok{color:var(--success)}.promo-result.bad{color:#a3243c}@media (max-width:560px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}:root{--font-display:"Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif}.hero-split h1,.hero-content h1,.section-heading h2,.section-heading.compact-heading h2,.admin-header h1,.appointments-header h1,.settings-wrap>h1,.revenue-head h1,.month-calendar-head strong,.portal-head h1,.auth-head h1,.review-card h3{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}.hero-split h1{font-weight:700;line-height:1.06}.section-heading h2{font-weight:600}.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;background:#fdf8f5e6;position:sticky;top:0}.brand strong{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}.header-cta,.primary-button,.submit-button,.ghost-button{border-radius:999px}.primary-button{background:var(--rose);padding:.95rem 1.7rem;font-weight:700}.primary-button:hover{background:var(--rose-strong)}.hero.hero-split{background:var(--soft);grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;max-width:1180px;min-height:auto;margin:0 auto;padding:6rem 2rem 4rem;display:grid}.hero-split .hero-text{max-width:34rem}.hero-split h1{max-width:15ch;color:var(--ink);font-size:clamp(2.6rem,5.2vw,3.7rem);line-height:1.04}.hero-split .hero-copy{max-width:30rem;font-size:1.05rem}.hero-split .hero-actions{flex-flow:wrap}.hero-photo{aspect-ratio:5/5.7;box-shadow:var(--shadow);border-radius:32px;position:relative;overflow:hidden}.hero-photo-img{object-fit:cover}@media (max-width:900px){.hero.hero-split{grid-template-columns:1fr;gap:1.75rem;padding:5.25rem 1.25rem 2.5rem}.hero-photo{aspect-ratio:5/4}}.services-showcase{max-width:1100px;margin:0 auto;padding:3.5rem 1.5rem}.services-showcase .section-heading{text-align:center}.showcase-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.6rem;display:grid}.showcase-card{text-align:center;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:18px;flex-direction:column;align-items:center;gap:.35rem;padding:1.7rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.showcase-card:hover{box-shadow:var(--shadow);border-color:var(--rose);transform:translateY(-3px)}.showcase-icon{background:var(--rose-soft);width:56px;height:56px;color:var(--rose);border-radius:999px;justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.showcase-card strong{color:var(--ink);font-size:1.05rem}.showcase-card small{color:var(--muted);font-size:.85rem}.showcase-card b{color:var(--rose-strong);margin-top:.2rem;font-size:1.2rem;font-weight:800}.showcase-cta{text-align:center;margin-top:1.6rem}.ghost-pill{border:1px solid var(--rose);color:var(--rose-strong);border-radius:999px;padding:.7rem 1.7rem;font-weight:700;text-decoration:none;display:inline-block}.ghost-pill:hover{background:var(--rose-soft)}@media (max-width:760px){.showcase-grid{grid-template-columns:repeat(2,1fr)}}.admin-bottomnav{display:none}@media (max-width:860px){.admin-topbar-nav{display:none}.admin-bottomnav{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#fffffff7;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.admin-bottomnav a{color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.admin-bottomnav a.is-active{color:var(--rose-strong)}.admin-shell,.appointments-page,.revenue-wrap,.settings-wrap,.portal-wrap{padding-bottom:84px}}.brand-logo{object-fit:cover;width:44px;height:44px;box-shadow:var(--shadow);border-radius:12px;flex-shrink:0}.footer-brand .brand-logo{box-shadow:none}.svc-layout{grid-template-columns:1.15fr .85fr;gap:16px;max-width:1180px;margin:0 auto;display:grid}.svc-card{padding:18px}.svc-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.svc-card-head h3{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:16px;display:inline-flex}.svc-add-btn{border:1px solid var(--rose);background:var(--rose-soft);color:var(--rose-strong);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:7px 13px;font-size:13px;font-weight:800;display:inline-flex}.svc-date{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:9px;padding:7px 10px;font-size:13px}.svc-subhead{color:var(--muted);margin:-4px 0 10px;font-size:13px}.svc-list{flex-direction:column;gap:8px;display:flex}.svc-item{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden}.svc-item.is-open{border-color:var(--rose);box-shadow:var(--shadow)}.svc-item-row{align-items:center;gap:12px;padding:10px 12px;display:flex}.svc-item-row img,.svc-thumb-fallback{object-fit:cover;border-radius:10px;flex-shrink:0;width:46px;height:46px}.svc-thumb-fallback{background:var(--rose-soft);color:var(--rose-strong);justify-content:center;align-items:center;display:inline-flex}.svc-item-main{flex:1;min-width:0}.svc-item-main strong{color:var(--ink);font-size:15px;display:block}.svc-item-main span{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.svc-badge{background:var(--rose-soft);color:var(--berry);border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800}.svc-item-actions{flex-shrink:0;gap:6px;display:flex}.svc-edit,.svc-delete{border:1px solid var(--line);background:var(--soft);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.svc-edit{color:var(--ink)}.svc-edit:hover{border-color:var(--rose);color:var(--rose-strong)}.svc-delete{color:#b23a4d;border-color:#f1d3d9}.svc-delete:hover{background:#fde8ec}.svc-newform{border:1px dashed var(--rose);background:var(--rose-soft);border-radius:14px;margin-bottom:12px;padding:14px}.svc-editform{padding:4px 12px 14px}.svc-fields{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.svc-fields label{color:var(--ink);flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.svc-fields label small{color:var(--muted);font-weight:600}.svc-fields .svc-full{grid-column:1/-1}.svc-fields input,.svc-fields select,.svc-fields textarea{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:9px;padding:8px 10px;font-family:inherit;font-size:14px;font-weight:500}.svc-fields textarea{resize:vertical;min-height:56px}.svc-check{align-items:center;gap:8px;flex-direction:row!important;font-weight:600!important}.svc-primary{background:var(--rose-strong);color:#fff;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:800;display:inline-flex}.svc-empty{text-align:center;color:var(--muted);padding:28px 16px}.svc-empty strong{color:var(--ink);margin-bottom:4px;display:block}.svc-avail-counts{gap:8px;margin-bottom:12px;display:flex}.svc-slots{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;display:grid}.svc-slot{border:1px solid var(--line);cursor:pointer;background:var(--soft);border-radius:11px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.svc-slot time{color:var(--ink);font-size:13px;font-weight:800}.svc-slot small{font-size:11px;font-weight:700}.svc-slot.is-open{background:#f6fffb;border-color:#cdeeda}.svc-slot.is-open time,.svc-slot.is-open small{color:var(--success)}.svc-slot.is-blocked{background:#fff7f9;border-color:#f1d3d9}.svc-slot.is-blocked time,.svc-slot.is-blocked small{color:#b23a4d}.svc-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}@media (max-width:900px){.svc-layout,.svc-fields{grid-template-columns:1fr}}
