@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Prata&display=swap');
:root{--accent:#476b59;--ink:#23352d;--paper:#f7f6f2;--line:#dedfd8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Manrope,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button,.btn{border:0;border-radius:12px;padding:12px 20px;background:var(--accent);color:white;cursor:pointer;font-weight:700;display:inline-block}button:hover,.btn:hover{filter:brightness(.94)}button:disabled{cursor:default;opacity:.5}button.secondary,.btn.secondary{background:#eaece5;color:var(--ink)}button.small{padding:6px 12px;font-size:13px}header{max-width:1260px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-weight:800;font-size:22px;letter-spacing:-1px}.brand em{font-style:normal;color:var(--accent)}nav{display:flex;gap:24px;align-items:center}.demo-bar{background:#e9ede6;text-align:center;padding:9px 16px;font-size:12px;display:flex;justify-content:center;gap:16px;align-items:center;flex-wrap:wrap}.demo-bar select{padding:3px 8px;width:auto;margin:0;background:transparent;border:0;font-weight:700}.shell{max-width:1200px;margin:auto;padding:24px 28px 60px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:450px;background:#e8ede4;border-radius:28px;overflow:hidden}.hero-copy{padding:55px 48px}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--accent)}h1{font:clamp(32px,4.4vw,57px)/1.16 Prata,Georgia,serif;letter-spacing:-1px;margin:20px 0}h2{font:32px/1.3 Prata,Georgia,serif;margin:0 0 12px}h3{margin:0 0 10px;font-size:18px}.muted{color:#72796e}p{margin:10px 0 22px}.hero p{max-width:400px}.hero-art{position:relative;min-height:360px;background:linear-gradient(145deg,#c6d6c1,#64816e);overflow:hidden}.hero-art:before{content:'';position:absolute;width:66%;height:65%;background:#f0e8d9;bottom:0;left:16%;clip-path:polygon(50% 0,100% 36%,100% 100%,0 100%,0 36%);box-shadow:0 15px 50px #253d36}.hero-art:after{content:'';position:absolute;width:25%;height:30%;background:repeating-linear-gradient(90deg,#3d5449 0 32%,#bfb69a 33% 35%);bottom:10%;left:35%;border:7px solid #c5b797;box-shadow:110px -140px 100px 50px #ffffff33}.art-label{position:absolute;z-index:1;bottom:24px;left:24px;background:#ffffffe0;border-radius:12px;padding:12px 20px;font-size:13px}.theme-salon .hero,.theme-salon .hero-art{background:#efdfdf}.theme-salon .hero-art:before{clip-path:none;border-radius:50% 50% 0 0;width:45%;left:25%;height:88%;background:linear-gradient(130deg,#bb8f93,#f7e9de 50%,#a78578)}.theme-salon .hero-art:after{border-radius:50%;background:#d7a7a4;box-shadow:60px 20px 80px #fff8;width:42%;height:25%;left:27%;bottom:15%;border:0}.theme-barber .hero{background:#e9e2d8}.theme-barber .hero-art{background:linear-gradient(140deg,#454539,#b09674)}.theme-barber .hero-art:before{clip-path:none;border-radius:120px 120px 18px 18px;background:#302b27;width:40%;left:30%;height:65%;bottom:12%}.theme-barber .hero-art:after{width:60%;height:12%;left:20%;bottom:12%;border:0;background:#aa8256;box-shadow:none}.theme-auto .hero{background:#e1e9ee}.theme-auto .hero-art{background:linear-gradient(145deg,#b1c7d6,#486477)}.theme-auto .hero-art:before{clip-path:polygon(15% 0,75% 0,100% 65%,100% 100%,0 100%,0 65%);height:40%;bottom:20%;background:#e7eceb}.theme-auto .hero-art:after{height:12%;width:45%;left:26%;bottom:30%;border:0;background:#314d5f;box-shadow:0 45px 0 -12px #23352d}.theme-sauna .hero{background:#ece4d5}.theme-sauna .hero-art{background:repeating-linear-gradient(0deg,#9b7956 0 25px,#8d6c49 26px 28px)}.theme-sauna .hero-art:before{clip-path:none;border-radius:120px 120px 0 0;background:linear-gradient(#e1d8ba,#68543e);height:85%;width:48%;left:26%}.theme-sauna .hero-art:after{border:0;width:50%;left:25%;bottom:12%;height:20%;background:repeating-linear-gradient(#a38761 0 12px,#786347 13px 15px);box-shadow:0 -70px 65px #fff8}.features{display:flex;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}.features span:before{content:'✓';color:var(--accent);margin-right:10px}.section-title{margin:48px 0 24px;display:flex;justify-content:space-between;align-items:end;gap:15px}.booking-box{display:grid;grid-template-columns:280px 1fr;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}.booking-aside{padding:30px;background:#edf0e9}.booking-main{padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:white;color:var(--ink);margin:6px 0 0;min-width:0}textarea{min-height:110px}input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;margin:12px 0}.slot{padding:9px 5px;background:#edf3ec;color:#365640;border:1px solid #d2dfce;font-size:13px}.slot span{display:block;font-size:10px;font-weight:500}.slot.busy{background:#f1e9e7;color:#95716c;opacity:1;border-color:#e7d7d3}.slot.selected{background:var(--accent);color:white}.notice{border-radius:12px;background:#f1f3ed;padding:12px 16px;font-size:13px}.error{color:#b43232;font-size:14px;white-space:pre-wrap}.total{font-size:22px;font-weight:800}.booking-submit{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:15px}.consent{font-size:12px;font-weight:400;display:flex;align-items:start;gap:5px;margin-top:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.number{font:32px Prata,serif;color:var(--accent)}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:25px 28px;display:flex;justify-content:space-between;gap:15px;font-size:12px}.certificate{background:#e8ede4;padding:30px;border-radius:22px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.embed .shell{padding:15px;max-width:none}.embed .section-title{margin:0 0 15px}.embed .booking-box{grid-template-columns:1fr}.embed .booking-aside{display:none}.embed .booking-main{padding:20px}.admin-shell{max-width:1240px;margin:auto;padding:25px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button{background:#e8ebe4;color:var(--ink)}.tabs button.active{background:var(--accent);color:#fff}.admin-layout{display:grid;grid-template-columns:1fr 340px;gap:22px}.admin-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px}.admin-panel label{margin-bottom:12px}.resource-row,.service-row{display:grid;grid-template-columns:1fr 80px;gap:8px;margin-bottom:12px;align-items:start}.service-row{grid-template-columns:1fr 80px 95px 60px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:#72796e}.badge{display:inline-block;padding:3px 8px;border-radius:7px;background:#e9eee6;font-size:11px}.builder{display:grid;grid-template-columns:180px 1fr;gap:20px}.drag-block{background:white;border:1px dashed #aab8a5;border-radius:10px;padding:16px;margin:10px 0;cursor:grab;display:flex;justify-content:space-between;gap:8px}.drag-block.dragging{opacity:.4}.builder-canvas{background:#f1f3ee;border:2px dashed #c4cebf;min-height:260px;border-radius:15px;padding:16px}.builder-canvas .drag-block{border-style:solid}.code{font:12px/1.6 monospace;min-height:120px}.preview-frame{width:100%;height:600px;border:1px solid var(--line);border-radius:12px;background:white}.login{max-width:420px;margin:60px auto;padding:32px;background:white;border-radius:20px;border:1px solid var(--line)}.login label{margin:15px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203c2c;color:white;border-radius:12px;padding:12px 24px;z-index:20;display:none;max-width:90%;box-shadow:0 8px 35px #0002}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0}.calendar-grid button{padding:7px 2px;border-radius:8px;background:#edf3ec;color:#365640;min-height:46px}.calendar-grid button.selected{background:var(--accent);color:white}.calendar-grid small{display:block;font-size:9px}.calendar-grid .booked{background:#f1e5e2;color:#95645c}.calendar-grid .past{opacity:.3}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;margin-top:12px}.template-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.template-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:white}.template-card.active{border:2px solid var(--accent)}.template-card a{display:block;margin:8px 0;font-size:12px;text-decoration:underline}.demo-warning{font-size:12px;color:#756953;margin:12px 0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:800px){header{padding:18px 20px}nav{gap:12px;font-size:12px}.shell{padding:15px 16px 40px}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 26px}.hero-art{min-height:240px}.hero h1{font-size:38px}.booking-box{grid-template-columns:1fr}.booking-aside{padding:20px}.booking-aside p{margin-bottom:0}.booking-main{padding:20px}.cards{grid-template-columns:1fr}.certificate,.admin-layout{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(2,1fr)}.features{gap:12px}.admin-shell{padding:15px}.service-row{grid-template-columns:1fr 60px 75px 40px}.builder{grid-template-columns:1fr}.section-title h2{font-size:27px}}@media(max-width:450px){.form-grid{grid-template-columns:1fr}.hero h1{font-size:33px}.hero-art{min-height:210px}.brand{font-size:18px}header nav a:first-child{display:none}.booking-submit{align-items:start;flex-direction:column}.booking-submit button{width:100%}footer{flex-direction:column}.service-row{grid-template-columns:1fr 1fr}.template-grid{grid-template-columns:1fr 1fr}.calendar-grid{gap:3px}}

/* Allow grid and flex contents to shrink to the available mobile width. */
.shell,.admin-shell,.booking-main,.booking-aside,.hero-copy,.certificate,.admin-panel,.builder-canvas,.login{min-width:0}
.hero{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-box{grid-template-columns:minmax(0,280px) minmax(0,1fr)}
.form-grid,.certificate{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-layout{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
.builder{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
.template-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.calendar-grid,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr))}
.form-grid>*,.certificate>*,.cards>*,.admin-layout>*,.builder>*,.template-grid>*,.resource-row>*,.service-row>*{min-width:0}
header,.section-title,.booking-submit,.calendar-head{flex-wrap:wrap}
header>*{min-width:0}nav{flex-wrap:wrap}
.brand,h1,h2,h3,p,.notice,.number,.badge,td,.drag-block{overflow-wrap:anywhere}
.art-label{max-width:calc(100% - 48px)}
.calendar-grid button{min-width:0;padding-inline:0}
.calendar-grid small{font-size:clamp(7px,2.2vw,9px);letter-spacing:-.2px}
.calendar-head{gap:8px}.calendar-head b{min-width:0;font-size:14px}
input[type=date]{width:100%;max-width:100%;min-width:0;min-height:48px}
input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}
.consent input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin-top:2px}
.consent span{min-width:0}.table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}
.login{width:calc(100% - 32px)}
.drag-block>span{min-width:0}.drag-block>span:last-child{flex-shrink:0}
@media(max-width:800px){
 .hero,.booking-box,.certificate,.admin-layout,.cards,.builder{grid-template-columns:minmax(0,1fr)}
 .template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-copy{padding:30px 24px}.admin-panel{padding:18px}
 .tabs button{max-width:100%;white-space:normal}
 .service-row{grid-template-columns:minmax(0,1fr) 60px 75px 40px}
 input,select,textarea{font-size:16px}
}
@media(max-width:450px){
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .service-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-copy{padding:28px 22px}.booking-main{padding:18px 14px}
 .certificate{padding:24px 18px}.calendar-grid{gap:3px}
 .calendar-head b{font-size:12px}.login{padding:24px}
 .resource-row{grid-template-columns:minmax(0,1fr) 76px}
 .drag-block{padding:12px 8px;gap:4px}.drag-block .small{padding:6px 8px}
}
/* Compact booking: choose an appointment, then enter contact details. */
[hidden]{display:none!important}
#booking.section-title{max-width:860px;margin:36px auto 18px}
#booking h2{font-size:clamp(25px,4vw,32px)}
.compact-booking{max-width:860px;margin-inline:auto;grid-template-columns:minmax(0,1fr)}
.compact-booking .booking-main{padding:26px 30px}
.compact-booking .form-grid{gap:14px}
.booking-progress{display:flex;gap:20px;margin-bottom:22px;font-size:12px;color:#8a9087}
.booking-progress span{padding-bottom:7px;border-bottom:2px solid transparent}
.booking-progress .current{color:var(--accent);border-color:var(--accent);font-weight:800}
.compact-booking input,.compact-booking select{min-height:44px;padding:9px 12px}
.compact-dates>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-dates>.form-grid>label:only-child{grid-column:1/-1}
.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}
.date-strip button{background:#f0f4ee;color:var(--ink);padding:8px 0;border:1px solid transparent;min-width:0;border-radius:10px;line-height:1.25}
.date-strip span{display:block;font-size:10px;font-weight:400;color:#6d7769}
.date-strip b{display:block;font-size:17px;margin:4px 0}
.date-strip i{display:block;width:4px;height:4px;margin:0 auto;background:#799b72;border-radius:50%}
.date-strip .occupied{background:#bd938b}
.date-strip .booked{background:#f4e9e6}
.date-strip .selected{background:var(--accent);color:white}
.date-strip .selected span{color:#ffffffc9}.date-strip .selected i{background:white}
.month-picker{margin-top:8px;border-bottom:1px solid var(--line);padding-bottom:10px}
.month-picker summary{cursor:pointer;font-size:12px;color:var(--accent);padding:5px 0;list-style:none;display:flex;justify-content:space-between}
.month-picker summary::-webkit-details-marker{display:none}
.month-picker[open] summary{margin-bottom:10px}
.time-heading{font-size:12px;font-weight:700;margin-top:14px}
.time-heading .muted{font-size:11px;font-weight:400}
.compact-booking .slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:9px 0 0}
.compact-booking .slot{min-height:42px;padding:9px 2px;font-weight:600;line-height:1.2}
.compact-booking .slot span{font-size:9px;margin-top:2px}
.compact-booking .slot.busy{color:#9c7872;background:#f5eeec;border-color:#ecdfdc}
button.more-slots{font-size:12px;font-weight:500;padding:8px 0;margin-top:4px;background:transparent;color:var(--accent)}
.compact-booking .booking-submit{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
.compact-booking .booking-submit>.muted,.compact-booking .booking-submit .muted{font-size:11px}
.compact-booking .total{font-size:22px;line-height:1.3}
.compact-booking .error:empty{display:none}.compact-booking .error{margin-bottom:0}
.compact-booking .booking-submit button{min-height:44px}
.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f1f4ee;border-radius:12px;padding:14px;margin-bottom:18px;font-size:13px}
.booking-summary>div{min-width:0}.booking-summary span{display:block;color:#72796e;font-size:12px;margin-top:3px}.booking-summary button{flex-shrink:0}
.compact-demo-note{color:#878b82;font-size:10px;line-height:1.5;margin-top:10px}
.compact-booking .consent{font-size:12px}.compact-booking .consent input{min-height:16px}
@media(max-width:600px){
 .compact-booking .booking-main{padding:20px 18px}
 .compact-booking .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
 .compact-booking .booking-submit{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px}
 .compact-booking .booking-submit button{width:auto;font-size:13px;padding-inline:15px}
 .compact-booking .booking-submit>div{flex-shrink:0}
 .booking-progress{gap:18px;margin-bottom:18px;font-size:11px}
 .date-strip{gap:4px}.date-strip b{font-size:15px}.date-strip span{font-size:9px}
 .booking-summary{align-items:start;padding:12px;gap:8px}
 .booking-summary .small{padding:5px 8px;font-size:11px}
}
@media(max-width:350px){.compact-booking .booking-main{padding:18px 14px}.compact-booking .booking-submit button{padding-inline:10px;font-size:12px}}
/* Booking administration: overview, schedule and reservation details. */
.schedule-intro{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:22px 0}
.schedule-intro p{font-size:13px;margin:6px 0 0}
.schedule-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.schedule-kpi{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}
.schedule-kpi>span{display:block;color:#72796e;font-size:12px}
.schedule-kpi>b{font-size:34px;display:block;line-height:1.4;margin:6px 0}
.schedule-kpi>b small{font-size:14px;color:#858d80;font-weight:500}
.schedule-kpi>small{display:block;color:#72796e;font-size:11px;overflow-wrap:anywhere}
.summary-note{font-size:11px;color:#7b8176;margin:12px 0 20px;line-height:1.6}
.schedule-panel{padding:22px;min-width:0}
.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.schedule-navigation{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0}
.schedule-navigation input{width:160px;margin:0;padding:6px 9px;min-height:36px;font-size:13px}
.schedule-views{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;max-width:100%}
.schedule-views button{background:transparent;color:#72796e;padding:7px 12px;font-size:12px;border-radius:7px}
.schedule-views button.active{background:var(--accent);color:white}
.schedule-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.schedule-filters>*{min-width:0}.schedule-filters label{font-size:11px}.schedule-filters select{font-size:13px}
.schedule-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:16px 0}
.schedule-caption>b{font-size:15px;text-transform:capitalize}.schedule-caption>span{font-size:10px;color:#7b8176}
#scheduleBoard{min-width:0;min-height:150px}
.timeline-scroll,.week-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;overscroll-behavior-x:contain}
.timeline{display:grid;grid-template-columns:54px repeat(var(--lanes),minmax(170px,1fr));min-width:max-content;width:100%;background:white}
.time-corner,.lane-heading{padding:14px 10px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;max-width:350px;overflow-wrap:anywhere}
.time-corner{font-size:10px;color:#8a9085}.lane-heading{border-left:1px solid var(--line)}
.time-axis{position:relative;font-size:10px;color:#7b8176}
.time-axis span{position:absolute;left:6px;padding-top:4px}
.resource-lane{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0 31px,#f0f2ed 31px 32px,transparent 32px 63px,#dde4d9 63px 64px)}
.lane-free{position:absolute;left:12px;top:20px;font-size:11px;color:#9da595}
.schedule-event{display:block;width:100%;text-align:left;padding:8px 9px;border-radius:8px;background:#edf5ee;color:#345c3b;border:1px solid #d9e6d8;border-left:3px solid #5e9565;font-size:10px;font-weight:500;min-width:0;overflow:hidden}
.schedule-event b,.schedule-event>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.35}
.schedule-event b{font-size:12px;margin:2px 0}.schedule-event .event-time{font-weight:700;font-size:10px}
.schedule-event .payment-dot{font-size:9px;margin-top:4px}
.resource-lane .schedule-event{position:absolute;left:4px;width:calc(100% - 8px);padding:4px 7px}
.resource-lane .schedule-event b{font-size:11px;margin:0}
.resource-lane .schedule-event>span:not(.event-time){font-size:9px}
.schedule-event.unpaid{background:#fbefed;color:#8a534b;border-color:#edd6d1;border-left-color:#c17c6f}
.schedule-event.partial{background:#fcf5e4;color:#8a6d2b;border-color:#ede2c2;border-left-color:#c2a14f}
.schedule-event.cancelled,.booking-list-card.cancelled{opacity:.6}
.day-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
.room-day{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.room-day h3{font-size:14px}.room-dates{font-size:11px;color:#7b8176;margin-top:5px}
.room-free{background:#f0f5ec;color:#729067;padding:24px 10px;border-radius:10px;font-size:12px;text-align:center}
.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-width:1050px;min-height:300px}
.week-day{min-width:0;border-right:1px solid var(--line);padding:8px}
.week-day:last-child{border:0}.week-heading{display:block;width:100%;background:#f0f3ec;color:var(--ink);padding:10px 5px;font-size:12px;text-align:center}
.week-heading small{display:block;font-size:10px;font-weight:400;color:#828b7b;margin-top:3px}
.week-day .schedule-event{margin-top:10px}.event-resource{font-size:9px;color:#828b7b;display:block;padding:3px 2px}
.week-heading.is-today{outline:1px solid var(--accent)}.empty-day{font-size:11px;color:#99a08f;display:block;padding-top:20px;text-align:center}
.schedule-month-week,.schedule-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.schedule-month-week{text-align:center;font-size:11px;color:#86907b;padding:8px 0}
.schedule-month{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.month-day,.month-empty{min-width:0;min-height:120px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px}
.month-empty{background:#f7f8f4}.month-day.is-today{background:#f3f6ed}
.month-date{display:flex;justify-content:space-between;align-items:center;gap:3px;width:100%;padding:2px 0;background:transparent;color:var(--ink);font-size:12px}
.month-date span{font-size:9px;font-weight:400;color:#87917c}
.month-events{display:grid;gap:3px;margin-top:7px}
.month-event{border:0;border-left:2px solid #6d9c6b;background:#edf5ee;color:#477045;border-radius:4px;padding:3px 4px;text-align:left;font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.month-event.unpaid{border-color:#c17c6f;background:#fbefed;color:#8a534b}.month-event.partial{border-color:#c2a14f;background:#fcf5e4;color:#8a6d2b}
.month-more{font-size:9px;background:none;color:var(--accent);padding:0;text-align:left}
.calendar-mobile-hint{display:none;font-size:11px;margin:12px 0 0}
.schedule-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#7b8176;margin-top:14px}
.schedule-legend span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#6d9c6b}
.schedule-legend .partial:before{background:#c2a14f}.schedule-legend .unpaid:before{background:#c17c6f}
.schedule-list{display:grid;gap:10px}.booking-list-card{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:16px;background:#f8f9f6;color:var(--ink);text-align:left;border:1px solid var(--line);font-weight:400}
.booking-list-card>div{min-width:0}.booking-list-card>div:last-child{text-align:right;flex-shrink:0}
.booking-list-card b{display:block;font-size:13px}.booking-list-card span{display:block;font-size:11px;color:#7b8176;margin-top:4px}
.booking-list-card .payment-pill{padding:2px 6px;border-radius:5px;font-size:10px;background:#edf5ee;color:#477045}
.booking-list-card .payment-pill.unpaid{background:#fbefed;color:#8a534b}.booking-list-card .payment-pill.partial{background:#fcf5e4;color:#8a6d2b}
.calendar-empty{text-align:center;padding:40px;color:#7b8176;font-size:13px}
.booking-details{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.booking-details::backdrop{background:#17271de0;backdrop-filter:blur(3px)}
.detail-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.detail-heading>div{min-width:0}.detail-heading h2{font:700 23px/1.3 Manrope,system-ui;margin:6px 0 16px}
.detail-appointment{padding:14px;background:#eaf0e5;border-radius:12px;margin-bottom:18px;font-size:13px;display:grid;gap:4px}.detail-appointment small{font-size:10px;color:#7b8176}
.booking-details label{margin-bottom:12px}.booking-details .form-grid{gap:12px}
.payment-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 18px;font-size:10px;color:#7b8176}
.payment-overview b{display:block;font-size:18px;color:var(--ink);margin-top:4px;overflow-wrap:anywhere}
.payment-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.payment-shortcuts button{font-size:11px}
.booking-details textarea{min-height:75px}.booking-details .summary-note{margin:8px 0 14px}.booking-details #saveBookingDetails{width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:800px){.schedule-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-kpi{padding:15px}.schedule-kpi>b{font-size:28px}.schedule-panel{padding:16px}.schedule-intro h2{font-size:25px}}
@media(max-width:500px){
 .schedule-intro{flex-wrap:wrap;margin-top:16px}.schedule-intro h2{font-size:23px}.schedule-intro p{font-size:12px}
 .schedule-kpi{padding:13px 11px}.schedule-kpi>span{font-size:10px}.schedule-kpi>small{font-size:10px}.schedule-kpi>b{font-size:26px}
 .schedule-kpi>b small{font-size:11px}.summary-note{font-size:10px}
 .schedule-panel{padding:12px}.schedule-navigation{width:100%}.schedule-navigation input{flex:1;width:120px;min-width:0;font-size:12px}
 .schedule-views{width:100%;justify-content:space-between}.schedule-views button{padding:7px 10px;font-size:11px}
 .schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.schedule-filters label:last-child{grid-column:1/-1}
 .schedule-filters select{font-size:13px;padding:9px}.schedule-caption>b{font-size:13px}
 .timeline{grid-template-columns:42px repeat(var(--lanes),minmax(145px,1fr))}.time-corner{padding-inline:4px}.time-axis span{font-size:9px;left:3px}
 .month-day,.month-empty{min-height:55px;padding:3px}.month-date{display:block;padding:4px 0;text-align:center;font-size:13px}.month-date span{display:block;font-size:8px}.month-events{display:none}.calendar-mobile-hint{display:block}
 .booking-details{padding:20px 16px}.detail-heading h2{font-size:20px}.booking-details .form-grid{grid-template-columns:minmax(0,1fr)}
 .booking-list-card{padding:12px;gap:8px}.booking-list-card b{font-size:12px}.booking-list-card span{font-size:10px}
 .payment-overview b{font-size:16px}
}
@font-face{font-family:'DejaVu Sans';src:url('/img/gift-font.ttf') format('truetype');font-display:swap}
/* Public examples: photographic atmosphere, services and a real gift purchase flow. */
.public-site{background:#faf9f5}.public-header{max-width:1380px;padding:23px 34px}.public-header .brand{font-size:24px}.public-header nav{font-size:13px;gap:24px}.public-admin-link{font-size:11px;color:#83907c;border:1px solid #dce3d7;border-radius:8px;padding:5px 9px}
.public-main{padding:0 20px}.photo-hero{max-width:1420px;margin:0 auto;position:relative;min-height:620px;border-radius:26px;overflow:hidden;display:flex;align-items:center;background:#283e32;color:white}
.hero-photo,.photo-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center;animation:hero-settle 1.6s ease-out both}.photo-hero-shade{background:linear-gradient(90deg,#13261fdb 0,#1c292c80 50%,#15202020),linear-gradient(0deg,#13261f66,transparent 50%)}
.photo-hero-content{position:relative;z-index:1;width:min(750px,75%);padding:65px 7%}.photo-hero h1{font-size:clamp(40px,4.6vw,68px);line-height:1.13;margin:24px 0;letter-spacing:-1.7px;text-wrap:balance}.photo-hero p{font-size:16px;max-width:410px;color:#ffffffd6;margin:0 0 34px}.hero-location{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#fff9}
.hero-buttons{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hero-buttons .btn{background:#faf8ec;color:#263e2f;padding:16px 22px;min-width:185px;display:flex;justify-content:space-between;gap:20px}.hero-gift-link{font-size:12px;color:#ffffffe0}
.hero-note{position:absolute;bottom:28px;left:7%;font-size:11px;color:#fffc;display:flex;gap:8px;align-items:center}.hero-note-dot{width:6px;height:6px;background:#c6e2b2;border-radius:50%}.hero-side-note{position:absolute;right:32px;bottom:28px;font-size:11px;color:#fffc}.public-wrap{max-width:1200px;margin:0 auto;padding:0 26px 60px}.public-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:32px 0;border-bottom:1px solid #e0e5d9}.public-benefits div{display:flex;align-items:center;gap:16px;font-size:13px}.public-benefits span{font-size:11px;color:#94a087}
.story-section{padding:62px 0 35px;display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.story-section h2{font-size:clamp(28px,3vw,39px);line-height:1.27;max-width:510px;margin-top:15px}.story-section>p{color:#77816e;font-size:14px;line-height:1.9;margin:0}.public-wrap .section-title{margin-top:38px}.public-wrap .section-title .eyebrow{margin-bottom:8px}.public-wrap .section-title>span{font-size:12px}.public-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;margin-bottom:60px}.public-service-card{position:relative;border:1px solid #dee4d6;border-radius:18px;padding:26px;background:#fff;min-height:170px;transition:transform .25s,box-shadow .25s}.public-service-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #2743310a}.public-service-card h3{font-size:18px;font-weight:600;max-width:80%;margin-top:21px}.public-service-card p{font-size:12px;color:#7d8873;margin-bottom:0}.service-order{font-size:11px;color:#9ea991}.service-arrow{position:absolute;right:25px;bottom:24px;font-size:25px;color:var(--accent)}
.public-wrap .compact-booking{box-shadow:0 14px 65px #243a2910;border-color:#dce4d5}.public-resources{margin-top:65px}.section-description{max-width:570px;color:#7b8571;font-size:14px;line-height:1.8;margin-top:-8px}.public-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-resource-card{background:white;border:1px solid #e0e5d9;border-radius:18px;overflow:hidden}.public-resource-card>img{width:100%;height:230px;object-fit:cover;transition:transform .4s}.public-resource-card:hover>img{transform:scale(1.025)}.public-resource-card>div:not(.master-monogram){padding:22px}.public-resource-card h3{font-size:17px}.public-resource-card p{font-size:12px;color:#7b8571;min-height:40px}.public-resource-card a{display:flex;justify-content:space-between;color:var(--accent);font-size:12px;font-weight:700;padding-top:12px;border-top:1px solid #e7ebdf}.master-monogram{height:170px;background:var(--master-tone);display:flex;justify-content:space-between;align-items:end;padding:18px 26px;color:#fff9}.master-monogram span{font:100px/1 Prata,serif}.master-monogram small{font-size:10px;color:#394c3780}
.gift-section{padding-top:45px}.gift-shop{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start;background:#edf1e7;border-radius:22px;padding:35px}.gift-shop form{min-width:0}.gift-shop .form-grid{gap:14px}.gift-shop label{font-size:11px}.gift-shop input,.gift-shop select,.gift-shop textarea{font-size:13px;padding:10px}.gift-shop textarea{min-height:70px}.gift-shop .consent{font-size:10px}.gift-shop #publicGiftSubmit{width:100%;margin-top:18px}.gift-live-preview{margin-top:15px;filter:drop-shadow(0 15px 18px #263c2820)}.gift-live-preview svg{display:block;width:100%;border-radius:14px}.gift-promises{display:flex;gap:12px;flex-wrap:wrap;padding:20px 0}.gift-promises span{font-size:10px;color:#6a7d60}.gift-promises span:before{content:'✓ ';margin-right:3px}.pickup-info{border:1px solid #d9e2d1;border-radius:12px;padding:14px;background:#f1f5eb;font-size:12px;color:#53694a}.pickup-info p{font-size:12px;margin:6px 0 12px}.pickup-info label{font-size:11px}
.gift-order-success{background:white;border:1px solid #dbe5d3;border-radius:12px;padding:16px;font-size:12px;margin-top:16px}.gift-order-success p{margin:8px 0 14px}.gift-order-success .btn{font-size:11px;padding:10px}
.public-footer{max-width:1420px;background:#e8eee1;border:0;border-radius:24px 24px 0 0;padding:40px 7%;align-items:start;display:grid;grid-template-columns:1.3fr 1fr auto;font-size:11px;color:#596f50}.public-footer-brand{font-size:21px;font-weight:800;color:#2d4527}.public-footer p{font-size:11px;font-weight:400;color:#7b8b70;margin:9px 0 0}.public-footer>div:last-child{display:grid;gap:12px;text-align:right}
.theme-auto.public-site{--paper:#f3f6f8}.theme-auto .photo-hero-shade{background:linear-gradient(90deg,#112130e8,#14243265 65%,#14243220)}.theme-barber .photo-hero-shade{background:linear-gradient(90deg,#1c1a16e8,#31251e70 65%,#211f1710)}.theme-salon .photo-hero-shade{background:linear-gradient(90deg,#38252dce,#68444e50 60%,#38252d05)}.theme-sauna .photo-hero-shade{background:linear-gradient(90deg,#2c241bdb,#41301f60 60%,#2c241b10)}
.reveal-item{opacity:.4;transform:translateY(16px);transition:opacity .7s,transform .7s}.reveal-item.in-view{opacity:1;transform:none}@keyframes hero-settle{from{transform:scale(1.04)}to{transform:scale(1)}}
/* Administration: direct sales, certificate studio and fulfilment. */
.admin-quick-actions,.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-quick-actions{padding:20px 0 0}.admin-quick-actions button{font-size:13px}.lane-create{position:absolute;left:0;width:100%;height:64px;border:0;border-radius:0;background:transparent;color:#7f9774;font-size:20px;font-weight:400;text-align:right;padding-right:12px;opacity:.12}.lane-create:hover,.lane-create:focus-visible{opacity:1;background:#edf4e577}.resource-lane .schedule-event{z-index:2}.lane-free{pointer-events:none}
.sales-dialog.wide{width:min(1000px,calc(100% - 24px))}.sales-dialog h2{font-size:24px;line-height:1.3}.sales-dialog .detail-heading{margin-bottom:20px}.sales-dialog .muted{font-size:12px}.sales-dialog textarea{min-height:70px}.manual-duration{font-size:11px}.sales-dialog .consent{font-size:11px}.sales-dialog input[type=checkbox]{min-height:16px}.sales-dialog form>button{margin-top:16px}
.gift-issue-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:start}.gift-issue-preview{position:sticky;top:0}.gift-issue-preview svg{width:100%;display:block}.gift-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px 0}.gift-data>div{min-width:0;overflow-wrap:anywhere}.gift-data small,.gift-data span{display:block;font-size:11px;color:#7b8571}.gift-data b{font-size:13px}.gift-data span{margin-top:4px}.gift-document-preview{max-width:650px;margin:0 auto 20px}.gift-document-preview svg{display:block;width:100%;height:auto;border-radius:14px}.gift-pills{display:flex;gap:6px;flex-wrap:wrap}.gift-pills span{display:inline-block;background:#e8eee2;color:#607250;border-radius:6px;padding:4px 8px;font-size:10px}.gift-document-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.gift-document-actions .btn,.gift-document-actions button{font-size:11px;padding:10px 14px}.sales-dialog #giftPaymentForm,.sales-dialog #giftRedeemForm{display:flex;align-items:end;gap:12px;padding:16px;background:#eef3e8;border-radius:12px;margin-top:14px}.sales-dialog #giftPaymentForm label,.sales-dialog #giftRedeemForm label{margin:0;flex:1;min-width:0}.sales-dialog #giftPaymentForm button,.sales-dialog #giftRedeemForm button{font-size:12px;flex-shrink:0}.gift-list-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:12px;margin-bottom:20px}.gift-list-filters input,.gift-list-filters select{margin:0;font-size:13px}.gift-list{display:grid;gap:14px}.gift-list-item{width:100%;min-width:0;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;align-items:center;font-weight:400}.gift-mini svg{display:block;width:100%;border-radius:8px}.gift-list-item h3{font-size:21px;margin:5px 0}.gift-list-item b{font-size:13px}.gift-list-item p{font-size:11px;color:#7b8571;margin:5px 0 12px;overflow-wrap:anywhere}
.gift-designer{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.gift-designer>*{min-width:0}.gift-designer label{font-size:11px}.gift-designer input,.gift-designer select,.gift-designer textarea{font-size:13px}.gift-design-workspace{position:sticky;top:20px;min-width:0}.gift-design-canvas{border:1px solid #ccd8c2;border-radius:16px;background:#e7eddf;overflow:hidden;touch-action:none;box-shadow:0 20px 40px #263c2810}.gift-design-canvas svg{display:block;width:100%;height:auto;user-select:none}.gift-design-canvas [data-cert-field].active{paint-order:stroke;stroke:#9fac8460;stroke-width:2px}.gift-inspector{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:10px;padding:18px;margin-top:18px}.gift-inspector label{margin:0}.gift-designer .notice{font-size:11px}
.gift-public{max-width:1000px;padding-top:45px}.gift-public>.brand{display:block;margin-bottom:45px}.gift-public h1{font-size:clamp(30px,5vw,48px)}.gift-public-card{margin:30px 0;max-width:850px;filter:drop-shadow(0 15px 30px #263c2814)}.gift-public-card svg{width:100%;display:block}.gift-public>p{font-size:13px;color:#6b795f}.gift-public .gift-terms{margin-top:25px;white-space:pre-wrap;font-size:12px}.gift-public .action-row .btn{font-size:12px}
@media(max-width:900px){.public-header nav{gap:16px}.photo-hero{min-height:560px}.photo-hero-content{width:85%;padding:55px 7%}.photo-hero h1{font-size:52px}.public-benefits{gap:18px}.story-section{gap:8%;padding-top:44px}.gift-shop{gap:26px;padding:25px}.public-resource-card>img{height:190px}.gift-designer{grid-template-columns:260px minmax(0,1fr)}.gift-inspector{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-issue-layout{grid-template-columns:1fr 1.3fr;gap:20px}}
@media(max-width:650px){
 .public-header{padding:18px 20px;gap:12px}.public-header .brand{font-size:20px}.public-header nav{font-size:11px;gap:12px}.public-header nav a[href='#services'],.public-header nav a[href='#booking']{display:none}.public-header nav a:first-child{display:none}.public-admin-link{padding:4px 7px;font-size:10px}
 .public-main{padding:0 12px}.photo-hero{min-height:550px;border-radius:18px;align-items:end}.photo-hero-content{width:100%;padding:120px 26px 75px}.photo-hero h1{font-size:42px;letter-spacing:-1px}.photo-hero p{font-size:13px;max-width:300px;margin-bottom:26px}.hero-location{font-size:9px;letter-spacing:1.3px}.hero-buttons{gap:18px}.hero-buttons .btn{padding:13px 17px;min-width:170px;font-size:12px}.hero-gift-link{font-size:10px}.hero-side-note{display:none}.hero-note{font-size:9px;left:26px;bottom:22px}.photo-hero-shade{background:linear-gradient(0deg,#172b24e8,#172b2470 60%,#172b2420)!important}
 .public-wrap{padding:0 4px 38px}.public-benefits{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 5px}.public-benefits div{font-size:11px;gap:16px}.public-benefits span{font-size:9px}.story-section{grid-template-columns:minmax(0,1fr);gap:18px;padding:36px 4px 10px}.story-section h2{font-size:28px}.story-section>p{font-size:12px;line-height:1.9}.public-service-grid{gap:10px;margin-bottom:35px}.public-service-card{min-height:135px;padding:20px}.public-service-card h3{font-size:17px;margin-top:12px}.public-service-card p{font-size:11px}.public-wrap .section-title h2{font-size:25px}.public-wrap #booking.section-title{margin-top:32px}.public-wrap .section-title .eyebrow{font-size:9px;letter-spacing:1.5px}.public-wrap .section-title>span{font-size:10px}.public-resources{margin-top:38px}.section-description{font-size:12px}.public-resource-grid{grid-template-columns:minmax(0,1fr);gap:14px}.public-resource-card>img{height:210px}.public-resource-card>div:not(.master-monogram){padding:18px}.public-resource-card p{min-height:0}.master-monogram{height:130px}.master-monogram span{font-size:80px}.gift-section{padding-top:18px}.gift-shop{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 16px;border-radius:18px}.gift-live-preview{margin-top:0}.gift-shop input,.gift-shop select,.gift-shop textarea{font-size:16px}.gift-promises{padding:16px 0 0;gap:8px}.gift-promises span{font-size:9px}.gift-shop .form-grid{grid-template-columns:minmax(0,1fr)}.public-footer{margin:0 12px;grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 25px;border-radius:18px 18px 0 0}.public-footer>div:last-child{text-align:left;display:flex;gap:24px;font-size:10px}
 .gift-issue-layout,.gift-designer{grid-template-columns:minmax(0,1fr)}.gift-issue-preview,.gift-design-workspace{position:static}.gift-issue-preview{max-width:450px;margin:0 auto 10px}.gift-issue-layout{gap:12px}.sales-dialog.wide{padding:20px 16px}.sales-dialog h2{font-size:21px}.gift-designer aside{order:2}.gift-design-workspace{order:1}.gift-list-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gift-list-filters input{grid-column:1/-1}.gift-list-filters select{font-size:12px}.gift-list-item{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}.gift-mini{max-width:330px}.gift-list-item h3{font-size:20px}.gift-data{gap:14px}.gift-data b{font-size:12px}.gift-document-actions{gap:8px}.gift-document-actions .btn,.gift-document-actions button{font-size:10px;padding:9px 12px}.sales-dialog #giftPaymentForm,.sales-dialog #giftRedeemForm{flex-wrap:wrap}.sales-dialog #giftPaymentForm label,.sales-dialog #giftRedeemForm label{flex-basis:100%}.admin-quick-actions button{font-size:12px;padding:11px 14px}.gift-public{padding-top:28px}.gift-public>.brand{margin-bottom:30px}.gift-public .action-row .btn{font-size:11px;padding:10px 14px}.gift-inspector{padding:14px}.gift-inspector input{font-size:13px}
}
@media(max-width:360px){.photo-hero-content{padding-inline:22px}.photo-hero h1{font-size:35px}.hero-location{font-size:8px}.public-header .brand{font-size:18px}.public-header nav{gap:8px}.hero-buttons{gap:16px}.hero-buttons .btn{min-width:155px}.photo-hero{min-height:530px}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}.reveal-item{opacity:1;transform:none;transition:none}.public-service-card,.public-resource-card>img{transition:none}}
@media(max-width:650px){
 .admin-shell>.tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;padding:6px 0 10px;gap:7px;scrollbar-width:thin;overscroll-behavior-x:contain}
 .admin-shell>.tabs button{flex:0 0 auto;white-space:nowrap;font-size:12px;padding:10px 14px}
 body:not(.public-site) header nav a:first-child{display:inline;font-size:11px}
}
/* Checkout, consent, document access and transactional email editing. */
.consent a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal-footer{max-width:1200px;margin:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:22px 18px 28px;font-size:10px;color:#7b8871}
.legal-footer a{text-decoration:underline;text-underline-offset:3px}
.cookie-notice{position:fixed;z-index:9;left:18px;bottom:16px;max-width:min(480px,calc(100% - 36px));display:flex;align-items:center;gap:15px;padding:12px 14px;background:#fffef5;border:1px solid #dbe3d1;border-radius:12px;box-shadow:0 10px 30px #24351b1a;font-size:11px;color:#5a704e}
.cookie-notice a{text-decoration:underline}.cookie-notice button{font-size:10px;padding:6px 10px;flex-shrink:0}
.certificate-template-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin-bottom:26px}
.certificate-template-gallery button{min-width:0;background:white;color:var(--ink);border:1px solid var(--line);padding:12px;border-radius:16px;text-align:left}
.certificate-template-gallery button.active{border:2px solid var(--accent);padding:11px}
.certificate-template-gallery svg{width:100%;height:auto;display:block;border-radius:9px}.certificate-template-gallery b{display:block;font-size:14px;margin:12px 4px 0}.certificate-template-gallery small{display:block;font-size:10px;color:#87917b;margin:3px 4px}
.smtp-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:#edf2e6;border:1px solid #dce6d1;border-radius:14px;margin:20px 0}.smtp-summary>div{min-width:0}.smtp-summary b{display:block;font-size:14px}.smtp-summary span{display:block;font-size:11px;color:#7b8871;margin-top:5px}.smtp-summary>a{font-size:11px;color:var(--accent);text-decoration:underline;max-width:210px}
.email-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.email-editor-grid>*{min-width:0}.email-editor-grid label{font-size:12px}.email-editor-grid input,.email-editor-grid textarea{font-size:13px}.email-editor-grid textarea[name=body]{min-height:280px}.email-tokens{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 18px}.email-tokens button{font-size:10px;padding:5px 8px}.email-preview{width:100%;height:740px;border:1px solid var(--line);border-radius:12px;background:#f1f3ed}.email-subject-preview{padding:14px 0;font-size:12px;overflow-wrap:anywhere}.email-preview-column{position:sticky;top:15px}
.outbox-list{display:grid;gap:12px;margin-top:18px}.outbox-list>div{border:1px solid var(--line);border-radius:10px;padding:15px}.outbox-list b{display:block;font-size:12px;overflow-wrap:anywhere}.outbox-list span{display:block;color:#7b8871;font-size:11px}.outbox-list p{font-size:11px;color:#ad6c53;margin:6px 0 10px}.legal-document-editor{min-height:450px;font-size:13px;line-height:1.7}
.checkout-page{max-width:660px;margin:35px auto 70px;padding:0 18px}.checkout-page>.brand{display:block;margin-bottom:28px}.checkout-card{background:white;border:1px solid var(--line);border-radius:20px;padding:30px}.demo-payment-label{color:#9a7850;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.checkout-card h1{font-size:35px;line-height:1.2;margin:20px 0 16px}.checkout-card>p{font-size:13px;color:#7b8871}.checkout-amount{font-size:42px;font-weight:800;line-height:1.3;margin:22px 0}.checkout-card .notice{font-size:12px;background:#fff6df;color:#856a3d}.checkout-card .consent{font-size:12px}.checkout-buttons{display:grid;gap:10px;margin-top:20px}.checkout-buttons button{width:100%;min-height:44px}.checkout-documents{display:flex;gap:10px 18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:10px;color:#7b8871}.checkout-documents a{text-decoration:underline}.checkout-success{background:#edf6e8;color:#5c8546;padding:16px;border-radius:12px;font-size:13px;margin:20px 0}.checkout-status{color:#a4654a;font-size:13px;margin-top:18px}.checkout-card .action-row .btn{font-size:12px}.checkout-card .error{font-size:12px}
@media(max-width:800px){.email-editor-grid{grid-template-columns:minmax(0,1fr)}.email-preview-column{position:static}.email-preview{height:680px}.smtp-summary{flex-wrap:wrap}.smtp-summary>a{max-width:none}.certificate-template-gallery{gap:12px}}
@media(max-width:500px){.certificate-template-gallery{gap:8px}.certificate-template-gallery button{padding:7px;border-radius:10px}.certificate-template-gallery button.active{padding:6px}.certificate-template-gallery b{font-size:12px;margin:9px 0 0}.certificate-template-gallery small{font-size:9px;margin:3px 0}.legal-footer{font-size:9px;gap:10px 15px;padding-bottom:30px}.smtp-summary{padding:16px}.smtp-summary b{font-size:12px}.smtp-summary span,.smtp-summary>a{font-size:10px}.email-editor-grid textarea,.email-editor-grid input{font-size:16px}.checkout-page{margin-top:24px;padding:0 14px}.checkout-card{padding:23px 18px}.checkout-card h1{font-size:29px}.checkout-amount{font-size:36px}.checkout-card .notice{font-size:11px}.cookie-notice{left:12px;bottom:10px;max-width:calc(100% - 24px);font-size:10px;gap:10px;padding:10px 12px}}
/* Resource-first monthly occupancy and editable directories. */
.calendar-resource-picker{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;margin-bottom:18px}.calendar-resource-picker label{font-size:12px;color:#7c8873}.calendar-resource-picker select{font-size:17px;font-weight:700;min-height:52px;padding:12px 14px}.selected-resource-summary{display:flex;gap:12px;align-items:center;border:1px solid #dfe6d7;background:#f5f8f0;padding:13px 16px;border-radius:12px;margin-bottom:20px}.selected-resource-summary>div{min-width:0;flex:1}.selected-resource-summary b{display:block;font-size:14px}.selected-resource-summary>div>span{display:block;font-size:11px;color:#7d8973;margin-top:3px}.selected-resource-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#e1e9d7;border-radius:10px;color:#6d845d;font:24px Prata,serif}
.occupancy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.occupancy-summary>div{border:1px solid #dfe6d8;border-radius:10px;background:#f6f9f2;padding:13px 16px;min-width:0}.occupancy-summary b{font-size:25px;font-weight:800;display:block}.occupancy-summary span{font-size:11px;display:block;color:#718367}.occupancy-summary .busy{background:#fcf0ee;border-color:#eed8d3;color:#a06458}.occupancy-summary .partial{background:#fff7e4;border-color:#ebdfbe;color:#9e7f3b}.occupancy-summary .closed{background:#f1f2ee;border-color:#e1e4d9;color:#929a88}.occupancy-summary:empty{display:none}
.occupancy-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.occupancy-day,.occupancy-empty{min-width:0;min-height:132px;border-radius:11px;border:1px solid #d6e5cc;background:#f2f8ed;overflow:hidden}.occupancy-empty{background:#f6f7f3;border-color:transparent;opacity:.5}.occupancy-day.busy{background:#fceeea;border-color:#edcfc7}.occupancy-day.partial{background:#fff6df;border-color:#eadbb0}.occupancy-day.closed{background:#f1f2ed;border-color:#e0e4d7}.occupancy-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.occupancy-date{display:flex;justify-content:space-between;align-items:center;gap:4px;border:0;border-radius:0;padding:12px 10px 4px;width:100%;background:transparent;color:#344e2c;text-align:left;min-width:0}.occupancy-date>b{font-size:18px}.occupancy-label{font-size:9px;font-weight:700;color:#6c9251}.busy .occupancy-label{color:#b16b59}.partial .occupancy-label{color:#a98b3d}.closed .occupancy-label{color:#909c82}.status-short{display:none}.occupancy-day-detail{padding:0 10px 7px;color:#859576;font-size:9px}.occupancy-bookings{padding:0 7px 8px;display:grid;gap:4px}.occupancy-bookings button{max-width:100%;min-width:0;padding:4px 5px;background:#fffaf4;color:#775c4c;border:1px solid #e5d7c7;border-radius:5px;font-size:9px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupancy-bookings small{font-size:9px;color:#9e8a62}.calendar-help{font-size:11px;color:#839176;margin:14px 0 8px}.occupancy-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:#7e8e70;margin-top:16px}.occupancy-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;background:#a4c58c}.occupancy-legend .busy:before{background:#dc9e8d}.occupancy-legend .partial:before{background:#e6c56e}.occupancy-legend .closed:before{background:#cbd2c0}.calendar-extra-filters{font-size:11px;color:#819070;border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.calendar-extra-filters summary{cursor:pointer}.calendar-extra-filters label{margin-top:12px;max-width:300px}.calendar-extra-filters small{display:block;margin-top:8px}.today-overview{margin:20px 0;font-size:12px;color:#7d8d6e}.today-overview summary{cursor:pointer}.today-overview .schedule-kpis{margin-top:16px}
.day-availability-state{padding:12px 16px;border-radius:10px;font-size:13px;font-weight:700;background:#edf6e6;color:#608148;margin-bottom:18px}.day-availability-state.partial{background:#fff4d7;color:#9a7c35}.day-availability-state.busy{background:#fbe8e2;color:#a46454}.day-availability-state.closed{background:#ecefe6;color:#909b80}.day-resource-details{display:grid;gap:22px}.day-resource-details>section{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.day-resource-details h3{font-size:16px}.day-booking-details{display:grid;gap:10px}.day-booking-details>button{display:flex;justify-content:space-between;align-items:start;gap:14px;background:#f6f8f1;color:var(--ink);border:1px solid #e1e7d8;border-radius:10px;padding:14px;text-align:left;font-size:12px}.day-booking-details>button>div{min-width:0}.day-booking-details b,.day-booking-details span,.day-booking-details small{display:block}.day-booking-details b{font-size:13px}.day-booking-details>button>div>span,.day-booking-details small{font-size:11px;color:#7a8b6c;margin-top:3px}.day-booking-details .payment-pill{font-size:10px;padding:3px 6px;border-radius:5px;background:#e2efd9;color:#6a8c50;flex-shrink:0}.day-booking-details .payment-pill.unpaid{background:#fae8e0;color:#a56b55}.day-booking-details .payment-pill.partial{background:#fff0c5;color:#a58535}.free-periods{padding:14px 0 0;font-size:11px;color:#6e8a56}.free-periods p{margin:5px 0 12px;font-size:12px}.day-create-button{font-size:12px;padding:10px 16px;margin-top:10px}
.directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:12px;margin-bottom:20px}.directory-toolbar input,.directory-toolbar select{margin:0;font-size:13px}.resource-directory{display:grid;gap:14px}.directory-resource{display:grid;grid-template-columns:105px minmax(0,1fr) 190px;gap:20px;align-items:center;background:white;border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}.directory-avatar{width:105px;height:110px;background:#e4ebdc;border-radius:12px;overflow:hidden;display:grid;place-items:center;font:60px Prata,serif;color:#94a780}.directory-avatar img{width:100%;height:100%;object-fit:cover}.directory-resource-info{min-width:0}.directory-resource-info h3{font-size:19px;margin:5px 0 7px}.directory-resource-info p{font-size:11px;color:#849175;margin:0 0 12px}.directory-resource-info .eyebrow{font-size:9px;letter-spacing:1.2px}.directory-badges{display:flex;gap:6px;flex-wrap:wrap}.directory-badges span{padding:3px 6px;border:1px solid #e0e7d7;border-radius:5px;font-size:9px;color:#81916e}.directory-badges .on{background:#edf5e4;color:#729358}.directory-badges .off{background:#f2ede5;color:#a48d70}.directory-resource-actions{display:grid;gap:7px}.directory-resource-actions button{font-size:11px;padding:9px 12px}.directory-resource-actions>div{display:flex;justify-content:end;gap:5px}
.resource-editor-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:25px;align-items:start}.resource-editor-grid>*{min-width:0}.resource-editor-preview{position:sticky;top:0}.resource-editor-preview>.eyebrow{font-size:9px;margin-bottom:12px}.resource-editor-preview .public-resource-card{pointer-events:none}.resource-editor-preview .public-resource-card .public-service-card{padding:0}.resource-editor-preview .summary-note{font-size:10px}.directory-flags{display:grid;gap:10px;background:#eef4e7;padding:14px;border-radius:10px;margin:16px 0 20px}.directory-flags label{display:flex;align-items:center;gap:8px;font-size:11px;margin:0}.directory-flags input{width:16px;height:16px;min-height:16px;margin:0;flex-shrink:0}.assigned-services{display:grid;gap:9px;margin:14px 0 20px}.assigned-services label{display:flex;gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:8px;margin:0}.assigned-services input{width:16px;height:16px;min-height:16px;margin:3px 0 0;flex-shrink:0}.assigned-services b{font-size:12px;font-weight:600}.assigned-services small{font-size:10px;display:block;color:#8b987d;margin-top:2px}.resource-working-days{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.resource-working-days label{font-size:11px;margin:0;display:flex;gap:5px;align-items:center;background:#edf2e5;border-radius:6px;padding:7px}.resource-working-days input{width:14px;height:14px;min-height:14px;margin:0}.resource-editor-grid form>h3{margin-top:24px}.resource-editor-grid form>h3:first-child{margin-top:0}.resource-editor-grid textarea{min-height:90px}
.services-directory{display:grid;gap:14px}.services-directory article{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:22px;border:1px solid var(--line);background:white;border-radius:15px}.services-directory article>div{min-width:0}.services-directory article h3{font-size:19px;margin:6px 0}.services-directory article p{font-size:12px;color:#7e8d70;margin:0 0 12px;max-width:680px}.services-directory article .eyebrow{font-size:9px}.services-directory article b{font-size:17px}.services-directory article small{font-size:11px;color:#81916e}.services-directory article .service-assigned-names{font-size:11px;margin:12px 0 0}.services-directory article>button{font-size:12px;flex-shrink:0}#servicePhotoPreview img{width:100%;max-height:200px;object-fit:cover;border-radius:10px}
.resource-card-title{font-size:10px;color:#8a9879;margin-bottom:6px}.resource-card-meta{font-size:11px;color:#839373;margin:0 0 10px}.resource-card-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.resource-card-features{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.resource-card-features span{display:block;font-size:9px;background:#f0f4e9;border-radius:5px;padding:4px 6px;color:#7e926b}.resource-card-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:13px}.resource-card-actions .profile-link{background:transparent;padding:0;color:#7d9069;font-size:11px;font-weight:500}.public-resource-card .resource-card-actions a{padding:0;border:0;display:block;font-size:12px}.resource-card-actions>span{font-size:10px}.public-profile .profile-photo{width:100%;max-height:300px;border-radius:12px;object-fit:cover;margin-bottom:18px}.public-profile .profile-meta{font-size:12px;color:#869676}.public-profile .profile-bio{font-size:13px;white-space:pre-line;line-height:1.8}.profile-services{display:grid;gap:10px}.profile-services>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:8px}.profile-services b{font-size:12px}.profile-services small{display:block;font-size:10px;color:#879978;margin-top:3px}.profile-services button{font-size:11px}.public-service-photo{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-bottom:14px}.public-service-card .public-service-description{font-size:12px;line-height:1.7;color:#7b8c6b}.public-service-card h3{overflow-wrap:anywhere}
@media(max-width:900px){.directory-resource{grid-template-columns:85px minmax(0,1fr) 170px;padding:17px;gap:15px}.directory-avatar{width:85px;height:95px}.occupancy-date{display:block;padding:10px 8px 4px}.occupancy-label{display:block;margin-top:3px}.resource-editor-grid{gap:18px}.occupancy-month{gap:6px}}
@media(max-width:650px){.calendar-resource-picker{grid-template-columns:minmax(0,1fr);gap:12px}.calendar-resource-picker select{font-size:16px;min-height:48px}.selected-resource-summary{padding:10px;gap:8px;margin-bottom:16px}.selected-resource-summary b{font-size:12px}.selected-resource-summary .small{font-size:10px;padding:6px 9px}.occupancy-summary{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:15px}.occupancy-summary>div{padding:10px 6px}.occupancy-summary b{font-size:22px}.occupancy-summary span{font-size:8px;line-height:1.4}.occupancy-month{gap:4px}.occupancy-day,.occupancy-empty{min-height:80px;border-radius:7px}.occupancy-date{padding:8px 1px 4px;text-align:center}.occupancy-date>b{font-size:15px}.occupancy-label{font-size:8px}.status-long{display:none}.status-short{display:inline}.occupancy-day-detail{padding:0 2px;font-size:7px;text-align:center;line-height:1.2}.occupancy-bookings{display:none}.calendar-help{font-size:10px}.occupancy-legend{gap:8px 12px;font-size:9px}.directory-toolbar{grid-template-columns:minmax(0,1fr);gap:8px}.directory-resource{grid-template-columns:65px minmax(0,1fr);gap:13px;padding:15px}.directory-avatar{width:65px;height:75px;font-size:42px}.directory-resource-info h3{font-size:16px}.directory-resource-info p{font-size:10px}.directory-resource-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.directory-resource-actions>div{margin-left:auto}.directory-resource-actions button{font-size:10px;padding:8px 10px}.resource-editor-grid{grid-template-columns:minmax(0,1fr);gap:20px}.resource-editor-preview{position:static;order:-1}.resource-editor-preview #resourceCardPreview{max-width:330px;margin:auto}.resource-editor-preview .public-resource-card>img{height:160px}.resource-editor-preview .master-monogram{height:110px}.services-directory article{flex-wrap:wrap;gap:12px;padding:18px}.services-directory article h3{font-size:17px}.services-directory article>button{font-size:11px}.day-resource-details>section{padding:12px}.day-booking-details>button{padding:11px;gap:8px}.day-booking-details b{font-size:12px}.day-booking-details .payment-pill{font-size:9px}.day-availability-state{font-size:11px;padding:11px}.today-overview{font-size:11px}.calendar-extra-filters{font-size:10px}.public-resource-card>div:not(.master-monogram){min-width:0}.profile-services>div{align-items:start}.profile-services b{font-size:11px}}
