@import url("./fonts.5844fc625fa4.css");
:root{--ink:#242523;--muted:#74766f;--line:#d5d7d0;--paper:#f9faf7;--mineral:#e9ece5;--lime:#d5eb69;--error:#9f3025;--radius:9px;font-family:Manrope,Arial,sans-serif;color:var(--ink);font-size:16px;background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7b911c;outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:550;letter-spacing:-.035em;line-height:1.08}p{line-height:1.55}small,.micro{font-size:.78rem;line-height:1.5}.muted{color:var(--muted)}.center{text-align:center}.eyebrow{font-size:.69rem;letter-spacing:.16em;color:var(--muted);font-weight:600}.skip{position:fixed;top:-60px;left:12px;padding:12px;background:var(--lime);z-index:100}.skip:focus{top:12px}.wordmark{font-size:2rem;font-weight:650;letter-spacing:-.065em;display:inline-flex;align-items:center;gap:20px;line-height:1}.brand-stroke{display:inline-block;width:41px;height:2px;background:var(--ink);transform:rotate(-12deg);margin-top:10px}.site-header{height:78px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.site-header nav{display:flex;align-items:center;gap:38px;font-size:.86rem}.site-header nav a,.site-header nav button{padding:28px 0;position:relative}.site-header .active:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:0;left:0;right:0}.text-button{background:none;padding:0}.header-location{font-size:.83rem}.header-location span{margin-left:22px}.booking-layout{display:grid;grid-template-columns:36% 34% 30%;min-height:calc(100svh - 116px)}.hero-panel{position:relative;overflow:hidden;min-height:800px;background:#c8cdc6}.hero-photo{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:52% 50%}.hero-copy{position:relative;padding:36px 30px;z-index:1}.hero-copy .eyebrow{color:#454a43}.hero-copy h1{font-size:clamp(2.25rem,3.3vw,3.5rem);margin:22px 0 17px;letter-spacing:-.04em;line-height:1.03;text-wrap:balance}.hero-copy p{font-size:.94rem}.hero-foot{position:absolute;bottom:32px;left:32px;right:32px;color:#fff;text-shadow:0 1px 12px #0008}.hero-foot>span:first-child{font-size:.75rem;letter-spacing:.04em}.tiny-stroke{display:block;width:40px;height:1px;background:currentColor;margin:20px 0}.hero-foot p{font-size:1.35rem;letter-spacing:-.035em;margin:0}.choices-panel{padding:37px 30px 24px;background:#fff;border-right:1px solid var(--line)}.section-intro h2{font-size:clamp(2.1rem,2.85vw,3rem);margin:16px 0 35px}.lime-dot{color:#adca32}.flat-fieldset{border:0;padding:0;margin:0 0 29px;min-width:0}.flat-fieldset legend{padding:0;margin-bottom:15px;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:9px;width:100%}.flat-fieldset legend>span:first-child,.step-title>span{color:var(--muted);font-weight:400}.service-list{display:grid;gap:4px}.service-option{background:transparent;text-align:left;display:flex;align-items:center;gap:11px;padding:17px 10px;border-bottom:1px solid var(--line);border-radius:0;width:100%;min-height:85px;transition:background .15s}.service-option.selected{background:var(--lime);border-radius:var(--radius);border-color:transparent}.radio{flex:0 0 18px;height:18px;border:1px solid currentColor;border-radius:50%;position:relative}.selected .radio:after{content:'';position:absolute;inset:4px;border-radius:50%;background:currentColor}.service-name{font-size:.86rem;font-weight:650;line-height:1.35;flex:1}.service-name small{display:block;margin-top:7px;font-weight:400;color:#656a57;font-size:.68rem;max-width:175px}.service-meta{text-align:right;white-space:nowrap;font-size:.72rem;color:#5a604e}.service-meta strong{display:block;font-size:.91rem;color:var(--ink);margin-top:5px;font-weight:700}.master-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.master-option{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px;text-align:left;min-width:0}.master-option.selected{border:1.5px solid #a9c833;background:#f8faed}.master-avatar{width:100%;aspect-ratio:1.2;background:var(--avatar,#eef0e8);display:grid;place-items:center;border-radius:5px;font-size:2.3rem;font-weight:400;position:relative;overflow:hidden;margin-bottom:12px}.master-avatar.any{background:#e9eddb;font-size:2rem}.avatar-line{position:absolute;width:80%;height:80%;border:1px solid #24252330;border-radius:50%;left:40%;top:42%}.master-option strong{font-size:.82rem;font-weight:600}.master-option small{display:block;font-size:.63rem;color:var(--muted);margin-top:4px;line-height:1.4}.optional{font-size:.69rem;color:var(--muted);margin-left:auto}.shape-section{margin-bottom:12px}.shape-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.shape-option{background:#f3f4f0;border:1px solid transparent;padding:13px 5px 10px;border-radius:var(--radius);display:grid;justify-items:center;gap:9px}.shape-option svg{width:39px;height:50px;fill:#d9c9be;stroke:#8a8075;stroke-width:1}.shape-option.selected{border-color:var(--ink);background:#fff}.shape-option span{font-size:.66rem;white-space:nowrap}.shape-help{color:var(--muted);font-size:.69rem}.time-panel{padding:44px 29px 17px;background:var(--mineral);display:flex;flex-direction:column;gap:34px}.step-title{font-size:.86rem;letter-spacing:0;font-weight:500;margin-bottom:35px;display:flex;gap:9px}.month-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.month-row strong{text-transform:capitalize;font-size:.94rem;font-weight:500}.date-arrows{display:flex;gap:3px}.icon-button{display:grid;place-items:center;width:34px;height:34px;background:transparent;border-radius:6px;font-size:1.2rem}.icon-button:hover{background:#2425230c}.date-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.date-option{background:transparent;border:1px solid #b7bcb3;border-radius:7px;padding:15px 4px;min-height:78px}.date-option strong{display:block;font-size:1.15rem;font-weight:650}.date-option small{display:block;font-size:.69rem;margin-top:5px;color:#6f7668}.date-option.selected,.time-option.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.date-option.selected small{color:#ddd}.slots-caption{display:flex;justify-content:space-between;align-items:center;margin:26px 0 13px;font-size:.75rem}.slots-caption .micro{color:var(--muted);font-size:.67rem}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;min-height:50px;max-height:225px;overflow:auto;padding:2px}.time-option{padding:12px 5px;border:1px solid #b7bcb3;border-radius:7px;background:transparent;font-size:.84rem;min-height:44px}.slot-empty{grid-column:1/-1;font-size:.83rem;line-height:1.5;color:var(--muted);padding:13px 0}.slot-empty strong{display:block;color:var(--ink);font-size:.9rem;font-weight:500}.slot-empty p{margin:7px 0}.empty-icon{font-size:2rem;display:block}.booking-summary{border-top:1px solid #b8beb1;padding-top:28px;margin-top:auto}.booking-summary h3{font-size:clamp(1.4rem,1.8vw,1.9rem);margin:16px 0 18px;letter-spacing:-.045em}.booking-summary>p{font-size:.9rem;margin-bottom:6px}.price{font-size:2.8rem;font-weight:600;letter-spacing:-.06em;margin:20px 0 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:47px;padding:12px 20px;border-radius:7px;font-size:.86rem;font-weight:600;border:1px solid transparent;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--lime);color:var(--ink)}.button.primary:hover:not(:disabled){background:#c9e445}.button.secondary{background:transparent;border-color:var(--line)}.button.secondary:hover{background:#24252307}.button.dark{background:var(--ink);color:white}.button.danger{background:#fff4f2;color:var(--error);border-color:#f0ccc7}.button.full{width:100%}.button.primary.full{justify-content:space-between;min-height:57px;font-size:.98rem}.booking-summary .center{margin-top:12px;font-size:.69rem}.time-footer{font-size:.59rem;color:#62665d;display:flex;justify-content:space-between;gap:14px;padding-top:10px}.site-footer{display:flex;justify-content:space-between;padding:13px 33px;border-top:1px solid var(--line);font-size:.65rem;color:var(--muted)}.dialog{border:1px solid var(--line);border-radius:18px;padding:36px;width:min(500px,calc(100% - 28px));background:#fafbf7;max-height:90svh;overflow:auto;color:var(--ink);box-shadow:0 30px 100px #151b1630}.dialog::backdrop{background:#141a1666;backdrop-filter:blur(5px)}.dialog h2{font-size:2rem;margin:17px 0}.dialog-close{position:absolute;top:15px;right:16px;font-size:1.5rem}.dialog form,.login-form{display:grid;gap:18px}label{display:grid;gap:8px;font-size:.82rem;font-weight:500}input,select,textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px;font-size:.9rem;min-height:45px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:#566919;margin:2px 0 0}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:.76rem;font-weight:400;line-height:1.5}.check-label a{text-decoration:underline}.error{padding:11px 13px;background:#f9eae7;border-radius:6px;color:var(--error);font-size:.82rem;line-height:1.5}.honeypot{position:absolute;left:-10000px}.success-dialog{text-align:center}.success-mark{display:grid;place-items:center;width:64px;height:64px;background:var(--lime);border-radius:50%;font-size:1.8rem;margin:10px auto 26px}.success-dialog .eyebrow{display:block}.success-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:25px 0}.success-details h3{font-size:1.7rem}.success-details p{font-size:.9rem}.success-details strong{font-size:1.6rem}.success-dialog .button{margin-top:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 23px;border-radius:9px;font-size:.85rem;z-index:100;box-shadow:0 10px 40px #0002;max-width:90%}.info-photo{width:100%;height:310px;object-fit:cover;object-position:center 65%;border-radius:8px;margin-bottom:20px}.notice{padding:18px;border-left:3px solid #aabc55;background:#eef1df;font-size:.88rem;line-height:1.6;margin:25px 0}.login-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--mineral);padding:60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.login-brand .wordmark{margin-bottom:100px}.login-brand h1{font-size:clamp(3rem,5vw,5.4rem)}.login-brand p{color:var(--muted)}.login-form{align-content:center;max-width:460px;width:100%;padding:40px;margin:auto;gap:25px}.login-form h2{font-size:2.2rem;margin:0 0 8px}.login-form>a{font-size:.85rem;margin-top:20px}.document{max-width:760px;margin:60px auto;padding:25px}.document h1{font-size:3rem;margin-top:70px}.document p{line-height:1.8}.document .button{margin-top:25px}
/* Team workspace */
.admin-body{background:#f2f4ee}.admin-layout{display:grid;grid-template-columns:210px 1fr;min-height:100svh}.sidebar{background:#242823;color:#f6f8f1;padding:34px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100svh}.sidebar .wordmark{font-size:1.8rem;margin:0 8px 8px}.sidebar .brand-stroke{background:var(--lime);width:28px}.sidebar .eyebrow{color:#a9b2a0;font-size:.6rem;margin:12px 8px 47px}.side-nav{display:grid;gap:7px}.side-nav button{background:transparent;color:#c6cdbf;padding:13px 14px;border-radius:7px;text-align:left;font-size:.86rem;display:flex;gap:12px;align-items:center}.side-nav button.active{background:var(--lime);color:var(--ink)}.side-nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.sidebar-bottom{margin-top:auto;padding:22px 6px 0;border-top:1px solid #424a3e;font-size:.76rem;color:#b9c2af}.sidebar-bottom>a{display:block;margin-bottom:28px}.admin-user{display:flex;align-items:center;gap:10px;margin-bottom:20px}.user-avatar{width:34px;height:34px;background:#d5eb6920;color:var(--lime);border-radius:50%;display:grid;place-items:center}.sidebar-bottom button{background:transparent;color:#b9c2af;padding:0;font-size:.72rem}.admin-main{min-width:0;padding:30px 33px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.admin-header .eyebrow{font-size:.62rem}.admin-header h1{font-size:2.25rem;margin:9px 0 0}.admin-header .button{min-height:45px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.calendar-controls{display:flex;align-items:center;gap:10px}.calendar-controls input{width:160px;background:#fff;font-size:.81rem;min-height:39px;padding:8px}.calendar-controls .button{min-height:39px;font-size:.75rem;padding:8px 12px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:7px;padding:3px;background:#e9ece3}.segmented button{padding:8px 17px;font-size:.75rem;background:transparent;border-radius:5px}.segmented button.active{background:white;box-shadow:0 1px 3px #0001}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.stat{background:#fff;border:1px solid #e1e5db;border-radius:9px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between}.stat>span{font-size:.72rem;color:var(--muted)}.stat strong{font-size:1.65rem;letter-spacing:-.05em;font-weight:550}.stat.accent{background:#eaf2c8;border-color:#dbe6b7}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:19px;align-items:start}.calendar-card{background:white;border:1px solid #e0e4da;border-radius:11px;overflow:hidden}.calendar-card-head{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid #e7eae2}.calendar-card-head h2{font-size:1.05rem;letter-spacing:-.02em;margin:0}.calendar-card-head span{font-size:.67rem;color:var(--muted)}.calendar-scroller{overflow:auto;max-height:calc(100svh - 290px);min-height:390px}.calendar-grid{min-width:460px}.master-heads{display:grid;grid-template-columns:53px repeat(var(--masters),minmax(170px,1fr));position:sticky;top:0;background:#fff;z-index:3;border-bottom:1px solid #e1e5dc}.master-head{padding:13px 10px;display:flex;gap:8px;align-items:center;font-size:.78rem;border-left:1px solid #e9ece4}.mini-avatar{border-radius:50%;background:#e1e6d7;display:inline-grid;place-items:center;width:27px;height:27px;font-size:.7rem;flex-shrink:0}.timeline{position:relative;display:grid;grid-template-columns:53px repeat(var(--masters),minmax(170px,1fr));height:780px}.time-gutter{position:relative}.hour-label{position:absolute;right:8px;font-size:.65rem;color:#888f81;transform:translateY(-50%)}.day-column{position:relative;border-left:1px solid #e7eae2;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#edf0e7 59px,#edf0e7 60px)}.shift-area{position:absolute;left:0;right:0;background:#f8faee80;border-top:1px dashed #c5d0b2;border-bottom:1px dashed #c5d0b2;pointer-events:none}.appointment-event{position:absolute;left:7px;right:7px;background:#eaf0d8;border:1px solid #d9e1c5;border-left:3px solid #89a135;border-radius:6px;padding:9px 10px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:4px;z-index:1}.appointment-event:hover{filter:brightness(.97)}.appointment-event.selected{border-color:#20281b;background:var(--lime)}.appointment-event.pending{background:#fff3d8;border-left-color:#cf9c36}.appointment-event.completed{background:#edf0eb;border-left-color:#839379}.appointment-event .event-time{font-size:.62rem;color:#667054}.appointment-event strong{font-size:.78rem;line-height:1.25}.appointment-event .event-service{font-size:.64rem;color:#667054;line-height:1.3}.block-event{position:absolute;left:7px;right:7px;background:repeating-linear-gradient(135deg,#edf0e8,#edf0e8 5px,#e4e8dd 5px,#e4e8dd 6px);border:1px solid #dce1d3;border-radius:5px;font-size:.64rem;padding:5px 9px;overflow:hidden;color:#818976;z-index:1}.detail-panel{background:white;border:1px solid #e0e4da;border-radius:11px;padding:22px;position:sticky;top:20px}.detail-panel h2{font-size:1.5rem;margin:22px 0 13px}.detail-panel .eyebrow{font-size:.61rem}.detail-panel .muted{font-size:.78rem}.detail-empty{padding:42px 0 25px;text-align:center}.detail-empty .empty-icon{font-size:2.3rem;background:#f1f4e9;width:66px;height:66px;display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;color:#9ca98c}.detail-empty h3{font-size:1.25rem;line-height:1.25}.detail-empty p{font-size:.78rem;color:var(--muted)}.detail-panel dl{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.detail-panel dl>div{display:flex;justify-content:space-between;gap:10px;margin:13px 0;font-size:.74rem}.detail-panel dt{color:var(--muted)}.detail-panel dd{margin:0;text-align:right}.detail-service{font-size:.9rem;font-weight:550;margin:20px 0}.badge{display:inline-flex;border-radius:5px;background:#eaf0dc;color:#576638;padding:5px 8px;font-size:.64rem}.badge.pending{background:#fff2d6;color:#886723}.badge.cancelled{background:#f6e8e3;color:#936358}.badge.completed{background:#e9eee6;color:#68775c}.detail-panel .button{font-size:.76rem;min-height:42px;margin-top:9px}.detail-panel .note{padding:13px;background:#f5f6f1;font-size:.75rem;line-height:1.6;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-phone{font-size:.85rem;display:block;margin:20px 0}.admin-list{width:100%;border-collapse:collapse;font-size:.78rem}.admin-list th{text-align:left;color:var(--muted);font-size:.69rem;font-weight:500;padding:15px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-list td{padding:17px 18px;border-bottom:1px solid #edf0e6}.admin-list tbody tr{cursor:pointer}.admin-list tbody tr:hover{background:#f4f7ec}.admin-list td small{display:block;color:var(--muted);margin-top:5px;font-size:.65rem}.empty-panel{padding:55px 25px;text-align:center;color:var(--muted);font-size:.9rem}.window-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.window-card,.settings-card{padding:24px;background:white;border:1px solid #e0e4da;border-radius:11px}.window-card h2{font-size:1.4rem;display:flex;align-items:center;gap:12px;margin-bottom:24px}.window-card h3{font-size:.73rem;color:var(--muted);letter-spacing:0;font-weight:500;margin-top:24px}.window-row{padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ece1;gap:12px}.window-row strong{font-size:.9rem;font-weight:550}.window-row small{font-size:.7rem;display:block;color:var(--muted);margin-top:5px}.window-row button{background:#f0f3e8;padding:7px 10px;border-radius:5px;font-size:.7rem}.window-actions{display:flex;gap:9px;margin-top:20px}.window-actions .button{font-size:.71rem;padding:10px 12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-card .settings-heading{display:flex;justify-content:space-between;align-items:center}.settings-card h2{font-size:1.4rem;margin:0}.settings-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.settings-item h3{font-size:.9rem;letter-spacing:-.01em;margin:0 0 7px}.settings-item p{font-size:.73rem;color:var(--muted);margin:0}.settings-item button{font-size:.72rem;background:transparent;text-decoration:underline}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog.wide{width:min(620px,calc(100% - 28px))}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.dialog-actions .button{flex:1}.checkbox-list{display:grid;gap:10px}.section-description{font-size:.85rem;color:var(--muted);line-height:1.6;max-width:680px}.audit-list{list-style:none;padding:0;margin:22px 0}.audit-list li{border-bottom:1px solid var(--line);padding:15px 0;font-size:.8rem}.audit-list small{display:block;color:var(--muted);margin-top:5px}.subtle-link{font-size:.7rem;text-decoration:underline}.mobile-admin-label{display:none}
@media(min-width:1550px){.hero-panel{min-height:860px}.choices-panel{padding:44px 43px}.time-panel{padding:50px 40px 20px}.section-intro h2{margin-bottom:40px}.flat-fieldset{margin-bottom:38px}.service-option{min-height:92px}.master-avatar{aspect-ratio:1.4}}
@media(max-width:1200px){.booking-layout{grid-template-columns:31% 37% 32%}.hero-copy{padding:30px 22px}.hero-copy h1{font-size:2.6rem}.choices-panel{padding:30px 22px}.time-panel{padding:38px 22px 18px}.service-name small{display:none}.shape-option span{font-size:.6rem}.master-option{padding:8px}.master-option small{font-size:.6rem}.admin-layout{grid-template-columns:175px 1fr}.sidebar{padding:30px 12px}.sidebar .wordmark{font-size:1.55rem}.sidebar .brand-stroke{width:20px}.admin-main{padding:25px 22px}.workspace-grid{grid-template-columns:minmax(0,1fr) 265px;gap:14px}.detail-panel{padding:19px}.stat{padding:16px}.stat strong{font-size:1.4rem}}
@media(max-width:1000px){.booking-layout{grid-template-columns:1fr 1fr}.hero-panel{grid-column:1/-1;min-height:280px;height:280px}.hero-photo{object-position:center 55%}.hero-copy{padding:35px}.hero-copy h1{font-size:2.65rem;max-width:500px}.hero-foot{display:none}.choices-panel{padding:30px}.time-panel{padding:37px 30px 20px}.admin-layout{grid-template-columns:78px 1fr}.sidebar .wordmark{font-size:0;gap:0;margin:auto}.sidebar .brand-stroke{width:32px;margin:0}.sidebar .eyebrow,.side-nav span,.sidebar-bottom .admin-user,.sidebar-bottom>a{display:none}.side-nav{margin-top:40px}.side-nav button{justify-content:center;padding:13px}.sidebar-bottom{text-align:center}.sidebar-bottom button{font-size:.62rem}.workspace-grid{grid-template-columns:1fr}.detail-panel{position:static}.detail-panel:has(.detail-empty){display:none}.window-board,.settings-grid{grid-template-columns:1fr}.calendar-scroller{max-height:650px}.admin-header h1{font-size:1.9rem}}
@media(max-width:640px){.site-header{height:65px;padding:0 19px}.wordmark{font-size:1.6rem;gap:12px}.brand-stroke{width:30px}.site-header nav{gap:18px;font-size:.75rem}.site-header nav a,.site-header nav button{padding:22px 0}.header-location{display:none}.booking-layout{display:block}.hero-panel{display:flex;flex-direction:column;height:auto;min-height:0;background:var(--mineral)}.hero-photo{position:relative;inset:auto;order:2;height:clamp(210px,58vw,280px);object-position:50% 70%;filter:none}.hero-copy{order:1;padding:20px 21px 18px}.hero-copy .eyebrow{display:none}.hero-copy h1{font-size:clamp(1.8rem,7.8vw,2.4rem);margin:0 0 10px;line-height:1.06}.hero-copy p{font-size:.78rem;margin:0}.choices-panel{padding:29px 21px 23px;border:0}.section-intro .eyebrow{font-size:.62rem}.section-intro h2{font-size:2.1rem;margin:13px 0 30px}.section-intro h2 br{display:none}.flat-fieldset{margin-bottom:28px}.service-option{min-height:79px;padding:17px 12px}.service-name{font-size:.88rem}.service-name small{display:block;font-size:.66rem}.service-meta{font-size:.73rem}.service-meta strong{font-size:.94rem}.master-option{padding:11px}.master-avatar{aspect-ratio:1.6}.master-option strong{font-size:.84rem}.master-option small{font-size:.65rem}.shape-option span{font-size:.69rem}.shape-option svg{width:34px;height:44px}.time-panel{padding:29px 21px 22px;gap:27px}.step-title{margin-bottom:22px}.date-option{min-height:73px}.slots{grid-template-columns:repeat(4,1fr);max-height:245px}.time-option{font-size:.85rem;padding:14px 4px}.booking-summary{padding-top:24px;margin-top:0}.booking-summary h3{font-size:1.75rem}.price{font-size:2.5rem;margin:20px 0}.time-footer{font-size:.63rem}.site-footer{padding:15px 20px;font-size:.61rem;gap:12px;flex-wrap:wrap}.dialog{padding:30px 23px}.dialog h2{font-size:1.8rem}.login-page{display:block}.login-brand{padding:30px;min-height:260px}.login-brand .wordmark{margin-bottom:40px}.login-brand h1{font-size:2.7rem;margin-bottom:15px}.login-form{padding:35px 25px}.document{margin:20px auto}.document h1{font-size:2.3rem;margin-top:45px}.admin-layout{display:block}.sidebar{height:auto;position:static;padding:16px 18px;flex-direction:row;align-items:center;justify-content:space-between;gap:15px}.sidebar .wordmark{font-size:1.45rem;margin:0;gap:12px}.sidebar .brand-stroke{width:24px}.side-nav{display:flex;margin:0;gap:3px}.side-nav button{padding:9px}.side-nav button svg{width:18px}.sidebar-bottom{margin:0;padding:0;border:0}.admin-main{padding:22px 14px}.admin-header{align-items:flex-start;margin-bottom:23px;gap:9px}.admin-header h1{font-size:1.7rem}.admin-header .button{font-size:.72rem;padding:10px 13px;min-height:40px}.admin-header .eyebrow{font-size:.55rem}.toolbar{flex-wrap:wrap;gap:13px}.calendar-controls{gap:5px}.calendar-controls input{width:143px;font-size:.76rem}.calendar-controls .icon-button{width:29px}.segmented button{font-size:.7rem;padding:7px 12px}.stats{gap:7px;margin-bottom:16px}.stat{display:block;padding:13px 11px}.stat>span{display:block;font-size:.61rem;margin-bottom:10px}.stat strong{font-size:1.28rem}.calendar-card-head{padding:16px}.calendar-card-head h2{font-size:.96rem}.calendar-card-head span{font-size:.58rem}.calendar-scroller{max-height:610px}.detail-panel{padding:23px}.detail-panel dl>div{font-size:.84rem}.detail-panel .button{font-size:.85rem}.window-card,.settings-card{padding:20px}.admin-list th,.admin-list td{padding:14px 10px}.form-grid{gap:12px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{font-size:.76rem}.window-actions .button{font-size:.7rem}.time-footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}[hidden]{display:none!important}

@media(max-width:640px){.admin-list th:nth-child(3),.admin-list td:nth-child(3){display:none}.admin-list td{font-size:.76rem}.admin-list td small{font-size:.67rem}.admin-list .badge{font-size:.59rem;padding:4px}.admin-list td:nth-child(2){min-width:120px}}

/* Contact preferences and service prices */
.contact-choice{border:0;padding:0;margin:0;min-width:0}.contact-choice legend{font-size:.82rem;margin-bottom:10px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact-options label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px;padding:11px 13px;cursor:pointer}.contact-options label:has(input:checked){background:var(--lime);border-color:var(--lime)}.contact-options input{flex-shrink:0}.price.price-unspecified{font-size:1.2rem;letter-spacing:-.02em}.detail-phone{overflow-wrap:anywhere}.public-site .choices-panel .flat-fieldset:last-child{margin-bottom:0}
@media(max-width:380px){.site-header nav{gap:12px}.site-header .wordmark{font-size:1.4rem;gap:8px}.site-header .brand-stroke{width:22px}}

/* Days off and master lifecycle */
.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.closures:empty{display:none}.closure-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fbe9e6;border:1px solid #edb4ac;border-left:4px solid #bd493d;border-radius:9px;padding:16px 18px;margin-bottom:15px;color:#8e3026}.closure-banner strong{display:block;font-size:.88rem}.closure-banner span{display:block;font-size:.75rem;margin-top:7px}.closure-banner .button{border-color:#deb3ad;min-height:38px;font-size:.75rem}.closed-column{background:repeating-linear-gradient(135deg,#fceeea,#fceeea 8px,#f7e1dc 8px,#f7e1dc 9px)}.closed-column .shift-area{display:none}.master-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-item .delete-master{color:#a33226}.deleted-masters{margin-top:20px;font-size:.8rem}.deleted-masters summary{cursor:pointer;color:var(--muted)}.date-option.closed-date,.date-option.closed-date.selected{background:#fbe9e6;border-color:#e2aaa2;color:#9c3c30;opacity:1}.date-option.closed-date small{color:#9c3c30;font-size:.58rem}.closed-message strong{color:#9c3c30}
@media(max-width:640px){.header-actions{gap:7px;max-width:155px}.header-actions .button{width:100%}.closure-banner{align-items:flex-start;padding:14px 12px}.closure-banner .button{padding:8px 10px}.master-actions{flex-direction:column;align-items:flex-end}}

/* Booking dates are choices from actual availability, not free-text fields. */
.availability-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.availability-heading strong{font-size:.94rem;font-weight:550}.availability-heading+p{margin:5px 0 15px}.availability-toggle{margin-top:16px;font-size:.72rem}.available-dates .date-option{padding:12px 3px;min-height:91px}.date-month{display:block;font-size:.67rem;margin-top:3px}.available-dates .date-option small{font-size:.58rem}.date-option.unavailable-date{background:#f0f1ec;color:#7c8175;border-color:#d4d8ce;opacity:1}.date-option.unavailable-date small{color:#7c8175}.edit-availability{margin:0}.edit-availability .slots{max-height:175px}.edit-availability .slots-caption{margin-top:22px}.edit-availability .date-option{min-height:87px}.available-dates>.slot-empty{grid-column:1/-1}
@media(max-width:640px){.available-dates{gap:5px}.available-dates .date-option strong{font-size:1.08rem}.edit-availability .slots{grid-template-columns:repeat(4,1fr)}.availability-heading+p{font-size:.73rem}}

/* Single-owner booking and working-time setup. */
.open-time-action{margin:8px 0 4px;font-size:.82rem}.studio-location{font-size:1.15rem;font-weight:550;line-height:1.5}.header-actions .button{white-space:nowrap}

/* Portfolio: full photos, mobile uploads and reversible removal. */
.gallery-top-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.album-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.album-tabs button{background:white;border:1px solid var(--line);border-radius:8px;padding:11px 14px;text-align:left;font-size:.8rem;overflow-wrap:anywhere;max-width:100%;line-height:1.4}.album-tabs button.active{background:var(--lime);border-color:var(--lime)}.album-tabs button span{font-size:.7rem;color:#656a57;margin-left:5px}.album-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--mineral);margin-bottom:22px}.album-summary h2{font-size:1.5rem;margin-bottom:8px;overflow-wrap:anywhere}.album-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.album-actions .button{font-size:.75rem;padding:10px 13px;min-height:38px}.album-actions .icon-button{border:1px solid var(--line);border-radius:6px;width:36px;height:38px;flex-shrink:0}.gallery-album-name{display:block;font-size:.7rem;color:var(--muted);margin-top:11px;overflow-wrap:anywhere}.gallery-album-field{display:flex;align-items:flex-end;gap:12px}.gallery-album-field label{flex:1;min-width:0}.gallery-album-field>.text-button{font-size:.73rem;white-space:nowrap;padding:12px 0}.public-album-tabs{margin-bottom:24px}.portfolio-dialog .album-tabs button{font-size:.76rem}
.gallery-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.gallery-toolbar .section-description{margin:0;max-width:570px}.gallery-toolbar .button{white-space:nowrap}.gallery-empty{background:var(--mineral);border:1px solid var(--line);border-radius:var(--radius);padding:45px 30px}.gallery-empty h2,.gallery-empty h3{margin:20px 0 15px;font-size:2rem}.gallery-empty p{max-width:420px}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;min-width:0}.gallery-thumb{width:100%;padding:0;background:var(--mineral)}.gallery-thumb img{width:100%;height:250px;object-fit:contain}.gallery-card-body{padding:18px}.gallery-caption{margin:13px 0 18px;font-size:.88rem;overflow-wrap:anywhere}.gallery-card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.gallery-card-actions .button{font-size:.75rem;min-height:38px;padding:9px 12px}.gallery-order{display:flex;margin-left:auto;gap:4px}.gallery-order .icon-button{border:1px solid var(--line);border-radius:6px;width:36px;height:38px}.gallery-delete{color:var(--error);font-size:.75rem;padding:8px 0}.gallery-upload-preview{width:100%;max-height:260px;object-fit:contain;background:var(--mineral);border-radius:6px}.gallery-upload-preview[hidden]{display:none}.deleted-photos{margin-top:30px}.deleted-photos summary{cursor:pointer;font-size:.84rem;color:var(--muted)}.deleted-photos>p{margin-top:16px}.deleted-photo{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.78rem}.deleted-photo>button:first-child{padding:0;background:var(--mineral);flex-shrink:0}.deleted-photo img{width:64px;height:64px;object-fit:contain}.deleted-photo>span{flex:1;overflow-wrap:anywhere}.deleted-photo .button{font-size:.7rem;min-height:36px;padding:9px 12px}.portfolio-dialog{width:min(820px,calc(100vw - 32px))}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.portfolio-grid figure{margin:0;min-width:0}.portfolio-photo{width:100%;padding:0;background:var(--mineral);border-radius:7px;overflow:hidden}.portfolio-photo img{width:100%;height:auto}.portfolio-grid figcaption{font-size:.82rem;line-height:1.5;margin-top:10px;overflow-wrap:anywhere}.photo-preview{width:min(1050px,calc(100vw - 24px));padding:48px 20px 20px;background:var(--paper)}.photo-preview img{width:100%;max-height:75svh;object-fit:contain}.photo-preview p{margin:16px 0 0;font-size:.85rem;overflow-wrap:anywhere}.photo-preview p:empty{display:none}
@media(max-width:1200px){.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.gallery-toolbar{flex-wrap:wrap}.gallery-top-actions{justify-content:flex-start}.album-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.gallery-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.gallery-top-actions .button{padding:12px 8px;font-size:.77rem}.album-tabs{gap:6px}.album-tabs button{padding:10px 11px;font-size:.74rem}.album-summary{padding:18px 16px}.album-summary h2{font-size:1.4rem}.album-actions{gap:8px}.gallery-album-field{align-items:stretch;flex-direction:column;gap:5px}.gallery-album-field>.text-button{align-self:flex-start;padding:5px 0 8px}}
@media(max-width:640px){.sidebar{flex-wrap:wrap}.side-nav{order:3;flex:1 0 100%;justify-content:space-between}.side-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;min-width:0}.side-nav button span{display:block;font-size:.61rem}.side-nav button svg{width:20px;height:20px}.sidebar .eyebrow,.sidebar-bottom>a,.sidebar-bottom .admin-user{display:none}.gallery-toolbar{flex-direction:column;gap:16px}.gallery-toolbar .button{width:100%}.admin-gallery-grid{gap:13px;grid-template-columns:1fr}.gallery-thumb img{height:300px}.gallery-card-body{padding:16px}.gallery-card-actions{gap:13px}.gallery-order{margin-left:auto}.gallery-empty{padding:30px 22px}.gallery-empty h2,.gallery-empty h3{font-size:1.7rem}.gallery-empty .button{width:100%}.portfolio-grid{grid-template-columns:1fr;gap:25px}.portfolio-dialog{padding:35px 22px}.photo-preview{padding:45px 12px 16px}.deleted-photo{gap:10px}.deleted-photo img{width:50px;height:50px}}

/* Week calendar and explicit appointment starts. */
.week-workspace{grid-template-columns:minmax(0,1fr)}.week-workspace .detail-panel{position:static}.week-workspace .detail-panel:has(.detail-empty){display:none}.week-schedule{max-height:calc(100svh - 290px);min-height:390px}.week-desktop{min-width:925px}.week-heads,.week-timeline{display:grid;grid-template-columns:44px repeat(7,minmax(125px,1fr))}.week-heads{position:sticky;top:0;z-index:4;background:white;border-bottom:1px solid var(--line)}.week-day-head{padding:13px 9px;display:grid;gap:7px;border-left:1px solid #e7eae2;min-width:0}.week-day-head strong{font-size:.76rem;font-weight:650}.week-day-head span{font-size:.61rem;line-height:1.5;color:#637336}.week-day-head button{font-size:.64rem;text-align:left;background:transparent;padding:3px 0;text-decoration:underline;text-underline-offset:3px}.week-day-head.is-closed{background:#fbf1ee}.week-day-head.is-closed span{color:var(--error)}.week-timeline{position:relative}.week-column.is-closed{background-color:#fbf5f3}.week-column .appointment-event{left:4px;right:4px;padding:8px 6px}.week-column .appointment-event strong{font-size:.73rem}.opening-marker{position:absolute;inset-inline:0;border:0;border-top:1px dashed #a8ba62;border-bottom:1px dashed #a8ba62;background:#d5eb6926;color:#61722d;text-align:left;padding:3px;font-size:.6rem;overflow:hidden}.opening-marker.exact{background:#e2edb3;border:1px solid #bacd6a;border-radius:4px;inset-inline:4px}.opening-marker:hover{background:#d5eb6955}.opening-marker span{position:sticky;top:0}.week-agenda{display:none}.week-legend{display:flex;gap:15px;flex-wrap:wrap;padding:12px 17px;margin:0;font-size:.62rem;color:var(--muted);border-top:1px solid var(--line)}.week-legend span:first-child{color:#697e2e}.week-legend span:nth-child(2){color:#a87920}.week-legend span:last-child{color:var(--error)}.existing-openings{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.existing-openings .button{margin-top:12px;font-size:.72rem}.extra-opening-row{display:flex;gap:12px;align-items:end;margin-bottom:12px}.extra-opening-row label{flex:1}.extra-opening-row .icon-button{height:45px}.week-agenda-day{padding:18px;border-bottom:1px solid var(--line)}.week-agenda-day header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}.week-agenda-day h3{font-size:1rem;margin:0 0 6px}.week-agenda-day header p{margin:0;color:#637336;font-size:.73rem;line-height:1.5}.week-agenda-day.is-closed{background:#fbf5f3}.week-agenda-day.is-closed header p{color:var(--error)}.week-agenda-day header .button{font-size:.72rem;min-height:35px;padding:7px 10px}.week-visit{display:flex;gap:15px;background:#eef3de;border:1px solid #d9e1c5;border-left:3px solid #89a135;width:100%;border-radius:7px;text-align:left;padding:13px 12px;margin:7px 0}.week-visit.pending{background:#fff3d8;border-left-color:#cf9c36}.week-visit.completed{background:#edf0eb;border-left-color:#839379}.week-visit.selected{outline:2px solid #556b1f;outline-offset:1px}.week-visit-time{font-size:.92rem;font-weight:650;min-width:47px}.week-visit strong{font-size:.84rem}.week-visit small{display:block;font-size:.68rem;line-height:1.5;margin-top:4px;font-weight:400;color:#646e54}.week-no-visits{font-size:.74rem;color:var(--muted);margin:0}.week-schedule .week-agenda-day:last-child{border-bottom:0}
@media(max-width:640px){.week-desktop{display:none}.week-agenda{display:block}.week-schedule{overflow:visible;max-height:none;min-height:0}.week-legend{gap:10px;font-size:.59rem}.week-workspace .detail-panel{scroll-margin-top:15px}#opening-mode .segmented{display:flex}#opening-mode .segmented button{flex:1;padding:10px 8px;font-size:.72rem}}

#window-form #opening-mode{margin-bottom:0}

.reopen-notice{padding:14px;border:1px solid #efd0c8;background:#fcf1ed;border-radius:7px}.reopen-notice>p{font-size:.78rem;margin:0 0 12px}.reopen-notice>p:last-child{margin:12px 0 0}.reopen-notice .check-label{font-size:.75rem}
