:root{--bg:#F3EDE4;--ink:#42362F;--muted:#786C64;--line:#EAD9CB;--surface:#FFFCF7;--primary:#984C36;--accent:#B99559;--on-primary:#fff;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent)}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:10px 14px;transition:background .15s,border-color .15s}button:hover{border-color:var(--primary);background:#efe5d8}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px;font-weight:650}h2{font-size:18px;font-weight:600}h3{font-size:15px}p{line-height:1.6}small,.help{color:var(--muted);line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:var(--surface);padding:12px}.skip:focus{top:10px}.sidebar{position:fixed;width:242px;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 20px;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;padding:0 10px 29px}.brand svg{flex-shrink:0;color:var(--primary)}.brand strong{display:block;font-size:18px;letter-spacing:-.4px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:4px}.nav-label{display:block;font-size:9px;letter-spacing:1.4px;color:var(--muted);padding:19px 12px 11px}.sidebar nav{overflow:auto}.nav-item,.nav-new{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:12px;margin-bottom:4px;font-size:13px}.nav-item.active{background:#efe3d5;color:var(--primary);font-weight:650}.nav-new{background:var(--primary);color:var(--on-primary);margin:10px 0 17px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.sidebar-bottom strong,.sidebar-bottom small{display:block;font-size:11px}.avatar{background:#ead9cb;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.exit{padding:8px 0;border:0;background:none;font-size:11px;color:var(--muted)}.workspace{margin-left:242px;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:var(--surface)}.topbar>strong{font-weight:500}.topbar>div{display:flex;align-items:center;gap:22px}.topbar a{font-size:12px}.demo-label{font-size:9px;letter-spacing:1.3px;border:1px solid var(--line);padding:7px 10px;border-radius:4px}.mobile-toggle{display:none}.preview-warning{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 32px;background:#eee0ce;border-bottom:1px solid #ddc8b2;font-size:11px;color:#5d4837}.preview-warning strong{font-size:11px}.preview-warning>span:nth-child(2){flex:1;min-width:240px}.timer{font-variant-numeric:tabular-nums;white-space:nowrap}.timer b{font-size:14px;margin-left:6px}.demo-actions{display:flex;justify-content:space-between;align-items:center;padding:19px 32px 0;gap:12px;font-size:11px;color:var(--muted)}.demo-actions>div{display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:#87664e;border-radius:50%}.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:550}.primary:hover,.nav-new:hover{background:var(--primary);filter:brightness(.92);color:var(--on-primary)}.secondary{border-color:#ad9e91;background:transparent}.small{font-size:11px;padding:8px 12px}main{padding:30px 32px 45px;max-width:1700px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:8px 0 25px}.heading p{font-size:13px;color:var(--muted);margin-bottom:0}.eyebrow{display:block;letter-spacing:1.8px;font-size:9px;color:var(--muted);margin-bottom:12px}.calendar,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.segments{display:flex;background:#f1e9df;border-radius:5px;padding:3px;gap:2px}.segments button,.plan-tabs button{border:0;background:transparent;font-size:12px;padding:8px 12px}.segments .selected,.plan-tabs .selected{background:var(--surface);box-shadow:0 1px 2px #42362f12;color:var(--primary);font-weight:650}.period-control{display:flex;align-items:center;gap:10px;margin-right:auto}.period-control strong{font-size:13px;text-transform:capitalize;min-width:110px;text-align:center}.period-control button{padding:5px 9px;font-size:12px}.calendar-toolbar select,.calendar-toolbar input{font-size:11px;max-width:180px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-name{padding:12px 9px;font-size:10px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line)}.day{min-height:148px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;position:relative}.day:nth-child(7n){border-right:0}.day.outside{background:#f4f0e9}.day.closed{background:#f2ebe2}.day-number{border:0;background:none;padding:3px 7px;margin-bottom:7px;font-size:11px;line-height:20px}.today .day-number{background:var(--primary);color:var(--on-primary);border-radius:50%}.event{width:100%;text-align:left;padding:6px 7px;border-radius:4px;border:0;border-left:3px solid var(--primary);background:#eee1d3;display:block;font-size:10px;line-height:1.35;margin-bottom:5px;overflow:hidden}.event b,.event span,.event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event b{font-weight:600}.event small{font-size:9px;margin-top:2px}.event.completed{border-color:#728064;background:#e5e8dc}.day-empty{display:block;font-size:9px;color:#95897f;margin:6px 0 18px}.cell-create,.more{border:0;background:transparent;padding:5px 2px;font-size:9px;color:var(--muted)}.cell-create:hover,.more:hover{color:var(--primary);background:transparent}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));overflow:auto}.week-day{padding:14px 10px;min-height:400px;border-right:1px solid var(--line)}.week-day h3{font-size:12px}.week-day h3 small{display:block;font-weight:400;margin-top:5px}.empty-small{font-size:12px;color:var(--muted);padding:14px 0}.daily-scroll{overflow:auto;padding:0 15px 15px}.daily{display:grid;min-width:700px}.daily-head{padding:12px;border-bottom:1px solid var(--line);font-size:12px}.daily-head small{display:block}.daily-column{position:relative;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 65px,var(--line) 66px)}.hours{position:relative;font-size:10px;color:var(--muted)}.hours span{position:absolute;left:5px}.daily-event{position:absolute;left:4px;right:4px;overflow:hidden}.daily-event .event{height:100%}.calendar>.help{padding:15px 20px 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric{border:1px solid var(--line);border-radius:7px;padding:22px;background:var(--surface)}.metric>span{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:29px;letter-spacing:-.8px;font-weight:600;margin:14px 0 8px}.metric small{font-size:10px;display:block}.panel{padding:24px;margin-bottom:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.panel-heading h2{margin:0}.panel-heading>span{font-size:11px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{font-weight:500;color:var(--muted);font-size:10px;background:#f5eee5}td,th{padding:14px 12px;border-bottom:1px solid var(--line)}td strong{font-weight:550}td small{display:block;font-size:10px;margin-top:4px}.badge{display:inline-block;font-size:10px;padding:5px 9px;border-radius:4px;background:#eee5da;color:#6e5a48}.badge.completed{background:#e6eadf;color:#4a5c39}.badge.cancelled{background:#f1ded6;color:#8c422e}.text-button{border:0;color:var(--primary);background:transparent;padding:7px;font-size:11px}.empty{text-align:center;padding:50px 20px}.empty>div:first-child{display:inline-flex;border:1px solid var(--line);padding:16px;border-radius:50%;margin-bottom:18px}.empty h3{font-size:17px}.empty p{font-size:12px;color:var(--muted);max-width:380px;margin:0 auto 20px}.empty button{margin:4px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.filters{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}.filters label{min-width:170px;max-width:260px;flex:1}.plan-tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}.plan-tabs span{margin-left:auto;font-size:10px;color:var(--muted)}.plan-tabs .selected{background:var(--primary);color:var(--on-primary);box-shadow:none}.bars>div{display:grid;grid-template-columns:125px 1fr 25px;gap:12px;align-items:center;margin:19px 0;font-size:11px}.bars i{display:block;height:8px;background:#efe5d9;border-radius:2px;overflow:hidden}.bars b{display:block;height:100%;background:var(--primary);min-width:0}.bars strong{text-align:right;font-size:11px}.definitions{font-size:12px;padding:20px 0;color:var(--muted)}.definitions summary{cursor:pointer;color:var(--ink);margin-bottom:10px}.definitions p{max-width:950px}label{display:block;font-size:12px;font-weight:500}input,select{display:block;width:100%;border:1px solid #cdbdad;border-radius:5px;padding:10px;background:var(--surface);color:var(--ink);margin-top:7px;min-height:39px}input[type=color]{padding:3px;height:42px}form>label,form>.form-row,fieldset{margin-bottom:18px}.form-row{display:flex;gap:15px}.form-row>label{flex:1;min-width:0}fieldset{border:1px solid var(--line);border-radius:5px;padding:12px}legend{font-size:11px;color:var(--muted);padding:0 5px}.weekday-checks{display:flex;flex-wrap:wrap;gap:12px}.weekday-checks label{display:flex;align-items:center;font-size:10px;gap:5px}.weekday-checks input{width:14px;height:14px;min-height:0;margin:0;accent-color:var(--primary)}.note{background:#efe5d9;padding:14px;font-size:11px;line-height:1.7;border-radius:5px}.form-error{font-size:12px;color:#9b3426;min-height:10px}.form-error:empty{margin:0;min-height:0}dialog{width:min(570px,calc(100% - 30px));border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:28px;max-height:90dvh;box-shadow:0 22px 90px #42362f25}dialog::backdrop{background:#30251f70}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:15px}.dialog-heading h2{font-size:23px;letter-spacing:-.5px;margin:0}.dialog-heading .eyebrow{margin-bottom:8px}.close{padding:0;border:0;background:none;font-size:27px;line-height:1}.dialog-status{display:flex;gap:12px;align-items:center;margin-bottom:20px;font-size:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.danger-actions{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.danger{color:#943c2b;background:transparent;border-color:#d9ad9f;font-size:11px}.inline-customer{padding:12px;background:#f1e6d8;margin-bottom:20px;border-radius:5px}.inline-customer button{margin-top:10px}footer{border-top:1px solid var(--line);padding:22px 32px;color:var(--muted);font-size:10px;line-height:1.8}footer a{float:right}.ended{display:flex;min-height:100dvh;max-width:650px;text-align:center;flex-direction:column;align-items:center;justify-content:center;gap:15px}.ended-mark svg{width:70px;height:70px}.ended h1{font-size:35px}.ended p{color:var(--muted)}.ended a{font-size:12px}.ended .eyebrow{margin-top:10px}#toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%) translateY(30px);background:#42362F;color:#fffaf3;padding:15px 22px;border-radius:7px;box-shadow:0 6px 25px #42362f22;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;max-width:calc(100% - 30px);font-size:12px}#toast.show{opacity:1;transform:translateX(-50%)}#toast.error{background:#843d2d}@media(min-width:1600px){.day{min-height:180px}.event{font-size:11px}}@media(max-width:1200px){.sidebar{width:205px;padding-inline:12px}.workspace{margin-left:205px}.topbar,.preview-warning{padding-inline:22px}main{padding:25px 22px}.demo-actions{padding-inline:22px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:25px}.day{padding:5px;min-height:132px}.event{padding:5px;font-size:9px}.event small{display:none}.calendar-toolbar{gap:10px}.calendar-toolbar select{max-width:140px}.topbar>div{gap:12px}.demo-label{font-size:8px}.bars>div{grid-template-columns:100px 1fr 24px}}@media(max-width:900px){.sidebar{display:none;width:240px;box-shadow:10px 0 50px #42362f30}.sidebar.open{display:flex}.workspace{margin-left:0}.mobile-toggle{display:block;border:0;padding:5px;background:transparent;font-size:22px;margin-right:10px}.topbar{height:62px;justify-content:flex-start}.topbar>div{margin-left:auto}.topbar .demo-label{display:none}.heading h1{font-size:27px}.heading{align-items:flex-start}.metrics{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.calendar{overflow:auto}.month-grid{min-width:680px}.calendar-toolbar{min-width:680px}.week-grid{min-width:890px}.plan-tabs span{max-width:170px;text-align:right}#toast{left:50%}.preview-warning>span:nth-child(2){min-width:250px}.day{min-height:150px}}@media(max-width:560px){.topbar{padding-inline:16px}.topbar>strong{font-size:12px}.topbar a{font-size:10px}.preview-warning{padding:12px 16px;gap:5px}.preview-warning strong{width:100%}.preview-warning>span:nth-child(2){flex-basis:75%;min-width:0;line-height:1.6}.timer{font-size:9px}.timer b{display:block;font-size:16px;margin:3px 0 0;text-align:right}.demo-actions{padding:15px 16px 0;flex-wrap:wrap;gap:10px}.demo-actions>div:last-child{width:100%}.demo-actions .small{flex:1;padding:10px 6px}main{padding:26px 16px}.heading{flex-direction:column;gap:14px;margin-bottom:20px}.heading h1{font-size:28px}.heading p{font-size:12px}.heading>.primary{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.3px}.metric{padding:16px 13px}.metric strong{font-size:25px}.metric small{font-size:9px}.metric>span{font-size:10px}.panel{padding:18px}.panel h2{font-size:16px}.filters{gap:10px}.filters label{min-width:calc(50% - 10px)}.filters label:first-child{max-width:none;flex-basis:100%}.plan-tabs span{display:none}.bars>div{grid-template-columns:110px 1fr 24px}.form-row{gap:12px}.dialog-heading h2{font-size:21px}dialog{padding:22px}.dialog-actions button{font-size:12px}.table-scroll{margin-inline:-5px}footer{padding:18px 16px}footer a{float:none;display:block;margin-top:6px}#toast{width:calc(100% - 30px);bottom:15px}.ended h1{font-size:29px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* Analytics workspace */
.analysis-controls{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:15px}.analysis-controls .plan-tabs{border:0;margin:0;padding:0}.analysis-controls>label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.analysis-controls select{margin:0;width:200px;font-size:11px}.analytics-nav{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);gap:3px;margin:0 0 23px;padding-bottom:12px}.analytics-nav button{border:0;background:transparent;font-size:12px;padding:11px 13px;color:var(--muted)}.analytics-nav .selected{background:#e8d8c7;color:#42362F;font-weight:650}.analysis-period{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:23px}.analysis-period>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.analysis-period>strong{font-size:11px;font-weight:500}.analysis-period>small{flex-basis:100%;font-size:10px}.widget-picker{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:15px 18px;margin-bottom:20px}.widget-picker summary{cursor:pointer;font-size:12px;font-weight:550}.widget-picker summary span{font-size:10px;color:var(--muted);font-weight:400;margin-left:10px}.widget-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:22px 0 12px}.widget-picker label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:400;cursor:pointer}.widget-picker input{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:var(--primary)}.widget-picker .help{font-size:10px;margin:7px 0 0}.analysis-upgrade{padding:17px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:2}.analysis-upgrade button{border:0;background:none;color:var(--primary);font-weight:650;padding:0 8px;font-size:11px}.ranking-controls{display:flex;gap:6px;margin:0 0 20px}.ranking-controls button{font-size:11px}.ranking-controls .selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.panel td button{background:none;border:0;padding:4px 0;font-size:12px;color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-align:left}.insight-list{list-style:none;padding:0;margin:0}.insight-list li{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:20px;align-items:flex-start;font-size:12px;line-height:1.7}.insight-list strong{min-width:110px;font-weight:600}.insight-list span{color:var(--muted)}.reactivation-control{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 20px}.reactivation-control h2{margin-bottom:7px}.reactivation-control p{font-size:12px;color:var(--muted);margin:0}.reactivation-control label{min-width:160px}.filters>.secondary{align-self:flex-end;height:39px}.filters label{max-width:none}.filters input,.filters select{min-width:0}@media(max-width:900px){.widget-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-nav button{padding:10px;font-size:11px}.analysis-controls{flex-wrap:wrap}.analysis-controls>label{margin-left:auto}}@media(max-width:560px){.analysis-controls>label{margin:0;justify-content:space-between;width:100%}.analysis-controls select{width:190px}.analytics-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-bottom:15px}.analytics-nav button{text-align:left;padding:12px;font-size:11px;background:#efe5d9;border-radius:5px}.analytics-nav .selected{background:#ddc5b0;color:#42362F}.analytics-nav button:last-child{grid-column:1/-1}.analysis-period{gap:8px}.analysis-period>span{flex-basis:100%}.widget-picker{padding:14px}.widget-picker summary span{display:block;margin:7px 0 0 15px}.widget-picker>div{gap:16px 10px}.widget-picker label{font-size:10px}.reactivation-control{flex-direction:column;align-items:stretch}.reactivation-control label{max-width:200px}.insight-list li{flex-direction:column;gap:4px}.ranking-controls button{flex:1}.filters>.secondary{flex-basis:100%}.analysis-upgrade button{display:block;padding:0}}
/* Catalogues and team settings */
.catalog-search{display:flex;gap:10px;align-items:flex-end;margin:20px 0}.catalog-search label{flex:1}.catalog-search button{height:40px;font-size:12px}.service-categories{display:flex;flex-wrap:wrap;gap:7px;padding:10px 0 22px}.service-categories button{padding:9px 13px;font-size:11px;background:transparent}.service-categories .selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.skill-tags{display:flex;flex-wrap:wrap;gap:5px;max-width:340px;min-width:170px;white-space:normal}.skill-tags span{display:inline-block;font-size:10px;padding:4px 7px;background:#eee3d6;border-radius:4px;line-height:1.4}.check-line{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;font-weight:400;padding:9px 0;cursor:pointer}.check-line input{flex:none;width:17px;height:17px;min-height:0;margin:2px 0 0;accent-color:var(--primary)}.check-line small{display:block;font-size:10px;margin-top:3px}.professional-skills{max-height:340px;overflow:auto;padding:15px;margin-top:20px}.professional-skills h3{margin:18px 0 5px;font-size:11px;color:var(--muted);letter-spacing:.4px}.professional-skills .help{font-size:11px}.keep-history{border:1px solid var(--line);padding:16px;background:#f1e8dd;border-radius:6px;margin:20px 0}.history-warning{border:1px solid #c47c65;border-left:4px solid #a44730;padding:17px;background:#fae7de;border-radius:5px;color:#763322;font-size:12px}.history-warning[hidden]{display:none}.history-warning p{margin:9px 0 14px;font-size:11px}.history-warning input{background:#fffcf7}.required-label,.optional-label{color:var(--muted);font-size:10px;font-weight:400;margin-left:5px}.inline-customer label{margin-bottom:12px}.panel td .danger{color:#943c2b}.panel td:last-child{white-space:normal;min-width:130px}.panel td .text-button{display:block;margin:4px 0}.professional-skills .check-line{padding:7px 0}@media(max-width:560px){.catalog-search{flex-wrap:wrap}.catalog-search label{flex-basis:100%}.catalog-search button{flex:1}.service-categories{gap:5px}.service-categories button{padding:9px 10px;font-size:10px}.professional-skills{max-height:300px}.keep-history{padding:12px}.history-warning{padding:13px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{white-space:normal}.catalog-search input{font-size:14px}}
.receipt-panel{padding:16px;border:1px solid var(--line);background:#f3e9dc;border-radius:6px;margin:20px 0}.receipt-panel h3{margin-bottom:8px}.receipt-panel p{font-size:11px;margin-bottom:10px}.receipt-panel>div{display:flex;gap:8px;flex-wrap:wrap}.receipt-panel button{font-size:11px}.note p:last-child{margin-bottom:0}@media(max-width:560px){.analytics-nav button:last-child{grid-column:auto}.receipt-panel{padding:13px}}
.heatmap-scroll{overflow:auto}.heatmap{min-width:700px;table-layout:fixed;border-collapse:separate;border-spacing:5px}.heatmap caption{caption-side:bottom;text-align:left;color:var(--muted);padding:10px;font-size:10px;white-space:normal;line-height:1.6}.heatmap td,.heatmap th{padding:0;border:0;text-align:center;background:transparent}.heatmap th{font-size:10px;padding:7px}.heatmap td button{width:100%;padding:12px 5px;color:#42362F;border:1px solid transparent;font-size:12px;text-align:center;text-decoration:none;border-radius:4px}.heatmap td button:hover{border-color:#a6533c}.heatmap td button small{font-size:9px;display:block;color:#544339;margin-top:4px}.heat-na{display:block;font-size:9px;color:var(--muted);padding:12px 4px;background:#f2ece4;border-radius:4px}.heat-dates{display:flex;gap:9px;flex-wrap:wrap}.heat-dates button{font-size:12px}.reactivation-options{display:flex;gap:12px}.reactivation-options label{font-size:11px;min-width:140px}textarea{font:inherit;display:block;width:100%;padding:12px;margin-top:9px;background:var(--surface);color:var(--ink);border:1px solid #cdbdad;border-radius:5px;line-height:1.6;resize:vertical}textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:700px){.reactivation-options{width:100%;flex-wrap:wrap}.reactivation-options label{flex:1;min-width:130px}.heatmap{min-width:660px}}
.server-pending::after{content:'Salvando na demonstração…';position:fixed;right:18px;bottom:18px;padding:11px 15px;background:#42362F;color:#fffaf3;font-size:12px;border-radius:5px;z-index:150}.server-pending button[type=submit]{cursor:wait;opacity:.6}

.highlights-panel{margin-bottom:22px}.highlights-panel>h2{font-size:15px;margin:0 0 12px}.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.highlight{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:7px;padding:15px 17px;display:flex;flex-direction:column;gap:8px}.highlight>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.highlight>p{margin:0;font-size:13px;line-height:1.55;color:var(--ink)}.highlight strong{font-weight:600}.highlight .link-button{align-self:flex-start;margin-top:auto;background:none;border:0;padding:0;color:var(--primary);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.pay-options{border:1px solid var(--line);border-radius:7px;padding:12px 14px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 18px}.pay-options legend{padding:0 6px;font-size:13px;font-weight:600}.pay-options label{display:flex;align-items:center;gap:7px;font-size:14px;margin:0}.pay-options input{width:auto;margin:0}.metric .link-button{background:none;border:0;padding:0;color:var(--primary);font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.event.unpaid{border-left-color:#9a5f12;background:#f6e7c8;color:#5f3f0c}.pay-flag{display:inline-block;margin-top:3px;font-style:normal;font-size:9px;font-weight:600;letter-spacing:.3px;background:#9a5f12;color:#fff;border-radius:3px;padding:1px 5px}.badge.unpaid{background:#f6e7c8;color:#6f4a0e;margin-left:6px}.receipt-panel.due{border:1px solid #d9a95a;background:#fbf1de}
.calendar-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--muted);margin:0 0 12px}.calendar-legend .lg{display:inline-flex;align-items:center;gap:6px}.calendar-legend .lg:before{content:'';width:12px;height:12px;border-radius:3px;border-left:3px solid var(--primary);background:#eee1d3}.calendar-legend .lg.completed:before{border-color:#728064;background:#e5e8dc}.calendar-legend .lg.unpaid:before{border-color:#9a5f12;background:#f6e7c8}.calendar-legend .lg.cancelled:before{border-color:#8c422e;background:#f1ded6}

/* ---- Client booking page (mobile first; terracotta = the salon's primary color) ---- */
.pb-demo-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:center;background:#2c231e;color:#f3e8de;font-size:12px;padding:8px 14px;text-align:center}
.pb-demo-bar button{background:transparent;border:1px solid #8a7466;color:#fff;border-radius:4px;padding:5px 10px;font-size:12px}
.pb{--pb:#984C36;min-height:calc(100vh - 40px);background:var(--bg);padding:0 0 28px;display:flex;flex-direction:column;align-items:center}
.pb-card{width:100%;max-width:460px;background:var(--surface);padding:0 0 22px;box-shadow:0 10px 30px rgba(66,54,47,.08)}
.pb button{font-family:inherit;cursor:pointer}
.pb-pad,.pb-card>.pb-top~*{margin-left:18px;margin-right:18px}
.pb-card>.pb-top{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}
.pb-top b{font-size:14px}
.pb-logo{width:30px;height:30px;border-radius:50%;background:var(--pb);color:#fff;display:inline-grid;place-items:center;font-family:Georgia,serif;font-style:italic;font-size:16px;object-fit:cover;flex:none}
.pb-cover{height:170px;background:#2c231e center/cover no-repeat;position:relative}
.pb-cover .pb-logo{position:absolute;left:18px;bottom:-24px;width:54px;height:54px;font-size:27px;border:4px solid var(--surface)}
.pb-pad{padding-top:34px}
.pb-name,.pb-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.01em;color:var(--ink)}
.pb-name{font-size:27px;line-height:1.1}
.pb-info{font-size:13px;color:var(--muted);margin-top:4px}
.pb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 6px}
.pb-chips button{border:1px solid var(--line);background:transparent;border-radius:3px;padding:6px 12px;font-size:13px;color:var(--muted)}
.pb-chips button.on{background:var(--pb);border-color:var(--pb);color:#fff}
.pb-services{list-style:none;margin:0;padding:0}
.pb-services li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.pb-services b{display:block;font-size:15px}
.pb-services small{font-size:13px;color:var(--muted)}
.pb-primary{background:var(--pb);border:1px solid var(--pb);color:#fff;border-radius:3px;padding:9px 16px;font-weight:600;font-size:14px}
.pb-primary:disabled{opacity:.45;cursor:not-allowed}
.pb-block{display:block;width:100%;margin-top:14px}
.pb-eyebrow{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--pb);margin-top:18px}
.pb-title{font-size:25px;margin-top:3px}
.pb-center{text-align:center}
.pb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
.pb-steps span{border-top:3px solid var(--line);padding-top:5px;font-size:11px;color:var(--muted);line-height:1.25}
.pb-steps span.done{border-color:var(--pb);color:var(--ink)}
.pb-steps span.now{border-color:var(--pb);color:var(--ink);font-weight:700}
.pb-svc{margin-top:14px;border:1px solid var(--line);border-radius:4px;padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.pb-svc b{font-family:Georgia,serif;font-weight:400;font-size:17px;color:var(--ink)}
.pb-q{display:block;font-size:13px;font-weight:700;margin:16px 0 7px}
.pb-who{position:relative;background:var(--pb);color:#fff;border-radius:4px;padding:9px 12px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.pb-who small{display:block;font-size:11px;font-weight:400;opacity:.85}
.pb-who .pb-init{width:30px;height:30px;border-radius:50%;background:var(--surface);color:var(--pb);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.pb-who:after{content:"⌄";margin-left:auto;font-size:16px}
.pb-who select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer;font-size:16px}
.pb-cal{border:1px solid var(--line);border-radius:4px;padding:10px;background:#fff}
.pb-cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pb-cal-h b{font-family:Georgia,serif;font-weight:400;font-size:17px}
.pb-cal-h button{border:1px solid var(--line);background:#fff;border-radius:3px;width:30px;height:30px;margin-left:4px;padding:0}
.pb-cal-h button:disabled{opacity:.35;cursor:not-allowed}
.pb-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.pb-cal-g em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted);padding:2px 0}
.pb-cal-g i,.pb-cal-g button{font-style:normal;font-size:13px;height:34px;display:grid;place-items:center;border-radius:3px}
.pb-cal-g button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0}
.pb-cal-g button.on{background:var(--pb);border-color:var(--pb);color:#fff;font-weight:700}
.pb-cal-g i.off{color:#cdbfb4;background:#f4eee8}
.pb-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pb-times button{border:1px solid var(--line);background:#fff;border-radius:3px;padding:9px 0;font-size:14px;color:var(--ink)}
.pb-times button.on{background:var(--pb);border-color:var(--pb);color:#fff;font-weight:700}
.pb-help{font-size:12.5px;color:var(--muted);margin-top:8px}
.pb-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}
.pb-actions>button:first-child{background:transparent;border:0;color:var(--pb);padding:8px 0;font-size:14px}
.pb-summary{margin-top:16px;border:1px solid var(--line);border-radius:4px;background:#f6ece2;padding:12px 14px}
.pb-summary h3{font-size:14px;padding-bottom:8px;border-bottom:1px solid var(--line);margin:0 0 8px}
.pb-summary>b{font-size:15px}
.pb-summary p{font-size:13px;color:var(--muted);margin-top:2px}
.pb-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:4px 0}
.pb-row span{color:var(--muted)}
.pb-form{margin-top:14px}
.pb-form label{display:block;font-size:13px;font-weight:700;margin-top:12px}
.pb-form input:not([type=checkbox]){display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:3px;padding:11px 12px;font-size:16px;background:#fff;color:var(--ink);box-sizing:border-box}
.pb-form .pb-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:13px}
.pb-form .pb-check input{margin-top:2px;width:17px;height:17px;accent-color:var(--pb)}
.pb-ok{margin:24px auto 10px;width:74px;height:74px;border-radius:50%;background:color-mix(in srgb,var(--pb) 18%,#fff);display:grid;place-items:center}
.pb-ok i{width:50px;height:50px;border-radius:50%;background:var(--pb);color:#fff;display:grid;place-items:center;font-style:normal;font-size:26px;font-weight:700}
.pb-sub{text-align:center;font-size:14px;color:var(--muted);margin-top:4px}
.pb-ghost{display:block;width:100%;box-sizing:border-box;text-align:center;margin-top:10px;border:1px solid var(--pb);color:var(--pb);background:transparent;border-radius:3px;padding:11px;font-weight:600;font-size:14px;text-decoration:none}
.pb-danger{display:block;width:100%;margin-top:10px;background:#8c2f20;border:1px solid #8c2f20;color:#fff;border-radius:3px;padding:11px;font-weight:600}
.pb-link{background:transparent;border:0;color:var(--pb);font-weight:600;padding:8px 0;font-size:14px;display:block;margin:10px auto 0}
.pb-warn{margin-top:16px;border:1px solid #e3b9a9;background:#fbeee8;border-radius:4px;padding:12px}
.pb-warn p{font-size:13.5px;margin:0}
.pb-demo-next{margin-top:22px;padding-top:14px;border-top:1px dashed var(--line);text-align:center}
.pb-demo-next p{font-size:12.5px;color:var(--muted);margin:0}
.pb-empty{color:var(--muted);font-size:13px}
.pb-powered{font-size:11px;color:var(--muted);margin-top:14px;letter-spacing:.06em}
@media(min-width:700px){.pb{padding-top:28px}.pb-card{border-radius:10px;overflow:hidden}}

/* Agenda: bookings made by the client online */
.src-flag{display:inline-block;margin:3px 4px 0 0;font-style:normal;font-size:9px;font-weight:600;letter-spacing:.3px;background:#2c231e;color:#fff;border-radius:3px;padding:1px 5px}
.badge.online{background:#2c231e;color:#fff;margin-left:6px}

/* Settings: brand images and share tools */
.brand-images{align-items:flex-start;margin-top:10px}
.brand-image{display:flex;flex-direction:column;gap:6px;font-size:13px}
.brand-image img{border:1px solid var(--line);border-radius:6px;object-fit:cover;background:#fff}
.brand-image img.logo{width:64px;height:64px;border-radius:50%}
.brand-image img.cover{width:180px;height:75px}
.file-btn{position:relative;display:inline-block;overflow:hidden;cursor:pointer;border:1px solid #ad9e91;border-radius:6px;padding:7px 12px;font-size:13px}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.link-button{background:transparent;border:0;color:var(--primary);text-decoration:underline;padding:2px 0;font-size:12px;cursor:pointer;align-self:flex-start}
.share-panel{margin-top:20px}
.share-grid{display:grid;grid-template-columns:170px 1fr;gap:22px;margin-top:12px;align-items:start}
.share-qr{display:flex;flex-direction:column;gap:8px;align-items:center}
.share-qr svg{width:160px;height:160px;border:1px solid var(--line);border-radius:8px;background:#fff}
.share-qr a{font-size:12px;border:1px solid #ad9e91;border-radius:6px;padding:6px 10px;text-decoration:none;color:var(--ink)}
.share-fields label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}
.share-fields input,.share-fields textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;font:12px ui-monospace,Consolas,monospace;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);resize:vertical}
.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 14px}
@media(max-width:700px){.share-grid{grid-template-columns:1fr}}
.pb-card>.pb-ghost,.pb-card>.pb-danger,.pb-card>.pb-block{width:calc(100% - 36px)}
.pb-warn .pb-ghost,.pb-warn .pb-danger{width:100%;margin-left:0;margin-right:0}

/* Plans: PRO tag on Profissional-only tabs, locked panel and comparison table */
.pro-tag{display:inline-block;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.08em;background:#42362F;color:#fff;border-radius:3px;padding:1px 5px;margin-left:4px;vertical-align:1px}
.panel.locked{border-style:dashed;text-align:left}
.panel.locked .pro-tag{margin:0 0 10px}
.panel.locked h2{margin-bottom:6px}
.panel.locked p{max-width:620px}
.analysis-controls .link-button{margin-left:auto}
.plan-compare{max-height:62vh;overflow:auto}
.plan-compare table{width:100%;border-collapse:collapse;font-size:13px}
.plan-compare th,.plan-compare td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.plan-compare thead th{position:sticky;top:0;background:var(--surface);font-size:13px}
.plan-compare thead small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.plan-compare tbody th{font-weight:400}
.plan-compare td{width:26%;text-align:center}
.plan-compare .pl-group th{background:#f6ece2;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pl-yes{color:#2f6b3f;font-weight:700;font-size:15px}
.pl-no{color:#b9aca2}
.pl-txt{font-size:12px}
#editor:has(.plan-compare){width:min(780px,94vw);max-width:94vw}
.plan-compare{overflow-x:hidden}
.plan-compare table{table-layout:fixed}
.plan-compare th,.plan-compare td{white-space:normal;word-break:normal;overflow-wrap:anywhere}
.plan-compare thead th:first-child,.plan-compare tbody th{width:48%}

/* ---- Standard buttons: primary terracotta, secondary light with a soft terracotta border, selected = terracotta ---- */
.secondary{background:var(--surface);border:1px solid #d6b8a6;color:var(--ink)}
.secondary:hover{border-color:var(--primary);color:var(--primary)}
.segments{background:var(--surface);border:1px solid #d6b8a6;padding:2px}
.segments button{border-radius:4px}
.segments .selected,.plan-tabs .selected{background:var(--primary);color:var(--on-primary);box-shadow:none}
.analytics-nav .selected{background:var(--primary);color:var(--on-primary)}
.analytics-nav .selected .pro-tag{background:#fff;color:var(--primary)}
.day-count,.daily-list{display:none}

/* ---- Phones: agenda without horizontal scrolling ---- */
@media(max-width:700px){
 .calendar{overflow:visible}
 .calendar-toolbar,.month-grid,.week-grid{min-width:0!important}
 .calendar-legend{margin:12px 14px 0;gap:4px 12px;font-size:11px}
 .calendar-toolbar{padding:12px 14px;gap:8px}
 .calendar-toolbar>button[data-page="services"]{display:none}
 .calendar-toolbar .segments{order:1;width:100%}
 .calendar-toolbar .segments button{flex:1}
 .calendar-toolbar .period-control{order:2;width:100%;margin:0;justify-content:space-between}
 .calendar-toolbar #professional,.calendar-toolbar #calendar-date{order:3;flex:1 1 140px;min-width:0}
 .month-grid .day-name{font-size:10px;padding:6px 0;text-align:center}
 .month-grid .day{min-height:56px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;gap:3px}
 .month-grid .day .event,.month-grid .day .more,.month-grid .day .day-empty,.month-grid .day .cell-create{display:none}
 .month-grid .day-number{margin:0;padding:2px 6px}
 .month-grid .day.closed{background:#f4eee8}
 .month-grid .day.closed .day-number{color:#b9aca2}
 .day-count{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border:0;border-radius:9px;background:#e6d3c4;color:var(--ink);font-size:10px;font-weight:700}
 .day-count.due{background:#f6e7c8;color:#6f4a0e;box-shadow:inset 0 0 0 1px #d9a95a}
 .week-grid{grid-template-columns:1fr}
 .week-day{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:12px 14px}
 .daily-scroll{display:none}
 .daily-list{display:flex;flex-direction:column;gap:6px;padding:0 14px 14px}
 .daily-list .event{font-size:13px;padding:10px 12px}
 .analytics-nav button{background:var(--surface);border:1px solid var(--line)}
 .analytics-nav .selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
}
@media(max-width:700px){.daily-list .event small{display:block;opacity:.8;margin-top:2px}}

/* Legend sits under the toolbar, inside the panel padding */
.calendar .calendar-legend{margin:0;padding:10px 18px;border-bottom:1px solid var(--line);background:#fbf7f2}
.calendar-toolbar{padding:16px 18px;gap:12px}
@media(max-width:700px){.calendar .calendar-legend{margin:0;padding:8px 14px}.calendar-toolbar{padding:12px 14px;gap:8px}}
@media(min-width:701px){.calendar-toolbar select,.calendar-toolbar input[type=date]{width:auto;flex:0 0 auto;max-width:170px}}


/* Real booking flow with two demo presentation styles. Custom client covers take priority. */
.pb-segment-picker{display:flex;gap:4px;padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.pb-segment-picker button{flex:1;min-height:44px;font-size:12px;padding:9px 12px;border-radius:22px;white-space:nowrap}.pb-segment-picker button[aria-pressed=true]{background:var(--pb);color:var(--on-primary)}.pb-cover{height:280px}.pb-scene{width:100%;height:100%;display:block;object-fit:cover}.pb-service-photo{width:61px;height:76px;flex:0 0 61px;border-radius:4px;overflow:hidden}.pb-service-text{flex:1;min-width:0}.pb-services .pb-primary{font-size:12px;padding:11px 14px;min-height:44px}.pb-services li{gap:12px;padding:17px 0}.pb-demo-bar{gap:12px;flex-wrap:wrap}.pb-scene image{pointer-events:none}@media(max-width:380px){.pb-service-photo{width:44px;height:60px;flex-basis:44px}.pb-services li{gap:8px}.pb-services .pb-primary{padding:10px}.pb-cover{height:240px}}@media(prefers-reduced-motion:reduce){.pb *{transition:none!important}}


/* Keep faces at the top visible when a portrait is used in a wide booking cover. */
.pb-cover:has(.pb-scene){background-image:none!important;height:clamp(290px,76vw,350px)}
.pb-cover .pb-scene{object-position:center top}
.pb-catalog-title{font-weight:600;color:var(--ink);margin:22px 0 0;font-size:14px}
.pb-chips:empty{display:none}
@media(max-width:380px){.pb-cover:has(.pb-scene){height:290px}}

