:root{--primary:#a65a4a;--primary-hover:#94513f;--primary-tint:#f6efec;--on-primary:#fff;--accent:#4a6b6b;--ground:#faf7f4;--surface:#fff;--ink:#24201e;--ink-soft:#6b625c;--rule:#e4dcd4;--font-display:Georgia, serif;--font-body:system-ui, -apple-system, sans-serif;--step:.75rem;--radius:6px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;--danger:#b3261e;--danger-tint:#fdf2f1;--keep:#2f6b4f;--keep-hover:#26583f}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}.page{max-width:34rem;margin:0 auto;padding:2.75rem 1.15rem 4rem}.stack{gap:var(--step);flex-direction:column;display:flex}.stack-lg{flex-direction:column;gap:2.25rem;display:flex}.stack-sm{flex-direction:column;gap:.5rem;min-width:0;display:flex}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:400}h1{color:var(--primary);font-size:clamp(1.9rem,6vw,2.5rem);line-height:1.1}h2{font-size:1.25rem}.lede{color:var(--ink-soft);margin:.75rem 0 0}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .45rem;font-size:.7rem;font-weight:600}.salon-hero{aspect-ratio:3/2;background-color:var(--primary-tint);border-radius:var(--radius);background-position:50%;background-size:cover;margin:1.5rem 0}.logo{width:auto;max-width:min(100%,20rem);max-height:128px;margin:0 auto 2rem;display:block}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1rem}a.choice{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);color:inherit;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}a.choice:hover,a.choice:focus-visible{border-color:var(--primary);background:var(--primary-tint)}a.choice strong{font-weight:500}a.choice .meta{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9rem}.times{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.5rem;display:grid}a.time{text-align:center;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:inherit;font-variant-numeric:tabular-nums;padding:.65rem .25rem;text-decoration:none;transition:border-color .12s,background .12s;display:block}a.time:hover,a.time:focus-visible{border-color:var(--primary);background:var(--primary-tint)}.day{color:var(--accent);margin:1.5rem 0 .6rem;font-size:.95rem;font-weight:600}.button{border-radius:var(--radius);background:var(--primary);width:100%;color:var(--on-primary);font:inherit;text-align:center;cursor:pointer;border:0;padding:.85rem 1.2rem;font-weight:600;text-decoration:none;transition:background .12s;display:inline-block}.button:hover,.button:focus-visible{background:var(--primary-hover)}.button[disabled]{opacity:.55;cursor:not-allowed}.back{color:var(--ink-soft);margin:1.75rem 0 1rem;font-size:.9rem;text-decoration:none;display:inline-block}.back:hover{color:var(--primary)}label{margin-bottom:.3rem;font-size:.85rem;font-weight:500;display:block}input,textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);width:100%;color:inherit;font:inherit;padding:.7rem .8rem}input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.hint{color:var(--ink-soft);margin:.3rem 0 0;font-size:.8rem}.notice{background:var(--primary-tint);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem}.notice p{margin:0}.notice p+p{margin-top:.5rem}.empty{color:var(--ink-soft);padding:1.5rem 0}.foot{border-top:1px solid var(--rule);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.2rem;font-size:.8rem;display:flex}.foot a{color:inherit}.by{margin-left:auto}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.calendar{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem}.calendar-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.calendar-head strong{text-transform:capitalize;font-weight:500}.month-step{border-radius:var(--radius);width:2.25rem;height:2.25rem;color:var(--primary);place-items:center;font-size:1.1rem;text-decoration:none;display:grid}.month-step:hover,.month-step:focus-visible{background:var(--primary-tint)}.month-step.is-off{color:var(--rule)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.weekday{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:.35rem;font-size:.7rem;font-weight:600}.day-cell{aspect-ratio:1;border-radius:var(--radius);font-variant-numeric:tabular-nums;color:var(--rule);place-items:center;display:grid}a.day-cell.is-open{color:var(--ink);background:var(--primary-tint);font-weight:500;text-decoration:none}a.day-cell.is-open:hover,a.day-cell.is-open:focus-visible{background:var(--primary);color:var(--on-primary)}.admin{--primary:#a65a4a;--primary-hover:#94513f;--primary-tint:#f6efec;--on-primary:#fff;--ground:#f7f5f3;--surface:#fff;--ink:#211d1b;--ink-soft:#6b625c;--rule:#e3dcd6;--bar:#2b2523;background:var(--ground);min-height:100vh;color:var(--ink)}.admin-bar{background:var(--bar);color:#f2ece8}.admin-bar-inner{flex-wrap:wrap;align-items:center;gap:.3rem 1rem;max-width:60rem;margin:0 auto;padding:.7rem 1.15rem;display:flex}.admin-mark{font-family:var(--font-display);letter-spacing:-.01em;color:inherit;font-size:1.05rem;text-decoration:none}.admin-tabs{flex-wrap:wrap;flex:1;gap:.15rem .9rem;display:flex}.admin-tabs a{color:#cdc3bd;border-bottom:2px solid #0000;padding:.15rem 0;font-size:.9rem;text-decoration:none}.admin-tabs a:hover,.admin-tabs a:focus-visible{color:#fff;border-bottom-color:var(--primary)}.admin-who{align-items:center;gap:1rem;font-size:.85rem;display:flex}.admin-who a{color:#cdc3bd}.admin-main{padding:2rem 1.15rem 5rem}.admin-narrow{max-width:34rem;margin:0 auto}.linkish{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.admin-langs{font-size:.8rem;position:relative}.admin-langs>summary{cursor:pointer;color:#cdc3bd;letter-spacing:.06em;border-radius:3px;padding:.15rem .4rem;font-weight:600;list-style:none}.admin-langs>summary::-webkit-details-marker{display:none}.admin-langs>summary:hover,.admin-langs>summary:focus-visible{color:#fff;background:#ffffff1a}.admin-langs[open]>summary{color:#fff;background:#ffffff24}.admin-langs-menu{z-index:20;border:1px solid var(--rule);background:var(--surface);border-radius:6px;flex-direction:column;min-width:9.5rem;padding:.3rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 6px 20px #24201e2e}.admin-who .admin-langs-menu span,.admin-who .admin-langs-menu .linkish{color:var(--ink);text-align:left;white-space:nowrap;border-radius:4px;padding:.35rem .5rem;font-size:.82rem;display:block}.admin-langs-menu b{opacity:.55;letter-spacing:.06em;min-width:1.9rem;font-weight:600;display:inline-block}.admin-langs-menu span{background:#24201e12}.admin-who .admin-langs-menu .linkish:hover,.admin-who .admin-langs-menu .linkish:focus-visible{color:var(--ink);background:#24201e12}.admin-who .linkish{color:#cdc3bd}.linkish:hover{color:var(--primary)}.next-up{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--primary);border-radius:var(--radius);padding:1rem 1.1rem}.next-time{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--primary);margin:.35rem 0 .4rem;font-size:2.4rem;line-height:1}.next-who{margin:0;font-weight:500}.next-call{font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-top:.5rem;display:inline-block}.slot{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);gap:.9rem;padding:.85rem 1rem;display:flex}.slot.is-off{opacity:.55}.slot-when{font-variant-numeric:tabular-nums;flex-direction:column;min-width:4rem;display:flex}.slot-what{flex:1;min-width:0}.slot-what .meta,.slot-when .meta{color:var(--ink-soft);font-size:.85rem}.slot-what p{margin:.2rem 0 0}.slot-note{color:var(--ink-soft);font-size:.9rem;font-style:italic}.reference{font-variant-numeric:tabular-nums;letter-spacing:.03em}.badge.is-closing{color:var(--seg-missed-edge);background:var(--seg-missed);border-color:var(--seg-missed-edge)}.badge{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--ground);border:1px solid var(--rule);border-radius:999px;align-self:flex-start;margin-left:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.card-form{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1.15rem}.row{flex-wrap:wrap;gap:.9rem;display:flex}.row>div{flex:10rem}.with-unit{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);align-items:stretch;display:flex;overflow:hidden}.with-unit input{border:0;border-radius:0;flex:1;min-width:0}.with-unit input:focus-visible{outline-offset:-2px}.with-unit span{background:var(--ground);border-left:1px solid var(--rule);color:var(--ink-soft);place-items:center;padding:0 .7rem;font-size:.85rem;display:grid}select{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);width:100%;color:inherit;font:inherit;padding:.7rem .8rem}.checkline{align-items:center;gap:.55rem;margin:0;font-weight:400;display:flex}.checkline input{width:auto;margin:0}.button.ghost{color:var(--ink-soft);border:1px solid var(--rule);background:0 0}.button.ghost:hover{background:var(--ground);color:var(--ink)}.row .button{flex:none;width:auto}.error{color:#8c2f22;border-radius:var(--radius);background:#fdf1ee;border:1px solid #f0d3cb;margin:0;padding:.65rem .8rem;font-size:.9rem}.saved{color:#2f5d43;border-radius:var(--radius);background:#eef6f0;border:1px solid #cfe3d6;margin:0;padding:.65rem .8rem;font-size:.9rem}.dev-note{border:1px dashed var(--rule);border-radius:var(--radius);color:var(--ink-soft);margin-top:2.5rem;padding:.9rem 1rem;font-size:.85rem}.dev-note p{margin:0 0 .5rem}.dev-note p:last-child{margin:0}code{background:var(--ground);border-radius:3px;padding:.1rem .3rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.hours{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.hour-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.hour-row+.hour-row{border-top:1px solid var(--rule)}.hour-row .checkline{min-width:8rem}.hour-times{align-items:center;gap:.5rem;display:flex}.hour-times input{font-variant-numeric:tabular-nums;width:auto}.dash{color:var(--ink-soft);font-size:.85rem}a.choice.is-off{opacity:.6}.week-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.week-nav strong{text-align:center;text-transform:capitalize;font-weight:500}.adjusted-preview{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.adjusted-swatch{border-radius:var(--radius);color:#fff;padding:.45rem 1rem;font-size:.9rem;font-weight:500;display:inline-block}.adjusted-preview code{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.85rem}.lock-choice{gap:.75rem}.lock-option{border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.9rem 1rem;display:grid}.lock-option:has(input:checked){border-color:var(--primary);background:var(--primary-tint)}.lock-option input{margin-top:.25rem}.lock-why{color:var(--ink-soft);margin-top:.2rem;font-size:.92rem;display:block}.scope-picker{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.scope-picker a{border:1px solid var(--rule);border-radius:999px;padding:.35rem .8rem;font-size:.9rem;text-decoration:none}.scope-picker a[aria-current=page]{border-color:var(--primary);background:var(--primary-tint);color:var(--ink);font-weight:500}.checkline{align-items:center;gap:.5rem;font-weight:500;display:flex}.consent-on{border-left:3px solid var(--primary);background:var(--primary-tint);border-radius:0 var(--radius) var(--radius) 0;margin:0;padding:.85rem 1rem;font-weight:500}.chair-services{border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.2rem}.chair-services h3{margin:0;font-size:1rem}.chair-services label{font-weight:400}.visits{border-collapse:collapse;width:100%;font-size:.94rem}.visits th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule);white-space:nowrap;padding:0 .75rem .5rem 0;font-size:.78rem;font-weight:500}.visits td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.7rem .75rem .7rem 0}.visits td:first-child,.visits td:nth-child(2){white-space:nowrap;color:var(--ink-soft)}.visits td:nth-child(3){width:100%}.visits tr:last-child td{border-bottom:0}.notready{border-left:3px solid var(--primary);background:var(--primary-tint);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink);margin:0;padding:.85rem 1rem}.notready a{white-space:nowrap;font-weight:500}.notready-soft{border-left-color:var(--rule);background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--rule);color:var(--ink-soft)}.finn{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.finn label{color:var(--ink-soft);flex:1 0 100%;margin-bottom:.1rem;font-size:.8rem}.finn input{font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;flex:1;min-width:0}.finn input::placeholder{letter-spacing:normal;text-transform:none}.button-quiet{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:0 .9rem}.button-quiet:hover{background:color-mix(in srgb, currentColor 6%, transparent)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.week-day{flex-direction:column;gap:.5rem;display:flex}.week-day .day{text-transform:capitalize;margin:1rem 0 0}.week-day.is-today .day{color:var(--primary)}.empty.quiet{padding:.4rem 0 0;font-size:.9rem}.modes{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);gap:2px;display:flex;overflow:hidden}.mode{text-align:center;background:var(--surface);color:var(--ink-soft);flex:1;padding:.55rem .75rem;font-size:.9rem;text-decoration:none}.mode.is-on{background:var(--primary);color:var(--on-primary);font-weight:500}.mode:not(.is-on):hover{background:var(--primary-tint);color:var(--ink)}.hour-row input[type=radio]{width:auto;margin:0}.landing{--gold:#d9a02c;--cyan:#3aaecd;--pink:#e8628c;--coral:#f0902f;--deep:#2b768f;--deep-hover:#245f73;--ink:#211d1b;--ink-soft:#5c534e;--paper-rgb:251 248 244;--paper:rgb(var(--paper-rgb));--rule:#e6ded5;background:var(--paper);color:var(--ink);min-height:100vh}.landing-hero{background: linear-gradient(to bottom, rgb(var(--paper-rgb) / 0) 0%, rgb(var(--paper-rgb) / 0) 45%, rgb(var(--paper-rgb) / .033) 51%, rgb(var(--paper-rgb) / .122) 57%, rgb(var(--paper-rgb) / .251) 63%, rgb(var(--paper-rgb) / .405) 69%, rgb(var(--paper-rgb) / .568) 75%, rgb(var(--paper-rgb) / .724) 81%, rgb(var(--paper-rgb) / .859) 87%, rgb(var(--paper-rgb) / .956) 93%, rgb(var(--paper-rgb) / 1) 100%), radial-gradient(60% 55% at 82% 18%, #e8628c8c 0%, #e8628c75 22%, #e8628c4d 45%, #e8628c24 66%, #e8628c0a 84%, #e8628c00 100%), radial-gradient(52% 52% at 12% 78%, #f0902f80 0%, #f0902f6b 22%, #f0902f45 45%, #f0902f1f 66%, #f0902f09 84%, #f0902f00 100%), linear-gradient(107deg, var(--gold) 0%, var(--coral) 32%, var(--cyan) 100%);padding:1.1rem 0 6.5rem}.landing-hero>*{max-width:34rem;margin-left:auto;margin-right:auto;padding-left:1.15rem;padding-right:1.15rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3.25rem;display:flex}.landing-hero-mark{margin:0;line-height:0;text-decoration:none;display:block}.landing-hero-mark img,img.landing-hero-mark{width:auto;height:22px;display:block}a.landing-hero-mark:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:2px}.topbar-right{align-items:center;gap:1.1rem;display:flex}.langs{letter-spacing:.06em;align-items:center;gap:.1rem;font-size:.72rem;display:flex}.lang{color:var(--ink);opacity:.5;border-radius:3px;padding:.2rem .4rem;font-weight:600;text-decoration:none}.lang:hover,.lang:focus-visible{opacity:.85}.lang.is-on{opacity:1;background:#211d1b17}.topbar-signin{color:var(--ink);border:1.5px solid #211d1b59;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none}.topbar-signin:hover,.topbar-signin:focus-visible{background:var(--ink);color:var(--paper);border-color:var(--ink)}.landing-hero-words{padding-bottom:1rem}.landing h1{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin:0;font-size:clamp(2rem,7vw,3rem);font-weight:400;line-height:1.08}.landing-hero-lede{color:var(--ink);max-width:32rem;margin:1.1rem 0 0;font-size:1.05rem;line-height:1.55}.landing-hero-do .button{background:var(--deep);color:#fff;width:auto}.landing-hero-do .button:hover,.landing-hero-do .button:focus-visible{background:var(--deep-hover)}.hero-secondary{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink);border-bottom:1px solid #211d1b59;align-items:baseline;gap:.5rem;margin-top:2rem;padding-bottom:.35rem;font-size:1.15rem;font-weight:400;text-decoration:none;transition:border-color .18s;display:inline-flex}.hero-secondary .arrow{font-size:.95em;transition:transform .18s}.hero-secondary:hover,.hero-secondary:focus-visible{border-bottom-color:var(--ink)}.hero-secondary:hover .arrow,.hero-secondary:focus-visible .arrow{transform:translate(.25rem)}.landing-hero-do{flex-wrap:wrap;align-items:center;gap:1.1rem;margin-top:1.9rem;display:flex}.landing-body{max-width:34rem;margin:0 auto;padding:0 1.15rem 4rem}.band{padding:1.5rem 0 0}.band+.band{border-top:1px solid var(--rule);margin-top:2.5rem}.landing h2{font-family:var(--font-display);margin:0 0 .9rem;font-size:1.35rem;font-weight:400}.band p{color:var(--ink-soft);margin:0 0 .9rem}.band p:last-child{margin-bottom:0}.price-card{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;padding:1.4rem 1.3rem}.price-big{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:3rem;line-height:1}.price-big span{color:var(--ink-soft);font-size:1.2rem}.price-unit{color:var(--ink-soft);margin:.3rem 0 1.1rem;font-size:.9rem}.ticks{flex-direction:column;gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.ticks li{padding-left:1.4rem;font-size:.95rem;position:relative}.ticks li:before{content:"";background:var(--cyan);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.55em;left:0}.swatches{flex-wrap:wrap;gap:.9rem;margin:1.2rem 0;display:flex}.swatch{flex:6rem}.swatch-colours{border-radius:var(--radius);border:1px solid var(--rule);height:3.2rem;display:flex;overflow:hidden}.swatch-colours span{flex:1}.swatch-colours span:last-child{flex:0 0 34%}.swatch p{color:var(--ink-soft);margin:.4rem 0 0;font-size:.85rem}.landing-foot{border-top:1px solid var(--rule);color:var(--ink-soft);margin-top:3rem;padding-top:1.3rem;font-size:.85rem}.landing-foot p{margin:0 0 .35rem}.new-booking{border:1px solid var(--rule);background:var(--surface);border-radius:4px;margin-bottom:.5rem;padding:1.2rem 1.3rem 1.4rem}.new-booking .row{flex-wrap:wrap;align-items:center;gap:.8rem;margin:0;display:flex}.invite{border:1px solid var(--rule);background:var(--surface);border-radius:4px;padding:1.2rem 1.3rem 1.4rem}.invite-link{width:100%;font-family:var(--font-mono,ui-monospace, monospace);font-size:.85rem}.legal-back{border-top:1px solid var(--rule);margin:0 0 3rem;padding-top:1.1rem;font-size:.9rem}.legal-back a{padding:.55rem 0;display:inline-block}.legal-links{flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.9rem;display:flex}.legal-links a{color:var(--ink-soft);text-underline-offset:.2em;text-decoration:underline}.legal-links a:hover{color:var(--ink)}.admin{--seg-open:#efe7e1;--seg-booked:#a65a4a;--seg-turnaround:#d6b3a9;--seg-blocked:#9b938d;--seg-extra:#4a6b6b;--seg-missed:#f0e2de;--seg-missed-edge:#a65a4a;--track:#f7f5f3}.bars-page{max-width:60rem;margin:0 auto}.bars-page>.admin-narrow{max-width:34rem;margin-left:auto;margin-right:auto}.chair+.chair{margin-top:2rem}.bars+.bars{margin-top:1.5rem}.bars-week{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.bars-number{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.bars-range:first-letter{text-transform:uppercase}.bars-relative{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:var(--primary-tint);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.week-nav strong.plain{text-transform:none}.bars-grid{grid-template-columns:1.9rem repeat(7,1fr);gap:.28rem;display:grid}.bars-axis{height:13rem;margin-top:2.35rem;position:relative}.bars-axis span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.65rem;position:absolute;right:.3rem;transform:translateY(-50%)}.bars-day{flex-direction:column;align-items:stretch;min-width:0;display:flex}.bars-label{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.65rem;font-weight:600}.bars-date{text-align:center;font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-bottom:.3rem;font-size:.8rem}.bars-day.is-today .bars-label,.bars-day.is-today .bars-date{color:var(--primary);font-weight:600}.track{background:var(--track);border:1px solid var(--rule);border-radius:3px;height:13rem;position:relative;overflow:hidden}.bars-day.is-today .track{border-color:var(--primary)}.tick{background:#0000000f;height:1px;position:absolute;left:0;right:0}.seg{display:block;position:absolute;left:0;right:0}.seg-open{background:var(--seg-open)}.seg-extra{background:repeating-linear-gradient(135deg, var(--seg-extra), var(--seg-extra) 4px, #5c7f7f 4px, #5c7f7f 8px)}.seg-blocked{background:repeating-linear-gradient(135deg, var(--seg-blocked), var(--seg-blocked) 3px, #8a827c 3px, #8a827c 6px)}.seg-turnaround{background:var(--seg-turnaround)}.seg-missed{background:var(--seg-missed);border:1.5px solid var(--seg-missed-edge);border-radius:2px}a.seg-missed{color:var(--seg-missed-edge);text-decoration:line-through;overflow:hidden}a.seg-missed:hover,a.seg-missed:focus-visible{background:#e4cec8}a.seg-missed.is-on{outline:2px solid var(--bar);outline-offset:1px}.seg-booked{background:var(--seg-booked)}a.seg-booked{color:#fff;border-radius:2px;text-decoration:none;overflow:hidden}a.seg-booked:hover,a.seg-booked:focus-visible{background:#8c4b3d}a.seg-booked.is-on{outline:2px solid var(--bar);outline-offset:1px}.seg-label{white-space:nowrap;text-overflow:ellipsis;padding:2px 3px;font-size:.6rem;line-height:1.1;display:block;overflow:hidden}.detail-card{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--primary);border-radius:var(--radius);flex-direction:column;gap:.85rem;padding:1rem 1.1rem;display:flex}.detail-main{gap:1rem;display:flex}.detail-do{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.detail-end{border-top:1px solid var(--rule);padding-top:.75rem}.detail-end:not(.is-asking){justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.linkish.is-danger,.linkish.is-danger:hover{color:var(--danger)}.detail-end.is-asking{background:var(--danger-tint);border-radius:var(--radius);border-top-color:#f0d5d2;padding:.85rem}.attendance{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;padding-top:.75rem;display:flex}.attendance .said{color:var(--ink-soft);margin:0 auto 0 0;font-size:.85rem}.attendance-miss{border:1.5px solid var(--seg-missed-edge);border-radius:var(--radius);background:var(--seg-missed);color:var(--seg-missed-edge);font:inherit;cursor:pointer;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.attendance-miss:hover,.attendance-miss:focus-visible{background:#e4cec8}.attendance .keep{padding:.45rem .85rem;font-size:.85rem}.detail-warn{color:var(--ink);margin:0 0 .75rem;font-size:.85rem;line-height:1.45}.reason-label{margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:block}.reason-input{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.55rem .65rem;font-size:.9rem}.reason-input:focus-visible{outline:2px solid var(--danger);outline-offset:1px}.reason-hint{color:var(--ink-soft);margin:.35rem 0 .75rem;font-size:.78rem;line-height:1.4}.detail-choice{align-items:center;gap:1rem;display:flex}.danger{border-radius:var(--radius);background:var(--danger);color:#fff;font:inherit;cursor:pointer;border:0;padding:.6rem 1rem;font-weight:600}.danger:hover,.danger:focus-visible{background:#8f1e17}.keep{text-align:center;border-radius:var(--radius);background:var(--keep);color:#fff;font:inherit;cursor:pointer;border:0;padding:.6rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.keep:hover,.keep:focus-visible{background:var(--keep-hover)}.danger-outline{border:1.5px solid var(--danger);border-radius:var(--radius);color:var(--danger);font:inherit;cursor:pointer;background:0 0;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.danger-outline:hover,.danger-outline:focus-visible{background:var(--danger);color:#fff}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:.4rem 1rem;font-size:.8rem;display:flex}.legend span{align-items:center;gap:.35rem;display:flex}.legend i{border:1px solid var(--rule);border-radius:2px;width:.85rem;height:.85rem}@media (max-width:26rem){.bars-grid{grid-template-columns:1.5rem repeat(7,1fr);gap:.18rem}.track,.bars-axis{height:10rem}.bars-date{font-size:.7rem}.seg-label{display:none}}fieldset.bare{border:0;min-width:0;margin:0;padding:0}fieldset.bare legend{margin-bottom:.5rem;padding:0;font-size:.85rem;font-weight:500}.palettes{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;display:grid}.palette{border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;margin:0;padding:.6rem;font-weight:400;display:block}.palette:hover{border-color:var(--ink-soft)}.palette.is-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.palette input,.face input{opacity:0;pointer-events:none;position:absolute}.palette:focus-within,.face:focus-within{outline:2px solid var(--primary);outline-offset:2px}.palette-colours{border-radius:3px;height:2.4rem;display:flex;overflow:hidden}.palette-colours span{flex:1}.palette-colours span:last-child{flex:0 0 34%}.palette-name{margin-top:.45rem;font-size:.9rem;font-weight:500;display:block}.palette-note{color:var(--ink-soft);font-size:.78rem;display:block}.own-colours{margin-top:.8rem}.colour-field{align-items:stretch;gap:.4rem;display:flex}.colour-field input[type=color]{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:2.8rem;padding:.15rem}.colour-field input[type=text],.colour-field input:not([type=color]){font-variant-numeric:tabular-nums;text-transform:uppercase;flex:1}.preview{border-radius:var(--radius);background:#faf7f4;border:1px solid;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.9rem;padding:.9rem 1rem;display:flex}.preview-title{font-family:var(--font-display);flex:1;margin:0;font-size:1.15rem}.preview-button{color:#fff;border-radius:var(--radius);padding:.45rem .8rem;font-size:.85rem;font-weight:600}.preview-dot{border-radius:50%;width:1.1rem;height:1.1rem}.faces{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem;display:grid}.face{border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;flex-direction:column;margin:0;padding:.7rem;font-weight:400;display:flex}.face:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.face-sample{white-space:normal;text-wrap:balance;overflow-wrap:anywhere;font-size:1.15rem;line-height:1.25;display:block}.face-name{color:var(--ink-soft);margin-top:auto;padding-top:.35rem;font-size:.78rem;display:block}.logo-shown{gap:.5rem;display:flex}.logo-on-light,.logo-on-dark{border:1px solid var(--rule);border-radius:var(--radius);flex:1;place-items:center;min-height:5rem;padding:1rem;display:grid}.logo-on-light{background:var(--surface)}.logo-on-dark{background:var(--bar)}.logo-shown img{width:auto;max-width:100%;max-height:3rem}.notice.small{padding:.8rem .9rem;font-size:.85rem}.notice.small p{margin:0 0 .5rem}.notice.small p:last-child{margin:0}.error p{margin:0 0 .4rem}.error p:last-child{margin:0}input[type=file]{padding:.5rem;font-size:.9rem}.time-select{font-variant-numeric:tabular-nums;width:auto;min-width:5.5rem}.recalled{color:var(--ink-soft);margin:0;font-size:.9rem}.recalled .linkish{color:var(--primary)}.spoken-date{color:var(--ink);font-weight:500}.spoken-date:first-letter{text-transform:uppercase}.contact{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem 1.3rem;margin:1.4rem 0 0;font-size:.92rem;display:flex}.contact a{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none}.contact a:hover,.contact a:focus-visible{border-bottom-color:currentColor}.contact .where{font-style:normal}.postal{flex:0 0 6rem}.hero-shown{aspect-ratio:3/2;border:1px solid var(--rule);border-radius:var(--radius);background-position:50%;background-size:cover}.landing-hero-note{color:var(--ink);opacity:.75;margin:.9rem 0 0;font-size:.88rem}.landing-hero-do .button{width:auto}.demo-bar{border:1px dashed var(--rule);border-radius:var(--radius);background:var(--surface);max-width:46rem;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.15rem auto 0;padding:.7rem 1rem;font-size:.88rem;display:flex}.demo-bar p{margin:0}.demo-bar strong{color:var(--ink)}.landing-hero.short{padding-bottom:4rem}.with-prefix{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;align-items:stretch;display:flex;overflow:hidden}.with-prefix span{color:var(--ink-soft);white-space:nowrap;place-items:center;padding:0 .1rem 0 .7rem;font-size:.9rem;display:grid}.with-prefix input{border:0;border-radius:0;flex:1;min-width:0;padding-left:.15rem}.landing .card-form{border:1px solid var(--rule);background:#fff}.landing .hint{color:var(--ink-soft)}[aria-invalid=true]{border-color:#8c2f22}.landing-hero-note a{color:var(--ink);text-underline-offset:.2em;text-decoration:underline}.topbar-signup{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:999px;padding:.42rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none}.topbar-signup:hover,.topbar-signup:focus-visible{color:var(--ink);background:0 0}.landing-hero-do{margin-top:1.9rem}.hero-secondary{margin-top:1.4rem}.cycle-pick{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1rem}.cycle-pick .hint{margin:0 0 .6rem}.cycle-pick .hint:last-child{margin:.6rem 0 0}.cycle-pick input[type=date]{font-variant-numeric:tabular-nums;width:auto}.cycle-readout{font-variant-numeric:tabular-nums;margin:.7rem 0 0;font-size:.9rem;font-weight:500}.cycle-readout span{color:var(--ink-soft);font-weight:400}.fill-down{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);width:1.9rem;height:1.9rem;color:var(--ink-soft);cursor:pointer;place-items:center;padding:0;font-size:.95rem;line-height:1;display:grid}.fill-down:hover,.fill-down:focus-visible{border-color:var(--primary);color:var(--primary);background:var(--primary-tint)}.fill-down.is-empty{cursor:default;background:0 0;border-color:#0000}.operator{--edge:#d8d8d6;--sub:#6c6c6a;color:#1c1c1b;background:#f5f5f4;min-height:100vh}.operator-bar{color:#f5f5f4;background:#1c1c1b;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.2rem;font-size:.85rem;display:flex}.operator-mark{color:#f5f5f4;letter-spacing:.02em;font-weight:600;text-decoration:none}.operator-mark span{color:#9a9a97;font-weight:400}.operator-who{color:#9a9a97;align-items:center;gap:.8rem;display:flex}.operator-who .linkish{color:#d8d8d6}.operator-main{padding:1.5rem 1.2rem 4rem}.operator-narrow{max-width:24rem;margin:0 auto}.operator-wide{max-width:68rem;margin:0 auto}.operator h1{margin:0 0 .4rem;font-size:1.4rem}.operator h2{margin:2rem 0 0;font-size:1rem}.operator-numbers{color:var(--sub);flex-wrap:wrap;gap:.5rem 1.5rem;margin:1rem 0 1.2rem;font-size:.85rem;display:flex}.operator-numbers strong{color:#1c1c1b}.operator-warn,.operator-warn strong{color:#b3261e}.operator-table{border-collapse:collapse;border:1px solid var(--edge);background:#fff;width:100%;font-size:.85rem}.operator-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);border-bottom:1px solid var(--edge);padding:.5rem .7rem;font-size:.72rem;font-weight:600}.operator-table td{vertical-align:top;border-bottom:1px solid #ececeb;padding:.5rem .7rem}.operator-table tr:last-child td{border-bottom:0}.operator-table .num{text-align:right;font-variant-numeric:tabular-nums}.operator-table tr.is-demo{color:var(--sub)}.operator-sub{color:var(--sub);font-size:.75rem;display:block}.tag{border:1px solid var(--edge);white-space:nowrap;border-radius:3px;padding:.1rem .45rem;font-size:.72rem;display:inline-block}.tag.is-soon{color:#8f1e17;background:#fdf2f1;border-color:#e2b6b1}.operator-facts{border:1px solid var(--edge);background:#fff;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem 1.5rem;margin:1.2rem 0 0;padding:1rem 1.1rem;display:grid}.operator-facts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--sub);font-size:.72rem}.operator-facts dd{margin:.15rem 0 0;font-size:.9rem}.operator-credit{border:1px solid var(--edge);background:#fff;flex-wrap:wrap;align-items:flex-end;gap:.8rem;padding:1rem 1.1rem;display:flex}.operator-credit .grow{flex:1;min-width:14rem}.operator-credit label{text-transform:uppercase;letter-spacing:.06em;color:var(--sub);margin-bottom:.25rem;font-size:.72rem;display:block}.operator-credit input,.operator-credit select{border:1px solid var(--edge);width:100%;font:inherit;border-radius:3px;padding:.5rem .6rem;font-size:.9rem}.operator-credit select{min-width:9rem}.operator-credit .button{color:#f5f5f4;background:#1c1c1b;border-radius:3px;width:auto;padding:.55rem 1.1rem}.operator-credit .error,.operator-credit .saved{flex-basis:100%;margin:0}.operator-metrics{margin-bottom:2rem}.operator-metrics tbody th{text-align:left;text-transform:none;letter-spacing:0;color:#1c1c1b;border-bottom:1px solid #ececeb;padding:.5rem .7rem;font-size:.85rem;font-weight:600}.operator-metrics td{font-variant-numeric:tabular-nums;font-size:.95rem}.operator-filter{flex-wrap:wrap;gap:.4rem;margin:.8rem 0;display:flex}.operator-filter a{border:1px solid var(--edge);color:var(--sub);background:#fff;border-radius:3px;padding:.3rem .6rem;font-size:.8rem;text-decoration:none}.operator-filter a b{color:#1c1c1b;font-variant-numeric:tabular-nums}.operator-filter a:hover{border-color:#b8b8b5}.operator-filter a.is-on{color:#f5f5f4;background:#1c1c1b;border-color:#1c1c1b}.operator-filter a.is-on b{color:#fff}.status-band{border:1px solid;border-left-width:4px;border-radius:3px;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;margin:.9rem 0 0;padding:.7rem .9rem;font-size:.85rem;display:flex}.status-band strong{font-size:.95rem}.status-band-do{margin-left:auto}.status-band-do .linkish{color:inherit;font-size:.8rem}.status-band-do .linkish:hover{color:inherit;text-decoration:none}.status-band .status-why{opacity:.85;flex-basis:100%;font-style:italic}.status-band.is-active{color:#1d5521;background:#edf6ee;border-color:#2e7d32}.status-band.is-trial{color:#6f5206;background:#fdf8e8;border-color:#b8860b}.status-band.is-paused{color:#82400a;background:#fdf1e6;border-color:#c25e0a}.status-band.is-cancelled{color:#8f1e17;background:#fdf2f1;border-color:#b3261e}.tag.is-active{color:#1d5521;border-color:#a8cbaa}.tag.is-trial{color:#6f5206;border-color:#ddc98a}.tag.is-paused{color:#82400a;border-color:#e5bc95}.tag.is-cancelled{color:#8f1e17;border-color:#e2b6b1}.manual{color:var(--sub);cursor:help;font-size:.75rem;text-decoration:none}.missing{color:var(--sub);font-style:italic}.operator-table tr.is-withdrawn{color:var(--sub)}.operator-table tr.is-withdrawn .num{text-decoration:line-through}.operator-credit.is-undo{background:#fdf2f1;border-color:#e2b6b1}@media (max-width:48rem){.operator-table{white-space:nowrap;display:block;overflow-x:auto}}.salon-langs{justify-content:flex-end;margin-bottom:.75rem;display:flex}.service-order{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.service-row{align-items:center;gap:.4rem;display:flex}.service-row .choice{flex:1;margin:0}.grip{cursor:grab;color:var(--ink);opacity:.3;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:.5rem .35rem;font-size:1rem;line-height:1}.service-row:hover .grip,.service-row:focus-within .grip,.service-row.is-dragging{opacity:.6}.service-row.is-dragging .grip{cursor:grabbing;opacity:1}.buyer-line{flex-direction:column;gap:.15rem;min-width:0;display:flex}.buyer-line .meta{white-space:normal}.with-unit-lead .dialling{border:0;border-right:1px solid var(--rule);background:var(--ground);width:auto;color:var(--ink-soft,var(--ink));font-variant-numeric:tabular-nums;border-radius:0;flex:none;padding:0 .6rem;font-size:.9rem}.with-unit-lead .dialling:focus-visible{outline-offset:-2px}.hero-focus{aspect-ratio:3/2;border:2px solid var(--surface);border-radius:var(--radius);box-shadow:0 0 0 1px var(--rule);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-repeat:no-repeat;background-size:cover}.hero-focus.is-dragging{cursor:grabbing;border-color:var(--primary)}.nudge-grid{grid-template-columns:repeat(5,auto);justify-content:center;gap:.25rem;display:grid}.nudge-grid .linkish{border:1px solid var(--rule);color:var(--ink);border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.nudge-grid .linkish:hover,.nudge-grid .linkish:focus-visible{border-color:var(--primary);color:var(--primary)}.chair-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.chair-card .buyer-line{width:100%}.chair-remove{border-top:1px solid var(--rule);align-self:stretch;margin-top:.15rem;padding-top:.85rem}.chair-remove.is-closed{justify-content:flex-end;display:flex}.chair-card strong{font-weight:500}.chair-card .meta{color:var(--accent);font-size:.9rem}.portrait-row{align-items:flex-start;gap:.75rem;width:100%;min-width:0;display:flex}.portrait{object-fit:cover;background:var(--primary-tint);border:1px solid var(--rule);border-radius:50%;flex:none;width:3.25rem;height:3.25rem}.portrait-empty{display:block}.portrait-row input[type=file]{max-width:100%;font-size:.9rem}a.choice.who{align-items:center;gap:.85rem}a.choice.who .portrait{width:3rem;height:3rem}a.choice.who .buyer-line{flex:1}a.choice.who-any{border-color:var(--primary);background:var(--primary-tint)}.whose{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.chip{border:1px solid var(--rule);color:var(--ink);background:var(--surface);border-radius:999px;padding:.25rem .7rem;font-size:.9rem;text-decoration:none;transition:border-color .12s,background .12s}.chip:hover,.chip:focus-visible{border-color:var(--primary)}.detail-end.is-changing{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.chips form{display:contents}.legend-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:.35rem 0 0;font-size:.75rem}.day-step{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.chip.is-on{border-color:var(--primary);background:var(--primary-tint);font-weight:500}.plain-list{color:var(--ink);flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;display:flex}.plain-list li::marker{color:var(--accent)}.money-line{justify-content:space-between;align-items:baseline;gap:1rem;margin:0;display:flex}.money-line>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.money-total{border-top:1px solid var(--rule);padding-top:.5rem;font-weight:500}.receipt-mark{width:13rem;max-width:60%;height:auto;margin:0 0 1.5rem auto;display:block}.receipt-lines{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:0 0 1rem}.receipt-lines th{text-align:right;color:var(--muted,#6b6259);border-bottom:1px solid var(--line,#e8e2dd);padding:0 0 .4rem;font-size:.82rem;font-weight:600}.receipt-lines th:first-child,.receipt-lines td:first-child{text-align:left;padding-right:1.5rem}.receipt-lines td{text-align:right;vertical-align:top;padding:.55rem 0 0}@media print{.no-print,.admin-bar,.admin-tabs{display:none!important}.receipt{max-width:none;padding:0}}.legal{max-width:34rem;line-height:1.65}.legal p{margin:0 0 1rem}.legal h2{margin:2rem 0 .6rem;font-size:1.1rem}.legal h3{margin:1.5rem 0 .4rem;font-size:1rem}.legal hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}.legal .plain-list{margin:0 0 1rem}.legal code{background:var(--primary-tint);border-radius:3px;padding:.05em .3em;font-size:.9em}.table-scroll{margin:0 0 1rem;overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:.95rem}.table-scroll th,.table-scroll td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.4rem .7rem .4rem 0}.table-scroll th{white-space:nowrap;font-weight:500}.day-total{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:.15rem 0 .6rem;font-size:.85rem}
