:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;min-height:0;height:100%}ion-modal ion-content.content-sizing ion-nav,ion-modal ion-content.content-sizing ion-nav>.ion-page{position:relative;contain:layout style;height:auto}ion-modal ion-content.content-sizing ion-nav{display:grid}ion-modal ion-content.content-sizing ion-nav>.ion-page{grid-row:1;grid-column:1}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}:root{color-scheme:light;--bg: #f6f4f0;--bg-deep: #e6ebe8;--paper: #ffffff;--ink: #17201f;--muted: #56625f;--line: #e2e7e4;--line-soft: #edf0ee;--line-strong: #c3ccc9;--accent: #0f5257;--accent-ink: #ffffff;--accent-soft: #dcebea;--accent-tint: #eef6f5;--accent-deep: #0a3c40;--sand: #e0a458;--sand-ink: #2b1d06;--brass: #0f5257;--gold: #e0a458;--ok: #1b6b45;--ok-soft: #e3f0e8;--warn: #8a5a12;--warn-soft: #f7ebd6;--danger: #8e2432;--danger-soft: #fbf0f1;--shadow: 0 6px 20px rgba(23, 32, 31, .06);--serif: "Fraunces", "Palatino Linotype", Palatino, serif;--sans: "Source Sans 3", "Segoe UI", sans-serif;--radius: 18px;--tap: 44px;--ion-font-family: var(--sans);--ion-background-color: #f6f4f0;--ion-text-color: #17201f;--ion-color-primary: #0f5257;--ion-color-primary-rgb: 15, 82, 87;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #0d484c;--ion-color-primary-tint: #276368}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:clip}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.05rem;line-height:1.5}h1,h2,h3,.brand strong{font-family:var(--serif);font-weight:560;letter-spacing:-.03em;line-height:1.15}h1{font-size:clamp(1.7rem,3vw,2.6rem);margin:.15rem 0 .45rem;overflow-wrap:anywhere}h2,h3,p,li,.shop-card,.panel,.toast p{overflow-wrap:break-word}h2{font-size:1.55rem;margin:0 0 .75rem}h3{font-size:1.2rem;margin:0}p{margin:.35rem 0}a{color:var(--accent)}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:1rem;top:-4rem;background:var(--paper);padding:.5rem .8rem;z-index:5}.skip:focus{top:1rem}ion-app.salon-app{position:relative;display:block;contain:none;height:auto;min-height:100%;overflow:visible;background:var(--bg);color:var(--ink);font-family:var(--sans)}.frame{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}ion-header.salon-header{position:sticky;top:0;z-index:20;box-shadow:none}ion-header.salon-header ion-toolbar{--background: var(--paper);--border-width: 0 0 1px;--border-color: var(--line);--color: var(--ink);--min-height: 52px;--padding-start: max(4px, env(safe-area-inset-left));--padding-end: max(4px, env(safe-area-inset-right));padding-top:env(safe-area-inset-top)}ion-header.salon-header ion-title{font-family:var(--serif);font-size:1.15rem;font-weight:560;letter-spacing:-.02em}ion-header.salon-header ion-button{--color: var(--ink)}ion-header.salon-header .brand-mark{width:1.85rem;height:1.85rem;font-size:.95rem}.desktop-nav{display:flex;align-items:center;gap:.35rem .9rem;padding-inline-end:.4rem}.desktop-nav a{color:var(--ink);text-decoration:none;padding:.35rem .1rem}.desktop-nav a.active{box-shadow:inset 0 -2px 0 var(--ink)}.owner-more{display:none}.offline-banner{margin:0;padding:.55rem 1rem;background:#f4e3c4;color:var(--warn);font-weight:700;text-align:center}.brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.brand-mark{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--serif)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.who{color:var(--muted)}main{padding:1.5rem 1.25rem 4rem}.page{max-width:1120px;margin:0 auto;display:grid;gap:1.25rem}.page.narrow{max-width:640px}.page-head,.hero,.toolbar,.visit-top,.actions,.pager,.split{display:flex;gap:1rem;align-items:center;justify-content:space-between}.page-head,.hero,.toolbar{align-items:end;flex-wrap:wrap}.hero{display:grid;gap:.8rem;max-width:46rem}.eyebrow{margin:0;color:var(--brass);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}.lede{color:var(--muted);font-size:1.15rem;max-width:42rem}.meta,.hint,.aside{color:var(--muted)}.aside{margin-top:.5rem}.field-error{color:var(--danger);font-size:.92rem}.text-button{font-weight:700}button.text-button{border:0;background:none;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;text-decoration:underline;text-align:left}.panel,.shop-card,.empty{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:1.1rem 1.2rem}.stack{display:grid;gap:.9rem}.card-grid,.split-panels,.board{display:grid;gap:1rem}.card-grid,.split-panels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.board>section{display:grid;gap:.8rem}.shop-card{display:flex;gap:.9rem;align-items:flex-start;position:relative;padding:1.1rem 2.1rem 1.1rem 1.15rem;color:inherit;text-decoration:none;border-top:3px solid var(--gold);min-width:0}.shop-card:after{content:"";position:absolute;right:.95rem;top:1.45rem;width:.45rem;height:.45rem;border-right:2px solid var(--brass);border-top:2px solid var(--brass);transform:rotate(45deg)}.shop-card:hover{border-color:var(--brass)}.shop-copy{min-width:0;display:grid;gap:.2rem}.shop-copy h2,.shop-copy p{margin:0}.mark{width:3rem;height:3rem;flex:none;display:grid;place-items:center;border-radius:16px;background:var(--ink);color:var(--accent-ink);font-family:var(--serif);font-size:1.05rem;letter-spacing:.02em}.code{margin:0;color:var(--brass);letter-spacing:.12em;font-size:.8rem}.field{display:grid;gap:.35rem;font-weight:600}.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.field-label a{font-size:.95rem;font-weight:700;text-decoration:underline;text-underline-offset:.15em}.field.grow{flex:1}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:var(--tap);border:1px solid #d9cec1;background:#fff;color:var(--ink);border-radius:12px;padding:.7rem .8rem;font:inherit;font-size:1rem;scroll-margin-bottom:calc(7rem + env(safe-area-inset-bottom))}textarea{resize:vertical}.choice,.check{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.choice{border:0;padding:.35rem;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:var(--bg);border-radius:16px}.choice label{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);margin:0;padding:.4rem .6rem;border-radius:12px;background:transparent;text-align:center}.choice label:has(input:checked){background:var(--paper);box-shadow:var(--shadow)}.choice label,.check{font-weight:600}.notify-choice{flex-wrap:nowrap;align-items:flex-start;font-weight:500}input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem;min-height:1.2rem;margin:.15rem 0 0;padding:0;flex:none;accent-color:var(--ink)}.notify-choice>span{min-width:0;flex:1}.notify-choice strong,.notify-choice .hint{display:block}fieldset.notify-modes{border:0;margin:0;padding:0}.day legend{font-family:var(--serif);font-size:1.3rem;padding:0 .3rem}.button,button.button,a.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);text-decoration:none;padding:.65rem 1rem;font:inherit;font-weight:700;cursor:pointer}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.button.danger{background:var(--danger)}.button:disabled{opacity:.55;cursor:not-allowed}.button:active:not(:disabled),.shop-card:active,.service-card:active,.tabs a:active{transform:scale(.98)}.search{display:flex;gap:.8rem;align-items:end}.alert,.notice{border-radius:14px;padding:.8rem 1rem}.alert{background:#fdecef;color:#6d1824;border:1px solid #f3c2c9}.notice{background:#eef8f2;color:var(--ok);border:1px solid #cfe6d8}.test-code{display:inline-block;margin-left:.35rem;font-family:ui-monospace,Consolas,monospace;font-size:1.35rem;letter-spacing:.18em;color:var(--ink)}.empty{padding:1.5rem;display:grid;gap:.6rem}.empty-inline{color:var(--muted);margin:0}.badge{border-radius:999px;padding:.15rem .6rem;background:var(--bg-deep);font-size:.85rem;white-space:nowrap}.badge[data-status=IN_SERVICE]{background:#f4e3c4;color:var(--warn)}.badge[data-status=COMPLETED]{background:#e5f4eb;color:var(--ok)}.badge[data-status=CANCELLED],.badge[data-status=NO_SHOW]{background:#f8e4e7;color:var(--danger)}.visit-card{display:grid;gap:.45rem;align-content:start}.visit-top{align-items:start}.actions{flex-wrap:wrap;justify-content:flex-start}.plain,.queue-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.plain li,.queue-list li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.35rem}.stat{font-size:1.2rem}.stat strong{font-family:var(--serif);font-size:2rem;display:block}.queue-banner{display:grid;gap:.4rem}.tabs{display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem}.tabs a{text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;min-height:var(--tap);display:inline-flex;align-items:center;background:var(--paper);flex:none}.tabs a.active{background:var(--ink);color:var(--paper)}.pager{justify-content:flex-start}.loading{color:var(--muted)}.loading:before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brass);vertical-align:-.05rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-in{0%{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}.page-enter{animation:page-in .18s ease}:focus-visible{outline:3px solid #c9843a;outline-offset:2px}.toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.6rem;width:min(22rem,calc(100vw - 2rem));z-index:20}.toast{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.8rem .9rem;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--accent, #7c2f24)}.toast p{margin:0}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.tabbar{display:none}.glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.glance article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.7rem .8rem;min-width:0}.glance span{display:block;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.glance strong{font-family:var(--serif);font-size:1.6rem}.ticket-number{margin:0;font-family:var(--serif);font-size:clamp(3rem,12vw,4.5rem);line-height:1}.ticket-number.mine{color:var(--brass)}.service-list{display:grid;gap:.6rem}.service-card{display:flex;justify-content:space-between;gap:.8rem;align-items:center;width:100%;text-align:left;min-height:var(--tap);padding:.75rem .9rem;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:inherit;font:inherit}.service-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.service-card .price{font-weight:700}.book-bar{position:sticky;bottom:calc(4.5rem + env(safe-area-inset-bottom));background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.6rem;z-index:3}.book-bar .button{width:100%}.skeleton-card{height:8.5rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--bg-deep),var(--paper),var(--bg-deep));background-size:200% 100%}.password-row{display:flex;gap:.5rem;align-items:center}.password-row input{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.card-grid>*,.board>*,.split>*,.toolbar>*{min-width:0}ion-tab-bar.salon-tabs{position:fixed;left:0;right:0;bottom:0;z-index:15;--background: var(--paper);--border: 1px solid var(--line);--color: var(--muted);--color-selected: var(--ink);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);min-height:calc(var(--tap) + 8px)}ion-tab-bar.salon-tabs ion-tab-button{min-height:var(--tap);--color: var(--muted);--color-selected: var(--ink);--padding-start: 0;--padding-end: 0}ion-tab-bar.salon-tabs ion-icon{font-size:1.35rem;margin-bottom:2px}ion-tab-bar.salon-tabs ion-label{font-size:.68rem;font-weight:700;white-space:normal;line-height:1.15;text-align:center}.frame:not(.no-tabs) main{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}@media(max-width:900px){.board,.glance{grid-template-columns:1fr}.glance{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-nav{display:none}.owner-more{display:flex}.quick-links{display:none}h1{font-size:1.45rem}.lede{font-size:1rem}main{padding:.9rem .9rem calc(7rem + env(safe-area-inset-bottom))}.frame.no-tabs main{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.toasts{left:.75rem;right:.75rem;width:auto;bottom:calc(5.2rem + env(safe-area-inset-bottom))}.frame.no-tabs .toasts{bottom:1rem}.search,.split,.page-head,.toolbar,.actions{flex-direction:column;align-items:stretch}.button,a.button,button.button{width:100%}.desktop-nav .button,.password-row .button,.visit-top .button,.queue-stage .visit-top .button{width:auto}.choice,.card-grid,.split-panels{grid-template-columns:1fr}}html.native-app .desktop-nav,html.native-app .quick-links{display:none}html.native-app .owner-more{display:flex}html.native-app h1{font-size:1.45rem}html.native-app .page{max-width:none}@media(min-width:901px){html:not(.native-app) ion-tab-bar.salon-tabs{display:none}html:not(.native-app) .frame:not(.no-tabs) main{padding-bottom:4rem}html:not(.native-app) .settings-shortcut{display:none}.book-bar{position:static;border:0;padding:0;background:transparent}.book-bar .button{width:auto}}@media(prefers-reduced-motion:reduce){.skeleton-card{background:var(--bg-deep)}.loading:before,.page-enter,.button:active:not(:disabled),.shop-card:active{animation:none;transform:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.welcome,.shop-hero{display:grid;gap:.45rem}.shop-hero{grid-template-columns:auto 1fr;align-items:start;gap:.9rem}.section-label{margin:.2rem 0 0;color:var(--muted);font-family:var(--sans);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.search-panel{display:flex;gap:.8rem;align-items:end;padding:.9rem;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.quick-links{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:900px){.quick-links{display:none}}html.native-app .quick-links{display:none}.chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;font-weight:700}.review,.queue-stage{background:var(--bg);border-radius:16px;padding:.9rem 1rem}.queue-stage{display:grid;gap:.45rem}.profile-card{justify-items:start}.profile-card .mark{margin-bottom:.2rem}@media(max-width:900px){.search-panel,.shop-hero{flex-direction:column;align-items:stretch}.shop-hero{grid-template-columns:1fr}.search-panel .button{width:100%}.chip{flex:1 1 auto;justify-content:center}}.settings-page{padding-bottom:env(safe-area-inset-bottom)}ion-list.settings-list{margin:0;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}ion-list.settings-list ion-item{--background: var(--paper);--color: var(--ink);--border-color: var(--line);--min-height: 4.25rem;--padding-start: 14px;--inner-padding-end: 12px;--detail-icon-color: var(--brass);--detail-icon-opacity: .9;--background-activated: #f3eadc;--background-hover: #f7f1e8;--ripple-color: rgba(107, 78, 46, .2)}ion-label.settings-label{margin-top:.45rem;margin-bottom:.45rem;white-space:normal}.settings-label strong{display:block;font-family:var(--sans);font-size:1rem;font-weight:700;letter-spacing:0;line-height:1.3}.settings-label span,.settings-kicker{display:block;color:var(--muted);font-size:.88rem;font-weight:600;line-height:1.35;white-space:normal}.settings-kicker{margin-bottom:.12rem;color:var(--brass);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}ion-list.settings-list ion-icon[slot=start]{color:var(--brass);font-size:1.3rem;margin-inline-end:12px}ion-item.settings-signout{--color: var(--danger);--min-height: 3.5rem}ion-item.settings-signout ion-icon{color:var(--danger)}ion-note.soon{color:var(--brass);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-style:normal}.settings-shortcut ion-button.is-current{--color: var(--brass)}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:52px;border:1px solid var(--line-strong);border-radius:14px;padding:.75rem .9rem;font-size:1.0625rem;background:var(--paper)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}:focus-visible{outline:3px solid var(--sand)}.field{font-size:.92rem;color:#2e3735}.button,button.button,a.button{min-height:48px;border-radius:14px;padding:.7rem 1.1rem;font-size:1rem;font-weight:700;transition:transform .12s ease,background-color .12s ease}.button.block{width:100%;min-height:54px;border-radius:16px;font-size:1.0625rem}.button.ghost{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink)}.button.danger{background:var(--danger);color:#fff}.button.danger-soft{background:var(--danger-soft);color:var(--danger);border:1px solid #e4c4c8}.button.small{min-height:40px;padding:.4rem .95rem;border-radius:12px;font-size:.95rem;width:auto}.icon-btn{width:44px;height:44px;flex:none;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0;cursor:pointer;text-decoration:none}.icon-btn.soft{border:0;background:var(--accent-soft);color:var(--accent)}.icon-btn svg,.svg-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.title-xl{margin:0;font-family:var(--serif);font-weight:560;font-size:2rem;line-height:1.1;letter-spacing:-.02em}.sub{margin:0;color:var(--muted);font-size:1rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.4rem 0 -.4rem}.section-head h2{margin:0;font-family:var(--sans);font-size:1.2rem;font-weight:700;letter-spacing:0}.section-head span{color:var(--muted);font-size:.92rem}.eyebrow{color:var(--accent);letter-spacing:.08em}.greeting{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.greeting-who{display:flex;align-items:center;gap:.65rem;min-width:0}.greeting-who .avatar{width:42px;height:42px;font-size:1rem}.greeting-who p{margin:0;line-height:1.2}.greeting-who strong{display:block;font-size:1.05rem}.search-pill{display:flex;align-items:center;gap:.6rem;height:54px;padding:0 .35rem 0 1rem;border-radius:27px;background:var(--paper);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow)}.search-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-pill input[type=search]{flex:1;min-width:0;min-height:0;height:100%;border:0;padding:0;background:transparent;box-shadow:none}.search-pill input[type=search]:focus{box-shadow:none}.search-pill .icon-btn{width:42px;height:42px;border:0;background:var(--accent);color:var(--accent-ink)}.search-pill .icon-btn.scan-btn{margin-right:-.25rem;background:var(--accent-soft);color:var(--accent)}.avatar,.mark{display:grid;place-items:center;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--sans);font-weight:700;letter-spacing:.02em}.mark{width:56px;height:56px;border-radius:16px;font-family:var(--serif);font-size:1.3rem;font-weight:600}.mark.solid,.avatar.solid{background:var(--accent);color:var(--accent-ink)}.mark.large{width:64px;height:64px;border-radius:18px;font-size:1.5rem}.row-list{display:grid;gap:.65rem}.row-card{display:flex;align-items:center;gap:.9rem;padding:.85rem;border-radius:18px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-width:0}.row-card:active{transform:scale(.985);background:var(--accent-tint)}.row-body{flex:1;min-width:0;display:grid;gap:.15rem}.row-title{font-size:1.0625rem;font-weight:700;overflow-wrap:anywhere}.row-sub{color:var(--muted);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chev{width:20px;height:20px;flex:none;fill:none;stroke:#87918e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.status-line{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:700;color:var(--ok)}.status-line:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-line.closed{color:var(--warn)}.live-banner{display:flex;align-items:center;gap:.9rem;padding:.9rem;border-radius:20px;background:var(--accent);color:var(--accent-ink);text-decoration:none}.live-banner .row-sub{color:#d2e6e4}.live-banner .chev{stroke:currentColor}.ticket-tile{width:58px;height:58px;flex:none;display:grid;place-content:center;text-align:center;border-radius:16px;background:var(--sand);color:var(--sand-ink);line-height:1}.ticket-tile small{font-size:.66rem;font-weight:700;letter-spacing:.08em}.ticket-tile strong{font-family:var(--serif);font-size:1.45rem}.ticket{border-radius:24px;background:var(--accent);color:var(--accent-ink);overflow:hidden}.ticket-main,.ticket-foot{padding:1.15rem 1.2rem;display:grid;gap:.85rem}.ticket-cut{border-top:2px dashed #3b7e83;margin:0 1rem}.ticket-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.ticket-row.top{align-items:center}.ticket-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b5d6d3}.ticket-num{margin:0;font-family:var(--serif);font-size:4.4rem;font-weight:600;line-height:.95;letter-spacing:-.03em}.ticket-when{margin:0;font-family:var(--serif);font-size:1.6rem;line-height:1.15}.ticket-status{display:inline-flex;align-items:center;gap:.4rem;height:28px;padding:0 .75rem;border-radius:14px;background:#00000038;color:var(--sand);font-size:.82rem;font-weight:700;white-space:nowrap}.ticket-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.ticket-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ticket-meta span{display:block;font-size:.82rem;color:#b5d6d3}.ticket-meta strong{font-size:1rem}.ticket-note{margin:0;color:#d2e6e4;font-size:.92rem}.ticket-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.ticket-actions .button{width:100%;min-height:46px}.ticket-actions .button.light{background:var(--paper);color:var(--ink)}.ticket-actions .button.outline-light{background:transparent;border:1px solid #5a979a;color:#ffd9d6}.segmented{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:4px;border-radius:14px;background:var(--bg-deep)}.segmented button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #17201f24}.shop-head{display:flex;align-items:center;gap:.9rem}.shop-head h1{margin:0;font-size:1.65rem}.shop-head .row-sub{white-space:normal}.quick-actions{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.6rem}.quick-action{min-height:62px;display:grid;place-items:center;align-content:center;gap:.2rem;border-radius:16px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.quick-action .svg-icon{width:20px;height:20px;stroke:var(--accent)}.queue-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:20px;background:var(--paper);border:1px solid var(--line)}.serving-tile{width:84px;height:84px;flex:none;display:grid;place-content:center;text-align:center;border-radius:18px;background:var(--accent);color:var(--accent-ink);line-height:1}.serving-tile small{font-size:.66rem;font-weight:700;letter-spacing:.08em;color:#b5d6d3}.serving-tile strong{font-family:var(--serif);font-size:2rem}.live-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--ok)}.live-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #d7e8dd}.queue-card .big{display:block;font-size:1.25rem;font-weight:700}.queue-card .row-body{gap:.2rem}details.disclosure{border-radius:18px;background:var(--paper);border:1px solid var(--line);overflow:hidden}details.disclosure>summary{list-style:none;display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.6rem 1rem;cursor:pointer;font-weight:700}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .chev{margin-left:auto;transform:rotate(90deg);transition:transform .15s ease}details.disclosure[open]>summary .chev{transform:rotate(-90deg)}details.disclosure>summary .badge-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}details.disclosure>summary small{display:block;color:var(--muted);font-weight:500;font-size:.88rem}details.disclosure>.disclosure-body{padding:0 1rem 1rem}details.disclosure .panel{border:0;box-shadow:none;padding:0}.hours-list{list-style:none;margin:0;padding:0;display:grid}.hours-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line-soft)}.hours-list li.today{color:var(--accent);font-weight:700}.radio-list{display:grid;border-radius:18px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.radio-row{display:flex;align-items:center;gap:.9rem;min-height:64px;width:100%;padding:.55rem 1rem;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.radio-row:first-child{border-top:0}.radio-row[aria-checked=true]{background:var(--accent-tint)}.radio-row .row-title{font-size:1.0625rem}.radio-row .price{font-weight:700;font-size:1.0625rem}.radio-dot{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center}[aria-checked=true]>.radio-dot{border-color:var(--accent);background:var(--accent)}[aria-checked=true]>.radio-dot:after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}.tone-warn{color:var(--warn)!important;font-weight:700}.tone-ok{color:var(--ok)!important;font-weight:700}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:14;display:flex;align-items:center;gap:1rem;padding:.85rem max(1.25rem,env(safe-area-inset-right)) calc(.85rem + env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 24px #17201f0f}.sticky-cta .cta-summary{flex:1;min-width:0;display:grid}.sticky-cta .cta-summary span{color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-cta .cta-summary strong{font-size:1.2rem}.sticky-cta .button{width:auto;min-width:9rem;min-height:52px;border-radius:16px}.has-sticky-cta{padding-bottom:6.5rem}.sheet-backdrop{position:fixed;inset:0;width:100%;border:0;padding:0;cursor:default;z-index:40;background:#111a197a;animation:fade-in .16s ease}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:calc(100dvh - 3rem - env(safe-area-inset-top));display:flex;flex-direction:column;background:var(--paper);border-radius:28px 28px 0 0;box-shadow:0 -12px 40px #111a1940;animation:sheet-up .22s cubic-bezier(.2,.8,.2,1)}@media(min-width:720px){.sheet{left:50%;right:auto;width:560px;transform:translate(-50%);animation:fade-in .16s ease}}.sheet-grabber{display:flex;justify-content:center;padding:10px 0 2px}.sheet-grabber:before{content:"";width:40px;height:5px;border-radius:3px;background:#d0d7d4}.sheet-head{display:flex;align-items:flex-start;gap:.9rem;padding:.5rem 1.25rem .75rem}.sheet-head h2{margin:0;font-size:1.5rem}.sheet-head .sub{font-size:.95rem}.sheet-head>div{flex:1;min-width:0}.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.25rem 1.25rem 1rem;display:grid;gap:1.25rem;align-content:start}.sheet-foot{padding:.85rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);display:grid;gap:.6rem}.sheet-section{display:grid;gap:.6rem;margin:0;padding:0;border:0;min-width:0}.sheet-section>legend,.sheet-section>.label{padding:0;margin-bottom:0;font-size:.95rem;font-weight:700}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}body.sheet-open{overflow:hidden}.mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.mode-card{display:grid;gap:.3rem;justify-items:start;padding:.85rem;border-radius:16px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.mode-card strong{font-size:1rem}.mode-card span{color:var(--muted);font-size:.86rem}.mode-card .svg-icon{stroke:var(--muted)}.mode-card[aria-checked=true]{border:2px solid var(--accent);padding:calc(.85rem - 1px);background:var(--accent-tint)}.mode-card[aria-checked=true] .svg-icon{stroke:var(--accent)}.day-strip{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin:0 -1.25rem;padding:0 1.25rem 2px}.day-chip{flex:none;width:60px;height:66px;display:grid;place-content:center;gap:.1rem;text-align:center;border-radius:14px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}.day-chip small{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase}.day-chip strong{font-size:1.2rem}.day-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.day-chip[aria-pressed=true] small{color:#d2e6e4}.day-chip:disabled{border-style:dashed;background:transparent;color:#8a9491;cursor:not-allowed}.day-chip:disabled strong{font-size:.8rem}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.slot{min-height:44px;border-radius:12px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}.slot[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.avatar-choices{display:flex;gap:.9rem;overflow-x:auto;scrollbar-width:none;margin:0 -1.25rem;padding:4px 1.25rem}.avatar-choice{flex:none;width:64px;display:grid;justify-items:center;gap:.35rem;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.82rem;font-weight:600;padding:0;cursor:pointer}.avatar-choice .avatar{width:56px;height:56px;font-size:1.05rem}.avatar-choice span:last-child{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-choice[aria-checked=true] .avatar{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--accent)}.avatar-choice[aria-checked=true]{font-weight:700}.link-button{justify-self:start;display:inline-flex;align-items:center;gap:.4rem;min-height:40px;border:0;padding:0;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.link-button .svg-icon{width:18px;height:18px}.review-line{margin:0;color:var(--muted);font-size:.92rem}.owner-top{display:flex;align-items:center;gap:.75rem}.shop-switch{flex:1;min-width:0;display:grid;gap:.1rem}.shop-switch>span{color:var(--muted);font-size:.9rem}.shop-switch select{min-height:44px;padding:0 2.2rem 0 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356625f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .2rem center / 18px;appearance:none;-webkit-appearance:none;font-family:var(--serif);font-size:1.6rem;font-weight:560;letter-spacing:-.02em;color:var(--ink);text-overflow:ellipsis}.shop-switch select:focus{box-shadow:none}.shop-switch .single{margin:0;font-family:var(--serif);font-size:1.6rem}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.stat-tile{padding:.75rem .85rem;border-radius:16px;background:var(--paper);border:1px solid var(--line);min-width:0}.stat-tile span{display:block;color:var(--muted);font-size:.85rem;font-weight:700}.stat-tile strong{font-size:1.65rem;font-weight:700}.chair-card{display:grid;gap:.7rem;padding:1rem;border-radius:20px;background:var(--accent);color:var(--accent-ink)}.chair-card .ticket-row{align-items:center}.chair-card .row-sub{color:#d2e6e4;white-space:normal}.chair-num{width:50px;height:50px;flex:none;display:grid;place-items:center;border-radius:14px;background:#1b6a70;font-family:var(--serif);font-size:1.2rem;font-weight:600}.button.done{background:#cfe6d7;color:#0f4a2e;width:auto;min-height:44px;gap:.35rem}.queue-list-v2{list-style:none;margin:0;padding:0;border-radius:18px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.queue-list-v2 li{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border-top:1px solid var(--line-soft)}.queue-list-v2 li:first-child{border-top:0}.queue-list-v2 .row-open{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.num-tile{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1rem}.num-tile.date{display:grid;place-content:center;text-align:center;line-height:1.05;background:var(--bg-deep);color:var(--ink)}.num-tile.date small{font-size:.66rem;color:var(--danger)}.note-quote{margin:0;padding:.75rem .9rem;border-radius:14px;background:#f1f4f2;color:#2e3735}.button-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.button-pair .button{width:100%}.profile-head{display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:20px;background:var(--paper);border:1px solid var(--line)}.profile-head .avatar{width:60px;height:60px;font-family:var(--serif);font-size:1.35rem}.profile-head .row-sub{white-space:normal}.role-chip{justify-self:start;margin-top:.2rem;padding:.1rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:700}.button.signout{width:100%;background:var(--paper);border:1px solid var(--line);color:var(--danger);min-height:54px;border-radius:18px;gap:.5rem}.auth-page{max-width:480px;gap:1.1rem;padding-top:.5rem}.auth-page .mark{width:56px;height:56px}.input-with-button{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:14px;background:var(--paper);padding-left:.9rem}.input-with-button:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-with-button input:not([type=checkbox]):not([type=radio]){flex:1;min-width:0;border:0;padding-left:0;box-shadow:none;background:transparent}.input-with-button input:focus{box-shadow:none!important}.input-with-button .button.ghost,.password-row .button.ghost{width:48px;min-height:48px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted)}.divider-text{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.92rem;margin:.4rem 0 0}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--line)}.center-link{justify-self:center;font-weight:700;text-decoration:none;padding:.4rem 0}.offline-banner{background:var(--warn-soft)}.badge{background:var(--bg-deep);color:var(--ink);font-weight:700}.badge[data-status=WAITING],.badge[data-status=IN_SERVICE]{background:var(--warn-soft);color:var(--warn)}.badge[data-status=CONFIRMED]{background:var(--accent-soft);color:var(--accent)}.badge[data-status=COMPLETED]{background:var(--ok-soft)}.badge[data-status=CANCELLED],.badge[data-status=NO_SHOW]{background:var(--danger-soft)}.notice{background:var(--ok-soft)}.empty{box-shadow:none;text-align:center;justify-items:center}.empty h2{font-family:var(--sans);font-size:1.15rem;font-weight:700;letter-spacing:0;margin:0}.toast{border-left-color:var(--accent);border-radius:14px}ion-header.salon-header ion-toolbar{--background: var(--paper);--border-color: var(--line)}ion-header.salon-header ion-title{font-family:var(--sans);font-size:1.1rem;font-weight:700;letter-spacing:0}.brand-mark{border-radius:10px;background:var(--accent);color:var(--accent-ink)}ion-tab-bar.salon-tabs{--background: var(--paper);--border: 1px solid var(--line);min-height:64px;padding-top:6px}ion-tab-bar.salon-tabs ion-tab-button{--color: var(--muted);--color-selected: var(--ink);--ripple-color: var(--accent-soft)}ion-tab-bar.salon-tabs ion-icon{width:58px;height:30px;padding:4px 0;border-radius:15px;font-size:22px;margin-bottom:3px;transition:background-color .15s ease}ion-tab-bar.salon-tabs ion-tab-button.tab-selected ion-icon{background:var(--accent-soft);color:var(--accent)}ion-tab-bar.salon-tabs ion-label{font-size:.75rem}ion-tab-bar.salon-tabs ion-tab-button.tab-selected ion-label{font-weight:800}ion-list.settings-list,ion-list.settings-list ion-item{--background-activated: var(--accent-soft);--background-hover: var(--accent-tint);--ripple-color: rgba(15, 82, 87, .18)}ion-list.settings-list{box-shadow:none}.settings-label strong{font-size:1.0625rem}.settings-label span{font-weight:500}@media(max-width:900px){.button.small,.button.done,.sticky-cta .button,.search-pill .button,.input-with-button .button,.ticket-actions .button,.button-pair .button{width:auto}.ticket-actions .button,.button-pair .button{width:100%}.title-xl{font-size:1.85rem}}@media(min-width:901px){.sticky-cta{position:sticky;bottom:1rem;border:1px solid var(--line);border-radius:18px;padding:.85rem 1rem}.has-sticky-cta{padding-bottom:0}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.sheet-form{flex:1;min-height:0;display:flex;flex-direction:column}html.native-app h1.title-xl{font-size:1.85rem}html.native-app .shop-head h1{font-size:1.65rem}html.native-app .shop-switch h1.single{font-size:1.6rem}.phone-field .phone-prefix{flex:none;align-self:stretch;display:flex;align-items:center;margin-right:.75rem;padding-right:.75rem;border-right:1px solid var(--line);font-size:1.0625rem;font-weight:700;color:var(--ink)}.phone-field input:not([type=checkbox]):not([type=radio]){padding-right:.9rem}.number-chip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border-radius:14px;background:var(--accent-tint);border:1px solid var(--accent-soft)}.number-chip small{display:block;color:var(--muted);font-size:.82rem}.number-chip strong{font-size:1.0625rem;letter-spacing:.01em}ion-header.salon-header ion-buttons{gap:6px;padding-inline:6px}.header-btn{width:40px;height:40px;border-color:var(--line);background:var(--paper);color:var(--ink)}.header-btn .svg-icon{width:22px;height:22px}.header-btn:active{background:var(--accent-tint)}.header-btn.is-current{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent)}ion-tab-bar.salon-tabs .tab-pill{width:58px;height:30px;margin-bottom:3px;display:grid;place-items:center;border-radius:15px;transition:background-color .15s ease}ion-tab-bar.salon-tabs .tab-pill .svg-icon{width:22px;height:22px}ion-tab-bar.salon-tabs ion-tab-button.tab-selected .tab-pill{background:var(--accent-soft);color:var(--accent)}ion-icon{--ionicon-stroke-width: 40px}.check-box{width:24px;height:24px;flex:none;border-radius:7px;border:2px solid var(--line-strong);display:grid;place-items:center;color:transparent;transition:background-color .12s ease,border-color .12s ease}.check-box .svg-icon{width:16px;height:16px;stroke-width:3}[aria-checked=true]>.check-box{border-color:var(--accent);background:var(--accent);color:#fff}.top-loader{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:19;height:3px;margin-bottom:-3px;overflow:hidden;opacity:0;transition:opacity .15s ease;pointer-events:none}.top-loader.on{opacity:1}.top-loader:before{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--sand));animation:loader-slide 1.1s ease-in-out infinite}@keyframes loader-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .8s linear infinite}.page-loader{display:grid;justify-items:center;align-content:center;gap:.8rem;min-height:40vh;color:var(--muted);font-weight:600}.loading{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:25vh;font-weight:600}.loading:before{width:28px;height:28px;margin:0;border-width:3px;border-color:var(--accent-soft);border-top-color:var(--accent)}.skeleton-card{background:linear-gradient(90deg,var(--bg-deep) 0%,#f1f4f2 40%,var(--bg-deep) 80%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.top-loader:before,.spinner,.skeleton-card{animation:none}}.ticket-page{max-width:520px}.big-ticket .ticket-main{justify-items:center;text-align:center;padding-top:1.4rem}.big-ticket .ticket-row{width:100%}.ticket-shop{font-size:1.15rem}.ticket-num.giant{font-size:clamp(5.5rem,30vw,8.5rem);line-height:.9}.ticket-person{margin:0;font-size:1.15rem;font-weight:700}.ticket-serving{display:block;font-family:var(--serif);font-size:1.6rem}.ticket-ahead{padding:.35rem .8rem;border-radius:999px;background:var(--sand);color:var(--sand-ink);font-weight:700;font-size:.95rem;align-self:center}.big-ticket .ticket-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.walk-in-result .ticket-main{justify-items:center;text-align:center}.big-ticket .ticket-row:not(.top){text-align:left}.frame:not(.no-tabs) .sticky-cta{bottom:calc(70px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;padding-bottom:.85rem}.frame:not(.no-tabs) .has-sticky-cta{padding-bottom:6rem}.filter-chips{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}.filter-chip{flex:none;display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .95rem;border-radius:20px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.filter-chip .svg-icon{width:18px;height:18px}.filter-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.filter-chip:disabled{opacity:.7}.near-prompt{display:flex;align-items:center;gap:.8rem;width:100%;padding:.8rem .9rem;border-radius:18px;border:1px dashed var(--accent);background:var(--accent-tint);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.near-prompt .row-sub{white-space:normal}.near-prompt .badge-icon{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.row-sub .distance{color:var(--accent);font-weight:700}.qr-card{justify-items:center;text-align:center}.qr-card h2{justify-self:start}.qr-card .hint{text-align:left}.qr-image{width:240px;height:240px;border-radius:16px;border:1px solid var(--line);background:#fff}.qr-placeholder{background:var(--bg-deep)}.qr-caption{display:grid;gap:.1rem;margin:0}.qr-caption span,.qr-link{color:var(--muted);font-size:.9rem}.qr-link{word-break:break-all;margin:0}.qr-card .button-pair{width:100%}.admin-page{--chart-bar: #00909a;--chart-bar-on: var(--accent)}.admin-nav{display:flex;gap:.35rem;padding:4px;border-radius:14px;background:var(--bg-deep);overflow-x:auto;scrollbar-width:none}.admin-nav a{flex:1 0 auto;min-height:40px;display:grid;place-items:center;padding:0 .9rem;border-radius:10px;color:var(--muted);font-weight:700;text-decoration:none;white-space:nowrap}.admin-nav a.active{background:var(--paper);color:var(--accent);box-shadow:var(--shadow)}.admin-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}@media(min-width:720px){.admin-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-tiles .stat-tile strong{display:block;font-size:1.6rem;line-height:1.2;color:var(--ink)}.admin-tiles .stat-tile small{display:block;color:var(--muted);font-size:.82rem;line-height:1.3}.stat-tile.link-tile{color:inherit;text-decoration:none}.stat-tile.link-tile:hover,.stat-tile.link-tile:focus-visible{border-color:var(--accent)}.stat-tile.tile-warn{background:var(--warn-soft);border-color:#ecd3a8}.stat-tile.tile-warn strong{color:var(--warn)}.admin-charts{display:grid;gap:.75rem}@media(min-width:900px){.admin-charts{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-chart{margin:0;padding:.9rem 1rem;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);display:grid;gap:.6rem;min-width:0}.admin-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.admin-chart figcaption span{color:var(--muted);font-size:.85rem}.chart-plot{position:relative;padding-top:1.1rem;border-radius:10px;outline:none;touch-action:pan-y}.chart-plot:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.chart-max{position:absolute;top:0;left:0;color:var(--muted);font-size:.72rem}.chart-bars{height:120px;display:flex;align-items:flex-end;gap:2px;border-top:1px dashed var(--line);border-bottom:1px solid var(--line-strong)}.chart-slot{flex:1;height:100%;display:flex;align-items:flex-end;border-radius:4px 4px 0 0;cursor:default}.chart-slot.on{background:var(--accent-tint)}.chart-bar{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--chart-bar)}.chart-slot.on .chart-bar{background:var(--chart-bar-on)}.chart-tip{position:absolute;top:0;right:0;margin:0;display:flex;gap:.4rem;padding:.15rem .55rem;border-radius:8px;background:var(--ink);color:#fff;font-size:.8rem;pointer-events:none}.chart-axis{display:flex;justify-content:space-between;margin-top:.3rem;color:var(--muted);font-size:.72rem}.chart-table summary{color:var(--accent);font-size:.85rem;font-weight:700;cursor:pointer}.chart-table table{width:100%;margin-top:.4rem;border-collapse:collapse;font-size:.85rem}.chart-table th,.chart-table td{padding:.25rem 0;text-align:left;border-bottom:1px solid var(--line-soft)}.chart-table td:last-child,.chart-table th:last-child{text-align:right}.admin-row .row-title{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.badge.badge-off{background:var(--danger-soft);color:var(--danger);font-weight:700}.admin-flags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.admin-flags .flag{padding:.1rem .55rem;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:.8rem;font-weight:700}.admin-sort select{min-height:36px;padding:0 .6rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;font-size:.9rem}.admin-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between}.admin-head>div:first-child{min-width:0;flex:1 1 18rem}.admin-head .title-xl{margin:.1rem 0;overflow-wrap:anywhere}.admin-head app-admin-status{flex:1 1 16rem;max-width:26rem;display:grid}.admin-state{margin:.4rem 0 0;color:var(--ok);font-weight:700}.admin-state.off{color:var(--danger)}.admin-status-form{display:grid;gap:.6rem;padding:.9rem;border-radius:14px;background:var(--paper);border:1px solid var(--line)}.admin-status-form textarea{width:100%;font:inherit}.admin-status-form .hint{margin:0;font-size:.9rem}.admin-panels{gap:.75rem}.admin-page .panel{display:grid;gap:.6rem}.admin-page .panel .section-label{margin:0}.admin-facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0}.admin-facts dt{color:var(--muted)}.admin-facts dd{margin:0;overflow-wrap:anywhere}.admin-services,.admin-visits,.audit-list{list-style:none;margin:0;padding:0;display:grid}.admin-services li,.admin-visits li,.audit-list li{display:grid;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--line-soft)}.admin-services li{grid-template-columns:1fr auto;gap:.75rem}.admin-services li.off{color:var(--muted)}.admin-services li:last-child,.admin-visits li:last-child,.audit-list li:last-child{border-bottom:0}.audit-reason{color:var(--ink);font-style:italic}
