:root{--ground: #071F13;--ground-raised: #0E3A22;--forest: #1B5E3B;--brand: #2ED04A;--on-brand: #072A14;--coral: #FF6F61;--amber: #F2A63B;--ink: #14301F;--muted: #55665C;--on-ground: #F7F7F3;--disabled-ink: #9AA59E;--r-card: 20px;--r-inner: 14px;--r-small: 12px;--page: #F5F9F5;--surface: #F2F6F3;--card: #FFFFFF;--line: #CFE3D6;--entry: #E2F3E7;--panel: #F2F5F7;--nails-ink: #1C212B;--nails-line: #DBE0E8;--nails-teal: #126E6E;--lavender: #8E72C9;--shadow-card: 0 2px 8px rgba(7, 42, 20, .08);--tile-line: #B4CFBE;--shadow-tile: 0 1px 2px rgba(7, 42, 20, .08), 0 6px 16px rgba(7, 42, 20, .12);--font-display: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--forest)}h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance}h1{font-size:26px;font-weight:800}h2{font-size:18px;font-weight:800}h3{font-size:15px;font-weight:700}.muted{color:var(--muted)}.caption{font-size:14px}.tabular{font-variant-numeric:tabular-nums}.pill{appearance:none;border:0;border-radius:var(--r-inner);padding:8px 16px;font-weight:700;font-size:14px;background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pill:disabled{background:#2ed04a2e;color:var(--disabled-ink);cursor:default}.pill:active:not(:disabled){opacity:.75}.pill.ghost{background:#ffffffb3;border:1px solid var(--line);color:var(--forest);border-radius:var(--r-inner)}.pill.ghost:hover:not(:disabled){background:#fff;border-color:#1b5e3b73}.pill.ghost.sort,.report-head .mid .pill.ghost.sort{background:#fff;border:2px solid var(--brand)}.pill.ghost.sort:hover:not(:disabled){border-color:var(--brand);background:var(--surface)}.pill.ghost.right,.pill.ghost.close{background:#fff;border:1.5px solid var(--forest);color:var(--forest);font-weight:800}.pill.ghost.right:hover:not(:disabled),.pill.ghost.close:hover:not(:disabled){background:var(--surface);border-color:var(--forest)}.pill.ghost.on{background:var(--card);border-color:var(--brand);color:var(--ink)}.pill.switcher{background:var(--card);border:1px solid var(--line);color:var(--forest);border-radius:var(--r-inner);box-shadow:var(--shadow-card);font-family:var(--font-display)}.pill.switcher:hover:not(:disabled){border-color:#1b5e3b73}.pill.switcher .chev{color:var(--muted);margin-left:2px}.pill.forest{background:var(--forest);color:#fff}.pill.danger{background:transparent;border:1.5px solid #E24B4B;color:#b91c1c}.pill.coral{background:var(--coral);color:#fff}.pill:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:16px 18px}.inset{background:var(--surface);border-radius:var(--r-inner);padding:10px 12px}input[type=text],input[type=tel],input[type=date],select,textarea{border:1.5px solid var(--line);border-radius:var(--r-inner);padding:9px 12px;background:var(--card);min-height:40px}textarea{resize:vertical;min-height:120px}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px 12px;background:var(--page);position:sticky;top:0;z-index:20;border-bottom:3px solid var(--forest)}.topbar .crumbs{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:800;flex:1}.topbar .navbtns{display:flex;gap:6px}.pill.nav{background:var(--forest);color:#fff;border-radius:var(--r-inner)}.pill.nav:disabled{background:#1b5e3b40;color:#ffffffd9}.topbar .crumbs a{text-decoration:none;color:var(--forest)}.topbar .crumbs .sep{color:var(--muted);font-weight:400}.page{padding:8px 20px 112px;max-width:1400px;width:100%;margin:0 auto}.sections{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px 8px;max-width:1400px;width:100%;margin:0 auto}.section{text-decoration:none;color:var(--forest);font-weight:700;font-size:14px;padding:8px 14px;border-radius:var(--r-inner);background:#ffffffb3;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px}.section:hover{border-color:var(--brand)}.section.on{background:var(--forest);border-color:var(--forest);color:#fff}.section .badge{background:var(--coral);color:#fff;border-radius:999px;font-size:12.5px;font-weight:800;padding:1px 7px;margin-left:2px}.home-header{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.home-header .salon-wrap{grid-column:span 3;position:relative;display:grid}@media(max-width:1000px){.home-header{grid-template-columns:1fr}.home-header .salon-wrap{grid-column:auto}}.salon-tile{background:var(--ground-raised);color:var(--on-ground);border-radius:var(--r-card);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:77px}.salon-tile .salon-mark{flex:0 0 auto;width:53px;height:53px;border-radius:13px;overflow:hidden;background:#ffffff1f;display:grid;place-items:center;font-size:22px}.salon-tile .salon-mark img{width:100%;height:100%;object-fit:cover;display:block}.salon-tile .name{font-family:var(--font-display);font-size:22px;font-weight:800}.salon-tile .id{font-size:13.5px;opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.user-tile{border-radius:var(--r-card);padding:0 calc(var(--user-tile-h) + 10px) 0 14px;min-height:var(--user-tile-h);position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:10px;--user-tile-h: 77px}.user-tile .who{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:0;flex:1 1 auto;padding:8px 0}.user-tile .who .glyph{font-size:14px;opacity:.85;line-height:1.1}.user-tile .who .name{font-weight:800;font-size:17px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.user-tile .who .role{font-size:13px;opacity:.85}.user-tile .avatar{position:absolute;top:0;right:10px;bottom:0;height:100%;width:auto;aspect-ratio:1;box-sizing:border-box;font-size:24px}.user-tile .avatar.ring-brand{border:2.5px solid var(--brand)}.user-tile .avatar.ring-dark{border:2.5px solid rgba(7,42,20,.5)}.user-tile.owner{background:var(--forest);color:#fff}.user-tile.tech{background:var(--brand);color:var(--on-brand)}.user-tile.client{background:var(--card);color:var(--ink)}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#d9e3dc;display:inline-block}.avatar.ring-brand{box-shadow:0 0 0 2.5px var(--brand)}.avatar.ring-dark{box-shadow:0 0 0 2.5px #072a1480}.user-tile .avatar.ring-brand,.user-tile .avatar.ring-dark{box-shadow:none}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}@media(max-width:1280px){.cards4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cards4{grid-template-columns:1fr}}.field{display:grid;gap:4px;padding:5px 0}.field>span{font-size:16px;font-weight:600}.field input,.field select{width:100%;box-sizing:border-box}.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.row-street{display:grid;grid-template-columns:2fr 1fr;gap:0 16px}.row-city{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 16px}@media(max-width:680px){.row2,.row-street,.row-city{grid-template-columns:1fr}}.designs{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:center}.designs.three{grid-template-columns:1fr 1.4fr 1fr}@media(max-width:820px){.designs,.designs.three{grid-template-columns:1fr}}.design{text-align:left;border-radius:var(--r-inner);padding:12px 14px;background:var(--surface);border:1.5px solid transparent;cursor:pointer;font:inherit;color:inherit;width:100%;box-sizing:border-box}.design .name{font-weight:800;display:flex;align-items:center;gap:7px;justify-content:space-between}.design.on{background:var(--card);border-color:var(--forest);padding:20px 18px;box-shadow:0 0 0 3px #1b5e3b24,0 8px 20px #072a141f}.design.on .name{font-size:19px}.design[disabled]{cursor:default;opacity:.55}.value-chip{display:inline-block;font-size:15px;font-weight:800;color:var(--forest);background:#d4f1dc;border:1px solid var(--line);border-radius:var(--r-inner);padding:3px 12px}.disclose{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--line);color:var(--forest);font-size:15px;font-weight:800;transition:transform .15s ease,background .15s ease}.disclose.open{transform:rotate(90deg);background:var(--forest);color:#fff;border-color:var(--forest)}.run-chip{font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:3px 10px;border-radius:999px;vertical-align:middle;margin-left:8px;background:var(--line);color:var(--muted)}.run-chip.on{background:var(--brand);color:var(--on-brand, #072A14)}.card-row{display:grid;gap:12px;margin-top:12px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.card-row{grid-template-columns:1fr}}.sub-row{display:grid;gap:12px;margin-top:12px;align-items:start}.sub-row.plans{align-items:stretch}.feature-card{display:flex;flex-direction:column;height:0;min-height:100%;overflow:hidden}@media(max-width:1000px){.feature-card{height:auto;min-height:0}.feature-card .feature-scroll{max-height:420px}}.feature-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:8px;scrollbar-gutter:stable;padding-right:6px}@supports not selector(::-webkit-scrollbar){.feature-scroll{scrollbar-width:thin;scrollbar-color:rgba(27,94,59,.45) rgba(27,94,59,.1)}}.feature-scroll::-webkit-scrollbar{width:10px;-webkit-appearance:none}.feature-scroll::-webkit-scrollbar-track{background:#1b5e3b1a;border-radius:999px}.feature-scroll::-webkit-scrollbar-thumb{background:#1b5e3b73;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.feature-scroll::-webkit-scrollbar-thumb:hover{background:#1b5e3bb3;background-clip:padding-box}.feature-card{position:relative}.feature-card.more:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:linear-gradient(to top,var(--card),rgba(255,255,255,0));pointer-events:none}.plan-picks .tile.current{border:2px solid var(--forest);background:linear-gradient(180deg,#1b5e3b1a,#1b5e3b08);box-shadow:0 6px 18px #1b5e3b2e}.plan-picks .tile.current .title{color:var(--forest)}.current-plan-badge{display:inline-block;background:var(--forest);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;letter-spacing:.02em;margin-bottom:6px}.plan-picks{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-picks .tile{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.plan-picks .tile>.pill{justify-content:center;width:100%;margin-top:12px}.plan-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 8px;flex-wrap:wrap}.plan-head .sub{white-space:nowrap}.feature-plan{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 10px;border-radius:var(--r-small);background:#1b5e3b1a;color:var(--forest);font-family:var(--font-display);font-weight:800}.feature-plan .feature-count{font-family:inherit;font-size:12px;font-weight:700;opacity:.8}.feature-plan.current{background:var(--forest);color:#fff}.billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.billing-fields label>.muted{text-align:right}@media(max-width:640px){.billing-fields{grid-template-columns:1fr}}@media(max-width:1280px){.sub-row.plans,.sub-row.billing{grid-template-columns:1fr}}@media(max-width:880px){.plan-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.plan-picks{grid-template-columns:1fr}}.pts-chip{flex:0 0 auto;font-size:12px;font-weight:800;letter-spacing:.2px;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--amber-soft, #FDF1DA);color:#8a5a00}.pts-chip.spent{background:#fde7e7;color:#b91c1c}.pts-chip.waiting{background:var(--surface);color:var(--muted)}.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.tiles.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.tiles.three{grid-template-columns:1fr}}.staff-tile{background:var(--card);border-radius:var(--r-card);padding:12px 12px 12px 14px;min-height:96px;text-align:left;border:2px solid var(--line);box-shadow:0 2px 8px #072a141a;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink);font:inherit}.staff-tile.in{background:#d4f1dc;border-color:var(--brand)}.staff-tile.picked{border-color:var(--forest)}.sheet.staff-rank{table-layout:fixed}.sheet.staff-rank th,.sheet.staff-rank td{padding:13px 6px;white-space:normal;overflow-wrap:anywhere}.sheet.staff-rank th:first-child,.sheet.staff-rank td:first-child{width:44px;white-space:nowrap}.sheet.staff-rank th:last-child,.sheet.staff-rank td:last-child{width:78px}button.staff-tile{cursor:pointer}button.staff-tile:hover{box-shadow:0 6px 16px #072a141a}.staff-tile .who{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.staff-tile .who .name{font-weight:800;font-size:16px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.staff-tile .avatar{width:60px;height:60px;font-size:24px;flex:0 0 auto}.tiles.five{grid-template-columns:repeat(5,minmax(0,1fr))}.tiles.five .tile{height:auto;min-height:0}@media(max-width:1240px){.tiles.five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.tiles.five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.tiles.five{grid-template-columns:1fr}}.tile.metric{min-height:0;padding:12px 14px;gap:8px;justify-content:center}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.metric-foot .sub{flex:0 0 auto}.metric-detail{min-width:0;font-size:13.5px;font-weight:700;color:var(--ink);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value{font-family:var(--font-display);font-size:23px;font-weight:800;white-space:nowrap;flex:0 0 auto;text-align:right;padding-right:6px}.tiles.four .tile{height:148px;min-height:148px}.typeahead{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--card);border-radius:var(--r-inner);box-shadow:0 10px 30px #072a142e;padding:6px;z-index:30;max-height:320px;overflow:auto}.typeahead button{display:flex;width:100%;justify-content:space-between;gap:8px;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:var(--r-small);font-size:13.5px}.typeahead button:hover{background:var(--surface)}@media(max-width:1000px){.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.tiles.four{grid-template-columns:1fr}}.tile.soon{background:transparent;border:1.5px dashed var(--line);box-shadow:none;color:var(--muted);justify-content:center;align-items:center;text-align:center}.tile.soon:hover{box-shadow:none}.tile.soon .disc{background:var(--surface);color:var(--muted)}.tile.soon .title{font-weight:700;color:var(--muted)}.tile:disabled,.tile.empty{cursor:default;box-shadow:var(--shadow-tile)}.tile:disabled>*,.tile.empty>*{opacity:.45}.tile:disabled:hover,.tile.empty:hover{box-shadow:var(--shadow-tile)}.tile:disabled .count,.tile.empty .count{background:var(--line);color:var(--muted)}.tile.alert{border:1.5px solid var(--coral);box-shadow:0 0 0 3px #ff6f6126}.tile.locked{cursor:pointer}.tile.locked>*{opacity:.5;filter:grayscale(1)}.tile.locked:hover{box-shadow:var(--shadow-tile)}.tile.locked:hover>*{opacity:.62}.lock-badge{position:absolute;top:10px;right:10px;z-index:1;width:24px;height:24px;border-radius:50%;background:#00000073;color:#fff;display:grid;place-items:center;font-size:12px}.plan-badge{position:absolute;top:12px;right:12px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.bar-chart{display:flex;align-items:flex-end;gap:3px;margin-top:8px;overflow-x:auto;padding-top:18px}.bar-col{flex:1;min-width:24px;max-width:150px;display:flex;flex-direction:column;gap:5px}.bar-track{height:210px;display:flex;align-items:flex-end}.bar-track.pair{gap:3px}.bar-track.pair .bar-fill{flex:1;width:auto}.bar-fill.expected{background:var(--line)}.bar-fill.ahead{background:var(--brand)}.bar-fill.behind{background:var(--amber)}.bar-legend{display:flex;gap:16px;align-items:center;margin-top:12px;font-size:13px;color:var(--muted)}.bar-legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.bar-legend .sw.expected{background:var(--line)}.bar-legend .sw.actual{background:var(--brand)}.metric-value.warn{color:var(--amber)}.bar-fill{position:relative;width:100%;background:var(--brand);border-radius:3px 3px 0 0}.bar-value{position:absolute;bottom:100%;left:-2px;right:-2px;margin-bottom:3px;text-align:center;font-size:10px;font-weight:700;color:var(--forest);white-space:nowrap;font-variant-numeric:tabular-nums}.bar-day{font-size:10px;line-height:1.1;color:var(--muted);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.card.breakdown{margin-top:12px;padding:12px 52px 12px 18px;display:flex;flex-direction:column}.breakdown-body{flex:1;display:flex;gap:18px;align-items:stretch;min-width:0;min-height:286px}.breakdown-body+.breakdown-body{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.breakdown-rows{flex:0 1 460px;display:flex;flex-direction:column;min-width:0}.breakdown-body>.breakdown-rows>h2{margin:2px 0 6px}.breakdown-total{margin-left:auto;align-self:center;text-align:right;flex:0 0 auto}.breakdown-total .amount{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--forest)}.breakdown-total .cap{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.collected{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:14px}.collected .head{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:12px;font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--forest)}.collected .head .amt{grid-column:2;font-size:30px;line-height:1.15}.collected-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.collected-tiles .ct{background:var(--surface);border-radius:var(--r-inner);padding:10px 12px;min-width:0}.collected-tiles .ct .sub{font-size:13px;color:var(--muted)}.collected-tiles .ct .v{font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--ink);margin-top:2px}@media(max-width:760px){.collected-tiles{grid-template-columns:1fr}}.pie{width:286px;height:286px;flex:0 0 auto;align-self:center}.pie-pct{font-size:6px;font-weight:800;fill:#fff;text-anchor:middle;dominant-baseline:middle}.breakdown-row{display:flex;align-items:center;gap:10px;padding:7px 0 7px 28px;border-bottom:1px solid var(--line)}.breakdown-row .rk{width:26px;text-align:right;font-weight:800;flex:0 0 auto}.breakdown-row .swatch{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.breakdown-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-row .pct{width:42px;text-align:right}.breakdown-row .amt{width:96px;text-align:right;font-weight:800;color:#1c4205}@media(max-width:860px){.breakdown-body{min-height:0}.breakdown-body{flex-wrap:wrap;align-items:flex-start}.breakdown-rows{flex:1 1 100%}.breakdown-total{margin-left:0}.pie{width:200px;height:200px}}.report-head{position:sticky;top:var(--topbar-h, 64px);z-index:10;background:var(--page);margin:0 -20px;padding:10px 20px 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.report-head h2{margin:0;justify-self:start;white-space:nowrap}.report-head .mid{justify-self:center;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.report-head .right{justify-self:end}.report-head .mid .pill{padding:5px 11px;font-size:13.5px}.date-pick{position:relative;display:inline-flex}.date-pick input[type=date]{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.report-head .mid .date-pick .pill{font-size:16px;line-height:1;padding:5px 10px}.report-head .mid .seg button{padding:5px 11px;font-size:13.5px}.report-head.plain{grid-template-columns:1fr auto}.report-head.wide{grid-template-columns:auto minmax(0,1fr) auto}.report-head.wide .mid{justify-self:stretch;justify-content:flex-start}@media(max-width:900px){.report-head{grid-template-columns:1fr auto;row-gap:8px}.report-head .mid{grid-column:1 / -1}}.bar-chart.scroll{overflow-x:scroll;padding-bottom:18px}.bar-chart.scroll::-webkit-scrollbar{height:14px;-webkit-appearance:none}.bar-chart.scroll::-webkit-scrollbar-track{background:var(--surface);border-radius:999px}.bar-chart.scroll::-webkit-scrollbar-thumb{background:var(--forest);border-radius:999px;border:2px solid var(--surface)}@supports not selector(::-webkit-scrollbar){.bar-chart.scroll{scrollbar-width:auto;scrollbar-color:var(--forest) var(--surface)}}.bar-chart.scroll .bar-col{flex:0 0 calc((100% - 42px) / 15);max-width:none}.tile{background:var(--card);border-radius:var(--r-card);padding:16px;min-height:120px;text-align:left;border:1px solid var(--tile-line);box-shadow:var(--shadow-tile);display:flex;flex-direction:column;justify-content:flex-start;gap:10px;position:relative}.tile:hover{box-shadow:0 2px 4px #072a1414,0 10px 24px #072a1429}.tile.door,.tile.group-item{--tone: var(--brand)}.tile.tone-teal{--tone: var(--nails-teal)}.tile.tone-amber{--tone: var(--amber)}.tile.tone-coral{--tone: var(--coral)}.tile.tone-lavender{--tone: var(--lavender)}.tile.door .disc,.tile.group-item .disc{background:color-mix(in srgb,var(--tone) 34%,#fff);color:color-mix(in srgb,var(--tone) 62%,#000)}.tile.door{background:color-mix(in srgb,var(--tone) 16%,var(--page));border:1px solid color-mix(in srgb,var(--tone) 32%,transparent)}.tile.group-item{border:1.5px solid color-mix(in srgb,var(--tone) 34%,#fff)}a.tile{color:inherit;text-decoration:none}.tile.on{box-shadow:0 0 0 2.5px var(--forest)}.tile .title{font-family:var(--font-display);font-size:18px;font-weight:700}.tile .sub{color:var(--muted);font-size:14.5px}.disc{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:18px}.disc.coral{background:var(--coral)}.disc.forest{background:var(--forest)}.disc.amber{background:var(--amber)}.disc.grey{background:var(--muted)}.count{position:absolute;top:12px;right:12px;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:13px;border-radius:999px;padding:2px 10px}.tile .count{font-size:18px;padding:3px 14px;min-width:44px;text-align:center;line-height:1.35}.pending-card{background:var(--card);border:1.5px solid var(--coral);border-radius:var(--r-card);padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;width:100%;text-align:left;margin-bottom:14px}.pending-card .disc{flex-shrink:0}.pending-card .chev{margin-left:auto;color:var(--muted)}.pending-card.leftover{background:#fcebc8;border-color:#f2a63b;padding:10px 16px;gap:10px}.st-requested{background:#ffd60a;color:#1c4205}.st-confirmed{background:#2f7cf6;color:#fff}.st-checkedin,.st-waiting{background:#f1eda2;color:#1c4205}.st-inservice{background:#388e3c;color:#fff}.st-awaiting{background:#f2a63b;color:#fff}.st-completed{background:#1c4205;color:#fff}.st-cancelled{background:#e53935;color:#fff}.st-noshow{background:#9e9e9e;color:#fff}.status-pill{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:800;white-space:nowrap}.entry{min-height:100dvh;background:var(--entry);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,4vh,40px) 20px;gap:clamp(14px,3vh,26px)}.entry .brand{width:100%;max-width:460px;display:flex;justify-content:space-between;align-items:center;gap:14px}.entry .brand-name{min-width:0}.entry .brand h1{color:var(--on-brand);font-size:30px}.entry .brand .tag{color:var(--forest);font-size:14px}.entry .brand .lang{flex:none;background:#fff;color:var(--on-brand)}.signin-card{background:var(--card);border-radius:var(--r-card);padding:24px;width:100%;max-width:460px;margin-top:clamp(20px,6vh,54px);box-shadow:0 10px 30px #072a141a}.signin-card h2{text-align:center;margin-bottom:18px}.phone-row{display:flex;gap:8px}.phone-row .cc{flex:0 0 auto;padding:0 12px;display:flex;align-items:center;gap:6px;border-radius:var(--r-inner);background:var(--panel);font-weight:700}.phone-row input{flex:1;min-width:0;font-size:18px;letter-spacing:.02em}.code-input{width:100%;text-align:center;font-size:28px;letter-spacing:.35em;font-variant-numeric:tabular-nums;font-weight:700}.err{color:#b91c1c;font-size:14.5px;margin-top:8px}.check{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:12px}.check input{width:18px;height:18px;accent-color:var(--on-brand)}html input[type=checkbox]:not(.box){appearance:none;-webkit-appearance:none;flex:none;position:relative;width:40px;height:24px;margin:0;border:0;border-radius:var(--r-inner);background:#c3cec7;cursor:pointer;transition:background .15s;vertical-align:middle}html input[type=checkbox]:not(.box):before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s}html input[type=checkbox]:not(.box):checked{background:var(--brand)}html input[type=checkbox]:not(.box):checked:before{transform:translate(16px)}html input[type=checkbox]:not(.box):disabled{opacity:.5;cursor:default}label>input[type=checkbox]:not(.box){order:99;margin-left:auto}label:has(>input[type=checkbox]:not(.box)),.setting-row{max-width:400px}.help-tip{width:16px;height:16px;padding:0;margin-left:3px;vertical-align:6px;border:1.5px solid var(--forest);border-radius:50%;background:transparent;color:var(--forest);font-size:10px;font-weight:800;line-height:1;cursor:pointer;display:inline-grid;place-items:center}.help-tip:hover{background:var(--forest);color:#fff}.info-tip{position:relative;display:inline-block;margin-left:4px;vertical-align:1px}.info-tip>button{width:17px;height:17px;padding:0;border:1.5px solid var(--forest);border-radius:50%;background:transparent;color:var(--forest);font:italic 800 11px/1 Georgia,serif;cursor:pointer;display:inline-grid;place-items:center}.info-tip>button:hover,.info-tip.open>button{background:var(--forest);color:#fff}.info-tip-box{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);z-index:50;width:max-content;max-width:280px;padding:10px 12px;border-radius:var(--r-inner);background:var(--card);color:var(--ink);border:1px solid var(--tile-line);box-shadow:0 8px 24px #00000029;font-size:14px;font-weight:500;line-height:1.45;text-align:left;white-space:normal}.info-tip:hover .info-tip-box,.info-tip:focus-within .info-tip-box,.info-tip.open .info-tip-box{display:block}.chip .chip-date{opacity:.65;font-weight:600;margin-left:2px}.actions.save-bar{position:sticky;bottom:0;z-index:5;background:var(--page);padding:10px 0;margin-top:10px;border-top:1px solid var(--line)}.card.sub-block{background:var(--surface);box-shadow:none;border:1.5px solid #9CC5AB;padding:14px 18px;margin-top:12px}.sub-block .sub-body{padding-left:28px;padding-bottom:4px}.sub-block .sub-body .check{margin-top:16px}.setting-sub{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--forest);margin-top:6px}html input[type=checkbox].box{flex:none;width:18px;height:18px;margin:0;accent-color:var(--on-brand)}.entry .mark{width:clamp(96px,14vh,180px);margin-top:clamp(10px,3vh,30px);opacity:.22}.entry-foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;color:var(--on-brand);font-size:15px;margin-top:4px;text-align:center}.entry-foot .ghost-light{background:#ffffffeb;color:var(--forest);font-weight:700;text-decoration:none}.sched-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 12px}.sched-toolbar .grow{flex:1}.seg{display:inline-flex;background:var(--card);border-radius:var(--r-inner);padding:3px;border:1.5px solid var(--line)}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:var(--r-small);font-weight:700;color:var(--muted)}.seg button.on{background:var(--forest);color:#fff}.grid-wrap{background:var(--card);border:.5px solid rgba(0,0,0,.2);border-radius:var(--r-card);overflow:auto;max-height:calc(100vh - 190px);position:relative}.grid{display:grid;position:relative}.grid .corner,.grid .hdr,.grid .gutter,.grid .col{position:relative}.grid .corner{position:sticky;top:0;left:0;z-index:6;background:var(--card)}.grid .hdr{position:sticky;top:0;z-index:4;height:36px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;color:var(--nails-ink);border:1px solid rgba(0,0,0,.3)}.grid .hdr.unassigned{position:sticky;left:56px;z-index:5;background:#f2f5f7f2;color:var(--on-brand);border:.5px solid rgba(0,0,0,.2)}.grid .hdr .underline{position:absolute;left:0;right:0;bottom:0;height:3px}.grid .gutter{position:sticky;left:0;z-index:3;background:var(--card);width:56px}.grid .gutter .h{height:var(--hour);font-size:12px;font-weight:700;color:var(--muted);text-align:right;padding:2px 6px 0 0;position:relative}.grid .gutter .h .q{position:absolute;right:6px;margin-top:2px;font-size:10.5px;font-weight:500;opacity:.7}.grid .gutter .h .q.half{font-weight:700;opacity:.9}.grid .now-line{position:absolute;left:56px;right:0;height:0;border-top:2px solid #E0313A;z-index:2;pointer-events:none}.grid .now-line.in-col{left:0}.grid .now-line.faint{opacity:.22}.grid .gutter .now-pill{position:absolute;right:2px;transform:translateY(-50%);z-index:1;padding:1px 6px;border-radius:999px;background:#e0313a;color:#fff;font-size:11px;font-weight:800;line-height:1.5;white-space:nowrap}.grid .col{border:1px solid rgba(0,0,0,.35);background-image:linear-gradient(to bottom,rgba(0,0,0,.62) .5px,transparent .5px);background-size:100% var(--hour)}.grid .col .halfline{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(0,0,0,.36);pointer-events:none}.grid .col .quarterline{position:absolute;left:0;right:0;height:0;border-top:1px dotted rgba(0,0,0,.22);pointer-events:none}.grid .col.unassigned{position:sticky;left:56px;z-index:2;background-color:var(--card)}.grid .col.dayoff{background-color:#d1d1d6}.grid .col.drop{outline:2px dashed var(--brand);outline-offset:-2px}.gcard{position:absolute;left:2px;right:2px;border-radius:6px;padding:6px;overflow:hidden;cursor:pointer;font-size:12px;line-height:1.25;box-shadow:0 1px 2px #0000001f}.gcard .nm{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcard .sv{font-size:11px;opacity:.9;overflow:hidden}.gcard.selected{outline:1.5px dashed currentColor}.gcard .hint{position:absolute;right:4px;bottom:4px;background:var(--on-brand);color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:999px}.gcard.stack{background:#3d5cad;color:#fff}.gcard.stack .n{font-size:16px;font-weight:800}.gcard.hl{position:absolute;left:0;right:0;background:#ffd60a38;pointer-events:none}.legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 4px;font-size:13.5px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.split.three-one{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.split.three-one>:first-child{grid-column:span 3;min-width:0}.kiosk{position:fixed;inset:0;z-index:55;overflow:auto;background:#94dca8;color:var(--ink);display:grid;place-items:start center;padding:24px 16px 40px}.kiosk-close{position:absolute;top:12px;right:12px;opacity:.75}.kiosk-col{width:100%;max-width:560px;display:grid;gap:18px;justify-items:center;margin-top:28px}.kiosk-card{width:100%;background:#fff;border-radius:var(--r-card);padding:22px 24px;text-align:center;box-shadow:0 3px 8px #00000014;display:grid;gap:10px}.kiosk-card.left{text-align:left}.kiosk-welcome{font-size:30px;color:#14301f9e}.kiosk-welcome.sub{font-size:22px;font-weight:500}.kiosk-salon{justify-self:center;font-family:var(--font-display);font-size:32px;font-weight:800;background:var(--brand);color:var(--on-brand);border-radius:var(--r-inner);padding:6px 18px}.kiosk-salon.plain{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;padding:0}.kiosk-ask{font-family:var(--font-display);font-size:30px;font-weight:800;margin:0;text-align:center}.kiosk-phone{width:100%;background:#fff;border-radius:var(--r-inner);padding:14px 18px;font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.kiosk-phone.empty{color:#14301f40;font-weight:400}.kiosk-pad{width:100%;max-width:360px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kiosk-pad button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;background:#fff;border-radius:var(--r-inner);padding:16px 0;font-size:30px;font-weight:700;box-shadow:0 1px 3px #00000014}.kiosk-pad button:active{background:var(--surface)}.kiosk-go{all:unset;box-sizing:border-box;cursor:pointer;width:100%;text-align:center;background:var(--ground);color:var(--on-ground);border-radius:var(--r-inner);padding:22px 0;font-size:26px;font-weight:800}.kiosk-go:disabled{background:#fff;color:var(--disabled-ink);cursor:default}.kiosk-line{font-size:19px}.kiosk-pin{position:fixed;inset:0;z-index:2;background:#071f1373;display:grid;place-items:center;padding:16px}.kiosk-pin .kiosk-card{max-width:420px}.kiosk-dots{display:flex;gap:14px;justify-content:center;margin:4px 0}.kiosk-dots i{width:16px;height:16px;border-radius:50%;border:2px solid var(--forest)}.kiosk-dots i.on{background:var(--forest)}.kiosk-found{font-size:18px;font-weight:700;color:var(--forest)}.kiosk-field{display:grid;gap:4px;font-size:15px;font-weight:700}.kiosk-field input{font-size:22px;padding:12px 14px}.kiosk-groups{display:flex;flex-wrap:wrap;gap:10px}.kiosk-groups button{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px solid var(--forest);color:var(--forest);background:#fff;border-radius:var(--r-inner);padding:12px 18px;font-size:19px;font-weight:700}.kiosk-groups button.on{background:var(--ground);color:var(--on-ground);border-color:var(--ground)}.sched-root.full{position:fixed;inset:0;z-index:55;background:var(--page);overflow:auto;padding:0 20px 16px}.sched-root.full .report-head{top:0}.sched-root.full .grid-wrap{max-height:calc(100vh - 140px)}.split.three-one.full>:first-child{grid-column:1 / -1}.sched-main{position:relative}.sched-expand{position:absolute;right:0;top:-46px;width:34px;height:34px;padding:0;justify-content:center;font-size:20px;font-weight:800;line-height:1}.pill.ghost.sched-expand,.pill.ghost.sched-expand:hover:not(:disabled){background:#94dca8;border-color:#6fc98a;color:var(--on-brand)}.pill.ghost.sched-expand.back,.pill.ghost.sched-expand.back:hover:not(:disabled){background:var(--amber-soft, #FDF1DA);border-color:#f2d9a6;color:#8a5a00}@media(max-width:1000px){.sched-expand{display:none}}.sched-expand.in-head{position:static}.report-head .mid .pill.step{font-size:26px;line-height:1;padding:0 12px;font-weight:800}.report-head .mid .step-group .pill{height:36px;display:inline-flex;align-items:center;justify-content:center}.report-head .mid .step-group{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.menu.staff-menu{left:20px;right:20px;top:calc(100% + 6px);width:auto;min-width:0;padding:12px}.staff-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:10px;max-height:min(60vh,520px);overflow:auto;padding:2px}@media(max-width:560px){.staff-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staff-pick .staff-tile{padding:10px;min-height:0;gap:8px}.staff-pick .staff-tile .avatar{width:40px;height:40px;font-size:17px}}label.staff-tile{cursor:pointer}.staff-tile .who{flex:1}.staff-tile.all{min-height:0;background:var(--page);box-shadow:none}.staff-tile.tinted{background:color-mix(in srgb,var(--tile-tint) 24%,#fff);border-color:color-mix(in srgb,var(--tile-tint) 60%,#fff)}.staff-tile.tinted.picked{border-color:var(--forest)}.staff-tile.tinted.in{border-color:var(--brand)}.staff-tile.tinted.in.picked{border-color:var(--forest)}.staff-pick .staff-tile .who .name{white-space:normal;overflow:visible}.status-pill.day-off{background:#d1d1d6;color:var(--ink)}.menu.staff-menu label.menu-check{justify-content:space-between;width:100%;max-width:none;box-sizing:border-box}.menu .menu-check{display:flex;align-items:center;gap:8px;margin:4px 0;padding:9px 10px;border-top:1px solid var(--line);white-space:nowrap}.split.two-two{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.split.two-two>:first-child{grid-column:span 2;min-width:0}.split.two-two>:last-child{grid-column:span 2;min-width:0}@media(max-width:1000px){.split.two-two>*{grid-column:1 / -1!important}}@media(max-width:1000px){.split.three-one{grid-template-columns:1fr}.split.three-one>:first-child{grid-column:auto}}@media(max-width:1000px){.split{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:16px;position:sticky;top:64px}.panel .row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.panel .row:last-of-type{border-bottom:0}.panel .row .k{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.actions>.pill{flex:0 1 auto;flex-shrink:0;max-width:100%}.actions>.pill{white-space:normal;text-align:center}.req-list{display:flex;flex-direction:column;gap:8px}.req-row{background:var(--card);border-radius:var(--r-card);padding:12px 14px;border:1.5px solid transparent;text-align:left;width:100%;cursor:pointer}.req-row.on{border-color:var(--brand)}.staff-list .req-row,.req-list.edged .req-row{border:1px solid var(--tile-line);box-shadow:0 1px 3px #072a141f}.staff-list .req-row:hover,.req-list.edged .req-row:hover{box-shadow:0 4px 12px #072a1429}.staff-list .req-row.on,.req-list.edged .req-row.on{border:2px solid var(--forest)}.req-list.zebra{gap:0}.req-list.zebra .req-row{border-radius:0;border-bottom:1px solid var(--line)}.req-list.zebra .req-row:nth-child(odd){background:var(--surface)}.req-list.zebra .req-row:first-child{border-radius:var(--r-card) var(--r-card) 0 0}.req-list.zebra .req-row:last-child{border-radius:0 0 12px 12px;border-bottom:0}.req-list.zebra .req-row:hover{background:#e8f4ec}.hist{margin:10px 0 2px 64px;padding:8px 0 0 12px;border-left:2px solid var(--line);border-top:1px solid var(--line)}.hist-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:var(--r-small);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.hist-row{background:var(--surface);border-radius:var(--r-small);margin-bottom:4px}.hist-row:hover{background:#e8f4ec}.hist-card{padding-left:10px;padding-right:10px}.hist-row.stack{display:block;padding:8px 10px}.hist-row.stack .line{display:flex;justify-content:space-between;align-items:baseline;gap:4px 10px;flex-wrap:wrap}.hist-row.stack .line>:first-child{white-space:nowrap;font-weight:700}.hist-row.stack .line .right .tabular{font-weight:700}.hist-row.stack .line .right{white-space:nowrap;margin-left:auto}.hist-row.stack .svc{display:block;margin-top:2px}.req-row .top,.tcard .top{display:flex;justify-content:space-between;gap:10px;font-weight:800}.req-row .when{color:var(--muted);font-weight:600;font-size:14px;white-space:nowrap}.empty{background:var(--card);border-radius:var(--r-card);padding:40px 20px;text-align:center;color:var(--muted)}.empty .big{font-size:40px;margin-bottom:8px}.move-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:60;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--ground);color:var(--on-ground);padding:16px 20px;border-radius:var(--r-card);box-shadow:0 18px 50px #0006;max-width:min(620px,calc(100vw - 32px))}.move-toast .pill.ghost{background:#ffffff24;color:var(--on-ground);border:0}.notice{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ground);color:var(--on-ground);padding:20px 34px;border-radius:var(--r-card);font-family:var(--font-display);font-weight:800;font-size:22px;text-align:center;max-width:min(460px,calc(100vw - 32px));z-index:50;box-shadow:0 18px 50px #00000059;pointer-events:none;animation:noticeIn .16s ease-out}@keyframes noticeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.notice{animation:none}}.daypick{position:relative;display:inline-block}.daypick-field{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--r-inner);padding:8px 12px;font:inherit;font-weight:700;min-width:128px}.daypick-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;background:var(--card);border-radius:var(--r-inner);box-shadow:0 10px 30px #072a142e;padding:10px}.daypick-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;padding-bottom:8px;white-space:nowrap}.daypick-head .pill{padding:4px 10px}.daypick-grid{display:grid;grid-template-columns:repeat(7,34px);gap:2px}.daypick-wd{display:grid;place-items:center;height:26px;font-size:12px;font-weight:800;color:var(--muted)}.daypick-day{height:32px;border:0;background:transparent;border-radius:var(--r-small);font:inherit;font-weight:700;color:var(--ink)}.daypick-day:hover{background:var(--surface)}.daypick-day.on{background:var(--forest);color:#fff}.daypick-day.off{color:var(--disabled-ink)}.daypick-day.off:hover{background:transparent}.section.locked{opacity:.55;filter:grayscale(1)}.section .lock{margin-left:6px;font-size:11px}.scrim{position:fixed;inset:0;z-index:60;background:#071f1373;display:grid;place-items:center;padding:20px}.sheet-modal{background:var(--card);border-radius:var(--r-card);padding:24px;width:min(520px,100%);max-height:88vh;overflow:auto;box-shadow:0 24px 60px #072a144d}.linkish{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px;font-weight:800;color:var(--forest);text-decoration:underline}.linkish:hover{opacity:.8}.lock-open{font-size:38px;text-align:center;margin-bottom:10px}.tier-row{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:0;background:#0000000a;border-radius:var(--r-inner);padding:12px;font:inherit}.tier-row:hover{background:#00000012}.tier-row.target{background:#1b5e3b17}.tier-row .mark{color:var(--forest);font-weight:800}.tier-row .body{flex:1;min-width:0;display:grid;gap:2px}.tier-row .nm{font-weight:800;color:var(--ink)}.tier-row.target .nm{color:var(--forest)}.tier-row .chev{color:var(--muted);font-weight:800}.sheet{width:100%;border-collapse:collapse;font-size:14px}.sheet th,.sheet td{padding:7px 10px;text-align:left;white-space:nowrap}.sheet th{font-weight:800;color:var(--muted);border-bottom:1px solid var(--line)}.sheet td{border-bottom:1px solid var(--line)}.sheet tbody tr:nth-child(2n){background:#f5f7ee}.sheet th.mid,.sheet td.mid{text-align:center}.sheet tr.total-row td{font-weight:800;border-top:2px solid var(--line);border-bottom:0}.sheet tbody tr.total-row{background:transparent}.sheet .num{text-align:right}.heat{display:grid;gap:3px;align-items:center}.heat-h{font-size:11px;font-weight:800;color:var(--muted);text-align:center}.heat-d{font-size:12px;font-weight:800;color:var(--muted)}.heat-c{height:26px;border-radius:5px}.up{color:var(--forest)}.down{color:var(--coral)}.menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);color:var(--ink);border-radius:var(--r-inner);box-shadow:0 10px 30px #072a142e;padding:6px;min-width:260px;z-index:30}.menu-scrim{position:fixed;inset:0;z-index:29;background:transparent;border:0;padding:0}.menu button{display:flex;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:var(--r-small);gap:8px;align-items:center}.menu button:hover{background:var(--surface)}.menu button.on{background:var(--page);font-weight:800}.chiprow{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-small);padding:5px 11px;font-size:14px;font-weight:700;border:1px solid var(--line);background:var(--card);color:var(--muted)}.chip.on{border-color:var(--brand);color:var(--ink);background:var(--page)}.report-head .chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.tlist{background:var(--page);border-radius:var(--r-inner);padding:10px;display:flex;flex-direction:column;gap:10px}.tcard{display:block;width:100%;text-align:left;text-decoration:none;color:inherit;cursor:pointer;background:var(--card);border:0;border-radius:var(--r-card);padding:12px 14px;box-shadow:0 1px 3px #072a141a}.tcard:hover{box-shadow:0 6px 16px #072a1429}.tlist.zebra .tcard:nth-child(2n){background:#e2f1e6}.tlist.zebra .tcard{border:1px solid var(--tile-line);box-shadow:0 1px 3px #072a141f}.tstatus{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}.qr-sheet{display:none}@media print{@page{size:letter;margin:0}body *{visibility:hidden}.qr-sheet,.qr-sheet *{visibility:visible}body:has(>.qr-sheet)>*:not(.qr-sheet){display:none!important}body:has(>.qr-sheet){background:#fff}.qr-sheet{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;position:static;width:100%;padding-top:3.035in;background:#fff;text-align:center}.qr-sheet .qr-code{display:block;flex:0 0 auto;margin:0;width:4.25in!important;height:4.25in!important}.qr-sheet .qr-caption{margin-top:.36in;padding:0 .4in;text-align:center;font-size:.3067in;font-weight:700;line-height:1.3;color:#1c4205}}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-grid.head{gap:6px;margin-bottom:6px}.month-grid .mh{text-align:center;font-size:12px;font-weight:800;color:var(--muted)}.mcell{all:unset;box-sizing:border-box;cursor:pointer;min-height:74px;border:1px solid var(--line);border-radius:var(--r-inner);padding:6px 8px;display:flex;flex-direction:column;gap:4px;background:var(--card)}.mcell:hover{border-color:var(--brand)}.mcell.other{opacity:.45}.mcell.today{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.mcell.picked{background:var(--surface);border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.mcell.shut{background:#edefee;color:var(--muted)}.mcell.shut .d{color:var(--muted)}.mcell.heat1,.heat-key .heat1{background:#e6f6ea}.mcell.heat2,.heat-key .heat2{background:#c4eccd}.mcell.heat3,.heat-key .heat3{background:#9bddaa}.mcell.heat4,.heat-key .heat4{background:#6fcb85}.heat-key{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:10px;font-size:12px;color:var(--muted)}.heat-key i{width:18px;height:12px;border-radius:3px;border:1px solid var(--line)}.wcol.shut{background:#edefee}.wcol.shut .whead{background:#e4e7e5;color:var(--muted)}.grid-wrap.shut .col{background:#edefee}.mcell .d{font-weight:800;font-size:13.5px}.mcell .n,.wcol .n{align-self:flex-start;background:var(--forest);color:#fff;border-radius:999px;padding:0 7px;font-size:12px;font-weight:800}.mcell .off{font-size:11.5px;font-weight:700;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start}.wcol{border:1px solid var(--line);border-radius:var(--r-inner);background:var(--card);overflow:hidden}.wcol.today{border-color:var(--forest)}.whead{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;font-weight:800;font-size:13px;background:var(--surface)}.wcard{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:6px 8px;border-top:1px solid var(--line)}.wcard:hover{background:var(--surface)}.wcard .wt{font-size:12px;font-weight:800;color:var(--muted)}.wcard .wn{font-weight:700;font-size:13.5px}@media(max-width:900px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid,.month-grid.head{gap:4px}.mcell{min-height:60px;padding:4px 6px}}.nav-search{position:relative;flex:0 0 auto;width:calc(25% - 9px)}.nav-search .mag{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.65;pointer-events:none}.nav-search input{width:100%;box-sizing:border-box;padding:7px 12px 7px 30px;border:2px solid var(--brand);border-radius:var(--r-inner);background:#ffffffd9;font:inherit;font-size:14px;line-height:20px;color:var(--forest)}.nav-search input:focus{outline:none;border-color:var(--brand);background:#fff}.nav-search-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;min-width:280px;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 12px 30px #00000024;padding:6px;display:grid;gap:2px;max-height:min(72vh,620px);overflow-y:auto}.nav-search-menu .hint{padding:8px 10px}.nav-search-menu button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--r-small)}.nav-search-menu button.on{background:var(--surface)}.nav-search-menu .lbl{font-weight:700;font-size:14px;color:var(--forest)}.nav-search-menu button.tori{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:2px}.nav-search-menu button.tori .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search-menu button.tori.locked{opacity:.55}@media(max-width:1000px){.nav-search{width:calc(50% - 6px)}}@media(max-width:640px){.nav-search{width:100%}}.legal-note{margin-top:14px;font-size:12.5px;color:var(--muted);text-align:center;line-height:1.5}.legal-note a{color:inherit;text-decoration:underline}.menu.region-menu{left:auto;right:0;padding:10px 12px}.menu.lang-menu{min-width:0;width:max-content;padding:6px}.phone-row select.cc{width:auto;border:none;font-size:16px;min-height:44px}.su-head{margin:18px 0 8px;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.su-field{display:grid;gap:4px;margin-bottom:10px;font-size:14px;font-weight:600}.su-field input,.su-field select{font-weight:400;width:100%;box-sizing:border-box}.su-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}@media(max-width:420px){.su-grid{grid-template-columns:1fr}}.section-list{display:contents}.today-strip{display:none}.tori-fab{position:fixed;right:32px;bottom:32px;z-index:25;display:flex;align-items:center;gap:10px;padding:16px 26px;border:0;border-radius:999px;background:var(--forest);color:#fff;font-family:var(--font-display);font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 0 0 3px #ffffffe6,0 10px 28px #00000059}.tori-fab.locked{background:#8a968f}.tori-face{flex:none;border-radius:50%;background:#e8f6ec;object-fit:cover;display:block}.tori-fab .tori-face{width:38px;height:38px;margin:-7px 0 -7px -12px}.tori-face,.tori-fig img{filter:brightness(1.08)}.tori-fab.locked .tori-face{filter:grayscale(1) brightness(1.08)}.tori-fig{position:relative;flex:none}.tori-fig img{position:absolute;left:0;top:0;display:block;width:100%;height:100%;object-fit:contain}.tori-fig .tori-body{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,.9% 54.1%,22.4% 54.1%,22.4% 75.6%,21.3% 76.6%,14.1% 80%,.9% 80%,.9% 54.1%)}.tori-fig .tori-hand{clip-path:polygon(.9% 54.1%,22.4% 54.1%,22.4% 76.4%,21.6% 77.8%,14.6% 81.2%,.9% 81.2%);transform-origin:17.7% 78.3%;animation:tori-wave 5s ease-in-out infinite}.tori-fig.once .tori-hand{animation-iteration-count:1}@keyframes tori-wave{0%,36%,to{transform:rotate(0)}6%,18%,30%{transform:rotate(-9deg)}12%,24%{transform:rotate(12deg)}}@media(prefers-reduced-motion:reduce){.tori-fig .tori-hand{animation:none}}.tori-hint .tori-fig{margin:0 0 4px}.tori-fab .lock-badge{position:absolute;top:-8px;right:-6px}.tori-hint{position:fixed;right:32px;bottom:108px;z-index:25;max-width:280px;padding:12px 34px 12px 14px;border-radius:var(--r-inner);border-bottom-right-radius:4px;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 22px #0000002e;font-size:14.5px;line-height:1.4;text-align:left;color:var(--ink)}.tori-hint b{display:block;font-family:var(--font-display);font-size:15.5px;margin-bottom:3px}.tori-hint-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:14px;cursor:pointer}body:has(.actions.save-bar) .tori-fab{bottom:92px}body:has(.actions.save-bar) .tori-hint{bottom:168px}@media(max-width:640px){.tori-fab{right:14px;bottom:14px;width:56px;height:56px;padding:0;justify-content:center;font-size:24px;box-shadow:0 0 0 2px #ffffffe6,0 6px 16px #0000004d}.tori-fab-word{display:none}.tori-fab .tori-face{width:52px;height:52px;margin:0}.tori-hint{right:14px;bottom:82px;max-width:calc(100vw - 28px)}body:has(.actions.save-bar) .tori-fab{bottom:76px}body:has(.actions.save-bar) .tori-hint{bottom:144px}}@media print{.tori-fab,.tori-hint{display:none}}.card-bell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#ffffff29;font-size:21px;text-decoration:none}.card-bell:hover{background:#ffffff42}.strip-bell{display:none}.bell-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1}.signout-icon{display:none}@media(max-width:900px){.topbar .brand-word,.topbar .brand-sep,.topbar .switcher .caption{display:none}}@media(max-width:640px){.topbar{padding:8px 12px;gap:8px}.topbar .navbtns,.topbar .brand-word,.topbar .brand-sep,.topbar .crumb-page,.topbar .switcher .caption,.lang-name,.signout-word{display:none}.signout-icon{display:inline}.phone-hide{display:none!important}.topbar .crumbs{justify-content:flex-start;min-width:0;gap:8px}.topbar .crumbs>span{min-width:0}.topbar .switcher{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .pill{padding:6px 10px}.sections{padding:8px 12px 4px;gap:8px;flex-direction:column;flex-wrap:nowrap}.section-list{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px 2px;-webkit-overflow-scrolling:touch}.section-list::-webkit-scrollbar{display:none}.section-list .section{flex:0 0 auto;white-space:nowrap;font-size:13.5px;padding:7px 12px}.sections>span[style]{display:none}.sections .nav-search{width:100%}.page{padding:6px 12px 32px}.report-head{margin:0 -12px;padding:8px 12px 10px;grid-template-columns:minmax(0,1fr) auto;gap:8px}.report-head h2{font-size:18px;min-width:0;overflow:hidden;text-overflow:ellipsis}.report-head .right{grid-row:1;grid-column:2}.report-head .mid{grid-row:2;grid-column:1 / -1;justify-self:stretch}.seg{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{white-space:nowrap;flex:0 0 auto}.home-header{grid-template-columns:minmax(0,1fr) 104px;gap:10px;margin-bottom:12px}.home-header .salon-wrap{grid-column:auto}.card-bell{display:none}.strip-bell{display:grid;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:var(--panel, #EAF2EB);place-items:center;font-size:17px;text-decoration:none}.salon-tile{min-height:84px;padding:12px}.salon-tile .salon-today{display:none!important}.salon-tile .name{font-size:17px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salon-tile .id{font-size:12px}.salon-tile .salon-mark{width:44px;height:44px;border-radius:var(--r-inner)}.user-tile{min-height:84px;padding:0;position:static;flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;gap:1px}.user-tile .who{flex:0 0 auto;align-items:center;max-width:100%;padding:0 4px 3px}.user-tile .who .glyph,.user-tile .who .role{display:none}.user-tile .who .name{font-size:14.5px}.user-tile .avatar{position:static;flex:1 1 0;align-self:center;width:auto;height:0;min-height:0;aspect-ratio:1;font-size:18px;margin-top:4px}.today-strip{display:grid;grid-column:1 / -1;gap:2px;text-align:center;font-size:14px;position:relative;background:var(--card);border-radius:var(--r-card);padding:10px 12px;box-shadow:var(--shadow-card);color:var(--ink)}.tiles,.tiles.four,.tiles.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tiles.four .tile,.tile{height:auto;min-height:134px}.tile{padding:12px 10px;gap:6px;justify-content:center;align-items:center;text-align:center}.tile .title{font-size:15.5px;line-height:1.2}.tile .sub{font-size:12.5px;line-height:1.3}.tile .count{top:8px;right:8px;font-size:12px;padding:1px 8px}.tile .disc{width:34px;height:34px;font-size:16px}.tile.metric{align-items:stretch;text-align:left;min-height:0}.tile.metric .metric-value{font-size:19px}.tile input{width:100%;min-width:0}.card{padding:14px}.pending-card{padding:12px 14px}.page.inner .home-header{display:none}.section-list{position:relative}.tcard>div{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important}.hours-row{grid-template-columns:1fr auto!important;row-gap:6px!important}.hours-row>span:last-child{grid-column:1 / -1}.hours-row input[type=time]{flex:1 1 0;min-width:0}}.version-line{margin-top:18px;text-align:center;font-size:11.5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-user-select:text;user-select:text}.entry .version-line{margin-top:0;opacity:.7}.app-booking-banner{display:flex;align-items:center;gap:12px;margin:8px 16px 0;padding:10px 14px;background:var(--card);border:1px solid var(--coral);border-left-width:4px;border-radius:var(--r-card);box-shadow:var(--shadow-card);color:var(--ink)}.tori-chat{margin-top:12px;display:grid;gap:10px;align-self:start;position:sticky;top:76px}.tori-chat-lines{display:grid;gap:8px;max-height:60vh;overflow-y:auto}.tori-chat .bubble{border-radius:var(--r-inner);padding:8px 12px;font-size:14.5px;display:grid;gap:6px;max-width:92%}.tori-chat .bubble.me{justify-self:end;background:var(--forest);color:#fff}.tori-chat .bubble.tori{justify-self:start;background:var(--panel, #EAF2EB);color:var(--ink)}.tori-chat .bubble .say{white-space:pre-wrap}.tori-chat .bubble button.pill{justify-self:start}.tori-chat-send{display:flex;gap:8px}.tori-chat-send input{flex:1;min-width:0}@media(max-width:1000px){.tori-chat{order:-1;position:static}.split.three-one:has(>.tori-chat){display:flex;flex-direction:column;align-items:stretch}}.signin-card>.pill:not(.ghost),.signin-card .actions>.pill:not(.ghost),.plan-picks .tile>.pill,.kiosk-go,.actions.save-bar>.pill{border-radius:999px}
