/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#282727;--ink-soft:#3f3e3d;--green:#282727;--green-2:#454441;--cream:#e3e2dd;--paper:#f4f3ef;--sand:#d2d1cc;--copper:#5d5d5b;--copper-pale:#d7d6d1;--sage:#afadab;--muted:#5d5d5b;--line:#c3c2bd;--danger:#3f3e3d;--success:#454441;--shadow:0 18px 50px #2827271f;--radius:22px}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink)}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.025em}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,7vw,5.25rem);line-height:.98}h2{margin-bottom:.55rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}h3{font-size:1.15rem}.eyebrow{color:var(--copper);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.65rem;font-size:.73rem;font-weight:800}.lede{color:var(--muted);font-size:1.05rem;line-height:1.75}.muted{color:var(--muted);line-height:1.7}.optional{color:var(--muted);font-size:.78rem;font-weight:500}.brand-lockup{align-items:center;gap:.8rem;display:flex}.brand-lockup.centered{justify-content:center;margin-bottom:2rem}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.brand-lockup small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:800}.brand-mark{background:var(--green);width:46px;height:46px;color:var(--cream);border-radius:15px;flex:0 0 46px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.brand-mark span{border:1px solid #ffffff73;border-radius:50%;place-items:center;width:31px;height:31px;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;display:grid}.ec-logo-crop{background:0 0;place-items:center;display:grid;overflow:visible}.ec-logo-crop img{object-fit:contain;width:100%;height:100%;display:block}.ec-logo-hero{aspect-ratio:975/407;width:min(580px,100%);margin:0 0 1.6rem}.ec-logo-sidebar{aspect-ratio:975/407;background:var(--cream);border:1px solid #ffffff47;border-radius:16px;width:100%;padding:.35rem}.ec-logo-mobile{aspect-ratio:975/407;width:150px}.ec-logo-loading{aspect-ratio:975/407;width:280px}.sidebar-subtitle{color:#ffffffa3;letter-spacing:.16em;text-align:center;text-transform:uppercase;margin:.65rem 0 1.25rem;font-size:.68rem;font-weight:800}.primary-button,.secondary-button,.text-button{border:0;border-radius:12px;font-weight:750;transition:transform .16s,background .16s,color .16s}.primary-button{background:var(--green);color:#fff;padding:.85rem 1.15rem;box-shadow:0 8px 22px #28272729}.primary-button:hover{background:var(--green-2);transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.72rem 1rem}.secondary-button:hover{border-color:var(--sage);background:#e9e8e4}.secondary-button.danger,.danger-link{color:var(--danger)!important}.text-button{color:var(--green-2);background:0 0;padding:.35rem}.access-page{background:radial-gradient(circle at 10% 10%, #5d5d5b1a, transparent 32%), radial-gradient(circle at 88% 12%, #afadab2e, transparent 28%), var(--cream);place-items:center;min-height:100vh;padding:clamp(1.25rem,5vw,4rem);display:grid}.access-card{border:1px solid var(--line);width:min(620px,100%);box-shadow:var(--shadow);text-align:center;background:#f4f3eff5;border-radius:30px;padding:clamp(2rem,6vw,4rem)}.access-card.wide{width:min(980px,100%)}.access-card .ec-logo-hero{margin-inline:auto}.access-card>.brand-mark{margin:0 auto 1.6rem}.access-card h1{max-width:760px;margin:0 auto 1.2rem}.access-card .lede{max-width:700px;margin-inline:auto}.access-help{color:var(--muted);margin:1.6rem 0 0;font-size:.86rem}.access-help a{color:var(--green);font-weight:750}.access-links{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.access-links a{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:.65rem .9rem;font-size:.8rem;font-weight:750;text-decoration:none}.access-steps{text-align:left;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.access-steps>div{border:1px solid var(--line);background:#e9e8e4;border-radius:16px;gap:.8rem;padding:1rem;display:flex}.access-steps span{background:var(--copper-pale);width:28px;height:28px;color:var(--copper);border-radius:50%;flex:0 0 28px;place-items:center;font-weight:800;display:grid}.access-steps p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.access-steps strong{color:var(--ink)}.stack-form{text-align:left;gap:1rem;display:grid}.access-card .stack-form{max-width:620px;margin:2rem auto 0}.stack-form label,.form-grid label,.booking-form>label,.availability-list label{color:var(--ink-soft);gap:.45rem;font-size:.82rem;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:11px;outline:none;padding:.78rem .85rem}input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2827271f}textarea{resize:vertical;line-height:1.6}.inline-field{grid-template-columns:1fr auto;gap:.65rem;display:grid}.form-alert{color:var(--green);background:#d7d6d1;border-radius:11px;margin:0;padding:.8rem 1rem;font-size:.85rem;line-height:1.5}.form-alert.error{color:var(--danger);background:#cbc9c4}.form-grid{gap:1rem;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{align-items:center;gap:1rem;margin-top:1rem;display:flex}.form-actions p{color:var(--muted);margin:0;font-size:.78rem}.check-label{align-items:center;grid-template-columns:none!important;gap:.55rem!important;display:flex!important}.check-label input{width:17px;height:17px;accent-color:var(--green)}.loading-page{text-align:center;place-content:center;justify-items:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.loading-mark{background:var(--green);color:#fff;border-radius:20px;place-items:center;width:64px;height:64px;font-family:Georgia,serif;font-size:1.8rem;animation:1.4s ease-in-out infinite pulse;display:grid}@keyframes pulse{50%{opacity:.5}}.portal-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--green);color:#fff;flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.sidebar .brand-lockup{padding:.2rem .65rem 1.8rem}.sidebar .brand-mark{background:var(--cream);color:var(--green)}.sidebar .brand-lockup small{color:#ffffff94}.sidebar nav{gap:.35rem;display:grid}.sidebar nav button{color:#ffffffb3;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:.8rem;width:100%;padding:.76rem .8rem;font-size:.85rem;font-weight:700;display:flex}.sidebar nav button span{border:1px solid #ffffff26;border-radius:8px;place-items:center;width:25px;height:25px;font-size:.7rem;display:grid}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff1a}.sidebar nav button.active span{background:var(--sage);border-color:var(--sage);color:var(--ink)}.sidebar-account{border-top:1px solid #ffffff1f;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-top:auto;padding:.85rem .7rem;display:grid}.sidebar-public-link{color:#ffffffb8;text-align:center;border-top:1px solid #ffffff1f;margin-top:auto;padding:.75rem;font-size:.75rem;font-weight:750;text-decoration:none}.sidebar-public-link+.sidebar-account{margin-top:0}.sidebar-account>span{background:var(--sage);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.sidebar-account strong,.sidebar-account small{display:block}.sidebar-account strong{font-size:.78rem}.sidebar-account small{color:#ffffff8c;font-size:.68rem}.sidebar-account button{color:#fff;background:0 0;border:0}.portal-main{min-width:0}.mobile-header{display:none}.workspace{width:min(1320px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,4rem)}.section-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.6rem;display:flex}.section-heading>div>p:last-child{max-width:720px;color:var(--muted);margin:0;line-height:1.65}.section-heading h2{max-width:820px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:clamp(1.1rem,2.6vw,1.7rem);box-shadow:0 8px 30px #2827270b}.panel .section-heading{margin-bottom:1rem}.panel .section-heading h2{font-family:inherit;font-size:1.12rem}.toast{z-index:20;border:1px solid var(--line);background:var(--paper);max-width:460px;box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.86rem;display:flex;position:fixed;top:1rem;right:1rem}.toast>span{width:25px;height:25px;color:var(--success);background:#d0cfca;border-radius:50%;place-items:center;font-weight:900;display:grid}.toast.error>span{color:var(--danger);background:#bdbbb6}.toast button{background:0 0;border:0;margin-left:auto;font-size:1.2rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;display:grid}.stat-grid article{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:1.25rem}.stat-grid article>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.stat-grid article strong{margin:.3rem 0;font-family:Georgia,serif;font-size:2rem;display:block}.stat-grid article p{color:var(--muted);margin:0;font-size:.76rem}.stat-grid article.accent{background:var(--copper-pale);border-color:var(--sage)}.dashboard-grid,.client-hero-grid,.admin-split{grid-template-columns:1.55fr 1fr;align-items:start;gap:1rem;display:grid}.admin-split{margin-bottom:1rem}.appointment-list{display:grid}.appointment-list article{border-top:1px solid var(--line);grid-template-columns:110px 1fr auto;align-items:center;gap:1rem;padding:.9rem 0;display:grid}.appointment-list time{color:var(--green);font-weight:850}.appointment-list time small,.appointment-list div p{color:var(--muted);margin:.2rem 0 0;font-size:.72rem;display:block}.quick-panel{background:var(--green);color:#fff}.quick-panel .eyebrow{color:#c9c7c3}.quick-panel>button{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff1f;gap:.8rem;width:100%;padding:.9rem 0;display:flex}.quick-panel>button>span{background:#ffffff1a;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.quick-panel strong,.quick-panel small{display:block}.quick-panel small{color:#ffffff8c;margin-top:.15rem}.status-pill{width:fit-content;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#d4d3ce;border-radius:999px;align-items:center;padding:.32rem .55rem;font-size:.66rem;font-weight:850;display:inline-flex}.status-confirmed,.status-active,.status-published{color:var(--success);background:#c8c7c2}.status-draft{color:var(--ink-soft);background:#d8d7d2}.status-cancelled,.status-disabled,.status-deleted,.status-no_show{color:var(--danger);background:#bdbbb6}.status-completed{color:var(--ink-soft);background:#cfceca}.booking-form{gap:1.2rem;display:grid}.label-button{color:var(--ink-soft);flex-direction:column;justify-content:end;gap:.45rem;font-size:.82rem;font-weight:750;display:flex}.slot-picker{border:0;flex-wrap:wrap;gap:.6rem;padding:0;display:flex}.slot-picker legend{width:100%;margin-bottom:.3rem;font-size:.82rem;font-weight:750}.slot-picker label{position:relative}.slot-picker input{opacity:0;position:absolute}.slot-picker label span{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:.68rem .85rem;font-size:.82rem;font-weight:750;display:inline-block}.slot-picker label small{background:var(--copper);color:#fff;border-radius:6px;padding:.15rem .35rem;font-size:.55rem;position:absolute;top:-9px;right:-4px}.slot-picker input:checked+span{border-color:var(--green);background:var(--green);color:#fff}.next-card{background:var(--green);color:#fff;border-radius:28px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:290px;padding:clamp(1.5rem,4vw,3.5rem);display:flex}.next-card .eyebrow{color:#c9c7c3}.next-card h3{margin-bottom:.5rem;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem)}.next-card time{font-size:1.05rem;font-weight:750}.next-card p{color:#ffffffa8}.style-summary{flex-direction:column;justify-content:center;min-height:290px;display:flex}.style-summary h3{font-family:Georgia,serif;font-size:1.6rem}.style-summary>p:not(.eyebrow){color:var(--muted);line-height:1.7}.style-summary .text-button{align-self:flex-start}.offer-strip{border:1px solid var(--sage);background:var(--copper-pale);border-radius:20px;justify-content:space-between;align-items:center;gap:2rem;margin-top:1rem;padding:1.5rem 1.8rem;display:flex}.offer-strip h3{margin-bottom:.3rem}.offer-strip p:last-child{color:var(--muted);margin-bottom:0}.offer-strip>strong{background:var(--copper);color:#fff;border-radius:12px;flex:none;padding:.75rem 1rem}.action-menu{position:relative}.action-menu>summary{background:var(--green);color:#fff;cursor:pointer;border-radius:12px;padding:.85rem 1.1rem;font-weight:750;list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.popover{z-index:10;width:min(760px,80vw);max-height:78vh;position:absolute;top:calc(100% + .5rem);right:0;overflow:auto}.filter-row{color:var(--muted);justify-content:space-between;gap:1rem;margin-bottom:.8rem;font-size:.8rem;display:flex}.filter-row p{margin:0}.records-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.records-table .table-head,.records-table>article{align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.appointment-records .table-head,.appointment-records>article{grid-template-columns:1.1fr 1.25fr 1fr .7fr 1.3fr}.clients-table .table-head,.clients-table>article{grid-template-columns:1.4fr .7fr 1.2fr 1.3fr}.admins-table .table-head,.admins-table>article{grid-template-columns:1.5fr .7fr 1.2fr}.records-table .table-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#d4d3ce;font-size:.68rem;font-weight:850}.records-table>article{border-top:1px solid var(--line)}.records-table strong,.records-table small{display:block}.records-table strong{font-size:.84rem}.records-table small{color:var(--muted);margin-top:.2rem;font-size:.7rem}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.row-actions button{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:8px;padding:.4rem .5rem;font-size:.68rem;font-weight:750}.row-actions span{color:var(--muted);font-size:.72rem}.inline-details{position:relative}.inline-details>summary,.edit-details>summary{color:var(--green);cursor:pointer;font-size:.72rem;font-weight:800;list-style:none}.inline-details>summary::-webkit-details-marker{display:none}.edit-details>summary::-webkit-details-marker{display:none}.reschedule-form{z-index:8;border:1px solid var(--line);background:var(--paper);width:270px;box-shadow:var(--shadow);border-radius:14px;gap:.65rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.reschedule-form label{gap:.35rem;font-size:.72rem;font-weight:750;display:grid}.reschedule-form small{color:var(--muted)}.edit-details{margin-top:.8rem}.edit-details form{border:1px solid var(--line);background:#e9e8e4;border-radius:14px;min-width:min(420px,70vw);margin-top:.75rem;padding:.8rem}.card-list{gap:.8rem;display:grid}.card-list article{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-list h3{margin-bottom:.3rem}.card-list p{color:var(--muted);margin:0}.invitation-box{gap:.75rem;display:grid}.invitation-box p,.invitation-box small{margin:0}.invitation-box small{color:var(--muted)}.client-log{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.service-list,.note-list,.announcement-list{display:grid}.service-list article,.note-list article,.announcement-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 0;display:flex}.service-list strong,.service-list small,.note-list strong,.note-list small{display:block}.service-list small,.note-list small{color:var(--muted);margin-top:.2rem;font-size:.72rem}.service-list p,.note-list p,.announcement-list p{color:var(--muted);margin:.55rem 0 0;font-size:.8rem;line-height:1.6}.note-list button,.announcement-list button{color:var(--green);background:0 0;border:0;font-size:.75rem;font-weight:800}.deleted{opacity:.55}.notes-panel{margin-top:1rem}.media-section{border-top:1px solid var(--line);margin-top:2.25rem;padding-top:2rem}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.media-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 8px 30px #2827270b}.media-frame{aspect-ratio:4/3;background:var(--green);place-items:center;display:grid;position:relative;overflow:hidden}.media-frame img,.media-frame video{object-fit:cover;width:100%;height:100%;display:block}.media-frame video{background:#151515}.media-removed{color:#ffffffb3;place-items:center;gap:.35rem;display:grid}.media-removed span{border:1px solid #ffffff40;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid}.media-copy{gap:.55rem;padding:.9rem;display:grid}.media-copy strong,.media-copy small{display:block}.media-copy strong{overflow-wrap:anywhere}.media-copy small{color:var(--muted);margin-top:.2rem;font-size:.7rem}.media-copy p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.55}.media-copy .text-button{justify-self:start;padding-inline:0;font-size:.74rem}.client-media-admin{grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr);align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}.media-upload{position:sticky;top:1.25rem}.media-upload .muted{margin:0;font-size:.78rem}.client-media-admin .media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.availability-list{margin-bottom:1rem}.availability-list form{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:1rem;padding:.8rem 0;display:grid}.availability-list form:first-child{border-top:0}.day-check{align-self:center}.announcement-list h4{margin:.5rem 0 .3rem;font-size:1.05rem}.announcement-list strong{color:var(--copper);margin-top:.7rem;display:inline-block}.invitation-panel{margin-top:1rem}.offers-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.offers-grid article{border:1px solid var(--sage);background:var(--copper-pale);border-radius:22px;flex-direction:column;min-height:260px;padding:1.6rem;display:flex}.offers-grid h3{font-family:Georgia,serif;font-size:1.45rem}.offers-grid p:not(.eyebrow){color:var(--muted);line-height:1.65}.offers-grid strong{color:var(--copper);margin-top:auto}.history-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.history-list article{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.9rem 1rem;display:grid}.history-list article:first-child{border-top:0}.history-list article>span{background:var(--copper-pale);width:32px;height:32px;color:var(--copper);border-radius:10px;place-items:center;font-weight:850;display:grid}.history-list strong{text-transform:capitalize}.history-list p,.history-list time{color:var(--muted);text-transform:capitalize;margin:.2rem 0 0;font-size:.73rem}.empty-state{text-align:center;justify-items:center;padding:2.5rem 1rem;display:grid}.empty-state>span{background:var(--copper-pale);width:42px;height:42px;color:var(--copper);border-radius:14px;place-items:center;margin-bottom:.8rem;display:grid}.empty-state h3{margin-bottom:.35rem}.empty-state p{max-width:420px;color:var(--muted);margin:0;font-size:.82rem;line-height:1.6}.public-booking-page{background:radial-gradient(circle at 12% 8%, #ffffffb3, transparent 30%), var(--cream);min-height:100vh}.public-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;width:min(1240px,100% - 2rem);margin:0 auto;padding:1rem 0;display:flex}.public-brand{align-items:center;width:170px;height:64px;display:grid;overflow:hidden}.public-brand img{object-fit:contain;width:100%;height:100%}.public-nav nav{align-items:center;gap:.55rem;display:flex}.public-nav nav a{border-radius:10px;padding:.68rem .85rem;font-size:.8rem;font-weight:750;text-decoration:none}.public-nav nav a:hover{background:#2827270f}.public-nav .admin-link{border:1px solid var(--ink);background:var(--ink);color:#fff}.booking-stage{grid-template-columns:minmax(0,.82fr) minmax(580px,1.18fr);align-items:start;gap:clamp(2rem,5vw,5rem);width:min(1240px,100% - 2rem);margin:0 auto;padding:clamp(2rem,5vw,5rem) 0;display:grid}.booking-intro{padding:clamp(1rem,3vw,2rem) 0;position:sticky;top:2rem}.booking-intro h1{max-width:590px;margin-bottom:1.2rem}.booking-intro .lede{max-width:580px;font-size:1.08rem}.booking-promises{border-top:1px solid var(--line);gap:0;margin-top:2rem;display:grid}.booking-promises div{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,.75fr) 1.25fr;gap:1rem;padding:1rem 0;display:grid}.booking-promises strong,.booking-promises span{font-size:.82rem;line-height:1.55}.booking-promises span{color:var(--muted)}.booking-contact{color:var(--muted);margin-top:1.4rem;font-size:.84rem}.booking-contact a{font-weight:800}.public-booking-card{border:1px solid var(--line);min-height:640px;box-shadow:var(--shadow);background:#f4f3eff7;border-radius:28px;padding:clamp(1.25rem,3.5vw,2.5rem)}.booking-loading,.booking-error,.booking-confirmation{text-align:center;place-content:center;justify-items:center;gap:.9rem;min-height:580px;display:grid}.booking-loading span{background:var(--ink);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;font-family:Georgia,serif;animation:1.4s ease-in-out infinite pulse;display:grid}.booking-loading p,.booking-error p,.booking-confirmation>p{max-width:460px;color:var(--muted);margin:0;line-height:1.65}.booking-card-heading{border-bottom:1px solid var(--line);padding-bottom:1.25rem}.booking-card-heading h2{margin-bottom:.35rem;font-size:clamp(2rem,4vw,3rem)}.booking-card-heading>p:last-child{color:var(--muted);margin:0;font-size:.8rem}.public-booking-form{gap:1.25rem;display:grid}.public-booking-form label{color:var(--ink-soft);gap:.45rem;font-size:.82rem;font-weight:750;display:grid}.booking-choice-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.service-summary{border:1px solid var(--line);background:#e9e8e4;border-radius:14px;grid-template-columns:1fr auto;gap:.35rem 1rem;padding:1rem;display:grid}.service-summary div strong,.service-summary div span{display:block}.service-summary div span,.service-summary p{color:var(--muted);font-size:.75rem}.service-summary p{grid-column:1/-1;margin:.25rem 0 0;line-height:1.55}.public-slot-picker{border:0;min-width:0;padding:0}.public-slot-picker legend{color:var(--ink-soft);margin-bottom:.75rem;font-size:.82rem;font-weight:750}.public-slot-picker>div{grid-template-columns:repeat(4,1fr);gap:.55rem;display:grid}.public-slot-picker label{display:block;position:relative}.public-slot-picker input{opacity:0;pointer-events:none;position:absolute}.public-slot-picker span{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:10px;padding:.72rem .55rem;font-size:.78rem;font-weight:800;transition:background .15s,color .15s,transform .15s;display:block}.public-slot-picker label:hover span{border-color:var(--ink);transform:translateY(-1px)}.public-slot-picker input:focus-visible+span{outline-offset:2px;outline:3px solid #28272738}.public-slot-picker input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.slot-message{color:var(--muted);text-align:center;background:#e9e8e4;border-radius:12px;margin:0;padding:1rem;font-size:.82rem}.client-details{border-top:1px solid var(--line);gap:1rem;padding-top:1rem;display:grid}.client-details h3{margin-bottom:0}.public-booking-form .booking-consent{border:1px solid var(--line);cursor:pointer;background:#e9e8e4;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:.9rem 1rem;display:grid}.booking-consent input{width:18px;height:18px;accent-color:var(--green);margin-top:.15rem}.booking-consent span{gap:.2rem;display:grid}.booking-consent strong{color:var(--ink);font-size:.82rem}.booking-consent small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.5}.honeypot{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.booking-submit{width:100%;padding-block:1rem}.booking-fine-print{color:var(--muted);text-align:center;margin:-.5rem 0 0;font-size:.72rem;line-height:1.55}.confirmation-mark{background:var(--ink);color:#fff;border-radius:22px;place-items:center;width:68px;height:68px;font-size:1.7rem;font-weight:900;display:grid}.booking-confirmation h2{margin-bottom:.25rem}.confirmation-details{border:1px solid var(--line);background:#e9e8e4;border-radius:16px;gap:.35rem;min-width:min(360px,100%);margin:.5rem 0;padding:1.25rem;display:grid}.confirmation-details strong{font-family:Georgia,serif;font-size:1.4rem}.confirmation-details span{color:var(--muted)}.public-footer{border-top:1px solid var(--line);width:min(1240px,100% - 2rem);color:var(--muted);justify-content:space-between;gap:1rem;margin:0 auto;padding:1.5rem 0 2.5rem;font-size:.75rem;display:flex}.public-footer div{gap:1rem;display:flex}@media (width<=1050px){.booking-stage{grid-template-columns:1fr}.booking-intro{grid-template-columns:1.2fr 1fr;gap:0 2rem;display:grid;position:static}.booking-intro .eyebrow,.booking-intro h1,.booking-intro .lede{grid-column:1}.booking-promises{grid-area:1/2/span 4;margin-top:0}.booking-contact{grid-column:1}.portal-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-header{z-index:12;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e3e2ddf0;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:sticky;top:0}.mobile-header select{width:auto;min-width:150px}.stat-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-media-admin{grid-template-columns:1fr}.media-upload{position:static}}@media (width<=760px){.booking-intro{display:block}.booking-promises{margin-top:2rem}.public-slot-picker>div{grid-template-columns:repeat(3,1fr)}.access-steps,.dashboard-grid,.client-hero-grid,.admin-split,.offers-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start}.section-heading>button,.section-heading>.action-menu{width:100%}.section-heading>button,.action-menu>summary{text-align:center}.stat-grid{grid-template-columns:1fr 1fr}.records-table{overflow-x:auto}.records-table .table-head,.records-table>article{min-width:820px}.card-list article,.offer-strip{flex-direction:column;align-items:flex-start}.availability-list form{grid-template-columns:1fr 1fr}.day-check{grid-column:1/-1}.popover{width:auto;position:fixed;inset:5rem 1rem auto}.media-grid,.client-media-admin .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.public-nav{align-items:flex-start}.public-brand{width:130px;height:52px}.public-nav nav{text-align:center;flex-direction:column-reverse;align-items:stretch;gap:.25rem}.public-nav nav a{padding:.55rem .7rem}.booking-stage{width:min(100% - 1rem,1240px);padding-top:1.25rem}.booking-intro{padding-inline:.5rem}.public-booking-card{border-radius:20px;min-height:0;padding:1rem}.booking-choice-grid{grid-template-columns:1fr}.public-slot-picker>div{grid-template-columns:repeat(2,1fr)}.public-footer{flex-direction:column;align-items:flex-start}.workspace{padding:1.1rem}.ec-logo-mobile{width:125px}.ec-logo-hero{width:100%}.mobile-header select{min-width:0;max-width:190px}.access-card{border-radius:22px;padding:1.5rem}.access-steps{display:none}.inline-field,.stat-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.form-actions .primary-button{width:100%}.availability-list form{grid-template-columns:1fr}.day-check{grid-column:auto}.history-list article{grid-template-columns:auto 1fr}.history-list time{grid-column:2}.media-grid,.client-media-admin .media-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
