:root{color-scheme:light dark;--bg:#f2f2f7;--surface:#ffffff;--surface-2:rgba(118,118,128,0.12);--surface-3:#f2f2f7;--material:rgba(249,249,249,0.78);--text:#000000;--label-2:rgba(60,60,67,0.85);--muted:rgba(60,60,67,0.62);--faint:rgba(60,60,67,0.3);--border:rgba(60,60,67,0.18);--border-strong:rgba(60,60,67,0.32);--accent:#007aff;--accent-hover:color-mix(in srgb,var(--accent) 86%,#000);--accent-soft:color-mix(in srgb,var(--accent) 13%,transparent);--accent-text:#ffffff;--danger:#ff3b30;--danger-text:#d70015;--danger-soft:rgba(255,59,48,0.12);--ok:#248a3d;--ok-soft:rgba(52,199,89,0.15);--warn:#c93400;--warn-soft:rgba(255,149,0,0.15);--orange:#ff9500;--indigo:#5856d6;--purple:#af52de;--banner:rgba(255,204,0,0.18);--banner-text:#7a5600;--now:#ff3b30;--tone-blue:#007aff;--tone-teal:#30b0c7;--tone-green:#34c759;--tone-yellow:#ffcc00;--tone-orange:#ff9500;--tone-red:#ff3b30;--tone-pink:#ff2d55;--tone-purple:#af52de;--tone-gray:#8e8e93;--radius:14px;--radius-sm:10px;--shadow:0 0 0 0.5px rgba(0,0,0,0.05),0 1px 2px rgba(0,0,0,0.04),0 4px 12px -4px rgba(0,0,0,0.05);--shadow-hover:0 0 0 0.5px rgba(0,0,0,0.06),0 2px 4px rgba(0,0,0,0.05),0 10px 24px -8px rgba(0,0,0,0.12);--shadow-lift:0 0 0 0.5px rgba(0,0,0,0.06),0 12px 32px -6px rgba(0,0,0,0.16),0 3px 8px rgba(0,0,0,0.06);--shadow-button:inset 0 1px 0 rgba(255,255,255,0.16),0 1px 2px rgba(0,0,0,0.12);--focus:0 0 0 4px color-mix(in srgb,var(--accent) 32%,transparent);--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--dur-press:140ms;--dur-fast:180ms;--dur-sheet:320ms;--press:0.97;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,system-ui,Segoe UI,Roboto,Microsoft YaHei,sans-serif;font-size:15px;color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root{--bg:#000000;--surface:#1c1c1e;--surface-2:rgba(118,118,128,0.24);--surface-3:#2c2c2e;--material:rgba(29,29,31,0.72);--text:#ffffff;--label-2:rgba(235,235,245,0.85);--muted:rgba(235,235,245,0.6);--faint:rgba(235,235,245,0.3);--border:rgba(84,84,88,0.6);--border-strong:rgba(120,120,128,0.6);--accent:#0a84ff;--accent-hover:color-mix(in srgb,var(--accent) 80%,#fff);--accent-soft:color-mix(in srgb,var(--accent) 22%,transparent);--danger:#ff453a;--danger-text:#ff6961;--danger-soft:rgba(255,69,58,0.2);--ok:#30d158;--ok-soft:rgba(48,209,88,0.2);--warn:#ff9f0a;--warn-soft:rgba(255,159,10,0.2);--orange:#ff9f0a;--indigo:#5e5ce6;--purple:#bf5af2;--banner:rgba(255,214,10,0.16);--banner-text:#ffd60a;--now:#ff453a;--tone-blue:#0a84ff;--tone-teal:#40c8e0;--tone-green:#30d158;--tone-yellow:#ffd60a;--tone-orange:#ff9f0a;--tone-red:#ff453a;--tone-pink:#ff375f;--tone-purple:#bf5af2;--tone-gray:#98989d;--shadow:inset 0 0 0 0.5px rgba(255,255,255,0.07);--shadow-hover:inset 0 0 0 0.5px rgba(255,255,255,0.12),0 8px 24px -8px rgba(0,0,0,0.6);--shadow-lift:inset 0 0 0 0.5px rgba(255,255,255,0.1),0 16px 40px -8px rgba(0,0,0,0.7);--shadow-button:inset 0 1px 0 rgba(255,255,255,0.14);--focus:0 0 0 4px color-mix(in srgb,var(--accent) 45%,transparent)}}@media (pointer:coarse){:root{font-size:17px}}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;text-size-adjust:100%;overscroll-behavior-y:none}body{margin:0;background:var(--bg);line-height:1.47;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-optical-sizing:auto}a{color:var(--accent);text-decoration:none}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}.button,.chip,.segmented a,.sidenav a,[role=button],a,button,summary{touch-action:manipulation}.button,.chip,.segmented a,.sidenav a,[role=button],button,summary{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}h1{font-size:2rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.026em;line-height:1.12}h2{font-size:1.15rem;margin:0 0 .75rem;letter-spacing:-.014em;line-height:1.3}h2,h3{font-weight:600}h3{font-size:.85rem;margin:.5rem 0 .35rem;letter-spacing:.002em}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;background:var(--surface-2);padding:.1rem .35rem;border-radius:6px}ul{padding-left:1.25rem}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px;transition:box-shadow var(--dur-fast) var(--ease-out)}.acting-banner{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--indigo);color:#fff;padding:.4rem 1rem;font-size:.9rem;font-weight:500}.acting-banner button{background:rgba(255,255,255,.95);color:var(--indigo);border:0;padding:.25rem .9rem;min-height:0;font-weight:600;border-radius:999px}.banner{background:var(--banner);color:var(--banner-text);text-align:center;padding:.25rem 1rem;font-size:.75rem;font-weight:500}.shell{--sidebar-w:15.5rem;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.shell.collapsed{--sidebar-w:4.25rem}.shell-main{grid-column:2;grid-row:1;min-width:0}.sidebar{grid-column:1;grid-row:1;position:-webkit-sticky;position:sticky;top:0;z-index:30;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:.5rem;padding:.75rem .6rem .75rem max(.6rem,env(safe-area-inset-left));background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-right:.5px solid var(--border-strong);overflow:hidden}.sidebar-head{justify-content:space-between;gap:.25rem;padding:.15rem .15rem .5rem}.brand,.sidebar-head{display:flex;align-items:center}.brand{gap:.55rem;min-width:0;font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--text);text-decoration:none;white-space:nowrap}.brand .nav-label{overflow:hidden;text-overflow:ellipsis}@media (hover:hover) and (pointer:fine){.brand:hover{text-decoration:none}}.brand-logo{width:1.9rem;height:1.9rem;object-fit:contain;background:var(--surface);box-shadow:inset 0 0 0 .5px var(--border)}.brand-logo,.brand-mark{flex:none;border-radius:22.5%}.brand-mark{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 75%,#fff),var(--accent));color:var(--accent-text);font-size:1rem;font-weight:700;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.1)}.icon{flex:none;display:block}.icon-button{flex:none;min-height:0;padding:0;border:0;border-radius:10px;background:none;color:var(--label-2);cursor:pointer;box-shadow:none;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}@media (hover:hover) and (pointer:fine){.icon-button:hover{background:var(--surface-2);color:var(--text);box-shadow:none}}.icon-button:active{transform:scale(var(--press));background:var(--surface-2)}.sidenav{flex:1 1;display:flex;flex-direction:column;gap:.1rem;overflow-y:auto;overflow-x:hidden;margin:0 -.2rem;padding:0 .2rem}.sidenav a{display:flex;align-items:center;gap:.7rem;min-height:2.35rem;padding:.4rem .65rem;border-radius:10px;color:var(--text);font-size:.95rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.sidenav a:active{background:var(--surface-2)}.sidenav a .icon{color:var(--accent)}@media (hover:hover) and (pointer:fine){.sidenav a:hover{background:var(--surface-2);text-decoration:none}}.sidenav a.active{background:var(--accent);color:var(--accent-text);font-weight:600;box-shadow:var(--shadow-button)}.sidenav a.active .icon{color:inherit}.sidenav-section{margin:1rem .65rem .3rem;color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding-top:.6rem;border-top:.5px solid var(--border)}.sidebar-foot form{margin:0}.avatar-link{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.25rem;border-radius:10px;text-decoration:none;color:var(--text);font-size:.9rem}@media (hover:hover) and (pointer:fine){.avatar-link:hover{text-decoration:none;background:var(--surface-2)}}.avatar-name{display:flex;flex-direction:column;min-width:0;line-height:1.2;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-name small{color:var(--muted);font-size:.75rem}.avatar.acting{background:var(--indigo);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--indigo)}.avatar{flex:none;display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:linear-gradient(180deg,#a5abb8,#858994);color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.02em}.shell.collapsed:not(.open) .nav-label{display:none}.shell.collapsed:not(.open) .sidebar-head{flex-direction:column;gap:.5rem}.shell.collapsed:not(.open) .sidenav a{justify-content:center;padding:.4rem 0}.shell.collapsed:not(.open) .sidenav-section{margin:.6rem .4rem;height:0;border-top:.5px solid var(--border)}.shell.collapsed:not(.open) .sidebar-foot{flex-direction:column}.mobilebar,.sidebar-scrim{display:none}.search-trigger{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.25rem;padding:.35rem .6rem;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.92rem;font-weight:500;box-shadow:none;justify-content:flex-start;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}.search-trigger .search-trigger-text{flex:1 1;text-align:left}.search-trigger:active{transform:scale(var(--press))}@media (hover:hover) and (pointer:fine){.search-trigger:hover{background:var(--surface-3);color:var(--text);box-shadow:none}}kbd{font:inherit;font-size:.72rem;font-weight:600;color:var(--muted);padding:.05rem .35rem;border-radius:5px;background:var(--surface);box-shadow:inset 0 0 0 .5px var(--border-strong)}.shell.collapsed:not(.open) .search-trigger{justify-content:center;padding:.35rem 0;background:none}.mobilebar-search{margin-left:auto}.palette{width:min(40rem,calc(100vw - 1.5rem));max-width:none;max-height:none;margin:12vh auto auto;padding:0;border:0;background:none;color:var(--text);overflow:visible}.palette[open]{animation:pop-in var(--dur-fast) var(--ease-out);transform-origin:50% 0}.palette::-webkit-backdrop{background:rgba(0,0,0,.25);animation:fade-in var(--dur-fast) var(--ease-out)}.palette::backdrop{background:rgba(0,0,0,.25);animation:fade-in var(--dur-fast) var(--ease-out)}.palette-panel{display:flex;flex-direction:column;max-height:min(32rem,76dvh);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lift);overflow:hidden}.palette-field{display:flex;align-items:center;gap:.6rem;padding:.35rem 1rem;border-bottom:.5px solid var(--border-strong);color:var(--muted)}.palette-field input{flex:1 1;min-width:0;padding:.7rem 0;font-size:1.1rem;background:none;border:0;box-shadow:none}.palette-field input:focus{box-shadow:none;outline:none}.palette-spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.palette-list{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:.35rem .5rem .5rem}.palette-group{margin:.6rem .6rem .25rem;color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.palette-option{display:flex;align-items:center;gap:.7rem;min-height:2.5rem;padding:.4rem .6rem;border-radius:10px;cursor:pointer;scroll-margin:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.palette-option .icon{color:var(--accent)}.palette-option.active{background:var(--accent);color:var(--accent-text)}.palette-option.active .icon,.palette-option.active .palette-hint{color:inherit}.palette-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.palette-hint{color:var(--muted);font-size:.85rem;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.palette-empty{margin:1.5rem .6rem;text-align:center;color:var(--muted)}.palette-foot{display:flex;gap:1rem;padding:.5rem 1rem;border-top:.5px solid var(--border);color:var(--muted);font-size:.78rem}.palette-foot kbd{margin-right:.15rem}@media (pointer:coarse){.palette-foot{display:none}.palette-option{min-height:2.9rem}}@media (max-width:700px){.palette{margin-top:calc(.75rem + env(safe-area-inset-top))}.palette-panel{max-height:70dvh}}@media (prefers-reduced-motion:reduce){.palette[open]{animation:fade-in .15s ease both}.palette-spinner{animation-duration:1.5s}}.acting-banner{position:-webkit-sticky;position:sticky;top:0;z-index:20}.page{max-width:1120px;margin:0 auto;padding:2rem 1.5rem calc(4rem + env(safe-area-inset-bottom, 0px))}.page:has(.schedule){max-width:none;padding:1rem 1.25rem 1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.page-header h1{margin-bottom:.15rem}.page-header p{margin:0;color:var(--muted)}.auth-card{max-width:420px;margin:max(3rem,12vh) auto 3rem;background:var(--surface);border-radius:22px;padding:2rem;box-shadow:var(--shadow-lift)}.auth-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1.25rem}.auth-header h1{font-size:1.45rem;margin:0;text-wrap:balance;overflow-wrap:anywhere}.auth-brand{min-width:0}.auth-card form button:not(.link):not(.secondary){width:100%;min-height:2.75rem}.lang-switch{display:flex;gap:.75rem}.qr{display:block;margin:1rem auto;border-radius:12px}.card{background:var(--surface);border:0;border-radius:var(--radius);padding:1.15rem 1.35rem;margin:1rem 0;box-shadow:var(--shadow)}.card>h2:first-child{margin-top:0}.count{font-weight:400;font-size:.85rem;margin-left:.35rem}.count,.empty{color:var(--muted)}.empty{background:var(--surface);border-radius:var(--radius);padding:3rem 1rem;text-align:center;box-shadow:var(--shadow);text-wrap:balance}.stack{gap:.9rem;max-width:560px}.stack,label{display:flex;flex-direction:column}label{gap:.3rem;font-size:.85rem;font-weight:500;color:var(--label-2)}label.checkbox{flex-direction:row;align-items:center;gap:.55rem;font-weight:400;color:var(--text)}input,select,textarea{font:inherit;font-size:1rem;color:var(--text);padding:.55rem .75rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-2);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background-color var(--dur-fast) ease}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:var(--focus)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='14' viewBox='0 0 10 14'%3E%3Cpath d='M1 5l4-4 4 4M1 9l4 4 4-4' fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}input[type=checkbox]{width:1.15rem;height:1.15rem;padding:0;accent-color:var(--accent)}small{font-weight:400}fieldset{border:0;background:var(--surface-3);border-radius:var(--radius);padding:.9rem 1rem;margin:0}legend{font-weight:600;font-size:.85rem;color:var(--muted);padding:0 0 .35rem}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem}.button,button{font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;background:var(--accent);color:var(--accent-text);border:0;border-radius:var(--radius-sm);padding:.55rem 1.1rem;min-height:2.35rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;line-height:1.3;white-space:nowrap;box-shadow:var(--shadow-button);transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,opacity var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}@media (hover:hover) and (pointer:fine){.button:hover,button:hover{background:var(--accent-hover);text-decoration:none}}.button:active,button:active{transform:scale(var(--press))}button:disabled,button:disabled:active{opacity:.4;cursor:default;transform:none}button.danger{background:var(--danger-soft);color:var(--danger-text);box-shadow:none}@media (hover:hover) and (pointer:fine){button.danger:hover{background:var(--danger);color:#fff}}.button.secondary,button.secondary{background:var(--surface-2);color:var(--accent);box-shadow:none}.button.secondary:active,button.secondary:active{background:var(--accent-soft)}@media (hover:hover) and (pointer:fine){.button.secondary:hover,button.secondary:hover{background:var(--accent-soft)}}button.link{background:none;border:none;color:var(--accent);padding:0;min-height:0;font-weight:400;text-decoration:none;box-shadow:none}@media (hover:hover) and (pointer:fine){button.link:hover{background:none;text-decoration:underline}}button.link:active{transform:none;opacity:.6}button.link.active{font-weight:600;text-decoration:none;color:var(--text)}.acting-banner button,.chip,button.chip,button.dash-menu-item,button.icon-close,button.msgr-compose,button.picker-option,button.widget-remove,button.widget-style{box-shadow:none}@media (pointer:coarse){.button,button,button.link,input,select{min-height:44px}input,select,textarea{font-size:max(1rem,16px)}}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}td,th{text-align:left;padding:.7rem .95rem;border-bottom:.5px solid var(--border);font-size:.93rem;vertical-align:top}tbody tr:last-child td{border-bottom:none}td{transition:background-color var(--dur-fast) ease}@media (hover:hover) and (pointer:fine){tbody tr:hover td{background:var(--surface-3)}}th{background:var(--surface);font-weight:600;font-size:.78rem;color:var(--muted);letter-spacing:.01em}td:first-child>a:first-child{font-weight:500}tr.muted td{color:var(--muted)}table.audit .details{word-break:break-all;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;align-items:center}.pager{display:flex;gap:1.5rem;margin-top:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger-text);margin:0}.ok{color:var(--ok);margin:0}.tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.01em;background:var(--surface-2);color:var(--label-2);border-radius:999px;padding:.12rem .6rem;vertical-align:middle;white-space:nowrap}.tag.status-booked{background:var(--accent-soft);color:var(--accent)}.tag.status-confirmed{background:var(--ok-soft);color:var(--ok)}.tag.status-checked_in{background:var(--warn-soft);color:var(--warn)}.tag.status-checked_out{background:var(--surface-2);color:var(--muted)}.tag.status-no_show{background:var(--danger-soft);color:var(--danger-text)}.tag.status-cancelled{background:var(--surface-2);color:var(--muted);text-decoration:line-through}.tag.flagged{background:var(--danger-soft);color:var(--danger-text)}.notice{background:var(--banner);color:var(--banner-text);padding:.65rem .9rem;border-radius:var(--radius-sm)}.inline,form.inline{display:inline-flex;gap:.5rem;align-items:center}.row{display:flex;flex-wrap:wrap;gap:.75rem}.row>label{flex:1 1 160px}.row>label.narrow{flex:1 1 110px;max-width:170px}.row>label{min-width:0}.row>label>input,.row>label>select{width:100%;min-width:0}.row>button.link{align-self:flex-end;padding-bottom:.6rem}input[type=radio]{accent-color:var(--accent);width:1.1rem;height:1.1rem;padding:0}.stack.wide{max-width:920px}.actions{flex-wrap:wrap;margin:1rem 0}.actions,.inline-row{display:flex;gap:.75rem;align-items:center}.spacer{flex:1 1}dl.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:0;gap:0;margin:0}dl.facts dd,dl.facts dt{padding:.55rem 0;border-bottom:.5px solid var(--border)}dl.facts dd:last-of-type,dl.facts dt:last-of-type{border-bottom:0}dl.facts dt{color:var(--muted);font-size:.93rem;padding-right:1.5rem}dl.facts dd{margin:0}fieldset.plain{border:none;background:none;padding:0;margin:0;gap:.9rem}fieldset.line,fieldset.plain{display:flex;flex-direction:column}fieldset.line{gap:.6rem;background:var(--surface-3)}fieldset.line input,fieldset.line select,fieldset.line textarea{background:var(--surface)}.commission-live{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500;flex:1 1 160px;color:var(--label-2)}.commission-live strong{font-size:1.1rem;padding-top:.45rem;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note{white-space:pre-wrap;border-left:3px solid var(--accent);padding:.15rem 0 .15rem .85rem;margin:.75rem 0}details.visit{border-top:.5px solid var(--border);padding:.6rem 0}details.visit summary{cursor:pointer}.picker ul{list-style:none;padding:0;margin:.35rem 0 0;max-height:240px;overflow-y:auto;border:0;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lift)}.picker li{padding:.5rem .8rem;border-bottom:.5px solid var(--border)}.picker li:last-child{border-bottom:none}.picked{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.55rem .75rem;border:0;border-radius:var(--radius-sm);background:var(--accent-soft);font-weight:500}table.hours th{width:9rem;font-size:.93rem;color:var(--text)}table.hours input{width:auto}.agenda{list-style:none;padding:0;margin:0}.agenda li{border-top:.5px solid var(--border)}.agenda li:first-child{border-top:none}.agenda a{display:flex;gap:1rem;align-items:center;padding:.7rem .4rem;text-decoration:none;color:var(--text);border-radius:var(--radius-sm);transition:background-color var(--dur-fast) ease}@media (hover:hover) and (pointer:fine){.agenda a:hover{background:var(--surface-3);text-decoration:none}}.agenda a:active{background:var(--surface-2)}.agenda-time{width:5.5rem;flex:none;font-weight:600;font-size:.93rem;display:flex;flex-direction:column;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agenda-time small{color:var(--muted);font-weight:400}.agenda-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.agenda-main .muted,.agenda-main small{font-size:.87rem}.agenda-status{flex:none}.agenda li.status-checked_out .agenda-main strong{color:var(--muted)}.cal-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.cal-title{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.cal-arrows{display:flex;gap:.15rem}.icon-button{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;text-decoration:none;color:var(--accent);font-size:1.5rem;line-height:1}@media (hover:hover) and (pointer:fine){.icon-button:hover{background:var(--surface-2);text-decoration:none}}.segmented{display:inline-flex;gap:2px;padding:2px;background:var(--surface-2);border:0;border-radius:9px;overflow:hidden}.segmented a{padding:.35rem 1.1rem;text-decoration:none;color:var(--text);font-size:.87rem;font-weight:500;border-radius:7px;transition:background-color var(--dur-fast) ease}.segmented a:not(.active):active{background:color-mix(in srgb,var(--surface) 50%,transparent)}.segmented a+a{border-left:0}@media (hover:hover) and (pointer:fine){.segmented a:hover{text-decoration:none}}.segmented a.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}@media (prefers-color-scheme:dark){.segmented a.active{background:#636366}}.schedule-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}.schedule-side{position:-webkit-sticky;position:sticky;top:1rem;display:flex;flex-direction:column;gap:1.25rem}.schedule-main{min-width:0}.mini-month-head{display:flex;justify-content:space-between;align-items:center;font-size:.93rem;font-weight:600;margin-bottom:.35rem}.mini-month-head a{text-decoration:none;color:var(--accent);font-size:1.2rem;padding:0 .4rem}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-weekday{color:var(--muted);padding:.2rem 0;font-size:.7rem;font-weight:600}.mini-day{display:grid;place-items:center;aspect-ratio:1;margin:1px;border-radius:50%;text-decoration:none;color:var(--text)}@media (hover:hover) and (pointer:fine){.mini-day:hover{background:var(--surface-2);text-decoration:none}}.mini-day.other{color:var(--faint)}.mini-day.selected{background:var(--surface-2);color:var(--text);font-weight:600}.mini-day.today{background:var(--now);color:#fff;font-weight:600}.staff-filter h3{margin-top:0;color:var(--muted);font-weight:600;font-size:.8rem}.staff-toggle{display:flex;align-items:center;gap:.6rem;padding:.35rem .4rem;border-radius:8px;text-decoration:none;color:var(--text);font-size:.93rem}@media (hover:hover) and (pointer:fine){.staff-toggle:hover{background:var(--surface-2);text-decoration:none}}.staff-toggle .box{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--staff);flex:none;position:relative}.staff-toggle.on .box{background:var(--staff)}.staff-toggle.on .box:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.calendar{position:relative;background:var(--surface);border:0;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.calendar-error{padding:.6rem 1rem;background:var(--danger-soft);border-bottom:.5px solid var(--border)}.cal-scroll{max-height:calc(100dvh - 11rem);min-height:420px;overflow:auto}.cal-head{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border-strong)}.cal-body,.cal-head{display:flex;min-width:-moz-fit-content;min-width:fit-content}.cal-gutter{position:relative;width:4rem;flex:none}.cal-head .cal-gutter{border-right:1px solid transparent}.cal-col-head{flex:1 0 110px;min-width:110px;padding:.5rem .25rem;text-align:center;border-left:.5px solid var(--border)}.cal-col-head a{text-decoration:none;color:inherit;display:block}.cal-overline{display:flex;justify-content:center;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-overline .dot{width:.6rem;height:.6rem;border-radius:50%;flex:none}.cal-heading{display:inline-grid;place-items:center;min-width:2.2rem;height:2.2rem;margin-top:.15rem;border-radius:50%;font-size:1.3rem;font-weight:500;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-heading:empty{display:none}.cal-heading.today{background:var(--now);color:#fff;font-weight:600}@media (hover:hover) and (pointer:fine){.cal-col-head a:hover .cal-heading:not(.today){background:var(--surface-2)}}.cal-hour-label{position:absolute;right:.5rem;transform:translateY(-.55em);font-size:.7rem;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-col{position:relative;flex:1 0 110px;min-width:110px;border-left:.5px solid var(--border);cursor:pointer}.cal-col.today{background:transparent}.cal-closed{position:absolute;inset:0;background:var(--surface-3)}.cal-open{position:absolute;left:0;right:0}.cal-col.today .cal-open,.cal-open{background:var(--surface)}.cal-line{left:0;border-top:.5px solid var(--border)}.cal-line,.cal-now{position:absolute;right:0;pointer-events:none}.cal-now{left:-1px;border-top:2px solid var(--now);z-index:3}.cal-now:before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--now)}.cal-appt{--appt:var(--accent);position:absolute;z-index:2;border-radius:6px;padding:.2rem .45rem .2rem .7rem;font-size:.75rem;line-height:1.3;overflow:hidden;text-decoration:none;color:var(--text);background:color-mix(in srgb,var(--appt) 26%,var(--surface));border:0;box-shadow:inset 5px 0 0 var(--appt);display:flex;flex-direction:column;cursor:-webkit-grab;cursor:grab;transition:box-shadow var(--dur-fast) ease}@media (hover:hover) and (pointer:fine){.cal-appt:hover{z-index:4;text-decoration:none;box-shadow:inset 5px 0 0 var(--appt),var(--shadow-lift)}}.cal-appt .cal-svc,.cal-appt span,.cal-appt strong{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-appt strong{font-weight:600}.cal-appt.short{justify-content:center;padding-top:0;padding-bottom:0}.cal-appt .cal-who{opacity:.85}.cal-appt .cal-badge{position:absolute;right:.3rem;bottom:.2rem;background:var(--appt);color:var(--appt-ink,#fff);border-radius:999px;padding:0 .4rem;font-size:.65rem;font-weight:700}.cal-appt.short .cal-badge{top:50%;bottom:auto;transform:translateY(-50%)}.cal-appt.status-booked{background:color-mix(in srgb,var(--appt) 16%,var(--surface));box-shadow:inset 5px 0 0 var(--appt),inset 0 0 0 1px color-mix(in srgb,var(--appt) 45%,transparent);outline:1px dashed color-mix(in srgb,var(--appt) 70%,transparent);outline-offset:-1px}.cal-appt.status-checked_out{opacity:.5;background:color-mix(in srgb,var(--appt) 14%,var(--surface))}.cal-appt.status-no_show{background:repeating-linear-gradient(135deg,var(--danger-soft) 0 6px,var(--surface) 6px 12px);color:var(--danger-text);box-shadow:inset 3px 0 0 var(--danger)}.cal-appt.status-no_show .cal-badge{background:var(--danger)}.cal-appt.flagged{outline:2px solid var(--now);outline-offset:-1px}.cal-appt.dragging{opacity:.4}.cal-appt[draggable=false]{cursor:pointer}@media (max-width:1100px){.shell,.shell.collapsed{--sidebar-w:4.25rem}.shell:not(.open) .nav-label{display:none}.shell:not(.open) .sidebar-head{flex-direction:column;gap:.5rem}.shell:not(.open) .sidenav a{justify-content:center;padding:.4rem 0}.shell:not(.open) .sidenav-section{margin:.6rem .4rem;height:0;border-top:.5px solid var(--border)}.shell:not(.open) .sidebar-foot{flex-direction:column}.shell:not(.open) .search-trigger{justify-content:center;padding:.35rem 0;background:none}.shell.open .sidebar{position:fixed;left:0;width:16.5rem;box-shadow:var(--shadow-lift);background:var(--surface)}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.25);transition:opacity var(--dur-sheet) var(--ease-out)}@starting-style{.sidebar-scrim{opacity:0}}}@media (min-width:701px) and (max-width:1100px){.shell.open .sidebar{animation:drawer-in var(--dur-sheet) var(--ease-drawer)}}@keyframes drawer-in{0%{transform:translateX(-2rem);opacity:.4}}@media (max-width:900px){.schedule-layout{grid-template-columns:1fr}.schedule-side{position:static;display:none}}@media (max-width:700px){.shell,.shell.collapsed{display:block}.shell-main{min-width:0;max-width:100vw}.mobilebar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border-strong)}.sidebar{position:fixed;left:0;width:16.5rem;transform:translateX(-100%);transition:transform var(--dur-sheet) var(--ease-drawer);background:var(--surface)}.shell.open .sidebar{transform:none}.shell .mobilebar .nav-label{display:inline}.page{padding:1rem .75rem 3rem}.card{padding:1rem}h1{font-size:1.7rem}table{display:block;overflow-x:auto}.cal-title{font-size:1.35rem;flex-basis:100%;order:-1}.cal-gutter{width:3rem}.agenda-time{width:4.25rem}}.kiosk-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;font-weight:600;font-size:1.05rem;color:var(--label-2)}.kiosk-brand .brand-logo,.kiosk-brand .brand-mark{width:2.5rem;height:2.5rem;font-size:1.25rem}.auth-brand{display:flex;align-items:center;gap:.65rem}.auth-brand .brand-logo,.auth-brand .brand-mark{width:2.4rem;height:2.4rem;font-size:1.2rem}.swatches{gap:.6rem;align-items:center;border:0;background:none;padding:0}.swatch{position:relative;display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;cursor:pointer}.swatch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.swatch span{width:1.9rem;height:1.9rem;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.15)}.swatch input:checked+span{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--swatch)}.swatch input:focus-visible+span{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--swatch),var(--focus)}.swatch-custom{display:inline-flex;align-items:center;gap:.5rem;flex-direction:row;font-weight:400;color:var(--text)}.swatch-custom input[type=color]{width:2.4rem;height:2.4rem;padding:.15rem;border-radius:50%;min-height:0;cursor:pointer}.logo-preview{display:flex;align-items:center;gap:1rem}.logo-preview img{width:4rem;height:4rem;border-radius:22.5%;object-fit:contain;background:var(--surface-3)}.kiosk{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 4rem;font-size:1.1rem}.kiosk h1{font-size:2.1rem}.kiosk .document{background:var(--surface);border:0;border-radius:16px;padding:1.35rem 1.6rem;margin:1rem 0 1.5rem;max-height:45vh;overflow-y:auto;box-shadow:var(--shadow);line-height:1.6}.kiosk input{font-size:1.1rem;padding:.75rem}.kiosk .done{margin:3rem 0 2rem;text-align:center}.kiosk-progress p{margin:0 0 .35rem}.kiosk-progress progress{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--surface-2);overflow:hidden}.kiosk-progress progress::-webkit-progress-bar{background:var(--surface-2)}.kiosk-progress progress::-webkit-progress-value{background:var(--accent);border-radius:999px}.kiosk-progress progress::-moz-progress-bar{background:var(--accent)}.kiosk .pdf-pages{max-height:none;overflow:visible}.signature-wrap{position:relative}.signature-pad{width:100%;height:300px;background:#fff linear-gradient(transparent calc(100% - 64px),rgba(60,60,67,.3) calc(100% - 64px),rgba(60,60,67,.3) calc(100% - 63px),transparent calc(100% - 63px));border:0;border-radius:16px;box-shadow:inset 0 0 0 1px var(--border-strong);touch-action:none;display:block}.signature-clear{position:absolute;top:.6rem;right:.6rem;min-height:44px}label.checkbox.big{font-size:1.15rem}label.checkbox.big input{width:1.6rem;height:1.6rem;flex:none}label.agree-row{min-height:56px;padding:.75rem 1rem;border:0;border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);cursor:pointer;transition:background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}label.agree-row:has(input:checked){background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}button.big{font-size:1.15rem;padding:.85rem 2rem;min-height:54px;border-radius:14px}button.block{width:100%;justify-content:center}.cal-body .cal-gutter,.cal-head .cal-gutter{position:-webkit-sticky;position:sticky;left:0;z-index:6;background:var(--surface)}.cal-head .cal-gutter{background:transparent}@media (max-width:700px){.cal-col,.cal-col-head{flex-basis:96px;min-width:96px}}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:0 1.25rem;gap:0 1.25rem;align-items:start}.two-col>*{min-width:0}.badge{min-width:1.35rem;text-align:center;font-size:.75rem;font-weight:600;background:var(--now);color:#fff;border-radius:999px;padding:.05rem .45rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge,.dot-alert{display:inline-block;vertical-align:middle}.dot-alert{width:.6rem;height:.6rem;border-radius:50%;background:var(--accent);margin-left:.4rem}.plain-list{list-style:none;margin:0;padding:0}.plain-list li{padding:.6rem 0;border-top:.5px solid var(--border)}.plain-list li:first-child{border-top:none;padding-top:0}.alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.alerts li{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.75rem .4rem .75rem 1.4rem;border-radius:0;border-top:.5px solid var(--border);background:transparent;position:relative}.alerts li:first-child{border-top:0}.alerts li:before{content:"";position:absolute;left:.3rem;top:1.2rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--faint)}.alerts li>div{min-width:0}.alert-declined:before{background:var(--danger)!important}.alert-no_reply:before{background:var(--orange)!important}.alert-message:before{background:var(--accent)!important}.alert-declined .alert-kind{color:var(--danger-text)}.alert-no_reply .alert-kind{color:var(--warn)}.alert-message .alert-kind{color:var(--accent)}.alert-low_rating:before{background:var(--purple)!important}.alert-low_rating .alert-kind{color:var(--purple)}.alerts q{display:block;font-style:normal;color:var(--label-2);margin-top:.15rem;overflow-wrap:anywhere}.page:has(.messenger){max-width:1440px;padding:.75rem 1rem}.messenger{--msgr-top:2.75rem;display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);height:max(30rem,calc(100dvh - var(--msgr-top) - .75rem));background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.msgr-list{display:flex;flex-direction:column;min-height:0;border-right:.5px solid var(--border-strong)}.msgr-list-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .4rem}.msgr-list-head h1{margin:0;font-size:1.6rem}button.msgr-compose{width:2.2rem;height:2.2rem;min-height:0;padding:0;border-radius:50%;font-size:1.4rem;font-weight:400;background:var(--surface-2);color:var(--accent)}@media (hover:hover) and (pointer:fine){button.msgr-compose:hover{background:var(--accent-soft)}}.msgr-new{padding:.75rem;background:var(--surface-3);display:flex;flex-direction:column;gap:.5rem;animation:msgr-in var(--dur-fast) var(--ease-out)}.msgr-new,input.msgr-search{margin:.25rem .75rem .5rem;border-radius:var(--radius-sm)}input.msgr-search{width:auto;background:var(--surface-2);border:0;padding:.45rem .75rem}.msgr-threads{list-style:none;margin:0;padding:0 .4rem .5rem;overflow-y:auto;flex:1 1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.msgr-threads a{display:flex;gap:.7rem;align-items:center;padding:.6rem;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;transition:background-color var(--dur-fast) ease}.msgr-threads a:not(.active):active{background:var(--surface-2)}@media (hover:hover) and (pointer:fine){.msgr-threads a:hover{background:var(--surface-3);text-decoration:none}}.msgr-threads a.active{background:var(--accent);color:var(--accent-text)}.msgr-threads a.active .msgr-row-alert,.msgr-threads a.active .msgr-row-snippet,.msgr-threads a.active time{color:inherit;opacity:.85}.msgr-threads a.active .dot-alert{background:currentColor}.msgr-row{display:flex;flex-direction:column;min-width:0;flex:1 1;gap:.1rem}.msgr-row-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.msgr-row-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgr-row-top time{font-size:.78rem;color:var(--muted);flex:none}.msgr-row-alert,.msgr-row-snippet{font-size:.87rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgr-row-alert{color:var(--accent);font-weight:600}.msgr-row-alert .dot-alert{margin:0 .2rem 0 0}.msgr-empty{padding:1rem;text-align:center}.msgr-avatar{--hue:211;flex:none;display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(180deg,hsl(var(--hue) 70% 62%),hsl(var(--hue) 62% 48%));letter-spacing:.02em}.msgr-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.msgr-home{overflow-y:auto;padding:1.5rem}.msgr-home .card{max-width:40rem;margin-left:auto;margin-right:auto}.msgr-home-intro{text-align:center;padding:2rem 1rem 1rem}.msgr-home-intro h2{margin:.5rem 0 .25rem}.msgr-home-intro .actions{justify-content:center;margin-top:.75rem}.msgr-home-icon{font-size:2.5rem}.msgr-convo{display:flex;flex-direction:column;min-height:0;height:100%}.msgr-convo-head{display:flex;align-items:center;gap:.7rem;padding:.6rem 1rem;background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border-strong)}.msgr-convo-title{display:flex;flex-direction:column;min-width:0;flex:1 1}.msgr-convo-title strong{font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgr-convo-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.msgr-convo-actions .chip{text-decoration:none;white-space:nowrap}.chip.on{background:var(--accent-soft);color:var(--accent)}.msgr-back{display:none;color:var(--accent);text-decoration:none;font-size:1.05rem;white-space:nowrap}.msgr-messages{flex:1 1;overflow-y:auto;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.15rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.msgr-messages>:first-child{margin-top:auto}.msgr-item{display:flex;flex-direction:column;animation:msgr-in .2s var(--ease-out)}.msgr-day{align-self:center;font-size:.75rem;font-weight:600;color:var(--muted);margin:.9rem 0 .4rem}.bubble-row{display:flex}.bubble-row.outbound{justify-content:flex-end}.bubble{max-width:min(75%,34rem);padding:.5rem .85rem;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.inbound{background:var(--surface);border-bottom-left-radius:5px}.bubble.outbound{background:var(--accent);color:var(--accent-text);border-bottom-right-radius:5px}.bubble small{display:block;font-size:.72rem;opacity:.75;margin-top:.2rem}.bubble-row.pending{opacity:.6}.bubble.failed{background:var(--danger-soft);color:var(--danger-text)}.bubble-translation{display:block;margin-top:.4rem;padding-top:.4rem;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);font-size:.95em;animation:msgr-in .2s var(--ease-out)}.bubble-meta{display:flex;gap:.6rem;align-items:center;font-size:.72rem;color:var(--muted);margin:.15rem .5rem .35rem}.bubble-meta.outbound{justify-content:flex-end}.bubble-meta button.translate-button{font-size:.72rem;font-weight:500;color:var(--accent)}.bubble-meta .error-text{color:var(--danger-text)}.msgr-notice{margin:.5rem 1rem}.msgr-composer{padding:.5rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--border-strong);display:flex;flex-direction:column;gap:.4rem}.msgr-composer .error{padding:0 .35rem}.msgr-compose-row{display:flex;gap:.5rem;align-items:flex-end}.msgr-compose-row input,.msgr-compose-row textarea{flex:1 1;resize:none;border-radius:1.2rem;padding:.5rem .95rem;line-height:1.35;min-height:2.35rem;max-height:10rem;background:var(--surface)}button.msgr-send{width:2.35rem;height:2.35rem;min-height:0;padding:0;border-radius:50%;flex:none}.msgr-compose-row textarea{font-size:max(1rem,16px)}.msgr-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.25rem .6rem;gap:.25rem .6rem;align-items:center;padding:.55rem .75rem;border-radius:var(--radius-sm);background:var(--accent-soft);animation:msgr-in var(--dur-fast) var(--ease-out)}.msgr-suggestion-label{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.msgr-suggestion-text{overflow-wrap:anywhere}.msgr-suggestion-actions{grid-column:1/-1;display:flex;gap:.4rem;justify-content:flex-end}.chip.primary{background:var(--accent);color:var(--accent-text)}@media (hover:hover) and (pointer:fine){.chip.primary:hover{background:var(--accent-hover);color:var(--accent-text)}}.msgr-suggestion-off{margin:0;padding:0 .35rem}.msgr-test{margin:0 .75rem .5rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface);border:1px dashed var(--border-strong);animation:msgr-in var(--dur-fast) var(--ease-out)}.msgr-test-head{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.5rem}.msgr-test-head button{margin-left:auto}.msgr-test .chips{margin-bottom:.5rem}@keyframes msgr-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.bubble-translation,.msgr-item,.msgr-new,.msgr-suggestion,.msgr-test{animation:none}}@media (max-width:700px){.page:has(.messenger){padding:0}.messenger{--msgr-top:6rem;grid-template-columns:minmax(0,1fr);border-radius:0;height:calc(100dvh - var(--msgr-top))}.messenger.has-open .msgr-list,.messenger:not(.has-open) .msgr-pane{display:none}.msgr-list{border-right:0}.msgr-back{display:inline-flex;gap:.2rem;align-items:center}.msgr-back span,.msgr-convo-head .msgr-avatar{display:none}}@media (pointer:coarse){button.msgr-compose,button.msgr-send{width:44px;height:44px}.msgr-convo-actions .chip{min-height:36px;display:inline-flex;align-items:center}}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.chip{background:var(--surface-2);color:var(--text);border:0;border-radius:999px;padding:.3rem .85rem;font-size:.87rem;font-weight:500;min-height:0;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}.chip:active{transform:scale(var(--press))}@media (hover:hover) and (pointer:fine){.chip:hover{background:var(--accent-soft);color:var(--accent)}}.reply-line{color:var(--muted);font-size:.87rem}.stack.wide{max-width:none}fieldset.template{margin-bottom:.9rem}.row>label>textarea,.stack.wide textarea{width:100%;min-width:0;resize:vertical}.row>label{flex-basis:240px}.row>label.narrow{flex-basis:110px}.promo{border-top:0}.promo p{margin:.35rem 0}.promo-head{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:1.05rem;font-weight:600}.badge.rule-slow_slots{background:var(--accent)}.badge.rule-return_visit{background:var(--purple)}.badge.rule-seasonal{background:var(--warn)}.promo .previews blockquote{flex:1 1 240px;margin:.5rem 0 0;padding:.6rem .85rem;background:var(--surface-3);border-radius:14px;white-space:pre-wrap}.promo form.dismiss{margin-top:-.5rem}.promo form.dismiss button{background:var(--surface-2);color:var(--danger-text)}.card h3{font-size:.95rem;margin:.5rem 0 0}.cal-promo{position:absolute;left:1px;right:1px;border:1.5px dashed var(--accent);border-radius:6px;background:var(--accent-soft);font-size:.72rem;padding:.1rem .3rem;z-index:1;overflow:hidden;pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-end;opacity:.8}.cal-promo a{position:relative;z-index:3;pointer-events:auto;color:var(--accent);text-decoration:none;font-weight:600;background:var(--surface);border-radius:4px;padding:0 .25rem}@media (hover:hover) and (pointer:fine){.cal-promo a:hover{text-decoration:underline}}@media (max-width:900px){.two-col{grid-template-columns:1fr}}.alert-kind{font-weight:600;font-size:.85rem;margin-right:.4rem}.alerts small{display:block;margin-top:.15rem;color:var(--muted)}.alerts small a{color:inherit}.alerts li form.inline{margin:0;flex-shrink:0}@media (max-width:700px){.alerts li{flex-wrap:wrap}.alerts li>div{flex:1 1 14rem}.alerts li form.inline{margin-left:auto}}.pdf-viewer{margin:1rem 0}.pdf-pages{display:flex;flex-direction:column;gap:.75rem;max-height:60vh;overflow-y:auto;background:var(--surface-3);padding:.75rem;border-radius:var(--radius);border:0;-webkit-overflow-scrolling:touch}.pdf-pages canvas{display:block;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);border-radius:2px}.read-above{font-weight:600}.pdf-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.document-preview{max-height:50vh;overflow-y:auto;background:var(--surface-3);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}.cal-col{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cal-draft{--draft:var(--accent);position:absolute;left:2px;right:2px;z-index:3;border-radius:6px;padding:.2rem .45rem;font-size:.75rem;line-height:1.3;overflow:hidden;display:flex;flex-direction:column;background:color-mix(in srgb,var(--draft) 22%,var(--surface));color:color-mix(in srgb,var(--draft) 70%,var(--text));border:0;box-shadow:inset 3px 0 0 var(--draft),inset 0 0 0 1.5px var(--draft),var(--shadow-lift);pointer-events:none;scroll-margin:3rem;font-weight:600}.cal-draft.sketching{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-draft.problem{color:var(--danger-text);background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger),inset 0 0 0 1.5px var(--danger),var(--shadow-lift)}.cal-draft-tail{position:absolute;left:2px;right:2px;z-index:3;pointer-events:none;border-radius:0 0 6px 6px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent) 0 4px,transparent 4px 8px)}.schedule-board{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.schedule-board.with-panel{grid-template-columns:minmax(0,1fr) 340px}.schedule-board-cal{min-width:0}.booking-panel{position:-webkit-sticky;position:sticky;top:1rem;background:var(--surface);border:0;border-radius:16px;box-shadow:var(--shadow-lift);padding:1rem 1.1rem;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;transition:transform var(--dur-sheet) var(--ease-drawer),opacity var(--dur-fast) var(--ease-out)}@starting-style{.booking-panel{opacity:0;transform:translateX(1rem)}}.booking-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.booking-panel-head h2{margin:0;font-size:1.15rem}.booking-panel input:not([type=checkbox]),.booking-panel select{width:100%;min-width:0}.field{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.85rem;font-weight:500;color:var(--label-2)}button.icon-close{background:none;border:none;color:var(--muted);font-size:1.1rem;font-weight:700;line-height:1;padding:0;min-width:44px;min-height:44px;justify-content:center;position:relative}button.icon-close:before{content:"";position:absolute;inset:50% auto auto 50%;width:1.75rem;height:1.75rem;transform:translate(-50%,-50%);border-radius:50%;background:var(--surface-2);z-index:-1}button.icon-close{isolation:isolate}@media (hover:hover) and (pointer:fine){button.icon-close:hover{background:none;color:var(--text)}}button.link-button,button.text-button{background:none;border:none;color:var(--accent);padding:.4rem 0;box-shadow:none;align-self:flex-start;font-weight:500}@media (hover:hover) and (pointer:fine){button.link-button:hover,button.text-button:hover{background:none;box-shadow:none;text-decoration:underline}}button.text-button{color:var(--accent);padding:.5rem .75rem;font-weight:400}button.small-button{font-size:.8rem;padding:.3rem .75rem;min-height:0;border-radius:999px}.picker li:has(>.picker-option){padding:0}button.picker-option{width:100%;background:none;border:none;color:var(--text);border-radius:0;padding:.6rem .8rem;min-height:44px;text-align:left;justify-content:flex-start;white-space:normal;font-weight:400}button.picker-option:focus-visible{background:var(--accent);color:var(--accent-text);box-shadow:none;transform:none}@media (hover:hover) and (pointer:fine){button.picker-option:hover{background:var(--accent);color:var(--accent-text);box-shadow:none;transform:none}}.quick-customer{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:0;border-radius:var(--radius);background:var(--surface-3)}.quick-customer input,.quick-customer select{background:var(--surface)}.slot-check{margin:0;min-height:1.5em;font-size:.85rem;color:var(--muted)}.slot-check.free{color:var(--ok)}.slot-check.problem{color:var(--danger-text)}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:1rem;background:rgba(28,28,30,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:#fff;padding:.45rem .5rem .45rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-lift);max-width:calc(100vw - 2rem);font-weight:500;bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));transition:transform .4s ease,opacity .4s ease}@starting-style{.toast{opacity:0;transform:translate(-50%,calc(100% + 1.5rem))}}.toast a{color:#64d2ff;font-weight:600}.toast button.icon-close{color:rgba(255,255,255,.7)}.toast button.icon-close:before{background:rgba(255,255,255,.15)}@media (max-width:1180px){.schedule-layout:has(.with-panel){grid-template-columns:minmax(0,1fr)}.schedule-layout:has(.with-panel) .schedule-side{display:none}.schedule-board.with-panel{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:900px){.schedule-board.with-panel{grid-template-columns:minmax(0,1fr)}.schedule-board.with-panel .cal-scroll{max-height:calc(45vh - 9rem);min-height:220px}@starting-style{.booking-panel{opacity:1;transform:translateY(100%)}}.booking-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;max-height:55dvh;border-radius:20px 20px 0 0;padding-top:1.4rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.booking-panel:before{content:"";position:absolute;top:.45rem;left:50%;transform:translateX(-50%);width:36px;height:5px;border-radius:999px;background:var(--faint)}}.booking-panel .picker ul{max-height:200px}details.disclosure>summary{cursor:pointer;font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:-.25rem 0}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:after{content:"›";color:var(--faint);font-size:1.5rem;font-weight:600;transition:transform .2s var(--ease-out)}details.disclosure[open]>summary{margin-bottom:.75rem}details.disclosure[open]>summary:after{transform:rotate(90deg)}.hours-day{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.hours-range{display:inline-flex;align-items:center;gap:.4rem}table.audit td.nowrap{white-space:nowrap}.stack:has(>table.hours){max-width:none}.hours-range .muted{white-space:nowrap}@media (hover:hover) and (pointer:fine){.acting-banner button:hover{background:#fff}}.perm-table td,.perm-table th{text-align:center}.perm-table td:first-child,.perm-table th:first-child{text-align:left}.perm-table tr.area th{background:var(--surface-3);text-align:left;color:var(--text);font-weight:600}.nav-row{align-items:center;gap:.5rem;white-space:nowrap}.nav-move,.nav-row{display:inline-flex}.nav-move .icon-button{width:1.9rem;height:1.9rem}.nav-move .icon-button:disabled{opacity:.3;cursor:default}.rebook-hint{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);padding:.55rem 1rem;margin-bottom:.75rem;font-size:.93rem;font-weight:500}.table-scroll{overflow-x:auto}.grow{width:100%}.right{text-align:right}.cal-who .dot,.service-dot,.service-select .dot,.swatch-custom .dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;flex:none;vertical-align:middle}.service-dot{margin-right:.5rem}.cal-who .dot{width:.45rem;height:.45rem;margin-right:.25rem;vertical-align:.05em}.cal-appt .cal-svc,.svc-tag{font-style:normal;font-weight:600;background:var(--svc,var(--appt));color:var(--svc-ink,var(--appt-ink,#fff));border-radius:4px;padding:0 .35rem;max-width:100%}.cal-appt .cal-svc{align-self:flex-start;font-size:.7rem;line-height:1.35;margin-bottom:.1rem}.cal-appt.short .cal-svc{display:inline;margin:0 .15rem 0 0}.svc-tag{display:inline-block;font-size:.8em;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:.05em}h1 .svc-tag{font-size:.5em;padding:.15rem .6rem;vertical-align:middle}.service-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0 0 .6rem;font-size:.9rem}.service-legend .svc-tag{font-size:.85rem;padding:.1rem .55rem}.swatch.taken span{opacity:.35}.swatch.taken:after{content:"";position:absolute;width:1.9rem;height:2px;background:var(--muted);transform:rotate(-45deg);pointer-events:none}.service-select{display:flex;align-items:center;gap:.5rem}.service-select .dot{width:.85rem;height:.85rem;background:var(--svc,var(--faint))}.service-select select{flex:1 1}.range-picker{position:relative}.range-picker>summary{list-style:none;cursor:pointer;padding:.35rem 1rem;border-radius:9px;background:var(--surface-2);color:var(--text);font-size:.87rem;font-weight:500;white-space:nowrap}.range-picker>summary::-webkit-details-marker{display:none}.range-picker.active>summary{background:var(--accent-soft);color:var(--accent);font-weight:600}.range-popover{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;width:260px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lift);padding:.75rem;transform-origin:top right;animation:pop-in var(--dur-fast) var(--ease-out)}.mini-month-grid{touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mini-month-grid.picking .mini-day.selected{background:var(--accent-soft);color:var(--accent)}.mini-month-hint{margin:.4rem 0 0}.wechat-send{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.wechat-send textarea{width:100%}.wechat-send .actions{margin:0;align-items:center}button.wechat-button{background:#07c160;color:#fff}@media (hover:hover) and (pointer:fine){button.wechat-button:hover{background:#06ad56}}.wechat-promo ul li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5rem}.wechat-promo ul li .wechat-send{flex-basis:100%;margin-top:.25rem}@media (prefers-reduced-motion:reduce){:root{--press:1}*,:after,:before{transition-property:opacity,color,background-color,border-color,outline-color,box-shadow!important;transition-duration:.15s!important;scroll-behavior:auto!important}.bubble-translation,.column-panel,.dash-menu,.msgr-item,.msgr-new,.msgr-suggestion,.msgr-test,.range-popover,.shell.open .sidebar{animation:fade-in .15s ease both!important}details.disclosure>summary:after{transition:none!important}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-transparency:reduce){:root{--material:var(--surface)}.cal-head,.dash-toolbar,.mobilebar,.msgr-composer,.msgr-convo-head,.sidebar,.toast{-webkit-backdrop-filter:none;backdrop-filter:none}.toast{background:#1c1c1e}}@media (prefers-contrast:more){:root{--border:rgba(60,60,67,0.45);--border-strong:rgba(60,60,67,0.7);--muted:rgba(60,60,67,0.85);--shadow:0 0 0 1px var(--border-strong)}@media (prefers-color-scheme:dark){:root{--border:rgba(235,235,245,0.35);--border-strong:rgba(235,235,245,0.55);--muted:rgba(235,235,245,0.8)}}}.card h3.section-gap{margin-top:1.75rem}.sign-site .error{white-space:pre-line}.sign-start{text-align:center}.sign-start .stack,.sign-start form{text-align:left}.sign-sub{font-size:1.4rem;color:var(--label-2);margin-top:-.5rem}.sign-code{font-size:2rem!important;letter-spacing:.3em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sign-keypad{max-width:420px;margin:1.5rem auto 0;display:flex;flex-direction:column;gap:1rem}.sign-number{display:block;min-height:3.5rem;font-size:2.2rem;font-weight:600;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.5rem;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.sign-number .muted{font-size:1.05rem;font-weight:400;line-height:2.5rem}.sign-keypad .keys{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.sign-keypad .key{min-height:76px;font-size:1.9rem;font-weight:500;border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow),inset 0 0 0 1px var(--border)}@media (hover:hover) and (pointer:fine){.sign-keypad .key:hover{background:var(--surface-3)}}.sign-keypad .key:active{background:var(--surface-2)}.sign-keypad .key-back{font-size:1.6rem}.sign-bookings{list-style:none;padding:0;margin:1.25rem 0;display:flex;flex-direction:column;gap:.9rem}.sign-bookings li{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0}.sign-time{font-size:1.5rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sign-service{color:var(--label-2);font-size:1.15rem}.sign-bookings .button.big{flex-direction:column;gap:.1rem;min-width:11rem}.sign-bookings .button.big small{font-weight:400;font-size:.85rem;opacity:.85}.sign-bookings .notice,.sign-bookings .ok{margin:0;max-width:22rem}.button.big{font-size:1.15rem;padding:.85rem 2rem;min-height:54px;border-radius:14px}.sign-done{text-align:center;margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.sign-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.pairing-code{margin-top:1rem;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--accent-soft)}.pairing-code .code{font-size:2.4rem;font-weight:700;letter-spacing:.15em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:.35rem 0}td.actions{white-space:nowrap}td.actions>*{margin-right:.5rem}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:0 1.25rem;gap:0 1.25rem}.review-site-head{display:flex;gap:.5rem;align-items:center;margin:0 0 .5rem}.review-score{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:0 0 .35rem}.review-score strong{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-score .stars{font-size:1.2rem}.site-badge{display:inline-block;font-size:.8rem;font-weight:700;border-radius:6px;padding:.1rem .5rem;color:#fff;vertical-align:middle}.site-badge.site-google{background:#4285f4}.site-badge.site-yelp{background:#d32323}.stars{color:var(--orange);letter-spacing:.05em;white-space:nowrap}.stars-off{color:var(--muted);opacity:.35}.review-head{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.review-head a{color:inherit}.review-body{white-space:pre-wrap;margin:.5rem 0}.review.review-low{box-shadow:var(--shadow),inset 3px 0 0 var(--orange)}.badge.campaign-birthday,.campaign-dot.campaign-birthday{background:var(--pink,#ff2d55)}.badge.campaign-lapsed,.campaign-dot.campaign-lapsed{background:var(--purple)}.badge.campaign-thank_you,.campaign-dot.campaign-thank_you{background:var(--ok,#34c759)}.campaign-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:middle}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));grid-gap:0 1.25rem;gap:0 1.25rem;align-items:start}.campaign-card:not(.on) h2{color:var(--muted)}.campaign-who{margin:0 0 .4rem}.campaign-actions{margin-top:.5rem}.campaign-todos blockquote{margin:.25rem 0 .5rem}.coupon-card form.inline{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.coupon-card .coupon-applied{font-weight:600}.packages-card .package{padding:.5rem 0;border-bottom:1px solid var(--border)}.packages-card .package.done{opacity:.7}.packages-card .package-sell{margin-top:.75rem}.line .package-use{margin-top:.5rem;font-weight:600}.package-options{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}.package-options legend{margin-bottom:.35rem}.package-option{position:relative;display:flex;flex-direction:column;gap:.1rem;min-width:9rem;padding:.6rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.package-option input{position:absolute;opacity:0;pointer-events:none}.package-option small{color:var(--muted)}.package-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.package-option:focus-within{box-shadow:var(--focus)}.package-option-row{padding:.5rem 0;border-bottom:1px solid var(--border)}.coupon-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.star-picker{display:flex;align-items:center;gap:.35rem;border:0;padding:0;margin:.5rem 0 0;flex-wrap:wrap;background:none}.star-picker legend{font-weight:600;margin-bottom:.6rem;padding:0}.star-picker button{min-width:52px;min-height:52px;padding:0;border-radius:50%;background:none;color:var(--faint);font-size:2.6rem;line-height:1;box-shadow:none;transition:color var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}.star-picker button:active{transform:scale(.9)}.star-picker button.star.on{color:var(--orange)}.star-picker .star-zero{font-size:1.15rem;font-weight:600;color:var(--muted);background:var(--surface-2);margin-right:.4rem}.star-picker .star-zero.on{background:var(--accent);color:var(--accent-text)}.star-caption{margin:0}.stars-shown{font-size:2rem;color:var(--orange);letter-spacing:.1em;margin:.25rem 0}.stars-shown .faint{color:var(--faint)}.coupon{border:2px dashed var(--accent)}.rate-site .coupon-code{font-size:2rem;font-weight:700;letter-spacing:.12em;font-family:ui-monospace,SF Mono,Menlo,monospace;margin:.5rem 0}.rate-site .card h2{margin-top:0}.rating-bars{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.3rem .75rem;gap:.3rem .75rem;align-items:center}.rating-bars .bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.rating-bars .bar span{display:block;height:100%;background:var(--orange)}.rating-cell{color:var(--orange);white-space:nowrap}.feedback-stats{gap:2rem;margin-bottom:1rem}.feedback-stats .stat{font-size:1.6rem;font-weight:700}.page-header .header-actions{display:flex;gap:.5rem;align-items:center}.column-picker{position:relative}.column-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:30;width:min(380px,calc(100vw - 2rem));background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lift);padding:.9rem;transform-origin:top right;animation:pop-in var(--dur-fast) var(--ease-out)}.column-panel h3{margin:0 0 .25rem;font-size:1rem}.column-panel p{margin:0 0 .6rem}.column-list{list-style:none;margin:0;padding:0;max-height:55vh;overflow-y:auto;border-radius:var(--radius-sm);background:var(--surface-3)}.column-list li{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-bottom:.5px solid var(--border);background:var(--surface-3);transition:opacity var(--dur-fast) ease}.column-list li:last-child{border-bottom:0}.column-list li[draggable=true]{cursor:-webkit-grab;cursor:grab}.column-list li.dragging{opacity:.4}.column-list li.off .column-check span{color:var(--muted)}.column-list .grip{width:1rem;color:var(--faint);font-size:.8rem;letter-spacing:-2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.column-check{flex-direction:row;align-items:center;gap:.55rem;flex:1 1;font-size:.93rem;font-weight:400;color:var(--text);min-height:2.2rem;cursor:pointer}.column-check input{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--accent)}.column-check small{margin-left:auto}.column-arrows{display:inline-flex;gap:.15rem}.column-arrows button.link{width:2rem;font-size:1rem}.column-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:.75rem}.column-actions,.column-actions>span{display:flex;gap:.5rem}.report-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:.5rem 0 1rem}.report-filters .filters{margin:0}.report-filters .segmented{flex-wrap:wrap}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.report-grid .report-card{margin:0;min-width:0}.report-card.full{grid-column:1/-1}.report-card h2{font-size:1.05rem;margin:0 0 .75rem}@media (max-width:820px){.report-grid{grid-template-columns:minmax(0,1fr)}}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem}.stat-tile{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;background:var(--surface-3);border-radius:var(--radius-sm)}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{font-size:1.6rem;font-weight:650;letter-spacing:-.022em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-change{font-size:.8rem;color:var(--muted)}.stat-change.up{color:var(--ok)}.stat-change.down{color:var(--danger-text)}.chart{margin:0}.col-chart{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.5rem;gap:.5rem;height:220px}.col-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-bottom:1.5rem;font-size:.75rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.col-axis span{transform:translateY(-.45em)}.col-axis span:last-child{transform:translateY(.45em)}.col-plot{display:grid;align-items:end;grid-gap:2px;gap:2px;padding-bottom:1.5rem;background:linear-gradient(var(--border),var(--border)) 0 0 /100% 1px no-repeat,linear-gradient(var(--border),var(--border)) 0 calc(50% - .75rem) /100% 1px no-repeat,linear-gradient(var(--border-strong),var(--border-strong)) 0 calc(100% - 1.5rem) /100% 1px no-repeat}.col,.col-plot{position:relative}.col{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;outline:none;cursor:default}.col-bar{display:block;width:100%;max-width:44px;margin:0 auto;min-height:0;background:var(--accent);border-radius:4px 4px 0 0;transition:opacity var(--dur-fast) ease}.col-plot:focus-within .col-bar,.col-plot:hover .col-bar{opacity:.45}.col:focus .col-bar,.col:hover .col-bar{opacity:1}.col-label{bottom:-1.5rem;transform:translateX(-50%);font-size:.72rem;color:var(--muted);line-height:1.5rem}.col-label,.col-tip{position:absolute;left:50%;white-space:nowrap}.col-tip{bottom:100%;transform:translate(-50%,-.25rem);z-index:2;display:none;flex-direction:column;padding:.35rem .6rem;border-radius:8px;background:var(--surface);color:var(--text);font-size:.78rem;box-shadow:var(--shadow-lift);pointer-events:none}.col:focus .col-tip,.col:hover .col-tip{display:flex;transition:opacity 125ms var(--ease-out),scale 125ms var(--ease-out);transform-origin:bottom center}@starting-style{.col:focus .col-tip,.col:hover .col-tip{opacity:0;scale:.97}}.col:first-child .col-tip{left:0;transform:translateY(-.25rem)}.col:last-child .col-tip{left:auto;right:0;transform:translateY(-.25rem)}.chart-table{margin-top:.5rem;font-size:.85rem}.chart-table summary{cursor:pointer;color:var(--accent)}.chart-table td.num,.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.bar-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:.75rem;column-gap:.75rem;grid-row-gap:.3rem;row-gap:.3rem;align-items:baseline}.bar-list-text{display:flex;flex-direction:column;min-width:0}.bar-list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.bar-list-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-list-track{grid-column:1/-1;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-list-track span{display:block;height:100%;background:var(--accent);border-radius:4px}.edit-home{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:var(--shadow);padding:0}@media (hover:hover) and (pointer:fine){.edit-home:hover{background:var(--accent-soft);color:var(--accent)}}.dash-grid{--row:4.5rem;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:var(--row);grid-gap:1rem;gap:1rem;margin-top:1rem}.widget{grid-column:calc(var(--x) + 1) /span var(--w);grid-row:calc(var(--y) + 1) /span var(--h);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border-radius:var(--radius);padding:.9rem 1.1rem;box-shadow:var(--shadow);overflow:hidden;container-type:inline-size}.widget-title{flex:none;margin:0 0 .4rem;font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:0}.widget-body{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain}@supports (animation-timeline:scroll()){.widget-body{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--fade, 0px)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--fade, 0px)),transparent);animation:widget-edge linear both;animation-timeline:scroll(self)}@keyframes widget-edge{0%,99%{--fade:1.5rem}to{--fade:0px}}}@property --fade{syntax:"<length>";inherits:false;initial-value:0}.widget-sub{margin:0 0 .5rem;font-size:.8rem}.widget .agenda li:first-child a{padding-top:0}.dash-stat{display:flex;flex-direction:column;gap:.1rem}.dash-stat-value{font-size:min(2.1rem,16cqi);font-weight:700;letter-spacing:-.03em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-stat-note{color:var(--muted);font-size:.8rem}.chart-columns{display:flex;align-items:stretch;gap:.3rem;height:100%;min-height:6rem}.chart-column{flex:1 1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.2rem}.chart-bar{width:100%;max-width:2.25rem;min-height:2px;background:var(--accent);border-radius:4px 4px 0 0;transition:opacity var(--dur-fast) ease}.chart-column:hover .chart-bar{opacity:.75}.chart-value{font-size:.7rem;font-weight:600;color:var(--label-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;visibility:hidden}.chart-column:hover .chart-value,.chart-value.shown{visibility:visible}.chart-label{flex:none;font-size:.7rem;color:var(--muted);padding-top:.15rem;border-top:.5px solid var(--border);width:100%;text-align:center}.chart-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.chart-bars li{display:grid;grid-template-columns:minmax(5rem,38%) 1fr 2rem;align-items:center;grid-gap:.6rem;gap:.6rem;font-size:.9rem}.chart-bars-name{display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-bars-track{height:.6rem;border-radius:4px;background:var(--surface-2);overflow:hidden}.chart-bars-fill{display:block;height:100%;border-radius:4px;background:var(--accent)}.chart-bars-value{text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dot{display:inline-block;flex:none;width:.6rem;height:.6rem;border-radius:50%}.chart-donut{display:flex;align-items:center;gap:1.25rem;height:100%}.chart-donut svg{flex:none;height:100%;max-height:11rem;width:auto;aspect-ratio:1}.chart-donut circle{transition:stroke-width var(--dur-fast) ease}.chart-donut circle[stroke]:not([stroke^=var]):hover{stroke-width:7.5}.chart-donut-total{font-size:8px;font-weight:700;fill:var(--text)}.chart-donut-caption{font-size:2.6px;fill:var(--muted)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1 1;font-size:.85rem}.chart-legend li{display:flex;align-items:center;gap:.45rem}.chart-legend-name{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-legend-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-toolbar{position:-webkit-sticky;position:sticky;top:.75rem;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem;padding:.7rem .9rem .7rem 1.1rem;border-radius:16px;background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--shadow-lift)}.dash-toolbar p{margin:0;font-size:.85rem}.dash-toolbar-actions{display:flex;align-items:center;gap:.6rem}.dash-toolbar-actions button.link{margin-right:.4rem;font-size:.9rem}.dash-narrow-note{display:none}.dash-grid.editing{grid-template-rows:repeat(var(--rows),var(--row));padding:.5rem;margin-left:-.5rem;margin-right:-.5rem;border-radius:18px;background:color-mix(in srgb,var(--accent) 3%,transparent);outline:1.5px dashed color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:-1px;touch-action:none}.dash-cell{grid-column:calc(var(--x) + 1);grid-row:calc(var(--y) + 1);min-height:0;padding:0;border-radius:12px;background:transparent;color:transparent;border:1px dashed var(--border);transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease}.dash-cell .icon{width:1.1rem;height:1.1rem}.dash-cell.picked{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:none;opacity:1}@media (hover:hover) and (pointer:fine){.dash-cell:hover{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:none;opacity:1}}.dash-grid.busy .dash-cell{pointer-events:none}.widget.editable{cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none;z-index:2;transition:box-shadow var(--dur-fast) ease,outline-color var(--dur-fast) ease;outline:2px solid transparent;outline-offset:2px}.widget.editable:focus-visible{outline-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:var(--shadow-lift)}@media (hover:hover) and (pointer:fine){.widget.editable:hover{outline-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:var(--shadow-lift)}}.widget.editable .widget-body{pointer-events:none}.widget.dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:5;box-shadow:var(--shadow-lift);opacity:.92;transition:none}.dash-grid.editing .widget:not(.dragging){transition:box-shadow var(--dur-fast) ease,outline-color var(--dur-fast) ease}.dash-placeholder{grid-column:calc(var(--x) + 1) /span var(--w);grid-row:calc(var(--y) + 1) /span var(--h);z-index:1;border-radius:var(--radius);background:var(--accent-soft);border:2px dashed color-mix(in srgb,var(--accent) 55%,transparent)}.widget-remove{position:absolute;top:.45rem;right:.45rem;width:1.75rem;height:1.75rem;min-height:0;padding:0;border-radius:50%;background:var(--surface-2);color:var(--label-2)}@media (hover:hover) and (pointer:fine){.widget-remove:hover{background:var(--danger);color:#fff}}.widget-remove .icon{width:.95rem;height:.95rem}.widget-style{position:absolute;top:.45rem;right:2.55rem;width:1.75rem;height:1.75rem;min-height:0;padding:0;border-radius:50%;background:var(--surface-2);color:var(--label-2)}@media (hover:hover) and (pointer:fine){.widget-style:hover{background:var(--accent);color:var(--accent-text)}}.widget-style .icon{width:1rem;height:1rem}.widget.selected,.widget.selected:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.widget-resize{position:absolute;right:0;bottom:0;width:1.6rem;height:1.6rem;cursor:nwse-resize;touch-action:none}.widget-resize:after{content:"";position:absolute;right:.4rem;bottom:.4rem;width:.6rem;height:.6rem;border-right:2.5px solid var(--faint);border-bottom:2.5px solid var(--faint);border-bottom-right-radius:3px}@media (hover:hover) and (pointer:fine){.widget.editable:hover .widget-resize:after{border-color:var(--accent)}}.dash-menu{position:absolute;z-index:30;left:calc(.5rem + var(--x) * (100% - 1rem + 1rem) / 12);top:calc(.5rem + var(--y) * (var(--row) + 1rem));width:min(20rem,90vw);max-height:24rem;overflow-y:auto;padding:.4rem;background:var(--surface);border:.5px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lift);transform-origin:top left;animation:pop-in var(--dur-fast) var(--ease-out)}.dash-menu.leftward{left:auto;right:calc(.5rem + (11 - var(--x)) * (100% - 1rem + 1rem) / 12);transform-origin:top right}.dash-menu-title{margin:.25rem .6rem .35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dash-menu-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.5rem .6rem;min-height:0;border-radius:10px;background:none;color:var(--text);text-align:left;font-weight:400;white-space:normal;justify-content:flex-start}@media (hover:hover) and (pointer:fine){.dash-menu-item:hover{background:var(--accent-soft)}}.dash-menu-item:active{transform:none;background:var(--accent-soft)}.dash-menu-item strong{display:block;font-weight:600;font-size:.95rem}.dash-menu-item small{display:block;color:var(--muted);font-size:.8rem;line-height:1.3}.dash-menu-icon{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.dash-menu-item:disabled .dash-menu-icon{background:var(--surface-2);color:var(--muted)}@media (max-width:700px){.dash-grid:not(.editing){grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:.75rem}.dash-grid:not(.editing) .widget{grid-column:1/-1;grid-row:auto}.dash-grid:not(.editing) .widget:has(>.widget-body>.dash-stat:only-child){grid-column:auto}.dash-stat-value{font-size:1.75rem}.chart-columns{height:10rem}.chart-donut svg{height:8.5rem}.dash-grid.editing{display:none}.dash-narrow-note{display:block}}.tone-accent{--tone:var(--accent)}.tone-blue{--tone:var(--tone-blue)}.tone-teal{--tone:var(--tone-teal)}.tone-green{--tone:var(--tone-green)}.tone-yellow{--tone:var(--tone-yellow)}.tone-orange{--tone:var(--tone-orange)}.tone-red{--tone:var(--tone-red)}.tone-pink{--tone:var(--tone-pink)}.tone-purple{--tone:var(--tone-purple)}.tone-gray{--tone:var(--tone-gray)}.widget.tone{background:color-mix(in srgb,var(--tone) 12%,var(--surface))}.widget.tone .widget-title{color:color-mix(in srgb,var(--tone) 62%,var(--text))}@media (prefers-color-scheme:dark){.widget.tone{background:color-mix(in srgb,var(--tone) 20%,var(--surface))}}.free-text{margin:0;white-space:pre-line;line-height:1.5;overflow-wrap:anywhere}.widget.widget-heading{justify-content:flex-end;padding:.3rem .15rem .45rem;background:transparent;box-shadow:none;border-radius:0}.widget-heading .widget-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.widget-heading .widget-body{flex:none;-webkit-mask-image:none;mask-image:none}.widget-heading .free-text{color:var(--muted)}.widget.widget-heading.tone{background:transparent;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--tone) 70%,transparent)}.dash-grid.editing .widget.widget-heading{background:color-mix(in srgb,var(--surface) 55%,transparent);border-radius:var(--radius-sm);padding-inline:.75rem}.style-panel{position:fixed;z-index:40;right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom));width:min(22rem,calc(100vw - 2.5rem));max-height:min(38rem,calc(100dvh - 6rem));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem 1rem;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lift);transform-origin:bottom right;animation:pop-in var(--dur-fast) var(--ease-out)}.style-panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.style-panel-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.style-panel-head button{flex:none;min-height:0;padding:.35rem .9rem}.style-hint{margin:0;font-size:.85rem}.style-pair{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .8rem}.style-pair p{margin:0;font-size:.85rem}.style-lang>span{font-size:.75rem;font-weight:500;color:var(--muted)}.style-lang input,.style-lang textarea{width:100%}.style-lang textarea{resize:vertical}.swatches{display:flex;flex-wrap:wrap;gap:.55rem}.swatches .swatch,.swatches .swatch:focus,.swatches .swatch:hover{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:2rem;height:2rem;min-height:0;margin:0;padding:0;border:0;border-radius:50%;cursor:pointer;background-color:var(--tone);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-fast) ease}.swatches .swatch-none,.swatches .swatch-none:focus,.swatches .swatch-none:hover{--tone:var(--surface);--ring:var(--border-strong);box-shadow:inset 0 0 0 1.5px var(--border-strong);background-image:linear-gradient(135deg,transparent calc(50% - 1px),var(--danger) calc(50% - 1px),var(--danger) calc(50% + 1px),transparent calc(50% + 1px))}.swatches .swatch:checked,.swatches .swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ring,var(--tone))}.swatches .swatch:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.swatches .swatch:active{transform:scale(.92)}@media (pointer:coarse){.swatches .swatch,.swatches .swatch:focus,.swatches .swatch:hover{width:2.75rem;height:2.75rem;min-height:0}}.customer-page h1{margin-bottom:.25rem}.customer-page .widget-title{font-size:.95rem}.cp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.cp-list li{margin:0}.cp-row{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cp-today strong{font-size:1.2rem}.cp-expect{margin:.35rem 0 0;line-height:1.5}.cp-action{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.cp-action,.cp-sign{flex-direction:column}.cp-sign{gap:.1rem;min-width:16rem}.cp-sign small{font-weight:400;font-size:.85rem;opacity:.85}.cp-all-signed{text-align:center;font-size:1.15rem}.cp-preview{pointer-events:none;opacity:.7}.customer-page .free-text{font-size:1.1rem}.customer-page .widget-heading .widget-title{font-size:1.6rem}.cp-tone{--cp-bg:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--tone) 24%,var(--bg)),color-mix(in srgb,var(--tone) 7%,var(--bg)) 75%)}.customer-page.cp-tone{position:relative;isolation:isolate}.customer-page.cp-tone:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--cp-bg);pointer-events:none}@media (prefers-reduced-motion:no-preference){.customer-page[data-animation=rise] :is(.cp-greeting,.cp-intro,.dash-grid>.widget,.cp-action){animation:cp-rise .3s var(--ease-out) both}.customer-page[data-animation=fade] :is(.cp-greeting,.cp-intro,.dash-grid>.widget,.cp-action){animation:fade-in .3s var(--ease-out) both}.customer-page .cp-intro{animation-delay:60ms}.customer-page .dash-grid>.widget{animation-delay:calc((min(var(--i, 0), 8) + 2) * 60ms)}.customer-page .cp-action{animation-delay:calc((min(var(--cards, 0), 8) + 3) * 60ms)}}@media (prefers-reduced-motion:reduce){.customer-page:not([data-animation=none]) :is(.cp-greeting,.cp-intro,.dash-grid>.widget,.cp-action){animation:fade-in .15s ease both}}@keyframes cp-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}}.cp-look h2{margin-bottom:.25rem}.cp-look-preview{display:flex;flex-direction:column;gap:.2rem;margin:.75rem 0 1rem;padding:1.1rem 1.25rem;border-radius:var(--radius);background:var(--bg);box-shadow:inset 0 0 0 .5px var(--border)}.cp-look-preview.cp-tone{background:var(--cp-bg)}.cp-look-preview strong{font-size:1.4rem}.look-form{max-width:none}.look-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem}.look-grid textarea{resize:vertical}@media (max-width:700px){.look-grid{grid-template-columns:1fr}}.face-map{flex-direction:column;gap:.75rem}.face-map,.face-map-tools{display:flex;align-items:center}.face-map-tools{flex-wrap:wrap;gap:.5rem;justify-content:center}.face-map-tools .selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.face-map-colour{width:2.75rem;height:2.75rem;padding:0;border-radius:50%;background:var(--pen);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong)}.face-map-colour.selected{box-shadow:0 0 0 3px var(--accent);background:var(--pen)}.face-map-board{position:relative;width:min(100%,600px,calc((100dvh - 15rem) * 600 / 760));aspect-ratio:600/760;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.face-map-board canvas,.face-map-board svg{position:absolute;inset:0;width:100%;height:100%}.face-map-board svg path{fill:none;stroke:#8e8e93;stroke-width:2.5}.face-map-board canvas{touch-action:none;cursor:crosshair}.face-map-save{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;justify-content:center}.hand-over{font-size:1.25rem}.hand-over,.hand-over+p{text-align:center}.provider-finish .card h2{margin-top:0}.provider-finish textarea{width:100%;font-size:1.05rem}.provider-finish .signature-wrap{margin-top:.75rem}.kiosk-staff{margin-top:2.5rem;text-align:center;color:var(--muted)}.kiosk-staff summary{cursor:pointer;font-size:.9rem}.kiosk-staff form{margin-top:.75rem;text-align:left}.kiosk-checkout{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center}.kiosk-checkout h2{margin-top:0}.kiosk-checkout form{text-align:left}.stock-forms{align-items:flex-start;gap:1.5rem;margin-top:1rem}.stock-forms h3{margin:0 0 .25rem}.day-stock{width:100%}.day-stock th[scope=row]{font-size:.93rem;color:inherit;letter-spacing:normal}.day-stock tr:has(+.day-stock-detail)>*{border-bottom:0}.day-stock tbody+tbody{border-top:1px solid var(--border)}.day-stock td.num,.day-stock th.num{white-space:nowrap}.day-stock-detail td{padding-top:0}.day-stock-detail summary{cursor:pointer;color:var(--muted);font-size:.85rem}.day-stock-detail ul{margin:.35rem 0 .5rem;padding-left:1.2rem}@media (max-width:700px){.day-stock thead{display:none}.day-stock,.day-stock tbody,.day-stock td,.day-stock th[scope=row],.day-stock tr{display:block}.day-stock th[scope=row]{padding:.75rem 0 .25rem;border:0}.day-stock td{border:0;padding:.15rem 0}.day-stock td:empty{display:none}.day-stock td.num{display:flex;justify-content:space-between;gap:1rem}.day-stock td.num:before{content:attr(data-label);color:var(--muted)}.day-stock-detail td{padding-bottom:.6rem}}.audit-details summary{cursor:pointer;font-weight:600;margin:.5rem 0}.audit-included{display:block;padding:.55rem 0}.inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.treatment-review{max-width:640px;margin:0 auto;gap:1rem}.review-list,.treatment-review{display:flex;flex-direction:column}.review-list{list-style:none;margin:0;padding:0;gap:.6rem;font-size:1.1rem}.review-list li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.narrow-input{max-width:7rem}.portal{padding-top:calc(1.25rem + env(safe-area-inset-top, 0px))}.portal.signed-in{padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}.portal-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.portal-top .kiosk-brand{margin-bottom:0}.portal-top-actions{display:flex;align-items:center;gap:1.1rem}.portal-top-actions form{margin:0}.portal-top-actions button.link{font-size:.95rem;min-height:44px}.portal-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:.25rem;padding:.35rem .75rem calc(.35rem + env(safe-area-inset-bottom, 0px));background:var(--material);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--border-strong)}.portal-tabs a{flex:0 1 8rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-height:48px;padding:.3rem .5rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.72rem;font-weight:600;text-decoration:none;transition:color var(--dur-fast) ease,transform var(--dur-press) var(--ease-out)}.portal-tabs a.active{color:var(--accent)}.portal-tabs a:active{transform:scale(var(--press))}.portal-page .portal-actions{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;margin:1.25rem 0 .5rem}.portal-actions{display:flex;flex-wrap:wrap;gap:.75rem}.portal-actions .button.big,.portal-actions button.big{flex:1 1 12rem}@media (prefers-reduced-motion:no-preference){.customer-page.portal-page .cp-action{animation-delay:.12s}}.portal-bookings>li+li{padding-top:.75rem;border-top:.5px solid var(--border)}.portal-booking{display:flex;flex-direction:column;gap:.2rem}.portal-when{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.portal-service{font-size:1.15rem}.portal-status{background:var(--surface-2);color:var(--label-2);font-weight:600}.portal-status.status-checked_in,.portal-status.status-confirmed{background:var(--ok-soft);color:var(--ok)}.portal-change{margin:.9rem 0 0;font-size:.95rem}.portal-login{max-width:26rem;margin:2rem auto 0}.portal-login h1{margin-bottom:.75rem}.portal-step{gap:1rem}.portal-step h2{margin:0}.portal-step button.big{width:100%}.portal-step button.link{align-self:center;min-height:44px}input.portal-code{font-size:1.75rem;letter-spacing:.4em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.6rem}.portal-privacy{margin-top:2rem;text-align:center}.portal-section h1{margin-bottom:.25rem}.portal-step-card h2{font-size:1.1rem;margin:0 0 .6rem}.portal-step-card h2:not(:first-child){margin-top:1.25rem}.portal-step-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.portal-step-head button.link{min-height:44px}.portal-choice .cp-expect{margin-top:.3rem}.portal-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}button.portal-option{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.2rem;text-align:left;white-space:normal;background:var(--surface-2);color:var(--text);box-shadow:none;font-weight:400;font-size:1.05rem;padding:.85rem 1rem;border-radius:12px}button.portal-option:active{background:var(--accent-soft)}@media (hover:hover) and (pointer:fine){button.portal-option:hover{background:var(--accent-soft)}}.portal-option-top{display:flex;justify-content:space-between;gap:.75rem}.portal-option-text{font-size:.92rem;line-height:1.45}.portal-chips .chip,.portal-times .chip{font-size:1rem;padding:.5rem 1rem;min-height:44px}.portal-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:5.5rem}.portal-period h3{margin:.25rem 0 .4rem}.portal-days{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.15rem .15rem .6rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.portal-days::-webkit-scrollbar{display:none}button.portal-day{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:0;width:4.1rem;min-height:4.6rem;padding:.45rem 0;background:var(--surface-2);color:var(--text);box-shadow:none;border-radius:14px;font-weight:400}button.portal-day small{font-size:.72rem;color:var(--muted)}button.portal-day strong{font-size:1.35rem;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.portal-day.on{background:var(--accent);color:var(--accent-text)}button.portal-day.on small{color:inherit;opacity:.85}.portal-confirm{position:-webkit-sticky;position:sticky;bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-lift)}.portal-confirm h2{font-size:1.1rem;margin:0 0 .4rem}.portal-confirm button.big{width:100%}.portal-booked{text-align:center}.portal-check{width:3.25rem;height:3.25rem;margin:.25rem auto .5rem;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}.portal-booked .portal-actions{margin-top:1.25rem}@media (prefers-reduced-motion:no-preference){.portal-reveal{animation:msgr-in .22s var(--ease-out) both}.portal-booked .portal-check{animation:pop-in .26s var(--ease-out) both}}@media (prefers-reduced-motion:reduce){.portal-reveal{animation:fade-in .15s ease both}}.portal-chat{margin-top:1rem}.portal-chat,.portal-messages{display:flex;flex-direction:column}.portal-messages{min-height:30vh;padding-bottom:.5rem}.portal-chat-empty{text-align:center;margin:2rem 0}.portal-composer{position:-webkit-sticky;position:sticky;bottom:calc(4.4rem + env(safe-area-inset-bottom, 0px));padding:.5rem 0 .25rem;background:linear-gradient(to bottom,transparent,var(--bg) .6rem);display:flex;flex-direction:column;gap:.4rem}.portal-composer textarea{box-shadow:var(--shadow)}.portal-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));grid-gap:.25rem 1rem;gap:.25rem 1rem}.msgr-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;text-align:center;max-width:32rem;margin:0 auto}@media (max-width:700px){.portal{padding-left:1rem;padding-right:1rem;font-size:1.05rem}.portal h1{font-size:1.75rem}.portal-top .kiosk-brand{font-size:.95rem}.portal .card{padding:1rem}}#hours h3{margin-top:1.5rem}