@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--ink:#2f342f;--muted:#788078;--paper:#fffdf8;--green:#557564;--pale:#edf3ee;--line:#dfe5dd;--gold:#b78c42}*{box-sizing:border-box}.surface-loading{background:#faf8f3;min-height:100dvh}body{color:var(--ink);background:#ebe8e0;margin:0;font-family:Hiragino Sans,Yu Gothic,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{background:var(--paper);width:min(100%,480px);min-height:100vh;margin:0 auto;padding-bottom:82px;position:relative;box-shadow:0 0 45px #5f5b4b22}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffdf8ed;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 20px 11px;display:grid;position:sticky;top:0}.topbar.has-store-image{background-position:50%;background-size:cover}.topbar-brand{align-items:center;gap:11px;min-width:0;display:flex}.topbar-logo{background:url(/reservle-app-icon.png) 50%/cover no-repeat;border-radius:9px;flex:none;width:30px;height:30px;box-shadow:0 3px 10px #315f4430}.eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.topbar h1{letter-spacing:-.03em;white-space:nowrap;grid-column:1/-1;width:100%;margin:2px 0 0;font-family:serif;font-size:clamp(14px,4vw,18px);font-weight:500;line-height:1.25}.topbar h1 em{color:var(--green);font-style:normal}.signup-topbar h1{text-overflow:clip;max-width:none;overflow:visible}.mode-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.top-actions{justify-items:end;gap:5px;display:grid}.line-status{max-width:190px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex;overflow:hidden}.line-status i{background:#aeb5af;border-radius:50%;flex:none;width:7px;height:7px}.line-status.line{color:#07873d}.line-status.line i{background:#06c755;box-shadow:0 0 0 3px #06c75522}.line-status.demo i{background:var(--gold)}.progress{background:#e8ebe7;height:3px}.progress span{background:var(--green);height:100%;transition:all .3s;display:block}.panel,.admin-panel{padding:22px 20px 28px}.hero-panel{padding-top:14px}h2{margin:0 0 18px;font-family:serif;font-size:24px;font-weight:600}h2 small{color:var(--gold);letter-spacing:.12em;margin-bottom:4px;font:800 10px sans-serif;display:block}.option-list{gap:10px;display:grid}.service-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.service-card span{gap:4px;display:grid}.service-card small{color:var(--muted);font-size:11px}.service-card b{white-space:nowrap;color:var(--green)}.service-card.has-image{align-items:center;padding:10px}.service-card-image{isolation:isolate;background:#edf1ed 50%/cover no-repeat;border-radius:10px;flex:0 0 96px;width:96px;height:96px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #202d2514}.service-card-image:before,.menu-photo-preview.has-image:before{content:"";z-index:0;background:inherit;filter:blur(9px);opacity:.42;position:absolute;inset:-10px;transform:scale(1.08)}.service-card-image:after,.menu-photo-preview.has-image:after{content:"";z-index:0;background:#f6f8f53d;position:absolute;inset:0}.service-card-image img,.menu-photo-preview img{z-index:1;object-fit:contain;width:100%;height:100%;position:relative}.service-card-content{flex:1;align-content:center;min-width:0}.service-card.has-image>b{align-self:center}.selected{box-shadow:inset 0 0 0 1px var(--green);border-color:var(--green)!important;background:var(--pale)!important}.primary{background:var(--green);color:#fff;border:0;border-radius:12px;width:100%;margin-top:20px;padding:15px;font-weight:800;box-shadow:0 6px 16px #5575643d}.primary:disabled{box-shadow:none;background:#b9c1bc}.back{color:var(--muted);background:0 0;border:0;margin-bottom:18px;padding:0;font-size:12px}.staff-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.staff-card{border:1px solid var(--line);background:#fff;border-radius:14px;justify-items:center;gap:6px;padding:14px 6px;display:grid}.staff-card i{color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font:22px serif;display:grid}.staff-card strong{font-size:12px}.staff-card small{color:var(--muted);font-size:9px}.anyone{width:100%;color:var(--green);background:#f7f9f7;border:1px dashed #99aa9f;border-radius:12px;margin-top:10px;padding:12px;font-size:12px;font-weight:700}.summary-mini{flex-wrap:wrap;gap:6px;margin:-8px 0 18px;display:flex}.summary-mini span{background:var(--pale);color:var(--green);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.days{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.days button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 4px}.days small,.days strong{display:block}.days small{color:var(--muted);font-size:10px}.days strong{margin-top:3px;font-size:17px}.days .active,.time-grid .active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:none}h3{margin:22px 0 10px;font-size:14px}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-grid button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:10px;padding:11px 6px}.time-grid button strong{margin-left:4px}.time-grid button:disabled{color:#bbb;background:#f3f3f0}.name-field{color:var(--muted);gap:6px;margin-top:18px;font-size:11px;font-weight:700;display:grid}.name-field input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:12px}.notice{color:#a34f42;background:#fff0ed;border-radius:8px;padding:10px;font-size:12px}.dismissible-notice{align-items:flex-start;gap:12px;display:flex;position:relative;padding-right:44px!important}.dismissible-notice-content{flex:1;min-width:0}.dismissible-notice-content>:first-child{margin-top:0}.dismissible-notice-content>:last-child{margin-bottom:0}.dismissible-notice-close{color:currentColor;cursor:pointer;opacity:.62;background:0 0;border:0;border-radius:999px;width:28px;height:28px;padding:0;font:700 20px/1 sans-serif;transition:background .15s,opacity .15s,transform .15s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dismissible-notice-close:hover{opacity:1;background:#00000012;transform:translateY(calc(-50% - 1px))}.dismissible-notice-close:focus-visible{outline-offset:2px;opacity:1;outline:2px solid}.completion{text-align:center;padding-top:45px}.completion-mark{background:linear-gradient(145deg,#648776,#426956);border-radius:28px 28px 30px 17px;place-items:center;width:88px;height:82px;margin:2px auto 26px;display:grid;position:relative;transform:rotate(-2deg);box-shadow:0 13px 28px #3657462e,inset 0 1px #ffffff42}.completion-mark:before{content:"";z-index:-1;border:1px solid #55756428;border-radius:32px 32px 34px 21px;position:absolute;inset:-7px;transform:rotate(5deg)}.completion-mark svg{width:66px;height:66px;overflow:visible;transform:rotate(2deg)}.completion-mark path{fill:none;stroke:#fff;stroke-width:5.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px #234b3933)}.completion-mark i,.completion-mark i:before{background:#c7a769;border-radius:50%;display:block;position:absolute;box-shadow:0 0 0 4px #fffdf8}.completion-mark i{width:8px;height:8px;top:-5px;right:5px}.completion-mark i:before{content:"";width:4px;height:4px;top:15px;right:-9px;box-shadow:0 0 0 3px #fffdf8}.completion h2{margin:6px 0}.completion>p{color:var(--muted);font-size:13px}.ticket{text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;margin:25px 0 6px;padding:22px;box-shadow:0 12px 30px #64615012}.ticket>small{color:var(--muted)}.ticket>strong{margin-top:4px;font-family:serif;font-size:21px;display:block}.ticket hr{border:0;border-top:1px dashed var(--line);margin:18px 0}.ticket dl{gap:8px;margin:0;display:grid}.ticket dl div{justify-content:space-between;gap:10px;display:flex}.ticket dt{color:var(--muted);font-size:12px}.ticket dd{margin:0;font-size:12px;font-weight:700}.ticket .staff-assignment-note{color:var(--muted);margin-top:2px;font-size:9px;font-weight:500;display:block}.admin-heading{justify-content:space-between;align-items:end;display:flex}.admin-heading h2{margin:4px 0 0}.admin-heading>b{background:var(--pale);color:var(--green);border-radius:999px;padding:8px 13px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 24px;display:grid}.admin-stats div{background:#f3f2ed;border-radius:12px;padding:14px}.admin-stats small,.admin-stats strong{display:block}.admin-stats small{color:var(--muted);font-size:10px}.admin-stats strong{margin-top:3px;font-size:22px}.booking-list{gap:9px;display:grid}.booking-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:60px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.booking-list time{color:var(--muted);font-size:10px}.booking-list time strong{color:var(--green);font-size:17px;display:block}.booking-list article>div{gap:2px;display:grid}.booking-list span,.booking-list small{color:var(--muted);font-size:10px}.booking-list article button{color:#a45e51;background:#f4e9e6;border:0;border-radius:8px;padding:7px;font-size:10px}.booking-list .cancelled{background:#fffaf8;border-color:#d9b7af}.booking-list .cancelled time,.booking-list .cancelled>div{opacity:.55}.booking-list .booking-cancelled-stamp{color:#a64d42;letter-spacing:.08em;white-space:nowrap;background:#fff8f5;border:2px solid #b85f52;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-block;transform:rotate(-5deg)}.empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:14px;padding:45px 20px;font-size:13px;line-height:1.8}.rich-menu{z-index:20;border-top:1px solid var(--line);background:#fff;grid-auto-columns:1fr;grid-auto-flow:column;width:min(100%,480px);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 20px #39372d12}.rich-menu button{border:0;border-right:1px solid var(--line);color:#8a948d;background:#fff;place-content:center;justify-items:center;gap:4px;height:72px;font-size:10px;font-weight:800;transition:background .16s,color .16s,transform .12s;display:grid}.rich-menu button:active{transform:translateY(1px)}.rich-menu .active{color:var(--green);background:var(--pale)}.nav-glyph{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.nav-glyph-accent{fill:currentColor;stroke:none}@media (min-width:700px){body{padding:24px 0}.app-shell{border-radius:24px;min-height:calc(100vh - 48px);overflow:hidden}.rich-menu{border-radius:0 0 24px 24px;bottom:24px}}.booking-list .booking-awaiting-visit{color:#766f5f;white-space:nowrap;background:#f1eee5;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:800;display:inline-block}select,textarea{font:inherit;color:inherit}.anyone{text-align:left;gap:3px;display:grid}.anyone small{color:var(--muted)}.staff-avatar{background-color:#f1f1ec;background-position:50%;background-repeat:no-repeat;background-size:cover}.staff-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.staff-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;display:grid;position:relative;overflow:hidden}.staff-card-photo{aspect-ratio:1;color:#fff;background-color:#f1f1ec;background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;width:100%;font:34px serif;display:grid}.staff-card-name{color:var(--ink);margin-top:8px;padding:0 8px;font-size:13px;font-weight:800}.staff-card-role{color:var(--muted);padding:2px 8px 10px;font-size:10px;line-height:1.4}.staff-card-fee{color:var(--green);background:#eef6f0;border-radius:999px;margin:-4px 8px 8px;padding:4px 8px;font-size:9px;font-weight:800;line-height:1.3}.staff-card-bio{-webkit-line-clamp:3;color:var(--muted);text-align:left;-webkit-box-orient:vertical;padding:0 10px 12px;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.staff-carousel{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;grid-auto-columns:minmax(210px,78%);grid-auto-flow:column;gap:12px;margin:10px -20px 0;padding:0 20px 10px;display:grid;overflow-x:auto}.staff-carousel .staff-card{scroll-snap-align:start}.staff-carousel .staff-card-photo{aspect-ratio:4/3}.staff-card.selected{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}.staff-card-check{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:none;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #0003}.staff-card-check svg{width:14px;height:14px;overflow:visible}.staff-card-check path{fill:none;stroke:currentColor;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.staff-card.selected .staff-card-check{display:flex}.field{color:var(--muted);gap:7px;margin-top:16px;font-size:11px;font-weight:800;display:grid}.field input,.field select,.field textarea,.login-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:13px}.field textarea{resize:vertical;min-height:82px}.slot-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.slot-list button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr auto;align-items:center;padding:12px;display:grid}.slot-list button strong{font-size:17px}.slot-list button span{color:var(--green);font-size:10px;font-weight:800}.slot-list button small{color:var(--muted);grid-column:1/-1;margin-top:2px;font-size:9px}.week-nav{z-index:7;background:var(--paper);justify-content:space-between;gap:10px;width:100%;margin:0;padding:4px 0 9px;display:flex;position:sticky;top:0;left:0;box-shadow:0 8px 9px -11px #3046388c}.week-nav-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;flex:1;padding:8px;font-size:11px;font-weight:800}.week-nav-button:disabled{opacity:.4}.has-week-action{padding-bottom:100px}.week-action{z-index:21;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8ed;border-radius:16px;width:min(100% - 32px,448px);padding:10px;position:fixed;bottom:82px;left:50%;transform:translate(-50%);box-shadow:0 -5px 20px #39372d18}.week-action .primary,.week-action .dismissible-notice{margin:0}@media (min-width:700px){.week-action{bottom:106px}}.week-grid-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:clamp(360px,58dvh,620px);margin:10px -4px 0;padding:0 4px 4px;overflow:auto}.week-grid{border-collapse:separate;border-spacing:5px;width:100%;min-width:520px}.week-grid th{color:var(--muted);text-align:center;padding:2px;font-size:9px;font-weight:800}.week-grid thead th{z-index:3;background:var(--paper);padding-bottom:6px;position:sticky;top:45px;box-shadow:0 6px 7px -8px #30463873}.week-grid thead th small{font-weight:600;display:block}.week-grid tbody th{z-index:2;white-space:nowrap;text-align:right;background:var(--paper);min-width:34px;padding-right:6px;position:sticky;left:0;box-shadow:6px 0 7px -8px #30463873}.week-grid thead .week-grid-corner{z-index:4;text-align:right;padding-right:6px;left:0}.week-slot,.week-slot-empty{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin:0 auto;display:flex}.week-slot{border:1.5px solid var(--green);background:var(--pale);color:var(--green);cursor:pointer}.week-slot svg{width:60%;height:60%;overflow:visible}.week-slot path{fill:none;stroke:currentColor;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.week-slot.selected{background:var(--green);color:#fff;box-shadow:0 3px 8px #3046384d}.week-slot-empty{color:#d8d6cd;font-size:12px}.login-card{border:1px solid var(--line);background:#f7f7f2;border-radius:14px;margin-top:12px;padding:20px}.login-card p{margin-top:0;font-size:13px}.login-card small{color:var(--muted);text-align:center;margin-top:12px;font-size:10px;display:block}.access-panel h2{margin-top:4px}.flip-card{perspective:1400px;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-top:10px}.flip-card-inner{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.15,.2,1);display:grid;position:relative}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-face{backface-visibility:hidden;grid-area:1/1}.flip-card-back{transform:rotateY(180deg)}.flip-hint{text-align:center;color:var(--muted);letter-spacing:.04em;margin:12px 0 0;font-size:10px;font-weight:800}.member-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:10px;padding:24px 20px;display:grid;box-shadow:0 8px 24px #30463814}.member-card canvas{background:#fff;border-radius:8px;padding:6px;box-shadow:0 1px 4px #00000014}.member-card-name{margin:0;font-size:15px;font-weight:800}.member-card-number{color:var(--muted);letter-spacing:.05em;margin:0;font-size:12px}.stamp-card{border:1px solid var(--line);background:repeating-linear-gradient(135deg,#fffdf8,#fffdf8 11px,#fbf7ee 11px 22px);border-radius:16px;width:100%;padding:18px 16px 20px;box-shadow:0 8px 22px #30463812,inset 0 0 0 1px #fff}.stamp-card.has-custom-background{aspect-ratio:4/3;flex-direction:column;justify-content:space-between;display:flex}.stamp-card.has-custom-background.aligned-ten-stamps{padding:0;display:block;position:relative;overflow:hidden}.stamp-card.has-custom-background.aligned-ten-stamps .stamp-card-head{z-index:2;border-bottom:1.5px dashed #5f756638;margin:0;padding:0 0 2.4%;position:absolute;top:6.5%;left:5.5%;right:5.5%}.stamp-card.has-custom-background.aligned-ten-stamps .stamp-grid{z-index:2;grid-template-columns:repeat(5,17.61%);justify-content:space-between;gap:3.56% 0;display:grid;position:absolute;top:34.6%;left:5.75%;right:6.25%}.stamp-card.has-custom-background.aligned-ten-stamps .stamp-slot{border-color:#0000;width:100%;max-width:none}.stamp-card.has-custom-background.aligned-ten-stamps .stamp-slot.filled{border-color:var(--gold)}.stamp-card.has-custom-background.aligned-ten-stamps .stamp-coupons{z-index:3;background:#fffdf8eb;border:1px solid #b78c424d;border-radius:8px;margin:0;padding:8px;position:absolute;bottom:4%;left:5.5%;right:5.5%}.stamp-card-head{border-bottom:1.5px dashed var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.stamp-card-head span{color:var(--green);letter-spacing:.14em;font-size:10px;font-weight:800}.stamp-card-head b{color:var(--ink);font-family:serif;font-size:16px}.stamp-grid{grid-template-columns:repeat(5,1fr);justify-items:center;gap:10px;display:grid}.stamp-slot{aspect-ratio:1;color:#0000;border:2px dashed #cfd6cc;border-radius:50%;place-items:center;width:100%;max-width:44px;display:grid;position:relative}.stamp-slot.filled{border:2px solid var(--gold);color:#a9762b;background:radial-gradient(circle at 35% 30%,#fff7e6,#fbecc8 70%);transform:rotate(-4deg);box-shadow:0 3px 7px #b78c4247}.stamp-slot:nth-child(3n).filled{transform:rotate(5deg)}.stamp-slot:nth-child(4n).filled{transform:rotate(-7deg)}.stamp-slot svg{width:62%;height:62%;overflow:visible}.stamp-slot path{fill:currentColor;stroke:none}.stamp-slot img{object-fit:contain;border-radius:50%;width:64%;height:64%}.stamp-card-background-preview{aspect-ratio:4/3;border:1px solid var(--line);width:min(100%,520px);color:var(--ink);text-shadow:0 1px 6px #fff;background:repeating-linear-gradient(135deg,#fffdf8,#fffdf8 11px,#fbf7ee 11px 22px) 50%/cover;border-radius:14px;align-items:end;padding:18px;font-weight:800;display:grid}.coupon-definition-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.coupon-definition-list .form-grid{grid-template-columns:1fr}.coupon-definition-list .console-field.wide,.coupon-definition-list .switch-field.wide,.coupon-definition-list .form-grid>.save{grid-column:auto}.coupon-definition-list .date-picker,.coupon-definition-list .date-picker-trigger{width:100%;min-width:0}.completion-coupon-field{border:1px solid var(--line);background:#f5f5f0;border-radius:12px;gap:7px;margin-top:14px;padding:14px;display:grid}.completion-coupon-field small{color:var(--muted)}.stamp-coupons{border-top:1.5px dashed var(--line);gap:6px;margin-top:16px;padding-top:14px;display:grid}.coupon-code{border:1.5px dashed var(--gold);color:#8a6a1f;text-align:center;background:#fbf6ea;border-radius:10px;gap:2px;margin:0;padding:9px 14px;display:grid}.coupon-code b{font-size:12px;font-weight:800}.coupon-code span{letter-spacing:.08em;font-size:14px;font-weight:800}.admin-coupon-code{color:#8a6a1f;letter-spacing:.06em;background:#fbf6ea;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.map-card{border:1px solid var(--line);background:#fff;border-radius:16px;display:grid;overflow:hidden;box-shadow:0 8px 24px #30463814}.map-card iframe{background:linear-gradient(135deg,#dbe8dd,#eee4d1);border:0;width:100%;height:230px}.map-details{gap:5px;padding:17px 18px;display:grid}.map-card p{color:var(--muted);margin:0;font-size:12px}.map-card strong{font-size:16px}.map-card .map-details a{justify-self:start;margin-top:5px;font-size:12px;font-weight:800}.access-panel dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 0;display:flex}.access-panel dt{color:var(--muted)}.access-panel dd{margin:0;font-weight:700}.access-panel a{color:var(--green)}.rich-menu button{color:#899089;place-content:center;gap:3px;font-size:18px;display:grid}.rich-menu button span{font-size:11px}.rich-menu button:before{display:none}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:18px;display:grid}.loading-screen p{margin:0}.loading-error{text-align:center}.loading-error strong{color:var(--ink);font-size:17px}.loading-error button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:11px;min-height:42px;padding:9px 18px;font-weight:800}.spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.affiliate-auth-shell{background:linear-gradient(160deg,#fffdf8 0%,#f0f5ef 100%)}.affiliate-login-card{text-align:center;margin-top:24px}.affiliate-login-card form,.affiliate-login-card .field{text-align:left}.affiliate-login-mark{color:#fff;background:linear-gradient(145deg,#658774,#426654);border-radius:20px;place-items:center;width:62px;height:62px;margin:0 auto 18px;font:700 29px serif;display:grid;box-shadow:0 12px 25px #4266542b}.affiliate-login-card>p{color:var(--muted);font-size:13px;line-height:1.7}.affiliate-auth-notice{background:var(--pale);border-radius:10px;margin:16px 0 0;padding:12px;font-weight:700;color:var(--green)!important}.affiliate-home-link{margin-top:18px;display:inline-block}.affiliate-portal{min-height:100dvh;color:var(--ink);background:#f2f1eb;padding:30px clamp(18px,4vw,52px) 42px}.affiliate-loading,.affiliate-empty{text-align:center;place-content:center;justify-items:center;gap:14px;display:grid}.affiliate-empty{min-height:100dvh}.affiliate-portal-head{justify-content:space-between;align-items:flex-end;gap:20px;max-width:1120px;margin:0 auto 22px;display:flex}.affiliate-portal-head h1{margin:4px 0 2px;font:600 clamp(24px,4vw,34px) serif}.affiliate-portal-head p{color:var(--muted);margin:0;font-size:12px}.affiliate-portal-head button,.affiliate-card-title button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:800}.affiliate-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto;display:grid}.affiliate-hero-card{color:#fff;background:linear-gradient(135deg,#4c705d,#678875);border-radius:18px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;display:flex;box-shadow:0 14px 30px #35534225}.affiliate-hero-card div{gap:4px;display:grid}.affiliate-hero-card span,.affiliate-hero-card small{color:#ecf5ef;font-size:11px}.affiliate-hero-card strong{letter-spacing:.08em;font-size:clamp(27px,5vw,40px)}.affiliate-hero-card button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #fff6;border-radius:11px;padding:12px 16px;font-weight:800}.affiliate-hero-card .affiliate-hero-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.affiliate-hero-card .affiliate-card-notice{color:#fff4cf;text-align:center;grid-column:1/-1}.affiliate-metrics{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.affiliate-metrics article,.affiliate-portal-card{background:#fff;border:1px solid #e2e3dc;border-radius:16px;padding:20px;box-shadow:0 7px 20px #4a504817}.affiliate-metrics span,.affiliate-card-title span{color:var(--muted);font-size:10px;font-weight:800}.affiliate-metrics strong{margin:7px 0 4px;font-size:clamp(20px,4vw,28px);display:block}.affiliate-metrics small{color:var(--muted);font-size:9px}.affiliate-card-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.affiliate-card-title h2{margin:4px 0 0;font:600 20px serif}.affiliate-card-actions{flex:none;align-items:center;gap:8px;display:flex}.affiliate-store-list,.affiliate-payout-list{border-top:1px solid var(--line);margin-top:14px;display:grid}.affiliate-store-list>div{border-bottom:1px solid var(--line);gap:3px;padding:15px 0 15px 96px;display:grid;position:relative}.affiliate-store-list strong{font-size:13px}.affiliate-store-list small,.affiliate-payout-list small{color:var(--muted);font-size:9px}.affiliate-status{background:var(--pale);width:86px;color:var(--green);text-align:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:800;position:absolute;top:15px;left:0}.affiliate-muted{color:var(--muted);margin:14px 0 0;font-size:11px;line-height:1.6}.affiliate-bank-form{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;padding-top:14px;display:grid}.affiliate-bank-form label{color:var(--muted);gap:5px;font-size:9px;font-weight:800;display:grid}.affiliate-bank-form input,.affiliate-bank-form select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:10px}.affiliate-bank-form .primary,.affiliate-bank-notice{grid-column:1/-1;margin:0}.affiliate-bank-notice{color:#a34f42;font-size:11px}.affiliate-history{grid-column:1/-1}.affiliate-payout-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:20px;padding:14px 0;display:grid}.affiliate-payout-list>div>span{gap:3px;display:grid}.affiliate-payout-list>div>span:last-child{text-align:right}.affiliate-portal-footer{max-width:1120px;color:var(--muted);text-align:center;margin:18px auto 0;font-size:9px}@media (max-width:700px){.affiliate-portal{padding:20px 14px 32px}.affiliate-dashboard-grid{grid-template-columns:1fr}.affiliate-portal-card{grid-column:1}.affiliate-metrics{grid-template-columns:1fr}.affiliate-hero-card{flex-direction:column;align-items:flex-start}.affiliate-hero-card .affiliate-hero-actions{grid-template-columns:1fr;width:100%}.affiliate-hero-card button{width:100%}.affiliate-portal-head,.affiliate-card-title{align-items:flex-start}.affiliate-card-actions{gap:6px}.affiliate-card-title button{white-space:nowrap;padding:8px 10px}.affiliate-store-list>div{padding-top:46px;padding-left:0}.affiliate-status{top:13px}.affiliate-bank-form{grid-template-columns:1fr}.affiliate-bank-form .primary,.affiliate-bank-notice{grid-column:1}}.console{margin:0 -8px}.console-head{grid-template-columns:auto 1fr;align-items:center;gap:12px 18px;display:grid}.console-head h2{margin:3px 0 0}.console-head-actions{justify-self:end;align-items:center;gap:9px;display:flex;position:relative}.store-session-info{text-align:right;align-items:center;gap:10px;display:flex}.admin-notification-center{position:relative}.admin-notification-bell{border:1px solid var(--line);width:40px;height:40px;color:var(--green);cursor:pointer;background:#fff;border-radius:12px;place-items:center;padding:0;display:grid;position:relative}.admin-notification-bell:hover,.admin-notification-bell:focus-visible{border-color:var(--green);background:var(--pale);outline:none}.admin-notification-bell svg,.web-push-heading svg,.admin-notification-toast svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.admin-notification-bell>span{color:#fff;background:#b85f52;border:2px solid #fffdf8;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:8px;font-weight:900;display:grid;position:absolute;top:-6px;right:-7px}.admin-notification-popover{z-index:180;border:1px solid var(--line);background:#fff;border-radius:15px;width:min(380px,100vw - 32px);position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 18px 46px #202d2533}.admin-notification-popover>header{border-bottom:1px solid var(--line);background:#f8f8f3;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;display:flex}.admin-notification-popover>header div{gap:2px;display:grid}.admin-notification-popover>header strong{font-size:13px}.admin-notification-popover>header small{color:var(--muted);font-size:9px}.admin-notification-popover>header button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.admin-notification-items{max-height:390px;overflow-y:auto}.admin-notification-items>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eeece5;grid-template-columns:8px 1fr;gap:8px;width:100%;padding:13px 15px;display:grid;position:relative}.admin-notification-items>button:hover{background:#fafbf8}.admin-notification-items>button>i{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:5px}.admin-notification-items>button.is-unread>i{background:#b85f52}.admin-notification-items>button>span{gap:3px;display:grid}.admin-notification-items strong{font-size:11px}.admin-notification-items small{color:var(--muted);font-size:9px;line-height:1.55}.admin-notification-items time{color:#959a95;font-size:8px}.admin-notification-items>p{color:var(--muted);text-align:center;margin:0;padding:36px 18px;font-size:11px}.admin-notification-toast{z-index:250;width:min(390px,100vw - 32px);color:var(--green);text-align:left;cursor:pointer;background:#fff;border:1px solid #b8cdbf;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:start;gap:11px;padding:14px 15px;animation:.25s both notification-toast-in;display:grid;position:fixed;top:20px;right:20px;box-shadow:0 18px 46px #202d2538}.admin-notification-toast>span{gap:3px;display:grid}.admin-notification-toast strong{color:var(--ink);font-size:12px}.admin-notification-toast small{color:var(--muted);font-size:9px;line-height:1.5}.admin-notification-toast>i{color:var(--muted);font-size:15px;font-style:normal}@keyframes notification-toast-in{0%{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}.web-push-setup{gap:14px;display:grid}.web-push-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.web-push-heading>span{background:var(--pale);width:44px;height:44px;color:var(--green);border-radius:13px;place-items:center;display:grid}.web-push-heading>div{gap:3px;display:grid}.web-push-heading strong{font-size:13px}.web-push-heading small{color:var(--muted);font-size:10px;line-height:1.5}.push-state{color:#777;white-space:nowrap;background:#eee;border-radius:999px;padding:6px 9px;font-size:9px}.push-subscribed{color:#39704f;background:#e5f2e9}.push-denied,.push-unsupported{color:#a34f42;background:#f8e8e5}.device-install-guide{background:linear-gradient(145deg,#fbfcf9,#f5f8f4);border:1px solid #d6e0d8;border-radius:14px;overflow:hidden}.device-install-guide>summary{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;list-style:none;display:grid}.device-install-guide>summary::-webkit-details-marker{display:none}.device-install-guide>summary::marker{content:""}.device-install-guide>summary:hover{background:#f0f5f1}.device-install-guide>summary>span:nth-child(2){gap:2px;display:grid}.device-install-guide>summary strong{font-size:11px}.device-install-guide>summary small{color:var(--muted);font-size:9px;font-weight:600}.install-guide-mark{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.install-guide-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.install-guide-chevron{fill:none;width:20px;height:20px;stroke:var(--green);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.device-install-guide[open] .install-guide-chevron{transform:rotate(180deg)}.device-install-guide[open]>summary{background:#f6f9f6;border-bottom:1px solid #dfe6e0}.device-install-guide-body{gap:12px;padding:14px;display:grid}.install-browser-tip{background:#eaf2ec;border-radius:11px;grid-template-columns:auto 1fr;gap:10px;padding:12px;display:grid}.install-browser-tip>span{width:30px;height:30px;color:var(--green);background:#fff;border-radius:9px;place-items:center;display:grid}.install-browser-tip svg,.install-device-grid header svg,.device-install-guide-body>p svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.install-browser-tip>div{gap:3px;min-width:0;display:grid}.install-browser-tip strong{font-size:10px}.install-browser-tip p,.install-browser-tip small{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.install-browser-tip small{color:#64756a}.install-device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.install-device-grid section{background:#fff;border:1px solid #e0e6e0;border-radius:11px;min-width:0;padding:11px}.install-device-grid header{border-bottom:1px solid #edf0ec;align-items:center;gap:8px;padding-bottom:9px;display:flex}.install-device-grid header>span{width:28px;height:28px;color:var(--green);background:#f0f5f1;border-radius:8px;flex:none;place-items:center;display:grid}.install-device-grid header>div{gap:1px;display:grid}.install-device-grid header small{color:#839087;letter-spacing:.08em;font-size:7px;font-weight:900}.install-device-grid header strong{font-size:10px}.install-device-grid ol{color:var(--muted);counter-reset:install-step;gap:6px;margin:10px 0 0;padding:0;font-size:8px;line-height:1.5;list-style:none;display:grid}.install-device-grid li{counter-increment:install-step;min-height:18px;padding-left:23px;position:relative}.install-device-grid li:before{content:counter(install-step);width:17px;height:17px;color:var(--green);background:#edf3ee;border-radius:50%;place-items:center;font-size:7px;font-weight:900;display:grid;position:absolute;top:0;left:0}.device-install-guide-body>p{background:var(--green);color:#fff;border-radius:10px;align-items:center;gap:7px;margin:0;padding:10px 11px;font-size:9px;font-weight:800;line-height:1.5;display:flex}.device-install-guide-body>p svg{flex:none}.push-sound-caveat{color:var(--muted);background:#f3f2ed;border-radius:10px;margin:0;padding:10px 12px;font-size:9px;line-height:1.65}.push-message{color:var(--green);margin:0;font-size:10px;font-weight:700}.web-push-actions{align-items:center;gap:12px;display:flex}.web-push-actions button{border:1px solid var(--green);min-height:40px;color:var(--green);cursor:pointer;background:#fff;border-radius:10px;padding:9px 13px;font-weight:800}.web-push-actions button.save{background:var(--green);color:#fff}.web-push-actions .save:disabled:not(.is-loading):after{display:none}.web-push-actions button:disabled{cursor:not-allowed;opacity:.5}.web-push-actions small{color:var(--muted);font-size:9px;line-height:1.5}.store-switcher{text-align:left;gap:3px;min-width:180px;display:grid}.store-switcher>small{color:var(--muted);letter-spacing:.06em;font-size:9px;font-weight:800}.store-switcher>select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:8px 32px 8px 11px;font-size:11px;font-weight:800}.store-switcher>select:hover,.store-switcher>select:focus-visible{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #4c6f5b1a}.store-session-info>span{background:var(--pale);color:var(--green);border-radius:12px;gap:2px;padding:7px 10px;display:grid}.store-session-info strong{font-size:10px}.store-session-info small{color:var(--muted);font-size:9px}.store-session-info button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800;transition:transform .15s,background .15s,box-shadow .15s}.store-session-info button:hover{background:#edf3ee;transform:translateY(-1px);box-shadow:0 5px 12px #2e483a1f}.store-session-info button:active{box-shadow:none;transform:translateY(1px)}.store-session-info button:disabled{cursor:wait;opacity:.55}.store-management-bar{border:1px solid var(--line);background:#f7f6f1;border-radius:14px;grid-column:1/-1;grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:center;gap:16px;padding:13px 15px;display:grid}.store-management-actions{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.store-management-buttons{flex:none;gap:8px;display:flex}.store-add-button,.setup-guide-button{border:1px solid var(--green);min-height:40px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 13px;font-size:10px;font-weight:800;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.store-add-button{background:var(--green);color:#fff;box-shadow:0 4px 10px #2e483a2e}.setup-guide-button{color:var(--green);background:#fff}.store-add-button>span,.setup-guide-button>span{border-radius:50%;place-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:grid}.store-add-button>span{background:#ffffff2e}.setup-guide-button>span{border:1px solid;font-size:10px}.store-add-button:hover,.setup-guide-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2e483a29}.store-add-button:active,.setup-guide-button:active{box-shadow:none;transform:translateY(1px)}.store-management-actions p{max-width:520px;color:var(--muted);margin:0;font-size:9px;line-height:1.65}.store-management-actions p strong{color:var(--ink);font-size:10px;display:block}.proposal-entry-button{border:1px solid var(--green);min-width:188px;min-height:58px;color:var(--green);font:inherit;cursor:pointer;background:#fff;border-radius:14px;flex:none;place-items:center;padding:9px 14px;font-size:11px;font-weight:900;transition:all .14s;display:grid;box-shadow:0 3px 10px #5575641c}.proposal-entry-button:hover{background:var(--pale);transform:translateY(-2px);box-shadow:0 6px 14px #5575642b}.proposal-entry-button.active{background:var(--green);color:#fff}.proposal-entry-label{justify-content:center;align-items:center;gap:7px;display:inline-flex}.proposal-entry-label svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.proposal-entry-button small{color:#08723b;letter-spacing:.04em;background:#e4f8ec;border-radius:999px;margin-top:3px;padding:2px 7px;font-size:8px;font-weight:900;display:inline-flex}.proposal-entry-button.active small{color:var(--green);background:#fff}.console-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex-wrap:wrap;align-items:center;gap:16px 20px;margin:15px -12px 20px;padding:0 12px 6px;display:flex;overflow-x:auto}.console-tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:8px 0;font-size:12px;font-weight:700;transition:color .14s,transform 50ms;display:inline-flex;position:relative}.console-tabs button:after{content:"";background:0 0;border-radius:2px;height:2px;transition:background-color .14s;position:absolute;bottom:-6px;left:0;right:0}.console-tabs button:hover{color:var(--green)}.console-tabs button:active{color:var(--green);transform:translateY(1px)scale(.985)}.console-tabs button:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #55756444}.console-tabs button.active{color:var(--green);font-weight:800}.console-tabs button.active:after{background:var(--green)}.console-tab-divider{background:var(--line);flex:none;align-self:center;width:1px;height:16px}.console-section{gap:14px;display:grid}.console-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.console-card h3{margin:0 0 13px;font-size:15px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.metric{background:#f3f2ed;border-radius:12px;padding:13px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:9px}.metric strong{margin-top:4px;font-size:20px}.billing-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.billing-status-card{background:#f6f5f1;border:1px solid #e7e5de;border-radius:12px;min-width:0;padding:15px 16px}.billing-status-card span,.billing-status-card strong{display:block}.billing-status-card span{color:var(--muted);font-size:10px;font-weight:700}.billing-status-card strong{color:var(--ink);white-space:nowrap;margin-top:6px;font-size:18px;line-height:1.35}.billing-status-date{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.5}.billing-portal-button{width:100%;margin-top:14px;font-size:13px;line-height:1.4}.billing-portal-button:disabled:not(.is-loading):after,.billing-plan-button:disabled:not(.is-loading):after{display:none}.invoice-list{gap:8px;display:grid}.invoice-row{background:#f3f2ed;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px;display:grid}.invoice-row>div:first-child{gap:2px;display:grid}.invoice-row>div:first-child span{color:var(--muted);font-size:10px}.invoice-amount{text-align:right;gap:2px;display:grid}.invoice-amount span{color:var(--muted);white-space:nowrap;font-size:9px}.invoice-status{background:#e8e6df;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.invoice-paid{color:var(--green);background:#dfece3}.invoice-open,.invoice-uncollectible{color:#a64b35;background:#f8e5df}.data-list,.compact-list{gap:7px;display:grid}.data-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;font-size:12px;display:grid}.compact-list p{border-bottom:1px solid var(--line);margin:0;padding:8px 0;font-size:11px}.compact-list time{float:right;color:var(--muted)}.store-link-body{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.store-link-body canvas{background:#fff;border-radius:8px;flex-shrink:0;padding:6px}.store-link-text{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.store-link-text code{word-break:break-all;background:#f3f2ed;border-radius:8px;padding:8px 10px;font-size:11px;display:block}.store-link-text button{align-self:flex-start}.record-list{gap:8px;display:grid}.record{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.record summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:68px;padding:12px;list-style:none;display:grid}.record summary::-webkit-details-marker{display:none}.record summary>div{gap:2px;display:grid}.record summary span{color:var(--muted);font-size:10px}.record summary time{max-width:75px;color:var(--green);font-size:11px;font-weight:800}.record-body{border-top:1px solid var(--line);background:#fafaf7;padding:14px}.record-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.record-meta span,.link-badge{background:var(--pale);border-radius:999px;padding:4px 7px;font-weight:800;color:var(--green)!important;font-size:9px!important}.collapsible-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.collapsible-card>summary::-webkit-details-marker{display:none}.collapsible-card>summary h3{margin:0}.collapsible-card-label{color:var(--green);white-space:nowrap;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.collapsible-card-label i{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .18s;transform:rotate(45deg)translateY(-2px)}.collapsible-card[open] .collapsible-card-label i{transform:rotate(225deg)translate(-2px,-2px)}.collapsible-card .when-open{display:none}.collapsible-card[open] .when-open{display:inline}.collapsible-card[open] .when-closed{display:none}.collapsible-card-body{padding-top:18px}.service-record summary{grid-template-columns:44px minmax(0,1fr) auto auto}.service-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:10px;align-content:center;justify-items:center;gap:4px;width:44px;height:44px;margin:-6px 0 -6px -6px;padding:0;display:grid}.service-drag-handle span{background:var(--green);pointer-events:none;border-radius:999px;width:21px;height:2px;display:block}.service-drag-handle:hover{background:var(--pale)}.service-drag-handle:active{cursor:grabbing;background:#dce9df;transform:scale(.96)}.service-drag-handle:focus-visible{outline-offset:1px;outline:3px solid #9bc9ae}.service-drag-handle:disabled{opacity:.35;cursor:default}.service-record.is-dragging{border-color:var(--green);opacity:.82;transform:scale(.99);box-shadow:0 10px 24px #3657462e}.staff-record summary{grid-template-columns:44px auto minmax(0,1fr) auto}.staff-record.is-dragging{border-color:var(--green);opacity:.82;transform:scale(.99);box-shadow:0 10px 24px #3657462e}.status{white-space:nowrap;border-radius:999px;padding:5px 7px;font-weight:800;font-size:9px!important}.status-confirmed,.status-active{background:#e7f3ea;color:#39704f!important}.status-completed{background:#e8eef7;color:#49647f!important}.status-no_show{background:#f7e8dc;color:#9a5b39!important}.status-cancelled,.status-inactive{background:#eee;color:#777!important}.overdue-icon{display:inline-flex;color:#c65a45!important}.tab-badge{vertical-align:middle;background:#c65a45;border-radius:999px;align-items:center;gap:3px;height:16px;padding:0 6px;font-size:9px;font-weight:900;display:inline-flex;color:#fff!important}.tab-badge svg{flex:none}.form-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.console-field{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.console-field.wide,.switch-field.wide,.form-grid>.checkbox-group,.form-grid>.check,.form-grid>.save,.form-grid>.stamp-settings-field{grid-column:1/-1}.stamp-settings-field{gap:14px;display:grid}.console-field input,.console-field select,.console-field textarea,.search-field input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px}.console-field textarea{resize:vertical;min-height:68px}.birthday-fields,.birthday-profile{grid-template-columns:1.1fr 1fr 1fr;gap:8px;display:grid}.birthday-fields label,.birthday-profile label{align-items:center;gap:5px;display:flex}.birthday-fields small,.birthday-profile small{color:var(--muted);font-size:10px;font-weight:800}.birthday-profile{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px}.birthday-profile legend{color:var(--muted);padding:0 5px;font-size:11px;font-weight:800}.birthday-profile input,.birthday-profile select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;padding:12px}.save{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:11px;font-weight:800;transition:background-color .16s,box-shadow .16s,transform .12s,opacity .16s;position:relative;box-shadow:0 4px 10px #5575642b}.save:hover:not(:disabled){background:#426956;transform:translateY(-2px);box-shadow:0 7px 16px #3657463d}.save:active:not(:disabled){background:#365746;transform:translateY(1px)scale(.995);box-shadow:inset 0 2px 5px #20392d4d}.save:focus-visible{outline-offset:3px;outline:3px solid #9bc9ae}.save:disabled{opacity:.72;cursor:wait;box-shadow:none;padding-right:38px}.save:disabled:after{content:"";border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-top:-8px;animation:.7s linear infinite save-spin;position:absolute;top:50%;right:14px}.staff-form .save:disabled:not(.is-loading){cursor:not-allowed;padding-right:18px}.staff-form .save:disabled:not(.is-loading):after{display:none}.account-form .save:disabled:not(.is-loading){opacity:1;cursor:not-allowed;padding-right:11px;box-shadow:0 4px 10px #5575642b}.account-form .save:disabled:not(.is-loading):after{display:none}.store-hours-editor .save:disabled:not(.is-loading),.staff-shift-editor .save:disabled:not(.is-loading){opacity:1;cursor:not-allowed;padding-right:11px;box-shadow:0 4px 10px #5575642b}.store-hours-editor .save:disabled:not(.is-loading):after,.staff-shift-editor .save:disabled:not(.is-loading):after{display:none}.purge-confirm{background:#fbf1ee;border:1px solid #e2c3bb;border-radius:12px;gap:8px;margin-top:12px;padding:13px;display:grid}.purge-confirm>p{color:#8d4037;margin:0;font-size:11px;line-height:1.7}.purge-confirm>label{color:#8d4037;font-size:11px;font-weight:800}.purge-confirm>input{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 11px;font-size:12px}.purge-confirm>input:focus-visible{border-color:#a65348;outline:none;box-shadow:0 0 0 3px #a653481f}.cancellation-entry-actions{grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:8px;display:grid}.cancellation-entry-actions input{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 11px;font-size:12px}.cancellation-entry-actions input:focus-visible{border-color:#a65348;outline:none;box-shadow:0 0 0 3px #a653481f}.cancellation-entry-actions .danger-action{width:100%}.purge-confirm-actions{gap:8px;display:flex}.purge-confirm-actions button:first-child{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:9px 14px;font-weight:800}.purge-confirm-actions .danger-action{flex:1}.save.current-plan:disabled{cursor:default;opacity:.65;padding-right:11px}.save.current-plan:disabled:after{display:none}.console-card .plan-change-confirm{background:#f3f7f4;border:1px solid #ccd9d0;border-radius:12px;gap:10px;margin-top:14px;padding:16px;display:grid}.console-card .plan-change-confirm>strong{color:var(--ink);font-size:14px}.console-card .plan-change-confirm>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.console-card .plan-change-actions{grid-template-columns:minmax(120px,.55fr) minmax(190px,1fr);gap:8px;display:grid}.console-card .plan-change-actions>button{min-height:44px;font:inherit;border-radius:9px;margin:0;font-size:12px;font-weight:800}.console-card .plan-change-cancel{color:var(--green);cursor:pointer;background:#fff;border:1px solid #9eb2a5}.console-card .plan-change-cancel:hover:not(:disabled){border-color:var(--green);background:#e8f0ea}.console-card .plan-change-cancel:focus-visible{outline-offset:2px;outline:3px solid #9bc9ae}.console-card .plan-change-cancel:disabled{opacity:.55;cursor:not-allowed}.console-card .plan-change-confirm .save{width:100%}@keyframes save-spin{to{transform:rotate(360deg)}}.check,.toggle{align-items:center;gap:7px;font-size:11px;display:flex}.checkbox-group{gap:7px;font-size:11px;display:grid}.checkbox-group label{gap:6px;display:flex}.switch-field{cursor:pointer;align-items:center;gap:12px;display:flex}.switch-field>span:last-child{color:var(--ink);gap:2px;font-size:12px;font-weight:800;display:grid}.switch-field small{color:var(--muted);font-size:10px;font-weight:600}.switch{flex:none;width:44px;height:26px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch i{background:#d8d6cd;border-radius:999px;transition:background-color .18s;position:absolute;inset:0}.switch i:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+i{background:var(--green)}.switch input:checked+i:before{transform:translate(18px)}.switch input:focus-visible+i{outline-offset:2px;outline:3px solid #55756444}.designation-switch-field{border:1px solid var(--line);background:#faf9f5;border-radius:10px;gap:8px;padding:12px;display:grid}.designation-switch-field legend{color:var(--ink);padding:0 6px;font-size:11px;font-weight:800}.designation-switch-field .switch-field{width:max-content;min-height:38px}.search-field{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.booking-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.booking-filters .search-field,.booking-filters .console-field{flex:1;min-width:160px}.booking-filter-clear{white-space:nowrap;margin:0 0 9px}.booking-mobile-column-filters{display:none}.booking-header-filter{width:max-content;position:relative}.booking-header-filter summary{min-height:24px;color:var(--muted);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:800;list-style:none;display:inline-flex}.booking-header-filter summary::-webkit-details-marker{display:none}.booking-header-filter summary::marker{content:""}.booking-header-filter summary:hover,.booking-header-filter[open] summary,.booking-header-filter.is-active summary{color:var(--green)}.booking-header-filter summary>span{font-size:8px;transition:transform .16s}.booking-header-filter[open] summary>span{transform:rotate(180deg)}.booking-header-filter summary>i{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #dcebe2}.booking-header-filter-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:190px;max-width:280px;max-height:300px;padding:6px;display:grid;position:absolute;top:calc(100% + 5px);left:-8px;overflow:auto;box-shadow:0 12px 32px #2d36302e}.booking-header-filter-menu button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;padding:9px 10px;font-size:10px;display:flex}.booking-header-filter-menu button:hover,.booking-header-filter-menu button:focus-visible{background:var(--pale);outline:none}.booking-header-filter-menu button.selected{background:var(--green);color:#fff;font-weight:800}.booking-header-filter-menu button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.booking-header-filter-menu button small{color:inherit;opacity:.75;flex:none}.customer-toolbar{align-items:end;gap:10px;width:100%;display:flex}.customer-toolbar .search-field{flex:1;min-width:0}.customer-csv-link,.customer-csv-unavailable{border:1px solid var(--line);min-height:34px;color:var(--green);background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-bottom:1px;padding:7px 12px;font-size:10px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.customer-csv-link:hover,.customer-csv-link:focus-visible{border-color:var(--green);background:var(--pale);outline:none}.customer-csv-unavailable{color:#aaa;cursor:not-allowed}.booking-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;width:100%;display:flex}.booking-pagination p{min-width:0;color:var(--muted);margin:0 auto 0 0;font-size:10px}.booking-pagination p strong{color:var(--ink);font-size:12px}.booking-pagination label{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.booking-pagination select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:7px 28px 7px 8px}.booking-pagination>div{align-items:center;gap:8px;display:flex}.booking-pagination button{border:1px solid var(--green);min-width:58px;color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800}.booking-pagination button:hover:not(:disabled){background:var(--pale)}.booking-pagination button:disabled{border-color:var(--line);color:#aaa;cursor:not-allowed}.booking-pagination b{min-width:54px;color:var(--ink);text-align:center;font-size:10px}.booking-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:auto}.booking-table{border-collapse:collapse;width:100%;min-width:980px;font-size:11px}.booking-table th{z-index:2;border-bottom:2px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap;background:#f1f1ec;padding:10px 9px;font-size:9px;position:sticky;top:0}.booking-table td{border-bottom:1px solid var(--line);max-width:190px;color:var(--ink);vertical-align:middle;white-space:nowrap;padding:10px 9px}.booking-table tbody tr:hover td{background:#f8faf7}.booking-table tbody tr:last-child td{border-bottom:0}.booking-mobile-list,.customer-mobile-list{display:none}.booking-mobile-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:10px;padding:14px;display:grid}.booking-mobile-card header,.booking-mobile-customer{justify-content:space-between;align-items:center;gap:10px;display:flex}.booking-mobile-card header>div{color:var(--green);align-items:center;gap:5px;font-size:15px;font-weight:900;display:flex}.booking-mobile-customer strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.booking-mobile-customer a{color:var(--green);flex:none;font-size:11px;font-weight:800}.booking-mobile-card dl{background:var(--line);border-radius:9px;grid-template-columns:.7fr 1.6fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.booking-mobile-card dl>div{background:#f5f4ef;min-width:0;padding:8px}.booking-mobile-card dt{color:var(--muted);font-size:8px;font-weight:800}.booking-mobile-card dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:10px;font-weight:800;overflow:hidden}.booking-mobile-card>p{color:#765f56;background:#faf2ed;border-radius:8px;margin:0;padding:8px 10px;font-size:10px;line-height:1.5}.booking-mobile-card .booking-edit-button{width:100%;min-height:40px}.assign-board-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;display:flex}.assign-date-nav{align-items:center;gap:6px;display:flex}.assign-date-nav>button{border:1px solid var(--line);width:32px;height:32px;color:var(--green);background:#fff;border-radius:8px;flex:none;font-size:15px;line-height:1}.date-picker{display:inline-flex;position:relative}.date-picker-trigger{border:1px solid var(--line);color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:800;transition:border-color .14s;display:inline-flex}.date-picker-trigger:hover{border-color:var(--green)}.date-picker-trigger[aria-expanded=true]{border-color:var(--green);box-shadow:0 0 0 3px #55756422}.date-picker-trigger svg{color:var(--muted);flex:none}.date-picker-popover{z-index:30;border:1px solid var(--line);background:#fffdf8;border-radius:16px;width:264px;padding:14px;animation:.16s cubic-bezier(.2,.85,.3,1.15) both tour-pop;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 20px 45px #131e1738}.date-picker-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.date-picker-head b{font-size:13px}.date-picker-head button{border:1px solid var(--line);width:28px;height:28px;color:var(--green);background:#fff;border-radius:8px;font-size:14px;line-height:1}.date-picker-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.date-picker-weekdays span{color:var(--muted);text-align:center;font-size:9px;font-weight:800;display:block}.date-picker-weekdays span.is-sun{color:#c94b3f}.date-picker-weekdays span.is-sat{color:#3f6fc9}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-grid button{aspect-ratio:1;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.date-picker-grid button.is-sun{color:#c94b3f}.date-picker-grid button.is-sat{color:#3f6fc9}.date-picker-grid button:hover{background:var(--pale)}.date-picker-grid button.is-today{box-shadow:inset 0 0 0 1.5px var(--green)}.date-picker-grid button.is-selected,.date-picker-grid button.is-selected.is-sun,.date-picker-grid button.is-selected.is-sat{background:var(--green);color:#fff;box-shadow:none}.date-picker-blank{display:block}.date-picker-foot{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;display:flex}.date-picker-foot button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:800}.date-picker-foot .date-picker-clear{color:#9b4f45}.datetime-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.datetime-picker-time{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px;font-size:12px}.assign-today-button{border:1px solid var(--green);background:var(--pale);color:var(--green);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:800}.assign-board-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-height:72vh;overflow:auto}.assign-board-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.assign-board-table th,.assign-board-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.assign-board-table thead th{z-index:3;color:var(--ink);text-align:left;white-space:nowrap;background:#f1f1ec;padding:10px 12px;font-size:10px;position:sticky;top:0}.assign-board-staff{align-items:center;gap:6px;display:flex}.assign-time-col{z-index:2;min-width:58px;color:var(--muted);text-align:center;white-space:nowrap;background:#f7f6f1;padding:0 8px;font-size:10px;font-weight:800;position:sticky;left:0}.assign-board-table thead .assign-time-col{z-index:4;background:#ebeae4}.assign-cell{vertical-align:top;min-width:150px;height:34px;padding:4px 10px}.assign-empty{background:repeating-linear-gradient(-45deg,#fafaf7,#fafaf7 7px,#f4f3ee 7px 8px)}.assign-blocked{color:#8b8b83;text-align:center;background:#e3e3de}.assign-blocked small{font-size:9px;font-weight:800}.assign-appt{border-left:4px solid var(--green);cursor:pointer;background:#fff;transition:background-color .12s}.assign-appt:hover{background:#f7faf7}.assign-appt b,.assign-appt span,.assign-appt small{display:block}.assign-appt b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.assign-appt span{color:var(--green);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.assign-appt small{color:var(--muted);margin-top:2px;font-size:9px}.assign-appt.status-cancelled,.assign-appt.status-no_show{opacity:.55}.assign-appt.status-completed{background:#f5f8f5}.assign-board-table tr.is-past .assign-time-col{color:#a3a39c;background:#eeeeea}.assign-board-table tr.is-past .assign-empty{background:#f2f2ee}.assign-board-table tr.is-overtime .assign-time-col{color:#a97a3f;background:#faf1e2}.assign-board-table tr.is-overtime .assign-empty{background:repeating-linear-gradient(-45deg,#fdf6ec,#fdf6ec 7px,#f8ead4 7px 8px)}.assign-board-table tr.is-now .assign-time-col,.assign-board-table tr.is-now .assign-empty,.assign-board-table tr.is-now .assign-blocked,.assign-board-table tr.is-now .assign-appt{background:#e7f0e9}.assign-board-table tr.is-now .assign-time-col{color:var(--green);font-weight:900}.assign-legend{flex-wrap:wrap;gap:8px 16px;margin:2px 0 14px;display:flex}.assign-legend-item{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.assign-legend-swatch{border:1px solid var(--line);border-radius:4px;width:18px;height:13px}.assign-legend-swatch.legend-appt{border-left:4px solid var(--green);background:#fff}.assign-legend-swatch.legend-blocked{background:#e3e3de;border-color:#d8d8d2}.assign-legend-swatch.legend-overtime{background:repeating-linear-gradient(-45deg,#fdf6ec,#fdf6ec 7px,#f8ead4 7px 8px);border-color:#f0dfc4}.assign-legend-swatch.legend-past{background:#f2f2ee;border-color:#ddddd6}.assign-legend-swatch.legend-now{border-color:var(--green);background:#e7f0e9}.customer-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:auto}.customer-table{border-collapse:collapse;width:100%;min-width:760px;font-size:11px}.customer-table th{border-bottom:2px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap;background:#f1f1ec;padding:10px 9px;font-size:9px}.customer-table td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:11px 9px}.customer-table tbody tr:hover td{background:#f8faf7}.customer-table tbody tr:last-child td{border-bottom:0}.customer-modal-box>.record-body{background:0 0;border:0;padding:0}.customer-detail-tabs{border-bottom:1px solid var(--line);gap:24px;margin:0 0 18px;display:flex}.customer-detail-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 2px 12px;font-size:12px;font-weight:800;display:flex;position:relative}.customer-detail-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.customer-detail-tabs button.active{color:var(--green)}.customer-detail-tabs button.active:after{background:var(--green)}.customer-detail-tabs button span{min-width:20px;color:inherit;text-align:center;background:#eef2ed;border-radius:999px;padding:2px 6px;font-size:9px}.field-help{color:var(--muted);margin-top:6px;font-size:10px;display:block}.customer-loyalty-panel{background:linear-gradient(135deg,#fbfdfb,#f3f8f3);border:1px solid #d9e4dc;border-radius:15px;gap:14px;margin-top:20px;padding:16px;display:grid}.customer-loyalty-heading{align-items:center;gap:10px;display:flex}.customer-loyalty-icon{width:34px;height:34px;color:var(--green);background:#e3f0e6;border-radius:10px;place-items:center;display:grid}.customer-loyalty-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.customer-loyalty-heading h4{margin:0;font-size:13px}.customer-loyalty-heading p{color:var(--muted);margin:2px 0 0;font-size:10px}.customer-loyalty-summary{background:#fff;border:1px solid #dce6df;border-radius:12px;grid-template-columns:minmax(142px,.72fr) minmax(0,1.28fr);display:grid;overflow:hidden;box-shadow:0 6px 16px #3046380b}.customer-stamp-summary{color:#fff;background:linear-gradient(145deg,#5b806c,#416853);align-content:space-between;gap:12px;min-height:108px;padding:15px;display:grid}.customer-stamp-summary small{color:#e5f0e8;letter-spacing:.08em;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.customer-stamp-summary strong{align-items:baseline;gap:4px;display:flex}.customer-stamp-summary strong b{font-family:serif;font-size:30px;line-height:1}.customer-stamp-summary strong span{color:#dceade;font-size:11px;font-weight:700}.customer-stamp-summary progress{color:#f1d490;background:#ffffff35;border:0;border-radius:999px;width:100%;height:5px;overflow:hidden}.customer-stamp-summary progress::-webkit-progress-bar{background:#ffffff35}.customer-stamp-summary progress::-webkit-progress-value{background:#f1d490;border-radius:999px}.customer-stamp-summary progress::-moz-progress-bar{background:#f1d490;border-radius:999px}.customer-stamp-summary.is-unavailable{color:#6f7f74;background:#f1f4f1}.customer-stamp-summary.is-unavailable small{color:#819087}.customer-stamp-summary.is-unavailable strong{font-size:13px}.customer-coupon-summary{min-width:0;padding:13px 14px}.customer-coupon-summary-head{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;font-weight:800;display:flex}.customer-coupon-summary-head b{color:#94701e;background:#fbf3dc;border-radius:999px;padding:3px 7px;font-size:10px}.customer-coupon-list{gap:6px;display:grid}.customer-coupon{background:#fffcf5;border:1px solid #eee4c9;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 10px;display:flex}.customer-coupon>div{gap:1px;min-width:0;display:grid}.customer-coupon small{color:#a27d29;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:900;overflow:hidden}.customer-coupon strong{color:#4d483d;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.customer-coupon button{color:#82621e;cursor:pointer;background:#fff;border:1px solid #c6ab6e;border-radius:6px;flex:none;padding:5px 7px;font-size:9px;font-weight:800}.customer-coupon button:hover:not(:disabled){background:#f8efd5}.customer-coupon button:disabled{opacity:.55;cursor:default}.customer-coupon-empty{color:var(--muted);text-align:center;margin:16px 0 0;font-size:10px}.customer-loyalty-help{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.visit-record-list{gap:12px;display:grid}.visit-record-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.visit-record-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.visit-record-card>header div{gap:3px;display:grid}.visit-record-card>header span{color:var(--muted);font-size:10px}.visit-record-card form{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.visit-record-card form .wide{grid-column:auto}.visit-record-card textarea{min-height:92px}.visit-record-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.voice-textarea{display:grid;position:relative}.voice-textarea textarea{min-height:104px;padding-right:48px}.voice-input-button{width:34px;height:34px;color:var(--green);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f7faf7e8;border:1px solid #b8c7bd;border-radius:10px;place-items:center;padding:0;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:grid;position:absolute;top:8px;right:8px}.voice-input-button:hover{border-color:var(--green);background:#edf4ef}.voice-input-button:focus-visible{outline-offset:2px;outline:3px solid #55756444}.voice-input-button svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.voice-input-button .voice-mic-capsule{fill:currentColor}@supports (color:color-mix(in lab, red, red)){.voice-input-button .voice-mic-capsule{fill:color-mix(in srgb,currentColor 10%,transparent)}}.voice-input-button .voice-mic-wave{opacity:.52}.voice-textarea.is-listening .voice-input-button{color:#a34f42;background:#fff0ed;border-color:#b45143;animation:1.2s ease-in-out infinite voice-listening-pulse;box-shadow:0 0 0 4px #b451431a}.voice-textarea.is-listening .voice-mic-wave{transform-origin:18px 10px;animation:1s ease-in-out infinite voice-wave}.voice-input-error{color:#b45143;margin-top:5px;font-size:9px;font-weight:800}@keyframes voice-listening-pulse{50%{box-shadow:0 0 0 7px #b451430d}}@keyframes voice-wave{50%{opacity:1;transform:scaleX(1.18)}}@media (prefers-reduced-motion:reduce){.voice-textarea.is-listening .voice-input-button{animation:none}}.visit-record-actions .save{width:auto;min-width:150px;margin:0 0 0 auto}.visit-record-actions small{color:var(--muted);font-size:9px}.visit-record-card .card-notice,.visit-record-editor .card-notice{grid-column:1/-1}.visit-record-row{border-bottom:1px solid var(--line);background:#fff}.visit-record-row:first-child{border-top:1px solid var(--line)}.visit-record-row>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 8px;list-style:none;transition:background .15s;display:grid}.visit-record-row>summary::-webkit-details-marker{display:none}.visit-record-row>summary:hover{background:#f7f9f6}.visit-record-row-main{grid-template-columns:auto minmax(120px,auto) 1fr;align-items:center;gap:4px 12px;min-width:0;display:grid}.visit-record-row-main>b{white-space:nowrap;font-size:12px}.visit-record-row-main>span{color:var(--muted);white-space:nowrap;font-size:10px}.visit-record-row-main p{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:3;gap:6px;margin:0;font-size:10px;display:flex;overflow:hidden}.visit-record-row-main p+p{grid-column:3}.visit-record-row-main p strong{color:var(--green);flex:none;font-size:9px}.visit-record-row-main p:not(:first-of-type){display:none}.visit-record-row-side{justify-content:flex-end;align-items:center;gap:8px;display:flex}.visit-record-row-side small{color:#39704f;font-size:9px;font-weight:800}.visit-record-row-side i{color:var(--green);font-size:10px;font-style:normal;font-weight:800}.visit-record-row-side i:after{content:"⌄";margin-left:4px;transition:transform .15s;display:inline-block}.visit-record-row[open] .visit-record-row-side i:after{transform:rotate(180deg)}.visit-record-editor{padding:4px 12px 16px}.visit-record-editor form{border:1px solid var(--line);background:#fafaf7;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.visit-record-editor form .wide{grid-column:auto}.performance-card{grid-column:1/-1;min-width:0}.performance-report-menu{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;display:grid}.performance-report-menu button{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:14px 16px;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s;display:grid}.performance-report-menu button:hover{border-color:#9bb3a4;transform:translateY(-1px);box-shadow:0 7px 18px #3e534617}.performance-report-menu button:active{transform:translateY(1px)}.performance-report-menu button:focus-visible{outline-offset:2px;outline:3px solid #55756444}.performance-report-menu button>span{background:var(--pale);width:42px;height:42px;color:var(--green);border-radius:11px;grid-row:1/3;place-items:center;font-size:10px;font-weight:900;display:grid}.performance-report-menu button strong{align-self:end;font-size:13px}.performance-report-menu button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-self:start;font-size:9px;overflow:hidden}.performance-report-menu button.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 8px 20px #3e534629}.performance-report-menu button.active>span{color:#fff;background:#ffffff24}.performance-report-menu button.active small{color:#e5efe8}.performance-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px;display:flex}.performance-head h3{margin:4px 0}.performance-head p{margin:0}.performance-head .console-field{flex:none;width:min(220px,100%)}.performance-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.performance-forecast{background:#f5f8f5;border:1px solid #d9e2db;border-radius:12px;margin:0 0 18px;padding:14px}.performance-forecast h4{margin:3px 0 12px}.performance-forecast .performance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.performance-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-height:62vh;overflow:auto}.performance-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:10px}.performance-table th,.performance-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;background:#fff;min-width:120px;padding:9px 10px}.performance-table thead th{z-index:3;color:var(--muted);text-align:center;background:#f1f1ec;font-size:9px;position:sticky;top:0}.performance-table th:first-child{z-index:2;text-align:left;background:#f7f6f1;min-width:86px;position:sticky;left:0}.performance-table thead th:first-child{z-index:4;background:#ebeae4}.performance-table tbody th small{color:var(--muted);font-size:8px}.performance-table td{color:#aaa}.performance-table td strong,.performance-table td span,.performance-table td b{display:block}.performance-table td span{margin-top:2px;font-size:9px}.performance-table td b{border-top:1px solid;margin-top:4px;padding-top:4px;font-size:9px}.performance-table td.has-performance{color:var(--green);background:#edf5ef}.performance-table .row-total{color:var(--ink);background:#f7f2e8;font-weight:800}.performance-table tfoot th,.performance-table tfoot td{z-index:2;color:var(--green);background:#e7eee8;border-bottom:0;font-weight:900;position:sticky;bottom:0}.performance-table tfoot th:first-child{z-index:4;background:#dde8df}.performance-subhead{margin:28px 0 12px}.performance-subhead h3{margin:4px 0}.performance-subhead p{margin:0}.monthly-performance-table-wrap{max-height:58vh}.service-staff-chart{gap:10px;display:grid}.service-staff-chart article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:13px 14px;display:grid}.service-staff-chart article header{grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:8px 12px;display:grid}.service-staff-chart article header strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.service-staff-chart article header span{color:var(--muted);font-size:9px;font-weight:800}.service-staff-chart article header b{color:var(--green);font-size:13px}.service-staff-bars{border-top:1px solid var(--line);gap:7px;padding-top:3px;display:grid}.service-staff-bar-row{grid-template-columns:minmax(90px,150px) minmax(120px,1fr) minmax(100px,auto);align-items:center;gap:10px;display:grid}.service-staff-bar-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex;overflow:hidden}.service-staff-bar-name i{border-radius:3px;flex:none;width:10px;height:10px}.service-staff-chart-track{background:#eeede8;border-radius:6px;width:100%;height:18px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #e1e0d9}.service-staff-chart-track>span{min-width:2px;height:100%;transition:width .3s}.service-staff-bar-value{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:7px;display:flex}.service-staff-bar-value small{color:var(--muted);font-size:8px;font-weight:800}.service-staff-bar-value b{color:var(--ink);font-size:10px}.staff-trend-legend{border:1px solid var(--line);background:#f7f6f1;border-radius:10px;flex-wrap:wrap;gap:8px 16px;margin:2px 0 12px;padding:11px 13px;display:flex}.staff-trend-legend span{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:800;display:inline-flex}.staff-trend-legend i{border-radius:50%;width:10px;height:10px}.staff-trend-legend b{color:var(--ink)}.staff-trend-chart-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow-x:auto}.staff-trend-chart{width:100%;min-width:760px;height:auto;display:block}.staff-trend-grid{stroke:#e5e4dd;stroke-width:1px;stroke-dasharray:4 4}.staff-trend-axis{fill:var(--muted);font-size:10px;font-weight:800}.retention-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.retention-legend{flex-wrap:wrap;gap:8px 16px;margin:2px 0 12px;display:flex}.retention-legend span{color:var(--muted);align-items:center;gap:6px;font-size:9px;font-weight:800;display:inline-flex}.retention-legend i{border-radius:4px;width:12px;height:12px}.retention-legend i.is-new{background:#a7c1ae}.retention-legend i.is-repeat{background:var(--green)}.retention-chart{gap:8px;display:grid}.retention-chart article{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:72px minmax(120px,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.retention-chart article header{gap:2px;display:grid}.retention-chart article header strong{font-size:11px}.retention-chart article header span{color:var(--muted);font-size:9px}.retention-bar-track{background:#eeede8;border-radius:6px;height:18px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #e1e0d9}.retention-bar-track span{height:100%}.retention-bar-new{background:#a7c1ae}.retention-bar-repeat{background:var(--green)}.retention-chart dl{gap:10px;margin:0;display:flex}.retention-chart dl div{text-align:right;gap:1px;display:grid}.retention-chart dt{color:var(--muted);font-size:8px}.retention-chart dd{margin:0;font-size:10px;font-weight:900}.retention-risk-head{justify-content:space-between;align-items:end;gap:16px;margin-top:24px;display:flex}.retention-risk-head .console-field{width:min(220px,100%)}.retention-threshold{align-items:center;gap:8px;display:flex}.retention-threshold input{min-width:0}.retention-threshold b{flex:none;font-size:10px}.retention-risk-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.retention-risk-list article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:13px 14px;display:grid}.retention-risk-list article header{justify-content:space-between;gap:10px;display:flex}.retention-risk-list article header>div{gap:2px;display:grid}.retention-risk-list article header span{color:var(--muted);font-size:9px}.retention-risk-days{color:#a85f50;font-size:13px}.retention-risk-list dl{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}.retention-risk-list dl>div{background:#f5f4ef;border-radius:8px;padding:8px}.retention-risk-list dt{color:var(--muted);font-size:8px}.retention-risk-list dd{margin:3px 0 0;font-size:10px;font-weight:800}.coupon-redemption-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.coupon-redemption-fields small{grid-column:1/-1}.applied-coupon-summary{grid-template-columns:auto 1fr auto;align-items:center}.applied-coupon-summary b{color:var(--muted)}.applied-coupon-summary strong{color:var(--green)}.booking-date-cell{font-weight:800;color:var(--green)!important}.booking-date-cell time{margin-right:5px}.booking-note{text-overflow:ellipsis;overflow:hidden;max-width:220px!important}.booking-edit-button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:800}.booking-edit-button:hover{background:var(--pale)}.booking-edit-modal{align-items:flex-start;padding:5vh 16px;overflow-y:auto}.booking-modal-box{z-index:1;background:#fffdf8;border-radius:18px;width:min(780px,100%);max-height:90vh;padding:22px;animation:.25s cubic-bezier(.2,.85,.3,1.15) both tour-pop;position:relative;overflow-y:auto;box-shadow:0 20px 55px #131e174d}.booking-modal-box>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.booking-modal-box h3{margin:4px 0 0;font-size:20px}.booking-modal-close{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex:none;font-size:24px;line-height:1}.booking-modal-summary{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 18px;display:grid;overflow:hidden}.booking-modal-summary>div{background:#f5f4ef;padding:10px 12px}.booking-modal-summary dt{color:var(--muted);font-size:9px;font-weight:800}.booking-modal-summary dd{margin:4px 0 0;font-size:12px;font-weight:800}.customer-picker{position:relative}.customer-suggestions{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;max-height:220px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 16px #00000014}.customer-suggestions button{border:0;border-bottom:1px solid var(--line);text-align:left;font:inherit;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:12px;display:flex}.customer-suggestions button:last-child{border-bottom:0}.customer-suggestions button:hover{background:#f3f2ed}.customer-suggestions button small{color:var(--muted);font-size:10px}.button-row{gap:6px;margin-top:12px;display:flex}.button-row button,.shift-form button{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:9px;font-size:10px;font-weight:800}.button-row .danger{color:#9c554a;background:#f7e8e4}.text-danger{color:#a65348;background:0 0;border:0;margin-top:12px;font-size:10px;text-decoration:underline}.staff-dot,.record summary>.staff-avatar,.line-avatar,.guest-avatar{color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font:16px serif;display:grid}.line-avatar{background:#06c755}.guest-avatar{background:#8b877d}.staff-photo-field{border:1px solid var(--line);background:#fff;border-radius:10px;grid-column:1/-1;align-items:center;gap:12px;padding:10px;display:flex}.staff-photo-field .staff-avatar,.staff-photo-field .staff-dot{flex:none;width:64px;height:64px}.staff-photo-actions{flex:1;gap:7px;display:grid}.staff-photo-actions input{font-size:10px}.staff-photo-actions button{color:#a65348;cursor:pointer;background:0 0;border:0;justify-self:start;font-size:10px;text-decoration:underline}.menu-photo-field{border:1px solid var(--line);background:#fff;border-radius:12px;grid-column:1/-1;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.menu-photo-preview{min-height:92px;color:var(--muted);text-align:center;isolation:isolate;background:#f3f6f2 50%/cover no-repeat;border:1px dashed #c6d2c8;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.menu-photo-preview span{padding:10px;font-size:9px;font-weight:800}.menu-photo-preview.has-image{border-style:solid;height:99px;min-height:0}.menu-photo-actions{gap:7px;min-width:0;display:grid}.menu-photo-actions>b{font-size:12px}.menu-photo-actions>small{color:var(--muted);font-size:10px;line-height:1.55}.menu-photo-actions input{max-width:100%;font-size:10px}.menu-photo-actions button{color:#a65348;cursor:pointer;background:0 0;border:0;justify-self:start;font-size:10px;text-decoration:underline}.menu-card-preview{border:1px solid var(--line);background:#f7f7f3;border-radius:12px;grid-column:1/-1}.service-record .menu-card-preview>summary{width:auto;min-height:0;color:var(--green);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:12px;font-weight:800;transition:background .15s;display:flex}.menu-card-preview>summary:hover{background:#edf3ee}.menu-card-preview>summary>span{width:auto;color:inherit;font-size:inherit;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;grid-column:1/-1;display:block}.menu-card-preview-chevron{background:var(--green);fill:none;stroke:#fff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;border-radius:50%;flex:0 0 24px;width:24px;height:24px;transition:transform .18s;overflow:visible}.menu-card-preview[open]>summary{border-bottom:1px solid var(--line);background:#edf3ee}.menu-card-preview[open] .menu-card-preview-chevron{transform:rotate(180deg)}.menu-card-preview-body{gap:8px;padding:12px;display:grid}.menu-card-preview-body>small{color:var(--muted);font-size:10px;line-height:1.55}.menu-card-preview-card{cursor:default}.menu-card-preview-card:hover{transform:none}.store-hero-field{border:1px solid var(--line);background:#fff;border-radius:10px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.store-hero-preview{min-height:150px;color:var(--ink);background:linear-gradient(135deg,#e9f0ea,#f5eee1) 50%/cover;border-radius:12px;align-items:end;padding:16px;font-weight:800;display:flex}.store-header-preview{aspect-ratio:4;min-height:0}.store-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.store-hero-actions input{flex:1;min-width:220px;font-size:10px}.store-hero-actions button{color:#a65348;cursor:pointer;background:0 0;border:0;font-size:10px;text-decoration:underline}.stamp-icon-field{border:1px solid var(--line);background:#fff;border-radius:10px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.stamp-icon-preview{border:2px solid var(--gold);background:radial-gradient(circle at 35% 30%,#fff7e6,#fbecc8 70%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.stamp-icon-preview img{object-fit:contain;width:64%;height:64%}.stamp-icon-preview span{color:var(--muted);text-align:center;font-size:9px;font-weight:800}.error-text{color:#a34f42}.store-hours-editor{gap:16px;display:grid}.common-hours{gap:8px;display:grid}.common-hours>strong{font-size:12px}.common-hours>div{align-items:center;gap:10px;display:flex}.common-hours input,.custom-hours-list input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:10px;font-size:12px}.common-hours>div span,.custom-hours-list>div>span{color:var(--muted)}.common-hours>small{color:var(--muted);font-size:9px}.holiday-picker{border:0;margin:0;padding:0}.holiday-picker legend{color:var(--ink);margin-bottom:10px;font-size:12px;font-weight:800}.holiday-picker legend small{color:var(--muted);font-size:9px;font-weight:600}.holiday-picker>div{flex-wrap:wrap;gap:8px;display:flex}.holiday-picker button{background:var(--pale);width:48px;height:48px;color:var(--green);font:inherit;cursor:pointer;border:1px solid #9db3a6;border-radius:50%;place-content:center;gap:1px;padding:0;transition:all .15s;display:grid}.holiday-picker button b{font-size:12px}.holiday-picker button small{font-size:7px;font-weight:800}.holiday-picker button.is-holiday{color:#9b4f45;background:#f8e8e4;border-color:#ddb8b0;box-shadow:inset 0 0 0 2px #fff}.holiday-picker button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 9px #35584720}.holiday-picker button:active:not(:disabled){transform:translateY(1px)}.holiday-picker button:disabled{opacity:.55;cursor:not-allowed}.custom-hours-toggle{border:1px solid var(--line);color:var(--green);font:inherit;cursor:pointer;background:#fff;border-radius:9px;justify-self:start;padding:8px 11px;font-size:10px;font-weight:800}.custom-hours-list{border:1px solid var(--line);background:#f8f7f2;border-radius:11px;gap:7px;padding:11px;display:grid}.custom-hours-list>div{grid-template-columns:48px minmax(90px,1fr) auto minmax(90px,1fr);align-items:center;gap:8px;min-height:43px;display:grid}.custom-hours-list>div>b{font-size:10px}.custom-hours-list>div.is-holiday{opacity:.7}.custom-hours-off{grid-column:2/-1;font-size:10px;font-weight:800}.store-hours-summary{color:var(--muted);margin:0;font-size:9px}.staff-shift-list{gap:10px;margin-top:14px;display:grid}.staff-shift-editor{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.staff-shift-editor>summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:13px 15px;list-style:none;display:flex}.staff-shift-editor>summary::-webkit-details-marker{display:none}.staff-shift-editor>summary>span:first-child{gap:3px;display:grid}.staff-shift-editor>summary strong{color:var(--ink);font-size:14px}.staff-shift-editor>summary small{color:var(--muted);font-size:10px}.staff-shift-chevron{border-right:2px solid var(--green);border-bottom:2px solid var(--green);flex:none;width:9px;height:9px;transition:transform .18s;transform:rotate(45deg)}.staff-shift-editor[open] .staff-shift-chevron{transform:rotate(225deg)}.staff-shift-body{border-top:1px solid var(--line);background:#fdfcf8;padding:16px}.shift-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.shift-presets button{min-height:51px;color:var(--green);font:inherit;cursor:pointer;background:#fff;border:1px solid #9db3a6;border-radius:10px;place-content:center;gap:2px;padding:8px;font-size:11px;font-weight:800;transition:all .15s;display:grid}.shift-presets button small{color:var(--muted);font-size:8px;font-weight:700}.shift-presets button:hover:not(:disabled){background:var(--pale);transform:translateY(-1px)}.shift-presets button:active:not(:disabled){transform:translateY(1px)}.shift-presets button.subtle{border-color:var(--line);color:#8c625c}.shift-presets button:disabled{opacity:.55;cursor:not-allowed}.shift-preset-note{color:var(--muted);margin:8px 0 13px;font-size:9px}.shift-week-grid{gap:7px;display:grid}.shift-day-row{background:#f5f4ef;border:1px solid #e4e4de;border-radius:10px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;padding:9px 11px;display:grid}.shift-day-row.is-enabled{background:#fff}.shift-day-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.shift-day-toggle input{width:17px;height:17px;accent-color:var(--green)}.shift-day-toggle b{white-space:nowrap;font-size:11px}.shift-day-ranges{gap:6px;display:grid}.shift-time-range{grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr) 26px;align-items:center;gap:6px;display:grid}.shift-time-range input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px;font-size:11px}.shift-time-range>span{color:var(--muted)}.shift-range-remove{color:#a65348;cursor:pointer;background:#f7e8e4;border:0;border-radius:50%;width:26px;height:26px;padding:0;font-size:17px}.shift-day-off{color:var(--muted);font-size:10px}.shift-day-actions{justify-items:end;gap:4px;min-width:82px;display:grid}.shift-day-actions small{color:#a47a71;white-space:nowrap;font-size:8px}.shift-day-actions button{border:1px solid var(--line);color:var(--green);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.staff-shift-save{margin-top:14px}@media (max-width:650px){.holiday-picker>div{gap:7px}.holiday-picker button{width:43px;height:43px}.custom-hours-list>div{grid-template-columns:42px minmax(74px,1fr) auto minmax(74px,1fr);gap:5px}.custom-hours-list input{padding:8px 4px}.staff-shift-body{padding:12px}.shift-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-day-row{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;padding:10px}.shift-day-toggle{padding-top:8px}.shift-day-actions{grid-column:2;justify-content:space-between;place-items:center stretch;min-width:0;display:flex}.shift-time-range{grid-template-columns:minmax(75px,1fr) auto minmax(75px,1fr) 24px;gap:4px}.shift-time-range input{padding:8px 4px}.shift-range-remove{width:24px;height:24px}}.tag-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag-list span{background:#f0f0eb;border-radius:8px;padding:6px 8px;font-size:9px}.tag-list button{color:#a65348;background:0 0;border:0}.notification-list{gap:12px;display:grid}.notification-list>div{border:1px solid var(--line);border-radius:10px;padding:12px}.hint{color:var(--muted);font-size:11px;line-height:1.7}.admin-loading{min-height:260px;color:var(--muted);text-align:left;justify-content:center;align-items:center;gap:18px;display:flex}.admin-loading strong{color:var(--ink);font-size:16px;line-height:1.5;display:block}.admin-loading p{margin:4px 0 0;font-size:12px;line-height:1.7}.admin-loading small{max-width:420px;margin-top:8px;font-size:11px;line-height:1.7;display:block}.admin-loading-spinner{border:3px solid var(--accent);flex:none;width:34px;height:34px}@supports (color:color-mix(in lab, red, red)){.admin-loading-spinner{border:3px solid color-mix(in srgb,var(--accent) 20%,transparent)}}.admin-loading-spinner{border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite admin-loading-spin}@keyframes admin-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.admin-loading-spinner{animation-duration:1.8s}}.card-notice{border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:11px;font-weight:700;line-height:1.5;animation:.2s ease-out card-notice-in}.card-notice.success{color:#39704f;background:#e8f3eb}.card-notice.error{color:#a34f42;background:#fff0ed}.csv-rules{color:var(--muted);margin:12px 0 16px;padding-left:22px;font-size:11px;line-height:1.8}.csv-actions{flex-wrap:wrap;gap:10px;display:flex}.csv-actions .save{text-align:center;cursor:pointer;justify-content:center;align-items:center;width:auto;min-width:170px;margin:0;padding:12px 18px;text-decoration:none;display:inline-flex}.csv-actions label.save{position:relative;overflow:hidden}.csv-actions input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.csv-actions .disabled{opacity:.55;cursor:wait}.assignment-chart{gap:9px;margin-top:14px;display:grid}.assignment-row{background:#f3f2ed;border-radius:10px;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) auto minmax(130px,auto);align-items:center;gap:12px;padding:11px 12px;display:grid}.assignment-person{align-items:center;gap:9px;min-width:0;display:flex}.assignment-person b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-avatar.small,.staff-dot.small{width:32px;min-width:32px;height:32px}.assignment-load{grid-template-columns:1fr auto;align-items:center;gap:9px;display:grid}.assignment-load strong{min-width:34px;color:var(--green);text-align:right}.assignment-bar{background:#dddcd6;border-radius:999px;height:10px;overflow:hidden}.assignment-bar span{border-radius:inherit;height:100%;transition:width .25s;display:block}.assignment-today{color:var(--muted);white-space:nowrap;background:#e5e4df;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.assignment-today.has-booking{color:#39704f;background:#e3f1e7}.assignment-next{color:var(--muted);white-space:nowrap;font-size:10px}@media (max-width:760px){.assignment-row{grid-template-columns:1fr auto}.assignment-load{grid-area:2/1/auto/-1}.assignment-next{grid-column:1/-1}.assignment-today{grid-area:1/2}}.auth-shell{padding-bottom:30px}.auth-card{max-width:540px;margin:32px auto}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-action{border:1px solid var(--green);width:100%;color:var(--green);font:inherit;box-sizing:border-box;cursor:pointer;background:#fff;border-radius:11px;justify-content:center;align-items:center;margin-top:10px;padding:13px;font-weight:800;text-decoration:none;transition:all .15s;display:flex}.auth-action:hover{background:#edf3ee;transform:translateY(-1px)}.auth-action:active{transform:translateY(1px)}.text-link{width:100%;color:var(--green);text-align:center;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:14px;font-weight:700;text-decoration:none;display:block}.account-choice{gap:10px;display:grid}.account-choice button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;gap:4px;padding:16px;display:grid}.account-choice span{color:var(--muted);font-size:11px}.security-status{color:var(--green);align-items:end;padding-bottom:10px;font-size:11px;display:flex}.security-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.security-actions>div{border:1px solid var(--line);border-radius:10px;gap:7px;padding:14px;display:grid}.security-actions span{color:var(--muted);font-size:10px}.security-actions button,.passkey-list button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:8px;padding:8px;font-weight:800}.passkey-list{gap:7px;margin-top:10px;display:grid}.passkey-list>div{background:#f3f2ed;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.passkey-list span{display:grid}.passkey-list small{color:var(--muted)}@media (max-width:600px){.auth-card{margin:16px 0}.security-actions{grid-template-columns:1fr}}@keyframes card-notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (min-width:900px){body{padding:24px}.app-shell{border-radius:24px;width:min(1180px,100vw - 48px);min-height:calc(100vh - 48px);padding-bottom:86px;overflow:hidden}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:18px 36px 16px}.topbar-brand{gap:14px}.topbar-logo{border-radius:11px;width:38px;height:38px}.topbar h1{letter-spacing:normal;font-size:28px}.top-actions{align-items:center;gap:14px;display:flex}.line-status{max-width:260px;font-size:11px}.phone-content{width:min(100%,980px);margin:0 auto}.phone-content>.panel,.app-shell>.access-panel{max-width:980px;margin:0 auto;padding:36px 48px 42px}.option-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{flex-direction:column;align-items:flex-start;min-height:142px;padding:20px}.service-card.has-image{align-items:flex-start;padding:12px}.service-card.has-image .service-card-image{aspect-ratio:4/3;flex-basis:auto;width:100%;height:auto;min-height:0}.service-card.has-image .service-card-content{width:100%}.service-card.has-image>b{align-self:flex-end}.service-card b{margin-top:auto;font-size:18px}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.staff-carousel{grid-auto-columns:minmax(240px,31%);margin-left:0;margin-right:0;padding-left:0;padding-right:0}.slot-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ticket{padding:28px}.admin-panel{padding:32px 40px 44px}.console{margin:0}.console-head h2{font-size:32px}.console-tabs{gap:8px 26px;margin:22px 0 26px;padding:0 0 7px;overflow:visible}.console-tabs button{padding:9px 0;font-size:13px}.console-tabs button:after{bottom:-7px}.console-section{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.console-section>.metric-grid,.console-section>.search-field,.console-section>.booking-filters,.console-section>.booking-mobile-column-filters,.console-section>.customer-toolbar,.console-section>.record-list,.console-section>.booking-table-wrap,.console-section>.booking-mobile-list,.console-section>.customer-table-wrap,.console-section>.booking-pagination,.console-section>.console-card:only-child{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.metric{min-height:90px;padding:17px}.record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record summary{min-height:82px;padding:16px}.record-body{padding:18px}.console-card{padding:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.notification-list{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-list>.save{grid-column:1/-1}.rich-menu{border-radius:0 0 24px 24px;width:min(1180px,100vw - 48px);bottom:24px}}.platform-shell{background:var(--paper);width:min(1180px,100%);min-height:100vh;color:var(--ink);margin:0 auto;padding:26px}.platform-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.platform-head h1{align-items:center;gap:12px;margin:5px 0 0;font:32px serif;display:flex}.platform-brand{align-items:center;gap:9px;font-weight:700;display:inline-flex}.platform-brand i{background:url(/reservle-app-icon.png) 50%/cover no-repeat;border-radius:11px;flex:none;width:42px;height:42px;box-shadow:0 3px 10px #315f4430}.platform-head a,.store-open{color:var(--green);font-weight:800}.platform-admin-create{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.platform-admin-create .save{min-height:38px}.platform-admin-list{gap:10px;margin-top:18px;display:grid}.platform-admin-list>form{background:#f3f2ed;border-radius:10px;grid-template-columns:minmax(120px,.8fr) 1fr 1fr 110px 1fr auto;align-items:end;gap:9px;padding:12px;display:grid}.platform-admin-list label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.platform-admin-list input,.platform-admin-list select,.platform-pin-change input{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:9px}.platform-admin-list button,.platform-pin-change button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 13px;font-weight:800}.platform-admin-buttons{gap:6px;display:flex}.platform-admin-buttons button{flex:1}.platform-admin-buttons .delete{background:#a65348}.platform-admin-title{align-self:center;min-width:0}.platform-admin-title strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.platform-admin-title span{color:var(--green);background:#dfece3;border-radius:999px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:800;display:inline-block}.platform-pin-change{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 1fr 1fr auto;align-items:center;gap:9px;margin-top:18px;padding-top:16px;display:grid}.platform-pin-change h3{margin:0;font-size:14px}.platform-passkey-settings{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;display:flex}.platform-passkey-settings>span{gap:4px;display:grid}.platform-passkey-settings small{color:var(--muted)}.platform-passkey-settings button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:8px;padding:10px 14px;font-weight:800}.admin-notice{margin:8px 0 18px}.pin-upgrade-warning{color:#8d4037;background:#fff0ec;border:1px solid #d68a79;border-radius:14px;padding:16px 18px}.pin-upgrade-warning strong{font-size:16px}.pin-upgrade-warning p{margin:5px 0 0;font-size:12px;line-height:1.65}.platform-login{gap:14px;max-width:460px;margin:48px auto;display:grid}.platform-session-info{text-align:right;align-items:center;gap:12px;margin-left:auto;display:flex}.platform-session-info>span{gap:2px;display:grid}.platform-session-info small{color:var(--muted);font-size:10px}.platform-session-info button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:9px;padding:9px 12px;font-weight:800}.platform-session-info button:hover{background:#edf3ee;transform:translateY(-1px)}.platform-session-info button:active{transform:translateY(1px)}.platform-content{gap:24px;padding-top:24px;display:grid}.platform-summary{background:var(--green);color:#fff;border-radius:16px;gap:16px;padding:20px;display:grid}.platform-summary header{justify-content:space-between;align-items:center;gap:16px;display:flex}.platform-summary header span{align-items:baseline;gap:10px;display:flex}.platform-summary header strong{font-size:34px}.platform-summary header small{font-weight:800}.platform-summary dl{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0;display:grid}.platform-summary dl div{background:#ffffff21;border-radius:11px;padding:11px 12px}.platform-summary dt{opacity:.85;font-size:9px}.platform-summary dd{margin:4px 0 0;font-size:22px;font-weight:900}.platform-summary .is-stopped{background:#3027233d}.platform-summary .is-expired{background:#8b4e3157}.platform-summary .is-exempt{background:#3a5a7a57}.trial-settings-card form{grid-template-columns:minmax(220px,420px) auto;align-items:end;gap:12px;display:grid}.trial-settings-card form .save{width:auto;min-height:42px;margin:0}.trial-days-input{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.trial-days-input input{min-width:0}.trial-days-input b{color:var(--muted)}.affiliate-payout-card{gap:18px;display:grid;overflow:hidden}.platform-console-tabs{z-index:20;background:#f8f7f2;margin-top:0;padding-top:8px;position:sticky;top:0}.platform-tab-panel{gap:18px;animation:.18s both platform-tab-in;display:grid}@keyframes platform-tab-in{0%{opacity:0;transform:translateY(4px)}}.affiliate-payout-head h2{margin:0 0 7px}.affiliate-payout-head .hint{margin:0;line-height:1.7}.affiliate-payout-controls{border:1px solid var(--line);background:#faf9f5;border-radius:12px;grid-template-columns:1fr 1fr;gap:14px;padding:16px;display:grid}.payout-rate-form,.payout-month-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.payout-rate-form>label,.payout-month-picker>label{min-width:0;color:var(--muted);gap:7px;font-size:11px;font-weight:800;display:grid}.payout-rate-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.payout-rate-input b{color:var(--muted)}.payout-rate-input input,.payout-month-picker input{border:1px solid var(--line);width:100%;min-width:0;height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px 11px}.payout-rate-form .save,.payout-month-picker .save{white-space:nowrap;min-height:42px;padding-inline:17px}.payout-results-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.payout-results{border-collapse:collapse;width:100%;font-size:12px}.payout-results th{color:var(--muted);text-align:left;white-space:nowrap;background:#f3f2ed;padding:11px 13px;font-size:10px}.payout-results td{border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:14px 13px}.payout-results td:nth-child(2),.payout-results td:nth-child(3),.payout-results td:nth-child(4),.payout-results th:nth-child(2),.payout-results th:nth-child(3),.payout-results th:nth-child(4){text-align:right}.payout-status{color:var(--green);background:#edf3ef;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.payout-status.status-notified{color:#657078;background:#eef0f3}.payout-results td:nth-child(5) small{margin-top:5px;font-size:9px;display:block}.payout-bank-ok{color:var(--green)}.payout-bank-missing{color:#a24f43;font-weight:800}.payout-status.status-ready{color:#8b5b18;background:#fff1dc}.payout-status.status-paid{color:#2f6b4f;background:#e5f2e9}.payout-settlements{gap:10px;padding-top:4px;display:grid}.payout-settlements h3,.payout-settlements .hint{margin:0}.payout-source-details{min-width:250px}.payout-source-details summary{cursor:pointer;color:var(--green);font-weight:800}.payout-source-details>div{gap:7px;margin-top:9px;display:grid}.payout-source-details p{background:#f7f6f2;border-radius:8px;justify-content:space-between;gap:18px;margin:0;padding:8px;display:flex}.payout-source-details p span{gap:2px;display:grid}.payout-source-details small,.payout-results td>small{color:var(--muted);font-size:9px;display:block}.payout-reconcile-form{grid-template-columns:130px minmax(180px,1fr) 130px auto;gap:7px;margin-top:9px;display:grid}.payout-reconcile-form input{min-width:0}.payout-row-action>span{align-items:center;gap:7px;display:flex}.payout-row-action a{border:1px solid var(--line);color:var(--green);border-radius:8px;padding:7px 10px;font-weight:800;text-decoration:none}.affiliate-bank-status.is-registered{color:var(--green)}.affiliate-bank-status.is-missing{color:#a24f43;font-weight:800}.local-bank-registration-link{color:#71551e;background:#fff9e9;border:1px dashed #b88735;border-radius:10px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;width:100%;padding:12px 14px;display:grid}.local-bank-registration-link strong{font-size:11px}.local-bank-registration-link a{color:#476f5e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.local-bank-registration-link button{color:#71551e;font:inherit;cursor:pointer;background:#fff;border:1px solid #b88735;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800}.local-bank-registration-link small{grid-column:1/-1;font-size:9px}.payout-row-action{text-align:right}.payout-row-action>span{justify-content:flex-end;gap:6px;display:flex}.payout-row-action button,.payout-row-action a,.payout-bulk-actions button{border:1px solid var(--green);color:var(--green);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-weight:800;text-decoration:none}.payout-row-action button:hover,.payout-row-action a:hover,.payout-bulk-actions button:hover{background:#edf3ef}.payout-bulk-actions{justify-content:flex-end;align-items:center;gap:12px;padding-top:2px;display:flex}.payout-bulk-actions span{color:var(--muted);font-size:11px;font-weight:800}.payout-bulk-actions button{background:var(--green);color:#fff}.payout-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;justify-items:center;gap:4px;padding:25px;display:grid}.payout-empty strong{color:var(--ink);font-size:12px}.payout-empty span{font-size:10px}.affiliate-rate-history{border-top:1px solid var(--line);padding-top:14px}.affiliate-rate-history summary{color:var(--green);cursor:pointer;font-size:11px;font-weight:900}.affiliate-rate-history>div{border:1px solid var(--line);border-radius:10px;margin-top:10px;overflow-x:auto}.affiliate-rate-history table{border-collapse:collapse;width:100%;font-size:10px}.affiliate-rate-history th,.affiliate-rate-history td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:9px 11px}.affiliate-rate-history th{color:var(--muted);background:#f3f2ed}.affiliate-rate-history tbody tr:last-child td{border-bottom:0}.affiliate-rate-history>p{color:var(--muted);font-size:10px}.trial-notice{margin:12px 0 0}.platform-store-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.platform-store{border:1px solid var(--line);background:#fff;border-radius:16px;gap:14px;padding:20px;display:grid}.platform-store h3{margin:8px 0 2px;font-size:20px}.platform-store code{color:var(--muted)}.platform-store dl{background:#f3f2ed;border-radius:10px;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.platform-store dl div{padding:12px}.platform-store dt{color:var(--muted);font-size:9px}.platform-store dd{margin:4px 0 0;font-weight:800}.platform-store p{color:var(--muted);margin:0;font-size:11px}.store-operation-status{border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px 10px;padding:11px 12px;font-size:10px;display:flex}.store-operation-status strong{width:100%;font-size:13px}.store-operation-status span{font-weight:800}.store-operation-status small{width:100%;line-height:1.5}.store-operation-status.is-ready{color:#39704f;background:#e8f3eb}.store-operation-status.is-incomplete{color:#8b5b18;background:#fff7e8}.store-operation-status.is-stopped{color:#68716b;background:#f0f0ed}.platform-store .store-last-login strong{color:var(--ink)}.store-billing-alert{color:#984438;background:#fff0ec;border:1px solid #d78c7d;border-radius:10px;gap:4px;padding:11px 12px;display:grid}.store-billing-alert strong{font-size:15px}.store-billing-alert span{font-size:10px;font-weight:700}.store-trial-period{color:#39704f;background:#e8f3eb;border-radius:10px;flex-wrap:wrap;gap:5px 12px;padding:10px 12px;font-size:10px;display:flex}.store-trial-period strong{width:100%;font-size:12px}.store-trial-period.is-expired{color:#984438;background:#fff0ec}.platform-actions{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.platform-store-settings{grid-template-columns:1fr 1fr}.platform-store-settings button{grid-column:1/-1}.platform-store-delete{cursor:pointer;justify-self:end;margin-top:0}.platform-store-delete-confirm{background:#fff7f5;border:1px solid #e6bdb5;border-radius:11px;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr) auto;align-items:end;gap:10px;padding:13px;display:grid}.platform-store-delete-confirm>div{gap:3px;display:grid}.platform-store-delete-confirm strong{color:#91483e;font-size:12px}.platform-store-delete-confirm p{color:#82635e;margin:0;font-size:10px;line-height:1.55}.platform-store-delete-confirm label{color:#91483e;gap:5px;font-size:9px;font-weight:800;display:grid}.platform-store-delete-confirm input{width:100%;color:var(--ink);background:#fff;border:1px solid #d69b91;border-radius:8px;padding:9px}.platform-store-delete-confirm input:focus{border-color:#b75e51;outline:3px solid #d96f5c2e}.platform-store-delete-confirm>span{gap:7px;display:flex}.platform-store-delete-confirm button{color:#705b55;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d8c6c1;border-radius:8px;padding:9px 11px;font-size:10px;font-weight:800}.platform-store-delete-confirm .delete{color:#fff;background:#a65348;border-color:#a65348}.platform-store-delete-confirm .delete:disabled{opacity:.45;cursor:not-allowed}.store-card-notice{margin:10px 0 0}.withdrawal-card{gap:8px;display:grid}.withdrawal-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.withdrawal-card form{grid-template-columns:minmax(160px,.8fr) minmax(230px,1.2fr) auto;align-items:end;gap:10px;margin-top:6px;display:grid}.danger-action{color:#fff;cursor:pointer;background:#a65348;border:0;border-radius:10px;min-height:42px;padding:10px 18px;font-weight:900;transition:all .15s}.danger-action:hover:not(:disabled){background:#8d4037;transform:translateY(-1px);box-shadow:0 7px 15px #8239302e}.danger-action:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.danger-action:disabled{opacity:.55;cursor:wait}.trial-expired-banner{color:#8d4037;background:#fff0ec;border:1px solid #d68a79;border-radius:14px;margin:20px 0;padding:18px 20px}.trial-expired-banner strong{font-size:17px}.trial-expired-banner p{margin:7px 0 0;font-size:12px;line-height:1.7}.payment-failed-banner{color:#8d4037;background:#fff0ec;border:1px solid #d68a79;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:16px 0;padding:16px 18px;display:flex}.payment-failed-banner strong{font-size:16px}.payment-failed-banner p{margin:5px 0 0;font-size:12px;line-height:1.65}.payment-failed-banner button{color:#fff;cursor:pointer;background:#a65348;border:0;border-radius:10px;flex:none;padding:10px 14px;font-weight:800}.payment-failed-banner span{font-size:11px;font-weight:800}@media (max-width:700px){.payment-failed-banner{flex-direction:column;align-items:stretch}.payment-failed-banner button{width:100%}.visit-record-card form,.visit-record-editor form{grid-template-columns:1fr}.visit-record-card form .wide,.visit-record-editor form .wide{grid-column:1}.visit-record-actions{flex-direction:column;align-items:flex-end}.visit-record-actions .save{width:auto}.visit-record-row>summary{align-items:start}.visit-record-row-main{grid-template-columns:1fr}.visit-record-row-main p,.visit-record-row-main p+p{grid-column:1}.visit-record-row-main>span{white-space:normal}.visit-record-row-side{flex-direction:column;align-items:flex-end}.visit-record-row-side small{text-align:right}}.onboarding-tour{z-index:200;position:fixed;inset:0}.onboarding-backdrop{background:#1a221d94;animation:.28s both tour-fade;position:absolute;inset:0}.onboarding-spotlight{z-index:201;pointer-events:none;border:3px solid #d9f4df;border-radius:999px;animation:1.8s ease-in-out infinite tour-pulse;position:fixed;box-shadow:0 0 0 4px #ffffff38,0 0 32px 8px #b5f5c4a6}.onboarding-popover{z-index:202;background:#fffdf8;border-radius:18px;width:min(340px,100vw - 32px);padding:20px;animation:.35s cubic-bezier(.2,.85,.3,1.15) both tour-pop;position:fixed;box-shadow:0 20px 55px #131e174d}.onboarding-popover>span{color:var(--green);letter-spacing:.13em;font-size:10px;font-weight:900}.onboarding-popover h3{margin:7px 0 8px;font-size:19px}.onboarding-popover p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.onboarding-progress{gap:5px;margin:15px 0;display:flex}.onboarding-progress i{background:#dfe4dd;border-radius:999px;width:24px;height:4px}.onboarding-progress i.active{background:var(--green)}.onboarding-popover footer,.onboarding-popover footer>span{justify-content:space-between;align-items:center;gap:7px;display:flex}.onboarding-popover footer button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:9px 13px;font-weight:800}.onboarding-popover footer .tour-skip{color:var(--muted);background:0 0;border-color:#0000;padding-left:0}.onboarding-popover footer .tour-next{border-color:var(--green);background:var(--green);color:#fff}@keyframes tour-fade{0%{opacity:0}}@keyframes tour-pop{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes tour-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.confirm-modal{z-index:220;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-backdrop{background:#1a221d94;border:0;animation:.2s both tour-fade;position:absolute;inset:0}.confirm-box{z-index:1;background:#fffdf8;border-radius:16px;width:min(360px,100%);padding:20px;animation:.25s cubic-bezier(.2,.85,.3,1.15) both tour-pop;position:relative;box-shadow:0 20px 55px #131e174d}.confirm-box h4{margin:0 0 8px;font-size:15px}.confirm-box p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.confirm-actions{gap:8px;margin-top:16px;display:flex}.confirm-actions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;flex:1;padding:10px;font-weight:800}.confirm-actions .save{border-color:var(--green);background:var(--green);color:#fff}.cancellation-modal .confirm-box{gap:12px;display:grid}.cancellation-modal .confirm-box>p{margin-top:-6px}.cancellation-modal .field{margin:0}.cancellation-modal textarea{min-height:86px}.confirm-actions .cancel-confirm-button{color:#fff;background:#a45e51;border-color:#a45e51}.confirm-actions .cancel-confirm-button:disabled{opacity:.45;cursor:not-allowed}.platform-actions input,.platform-actions select,.platform-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:9px}.platform-actions button{background:var(--green);color:#fff;font-weight:800}.referral-issue-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.referral-issue-form .save{min-height:38px}.referral-code-list{gap:7px;margin-top:16px;display:grid}.referral-code-list>form{background:#f3f2ed;border-radius:9px;grid-template-columns:minmax(120px,1fr) minmax(180px,1.25fr) auto auto minmax(225px,auto) auto;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:grid}.referral-code-list>form.is-editing{grid-template-columns:minmax(120px,1fr) minmax(180px,1.25fr) auto auto minmax(225px,auto) auto}.referral-code-list input{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;padding:8px 10px}.referral-code-list button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:8px 11px;font-weight:800;transition:all .15s}.referral-code-list button:hover:not(:disabled){background:var(--green);color:#fff;transform:translateY(-1px)}.referral-code-list button:active:not(:disabled){background:#365746;transform:translateY(1px)}.referral-code-list button:disabled{opacity:.55;cursor:wait}.referral-code-list .referral-name{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border-color:#0000;justify-self:start;padding:4px 7px;overflow:hidden}.referral-code-list .referral-name:hover{color:var(--green);background:#e3e9e3;text-decoration:underline;transform:none}.referral-code-list .referral-email{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--muted);overflow:hidden}.referral-code-list .referral-email.is-empty{color:#9a8275;border-style:dashed}.referral-edit-actions,.referral-delivery-actions{align-items:center;gap:6px;display:flex}.referral-delivery-actions a{border:1px solid var(--green);color:var(--green);white-space:nowrap;background:#fff;border-radius:7px;padding:8px 11px;font-weight:800;text-decoration:none}.referral-delivery-actions a:hover{background:var(--green);color:#fff;transform:translateY(-1px)}.referral-code-list code{color:var(--green);letter-spacing:.05em;font-weight:800}.referral-code-list b{color:var(--muted)}.referral-rate-field{color:var(--muted);gap:3px;font-size:9px;font-weight:800;display:grid}.referral-rate-field>span:last-child{grid-template-columns:minmax(72px,1fr) auto auto;align-items:center;gap:5px;display:grid}.referral-rate-field input{width:100%;padding:7px 8px}.referral-rate-field i{font-style:normal}.referral-rate-field button{white-space:nowrap}.referral-rate-empty{border:1px dashed var(--line);min-height:39px;color:var(--muted);white-space:nowrap;border-radius:8px;place-items:center;padding:7px 10px;font-size:10px;font-weight:800;display:grid}@media (max-width:1100px) and (min-width:700px){.referral-code-list>form,.referral-code-list>form.is-editing{grid-template-columns:minmax(120px,1fr) minmax(180px,1.4fr) auto auto}.referral-rate-field,.referral-rate-empty{grid-column:1/4}.referral-delivery-actions,.referral-edit-actions{grid-column:4;justify-content:flex-end}}.referral-notice{margin:8px 0 18px}.affiliate-review{border:1px solid var(--line);background:#faf9f5;border-radius:12px;margin:18px 0 24px;padding:16px}.affiliate-review h3,.manual-referral-title{margin:0 0 12px;font-size:15px}.manual-referral-title{padding-top:4px}.affiliate-review-list{gap:10px;display:grid}.affiliate-review-item{border:1px solid var(--line);background:#fff;border-radius:10px;gap:10px;padding:14px;display:grid}.affiliate-review-item header{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.affiliate-review-item header a{color:var(--green)}.affiliate-review-item header time{color:var(--muted);margin-left:auto;font-size:10px}.affiliate-status{color:var(--muted);background:#ecebe6;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.status-pending .affiliate-status{color:#785b00;background:#fff1c9}.status-approved .affiliate-status{color:var(--green);background:#e4f3e8}.status-rejected .affiliate-status,.status-suspended .affiliate-status{color:#9f4f42;background:#f7e5e1}.affiliate-review-item dl{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.affiliate-review-item dl div{min-width:0}.affiliate-review-item dt{color:var(--muted);font-size:9px}.affiliate-review-item dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:11px}.affiliate-review-item>p{white-space:pre-wrap;background:#f3f2ed;border-radius:8px;margin:0;padding:10px;font-size:11px}.affiliate-review-item>code{color:var(--green);font-weight:800}.affiliate-review-item>small{color:var(--muted)}.affiliate-review-item form{grid-template-columns:1fr auto auto;gap:8px;display:grid}.affiliate-review-item form input,.affiliate-review-item form button{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:9px 11px}.affiliate-review-item form button{border-color:var(--green);background:var(--green);color:#fff;cursor:pointer;font-weight:800}.affiliate-review-item form button.delete{background:#b45d50;border-color:#b45d50}.platform-notice{max-width:720px;margin:18px auto;position:sticky;bottom:18px}@media (max-width:699px){.platform-shell{padding:18px 12px}.platform-shell .form-grid{grid-template-columns:1fr}.platform-head h1{font-size:24px}.platform-brand i{border-radius:9px;width:36px;height:36px}.platform-store-list,.platform-actions,.platform-store-delete-confirm{grid-template-columns:1fr}.platform-store-delete-confirm>span{grid-template-columns:1fr 1fr;display:grid}.platform-store-delete-confirm button{width:100%}.platform-admin-create,.platform-admin-list>form,.platform-pin-change,.referral-issue-form{grid-template-columns:1fr}.referral-code-list>form,.referral-code-list>form.is-editing{grid-template-columns:1fr auto}.referral-code-list input,.referral-code-list .referral-email,.referral-rate-field,.referral-rate-empty{grid-column:1/-1}.referral-edit-actions,.referral-delivery-actions{grid-column:1/-1;justify-content:flex-end}.affiliate-review-item dl,.affiliate-review-item form{grid-template-columns:1fr}.affiliate-review-item header time{width:100%;margin-left:0}.affiliate-payout-controls{grid-template-columns:1fr;padding:12px}.payout-rate-form,.payout-month-picker{grid-template-columns:1fr}.payout-rate-form .save,.payout-month-picker .save{width:100%}.payout-results-wrap{border:0;overflow:visible}.payout-results,.payout-results tbody,.payout-results tr,.payout-results td{width:100%;display:block}.payout-results thead{display:none}.payout-results tbody{gap:10px;display:grid}.payout-results tr{border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px}.payout-results td,.payout-results td:nth-child(2),.payout-results td:nth-child(3),.payout-results td:nth-child(4){text-align:right;white-space:normal;border:0;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;display:flex}.payout-results td:before{content:attr(data-label);color:var(--muted);text-align:left;font-size:9px;font-weight:800}.payout-results .payout-row-action{border-top:1px solid var(--line);padding-top:11px}.payout-results .payout-row-action:before{display:none}.payout-row-action>span{width:100%}.payout-row-action button,.payout-row-action a{text-align:center;flex:1}.payout-source-details{width:100%;min-width:0}.payout-source-details p{white-space:normal;align-items:start}.payout-reconcile-form{grid-template-columns:1fr;width:100%}.payout-row-action{display:grid!important}.payout-row-action>span{display:flex}.payout-bulk-actions{flex-direction:column;align-items:stretch}.payout-bulk-actions button{width:100%}.invoice-row{grid-template-columns:1fr auto}.platform-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.trial-settings-card form{grid-template-columns:1fr}.console-head{grid-template-columns:1fr;align-items:start}.console-head-actions{justify-content:space-between;justify-self:stretch;width:100%}.store-session-info{flex:1;justify-content:flex-end}.admin-notification-popover{width:min(380px,100vw - 24px);left:0;right:auto}.admin-notification-toast{top:12px;right:12px}.web-push-heading{grid-template-columns:auto 1fr}.web-push-heading .push-state{grid-column:2;justify-self:start}.install-device-grid{grid-template-columns:1fr}.web-push-actions{flex-direction:column;align-items:stretch}.web-push-actions button{width:100%}.store-management-bar{grid-template-columns:1fr;gap:12px;padding:12px}.store-switcher{width:100%;min-width:0}.store-management-actions{flex-direction:column;align-items:stretch;gap:10px}.store-management-buttons{grid-template-columns:1fr 1fr;display:grid}.store-add-button,.setup-guide-button{width:100%}.withdrawal-card form{grid-template-columns:1fr}.onboarding-popover{width:auto;bottom:18px;right:16px;top:auto!important;left:16px!important}.booking-table-wrap,.customer-table-wrap{display:none}.booking-mobile-list,.customer-mobile-list{gap:10px;display:grid}.booking-mobile-column-filters{border:1px solid var(--line);background:#f7f6f1;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;padding:12px;display:grid}.booking-mobile-column-filters .console-field{min-width:0}.booking-mobile-column-filters select{width:100%;min-width:0;padding-right:28px}.customer-toolbar{align-items:end}.customer-csv-link,.customer-csv-unavailable{min-height:38px;margin:0;padding:8px 10px}.customer-mobile-column-filters .booking-filter-clear{grid-column:1/-1;justify-self:start;margin:0}.customer-mobile-list{grid-template-columns:1fr}.customer-mobile-card summary{min-height:72px}.customer-loyalty-summary,.menu-photo-field{grid-template-columns:1fr}.menu-photo-preview{min-height:154px}.menu-photo-actions input{width:100%}.customer-stamp-summary{min-height:88px}.booking-pagination{justify-content:space-between;gap:10px}.booking-pagination p{width:100%}.booking-pagination label{order:3}.booking-edit-button{min-width:54px;padding:8px 7px}.performance-head{flex-direction:column;align-items:stretch}.performance-report-menu{grid-template-columns:1fr;gap:7px}.performance-report-menu button{padding:11px 12px}.performance-report-menu button>span{width:36px;height:36px}.retention-metrics,.retention-risk-list{grid-template-columns:1fr 1fr}.retention-risk-head{flex-direction:column;align-items:stretch}.retention-risk-head .console-field{width:100%}.retention-chart article{grid-template-columns:58px minmax(90px,1fr)}.retention-chart dl{grid-column:1/-1;justify-content:space-between}.performance-head .console-field{width:100%}.performance-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.performance-forecast .performance-metrics,.coupon-redemption-fields{grid-template-columns:1fr}.coupon-redemption-fields small{grid-column:auto}.performance-metrics .metric{min-height:70px;padding:10px}.performance-metrics .metric strong{font-size:15px}.performance-table th,.performance-table td{min-width:104px}.service-staff-bar-row{grid-template-columns:minmax(84px,112px) minmax(90px,1fr);gap:6px 8px}.service-staff-bar-value{grid-column:2;justify-self:end;margin-top:-4px}.coupon-definition-list{grid-template-columns:1fr}}@media (max-width:359px){.booking-mobile-column-filters,.billing-status-grid{grid-template-columns:1fr}}.line-connection-status{background:var(--paper,#f5f3ed);border-radius:14px;align-items:center;gap:12px;margin:12px 0;padding:14px 16px;display:flex}.line-connection-status img{object-fit:cover;border-radius:50%;width:52px;height:52px}.line-connection-status span{flex-direction:column;gap:3px;display:flex}.line-connection-status small{color:var(--muted,#7a827b)}.integration-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.integration-actions button{border:1px solid var(--green,#557b68);min-height:42px;color:var(--green,#557b68);background:#fff;border-radius:12px;padding:0 18px;font-weight:700}.integration-actions .danger-link{color:#a64f43;background:#fff8f6;border-color:#dfb8b1;text-decoration:none}.integration-actions .danger-link:hover:not(:disabled){background:#fbeae6;border-color:#b96154;box-shadow:0 3px 9px #a64f431f}.line-connected-badge{color:var(--green,#557b68);background:#e4f2e9;border-radius:999px;margin-left:auto;padding:5px 10px;font-size:11px}.line-empty-state{border:1px solid var(--line,#dce3dc);background:#fafbf8;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:12px;padding:18px;display:grid}.line-empty-state p{margin:4px 0 0}.line-empty-icon{color:#fff;background:#06c755;border-radius:15px;place-items:center;width:52px;height:52px;font-size:12px;font-weight:900;display:grid}.line-setup-wizard{background:#fbfcfa;border:1px solid #cfddd4;border-radius:16px;margin-top:16px;padding:20px}.line-setup-heading{align-items:center;gap:12px;margin-bottom:16px;display:flex}.line-setup-heading>span{color:var(--green,#557b68);background:#e4f2e9;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.line-setup-heading div{flex-direction:column;gap:3px;display:flex}.line-setup-heading small,.line-setup-steps small{color:var(--muted,#7a827b)}.line-setup-steps{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.line-setup-steps li{background:#fff;border-radius:12px;grid-template-columns:30px 1fr;gap:10px;padding:12px;display:grid}.line-setup-steps li>span{background:var(--green,#557b68);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.line-setup-steps li>div{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.line-setup-steps a{color:var(--green,#557b68);margin-top:4px;font-size:12px;font-weight:700}.line-token-connect{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.line-security-note{color:var(--muted,#7a827b);margin:10px 0 0;font-size:11px}.line-quota{background:#f8fbf8;border:1px solid #d8e4dc;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;margin:10px 0;padding:14px 16px;display:grid}.line-quota-copy{flex-direction:column;gap:2px;display:flex}.line-quota-copy small,.line-quota-copy span,.line-quota>div>small{color:var(--muted,#7a827b);font-size:11px}.line-quota-copy strong{font-size:17px}.line-quota button{border:1px solid var(--green,#557b68);min-height:36px;color:var(--green,#557b68);background:#fff;border-radius:10px;grid-area:1/2/3;padding:0 12px;font-weight:700}.line-quota-meter{background:#e2e8e3;border-radius:999px;height:8px;overflow:hidden}.line-quota-meter i{border-radius:inherit;background:var(--green,#557b68);height:100%;transition:width .25s;display:block}.line-quota-warning{background:#fffbec;border-color:#e7d49b}.line-quota-warning .line-quota-meter i{background:#c99922}.line-quota-danger,.line-quota-error{background:#fff5f3;border-color:#ecc9c3}.line-quota-danger .line-quota-meter i{background:#bd5b4c}.line-quota-error>div{flex-direction:column;gap:3px;display:flex}.line-quota-error small{color:#a34f43!important}@media (max-width:700px){.line-empty-state{grid-template-columns:auto 1fr}.line-empty-state .save{grid-column:1/-1;width:100%}.line-token-connect{grid-template-columns:1fr}.line-token-connect .save{width:100%}.integration-actions{flex-wrap:wrap}}@media (max-width:520px){.cancellation-entry-actions,.console-card .plan-change-actions{grid-template-columns:1fr}}@media (max-width:700px){.line-quota{grid-template-columns:1fr}.line-quota button{grid-area:auto/1;width:100%}}.console-field .field-error{color:#b45143;margin-top:4px;font-size:12px;font-weight:800;line-height:1.5;display:block}.console-field input[aria-invalid=true]{background:#fff8f6;border-color:#c56555;box-shadow:0 0 0 2px #c565551f}.console-section>.ai-insight-report{grid-column:1/-1;width:100%;max-width:none}.ai-insight-report{--ai-bg:#f4f7f4;--ai-surface:#fff;--ai-ink:#1f2a24;--ai-muted:#5b6b62;--ai-faint:#8b9a91;--ai-accent:#06c755;--ai-deep:#0a7a3d;--ai-tint:#e4f8ec;--ai-warn:#b5622e;--ai-warn-tint:#fbeee5;--ai-border:#e1e8e2;color:var(--ai-ink);background:var(--ai-bg);font-variant-numeric:tabular-nums;border-radius:18px;margin:0;padding:30px 24px 42px}.ai-insight-masthead{border-bottom:1px solid var(--ai-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;padding-bottom:22px;display:flex}.ai-insight-masthead h2{letter-spacing:-.02em;margin:7px 0 5px;font-size:27px}.ai-insight-masthead p{color:var(--ai-muted);margin:0;font-size:13px}.ai-insight-live{background:var(--ai-tint);color:var(--ai-deep);border:1px solid #9bd9b5;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:11px;font-weight:800;display:inline-flex}.ai-insight-live:before{content:"";background:var(--ai-accent);border-radius:50%;width:6px;height:6px}.ai-report-history{align-items:center;gap:14px;margin:-8px 0 22px;display:flex}.ai-report-history>span{color:var(--ai-muted);flex:none;font-size:11px;font-weight:800}.ai-report-history>div{gap:7px;padding:3px 2px;display:flex;overflow-x:auto}.ai-report-history button{border:1px solid var(--ai-border);background:var(--ai-surface);color:var(--ai-muted);border-radius:9px;flex:none;padding:7px 12px;font-size:11px;font-weight:700}.ai-report-history button:hover{border-color:#9bd9b5}.ai-report-history button.active{border-color:var(--ai-deep);background:var(--ai-deep);color:#fff;box-shadow:0 4px 12px #0a7a3d29}.ai-kpi-grid{border:1px solid var(--ai-border);background:var(--ai-border);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:32px;display:grid;overflow:hidden;box-shadow:0 8px 24px #1f2a240f}.ai-kpi{background:var(--ai-surface);padding:17px 18px}.ai-kpi p{color:var(--ai-muted);margin:0 0 8px;font-size:11px}.ai-kpi>strong{letter-spacing:-.02em;font-size:27px;line-height:1;display:block}.ai-kpi strong small{color:var(--ai-muted);margin-left:3px;font-size:13px}.ai-kpi>span{color:var(--ai-deep);margin-top:8px;font-size:10px;font-weight:800;display:block}.ai-kpi>span.down{color:var(--ai-warn)}.ai-report-block{margin:0 0 32px}.ai-report-block>h3{margin:0 0 4px;font-size:16px}.ai-report-block>p{color:var(--ai-muted);margin:0 0 13px;font-size:12px}.ai-insight-two-column{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.ai-insight-two-column>.ai-report-block{min-width:0}.ai-chart-card,.ai-table-card,.ai-churn-list,.ai-advice-card,.ai-insight-empty{background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:14px;box-shadow:0 8px 24px #1f2a240d}.ai-chart-card{padding:20px 22px 15px}.ai-bars{align-items:flex-end;gap:18px;height:170px;padding-top:20px;display:flex}.ai-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:32px;height:100%;display:flex;position:relative}.ai-bar-total{color:var(--ai-muted);margin-bottom:4px;font-size:10px;font-weight:800}.ai-bar-stack{border-radius:6px 6px 0 0;flex-direction:column;width:100%;max-width:38px;min-height:4px;display:flex;overflow:hidden}.ai-bar-repeat{background:var(--ai-accent)}.ai-bar-new{background:#cbd8cf}.ai-bar-col>span{color:var(--ai-faint);margin-top:7px;font-size:10px}.ai-chart-legend{border-top:1px solid var(--ai-border);gap:20px;margin-top:13px;padding-top:13px;display:flex}.ai-chart-legend span{color:var(--ai-muted);align-items:center;gap:6px;font-size:11px;display:flex}.ai-chart-legend i{border-radius:2px;width:9px;height:9px}.ai-chart-legend .is-new{background:#cbd8cf}.ai-chart-legend .is-repeat{background:var(--ai-accent)}.ai-table-card{overflow:hidden}.ai-table-scroll{overflow-x:auto}.ai-table-card table{border-collapse:collapse;width:100%;font-size:12px}.ai-table-card th{border-bottom:1px solid var(--ai-border);color:var(--ai-muted);background:#fbfdfb;padding:11px 15px;font-size:10px}.ai-table-card td{border-bottom:1px solid var(--ai-border);padding:10px 15px}.ai-table-card tbody tr:last-child td{border-bottom:0}.ai-table-card .num{text-align:right}.ai-staff-name{align-items:center;gap:8px;font-weight:700;display:inline-flex}.ai-staff-name i{background:var(--ai-tint);width:28px;height:28px;color:var(--ai-deep);border-radius:50%;flex:0 0 28px;place-items:center;font-size:10px;font-style:normal;display:grid}.ai-staff-name i.has-photo{background-color:#eef2ee;background-position:50%;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 0 0 1px #1f2a2414}.ai-rate-pill{border-radius:999px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-block}.ai-rate-pill.good{background:var(--ai-tint);color:var(--ai-deep)}.ai-rate-pill.warn{background:var(--ai-warn-tint);color:var(--ai-warn)}.ai-churn-list{overflow:hidden}.ai-churn-list>p{color:var(--ai-muted);margin:0;padding:16px;font-size:12px}.ai-churn-row{border:0;border-bottom:1px solid var(--ai-border);width:100%;color:var(--ai-muted);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:14px;padding:12px 17px;font-size:12px;display:flex}.ai-churn-row:last-child{border-bottom:0}.ai-churn-row:hover{background:#fbfdfb}.ai-churn-row b{color:var(--ai-ink)}.ai-churn-row strong{color:var(--ai-warn);white-space:nowrap}.ai-advice-list{gap:10px;width:100%;display:grid}.ai-advice-card{gap:14px;width:100%;padding:17px 19px;display:flex}.ai-advice-card>span{background:var(--ai-tint);height:27px;color:var(--ai-deep);border-radius:8px;flex:0 0 27px;place-items:center;font-size:12px;font-weight:900;display:grid}.ai-advice-card>div{flex:1;min-width:0}.ai-advice-card h3{margin:1px 0 5px;font-size:13px}.ai-advice-card p{width:100%;max-width:none;color:var(--ai-muted);margin:0;font-size:12px;line-height:1.75}.ai-insight-empty{padding:20px}.ai-insight-empty p{color:var(--ai-muted);margin:4px 0 0;font-size:12px}.ai-insight-footnote{border-top:1px solid var(--ai-border);color:var(--ai-faint);margin:8px 0 0;padding-top:18px;font-size:10px;line-height:1.7}@media (max-width:800px){.ai-insight-report{border-radius:14px;padding:22px 14px 32px}.ai-report-history{display:block}.ai-report-history>span{margin-bottom:6px;display:block}.ai-report-history>div{margin:0 -2px}.ai-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-insight-two-column{grid-template-columns:1fr;gap:0}.ai-bars{gap:8px}.ai-table-card th,.ai-table-card td{padding:9px 11px}.ai-churn-row{align-items:flex-start}.ai-insight-masthead h2{font-size:23px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
