@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/roboto-300.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/roboto-400.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/roboto-500.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/roboto-700.woff2) format("woff2")}:root{--gold: #c9a227;--gold-dark: #826106;--gold-deep: #5a4409;--gold-light: #f3e7c4;--gold-wash: #faf5e8;--ink: #16130f;--ink-soft: #2c2722;--ink-line: #3d3730;--grey-100: #f4f2ef;--grey-200: #e8e4de;--grey-300: #d6d0c8;--grey-500: #6c655d;--accent: #bc5470;--accent-dark: #9c4159;--accent-light: #f0a8ba;--accent-wash: #fdf1f4;--cta-pink: var(--accent);--cta-pink-dark: var(--accent-dark);--cta-pink-light: var(--accent-light);--danger-color: #ce4658;--success-color: #207d56;--warning-color: #c98a27;--text-primary: var(--ink);--text-secondary: #5c554e;--text-muted: var(--grey-500);--text-on-dark: #f6f2ea;--bg-page: var(--grey-100);--bg-card: #ffffff;--bg-subtle: var(--grey-100);--border-color: var(--grey-200);--border-radius: 14px;--border-radius-lg: 26px;--shadow-card: 0 1px 2px rgba(22, 19, 15, .04), 0 8px 24px -16px rgba(22, 19, 15, .3);--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Sansation", "Roboto", sans-serif}body{margin:0;padding:0;font-family:var(--font-family);background:var(--bg-page);min-height:100vh;color:var(--text-primary)}#root{margin:auto;padding:0;text-align:center;min-height:100vh}main{width:100%;max-width:600px;margin:0 auto;padding:24px 20px 100px;box-sizing:border-box}@media screen and (min-width:760px){main{max-width:960px;padding:28px 28px 120px}.panel-container{max-width:100%}.staff-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.staff-day-grid>.paper{margin:0!important}.page-container{max-width:620px;margin:0 auto}}.page-container{width:100%;margin:0;padding:0;box-sizing:border-box}h1{font-size:1.3rem!important;font-family:var(--font-family)!important;font-weight:700!important;margin:0 0 16px!important;color:var(--text-primary)}h2{font-size:1.1rem!important;font-family:var(--font-family)!important;font-weight:600!important;margin:0 0 14px!important;color:var(--text-primary)}input,select,textarea{width:100%;box-sizing:border-box;font-family:var(--font-family);font-size:1rem;background:none;color:var(--text-primary)}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;background-color:#fff!important;color:var(--text-primary)!important;transition:background-color 9999s ease-in-out 0s}.portal-header{padding-top:env(safe-area-inset-top);min-height:56px;background:linear-gradient(180deg,var(--ink-soft),var(--ink));display:flex;align-items:flex-end;box-shadow:0 1px 8px #00000040;position:sticky;top:0;z-index:999;width:100vw;left:0;right:0;border-bottom:1px solid var(--gold-dark)}@media(display-mode:standalone),(display-mode:fullscreen){.portal-header{padding-top:calc(env(safe-area-inset-top) + 6px)}}.header-content{display:flex;align-items:center;width:100%;height:56px;justify-content:space-between;padding:0 16px}.header-left,.header-right{display:flex;align-items:center;gap:6px;flex:1 1 0;min-width:0}.header-right{justify-content:flex-end}.header-center{display:flex;align-items:center;flex:0 0 auto}.header-action{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:6px 12px;border:1px solid rgba(201,162,39,.45);border-radius:999px;background:#c9a2271f;color:var(--gold);font-family:var(--font-family);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.header-action:focus-visible{background:#c9a22738;border-color:var(--gold)}@media(hover:hover)and (pointer:fine){.header-action:hover{background:#c9a22738;border-color:var(--gold)}}.header-action:active{transform:scale(.97)}.header-action.is-icon{min-width:44px;padding:6px;justify-content:center}@media screen and (max-width:380px){.header-action span{display:none}.header-action{padding:6px;min-width:44px;justify-content:center}.header-left,.header-right{flex-basis:52px}}.header-icon{height:44px;width:auto}.bottom-nav{position:fixed;bottom:0;left:0;width:100vw;background:linear-gradient(180deg,var(--ink),var(--ink-soft));border-top:1px solid var(--gold-dark);z-index:100;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}.nav-container{display:flex;justify-content:space-around;align-items:center;max-width:800px;width:100vw;margin:0 auto;padding:0 8px;box-sizing:border-box}.nav-item{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:48px;gap:2px;text-decoration:none;color:#f6f2ea8c;padding:8px 4px;border-radius:8px;transition:color .2s;flex:1;min-width:0;max-width:120px;font-size:.7rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative}.nav-item.active{color:var(--gold)}.nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:22px;height:2px;border-radius:0 0 2px 2px;background:var(--gold)}.paper{background:var(--bg-card)!important;border-radius:var(--border-radius)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-color)!important;padding:24px!important;width:100%!important;margin:8px 0!important;box-sizing:border-box!important;display:flex;flex-direction:column;align-items:center;color:var(--text-primary)}button,.MuiButtonBase-root,[role=button]{min-height:44px}.MuiIconButton-root{min-width:44px}.MuiChip-root,.MuiSwitch-root,.MuiSwitch-switchBase{min-height:unset;min-width:unset}.btn{border-radius:var(--border-radius-lg)!important;background-color:transparent!important;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%)!important;color:var(--ink)!important;width:100%!important;gap:16px;margin:0;padding:11px 20px!important;font-family:var(--font-family)!important;text-transform:none!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.01em;box-shadow:0 2px 10px -2px #96751a73!important}.btn.Mui-disabled{background:var(--grey-200)!important;color:var(--grey-500)!important;box-shadow:none!important}.btn-accent{background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%)!important;color:#fff!important;box-shadow:0 2px 10px -2px #a94a6473!important}.btn-alert{background:linear-gradient(135deg,#d1495b,#8f2231)!important;color:#fff!important;box-shadow:none!important}.btn-success{background:linear-gradient(135deg,#34a179,#1f6b4c)!important;color:#fff!important;box-shadow:none!important}.dashboard-btn{width:100%;padding:15px 0;border-radius:var(--border-radius);border:1px solid transparent;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:var(--ink);font-family:var(--font-family)!important;text-transform:none!important;font-size:1rem!important;font-weight:600;box-shadow:0 2px 10px -2px #96751a66;cursor:pointer;transition:transform .15s,box-shadow .2s}@media(hover:hover)and (pointer:fine){.dashboard-btn:hover{box-shadow:0 6px 18px -4px #96751a80}}.dashboard-btn:active{transform:scale(.99)}.dashboard-btn.is-soft{background:var(--accent-wash);color:var(--accent-dark);border-color:var(--accent-light);box-shadow:none}.input-wrapper{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;gap:3px;flex-direction:row;width:100%;align-items:center;box-sizing:border-box;padding-left:10px;padding-right:25px;background:#fff}.input-wrapper input{flex:1;width:90%!important;padding:10px 0;border:none;outline:none;background:transparent;font-size:1rem;color:var(--text-primary);height:48px}.label{padding-left:5px;text-align:left}.error{color:var(--danger-color);font-size:14px;text-align:left;width:100%;margin-top:5px;padding-left:5px}.auth-screen{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-family)}.auth-bg{position:fixed;inset:0;z-index:0}.auth-bg-img{width:100%;height:100%;object-fit:cover}.auth-bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000026,#0000000d 30%,#00000059 70%,#000000b3)}.auth-content{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(60px + env(safe-area-inset-top)) 24px calc(40px + env(safe-area-inset-bottom));box-sizing:border-box;overflow-y:auto}.auth-home-link{position:absolute;top:calc(16px + env(safe-area-inset-top));left:16px;color:#ffffffd9;background:#00000040;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s;z-index:2}@media(hover:hover)and (pointer:fine){.auth-home-link:hover{background:#0006}}.auth-logo-section{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:20px}.auth-logo{width:70px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.auth-logo-full{max-width:220px;width:100%;height:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}.auth-card{width:100%;max-width:400px;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;padding:28px 24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.auth-card .input-wrapper{background:#fffc;border-color:#ddd}.auth-card .input-wrapper input{color:var(--text-primary)}.auth-title{font-size:1.2rem!important;color:var(--text-primary)!important;margin:0 0 20px!important;font-weight:600!important}.login-container{min-height:100vh;justify-content:center;width:100%;margin-left:auto!important;margin-right:auto!important;font-family:var(--font-family);padding:0 20px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.login-logo-container{display:flex;flex-direction:column;align-items:center;gap:8px}.login-logo-icon{max-width:80px;width:auto;height:auto;margin:0 auto;display:block}.login-form{display:flex;flex-direction:column;gap:20px}.login-group{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.9rem;font-weight:500;color:var(--text-secondary);text-align:left}.login-error{color:var(--danger-color);background:#ef444414;border-radius:var(--border-radius);padding:12px;text-align:center;font-size:.95rem;margin-bottom:12px}.login-button{padding:14px 24px;border-radius:var(--border-radius);border:none;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:var(--ink);cursor:pointer;box-shadow:0 2px 10px -2px #96751a73;transition:box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:16px;width:100%;box-sizing:border-box;font-family:var(--font-family)}@media(hover:hover)and (pointer:fine){.login-button:hover{box-shadow:0 6px 18px -4px #96751a8c}}.login-button-disabled{opacity:.6;cursor:not-allowed}.login-form-footer{text-align:center;font-size:.95rem;color:var(--text-muted)}.login-link{color:var(--accent-dark);text-decoration:none;font-weight:600;cursor:pointer}.qr-section{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;margin-bottom:24px;gap:0;width:100%}.qr-card{background:radial-gradient(circle at 12% 0%,var(--accent-wash) 0%,transparent 42%),radial-gradient(circle at 92% 6%,var(--gold-wash) 0%,transparent 45%),#fff!important;border-color:var(--gold-light)!important}.qr-greeting{margin:0;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dark)}.qr-code-container{display:flex;justify-content:center;margin:0 auto 14px;padding:14px;width:fit-content;background:#fff;border-radius:var(--border-radius);border:1px solid var(--gold-light);box-shadow:0 4px 20px -10px #16130f66}.qr-description{color:var(--text-muted);margin:6px 0 0!important;font-size:.82rem;line-height:1.45}.customer-id{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.16em;color:var(--ink);margin:0}.install-steps{margin:8px 0 0;padding-left:20px;font-size:.9rem;line-height:1.7}.install-steps li{margin-bottom:4px}.install-hint{display:flex;align-items:flex-start;gap:10px;width:100%;box-sizing:border-box;margin-bottom:12px;padding:12px 14px;border-radius:var(--border-radius);background:var(--ink);color:var(--text-on-dark);text-align:left}.install-hint-text{display:flex;flex-direction:column;gap:2px;font-size:.8rem;line-height:1.45}.install-hint-text strong{color:var(--gold)}.install-hint-close{flex-shrink:0;min-width:44px;min-height:44px;margin:-10px -8px -10px 0;border:none;background:transparent;color:#f6f2eab3;cursor:pointer}.qr-offline{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--gold-wash);border:1px solid var(--gold-light);color:var(--gold-deep);font-size:.78rem;line-height:1.45}.loyalty-strip{flex-direction:row!important;justify-content:flex-start!important;gap:14px;padding:14px 18px!important;cursor:pointer;background:linear-gradient(120deg,var(--accent-wash),#fff 65%)!important;border-color:var(--accent-light)!important}.loyalty-dots{display:flex;gap:6px;flex-shrink:0}.loyalty-dots .dot{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--accent-light);background:transparent}.loyalty-dots .dot.is-filled{background:var(--accent);border-color:var(--accent)}.loyalty-copy{font-size:.85rem;color:var(--accent-dark);font-weight:600;text-align:left;line-height:1.35}.dashboard-actions{display:flex;flex-direction:column;gap:14px;align-items:stretch;margin:28px 0 0;width:100%}.hint{color:var(--text-muted);font-size:.8rem;margin:8px 0 0;line-height:1.45}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%}.calendar-dow{font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 0}.calendar-day{aspect-ratio:1;min-height:44px;border:1px solid transparent;border-radius:50%;background:var(--gold-wash);color:var(--ink);font-family:var(--font-family);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}@media(hover:hover)and (pointer:fine){.calendar-day:hover:not(:disabled){background:var(--gold-light)}}.calendar-day:active:not(:disabled){transform:scale(.94)}.calendar-day.is-disabled{background:transparent;color:#9a948c;font-weight:400;cursor:not-allowed}.calendar-day.is-today{border-color:var(--accent);color:var(--accent-dark)}.calendar-day.is-selected{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--ink);border-color:var(--gold-deep)}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 10px;margin-top:12px;width:100%}.slot-btn{width:100%;min-height:44px;padding:10px 4px;border-radius:10px;border:1px solid var(--gold-light);background:var(--gold-wash);color:var(--ink);font-family:var(--font-family);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}@media(hover:hover)and (pointer:fine){.slot-btn:hover{background:var(--gold-light)}}.slot-btn.is-selected{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-color:var(--gold-deep)}.seat-badge{position:absolute;top:-7px;right:-5px;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:var(--ink);color:var(--gold);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;pointer-events:none}.seat-badge.is-scarce{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.seats-notice{width:100%;box-sizing:border-box;padding:10px 14px;margin-bottom:14px;border-radius:10px;background:var(--gold-wash);border:1px solid var(--gold-light);color:var(--gold-deep);font-size:.84rem;text-align:left;line-height:1.4}.seats-notice.is-tight{background:var(--accent-wash);border-color:var(--accent-light);color:var(--accent-dark)}.row-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:14px;text-align:left;font-size:.98rem;font-weight:500}.row-toggle.is-inner{margin-bottom:0;border-bottom:1px solid rgba(22,19,15,.06)}.row-toggle-label{font-size:.98rem;font-weight:600}.row-toggle-sub{font-size:.76rem;color:var(--text-muted)}.member-card{width:100%;box-sizing:border-box;text-align:left;background:var(--grey-100);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:12px 14px;margin-bottom:14px}.member-card.is-solo{background:transparent;border:none;padding:0}.member-title{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:8px}.member-summary{margin-top:10px;padding-top:8px;border-top:1px dashed var(--grey-300);font-size:.82rem;color:var(--text-secondary);text-align:right}.svc-optional{margin:8px 0 0;font-size:.78rem;line-height:1.45;color:var(--text-secondary)}.svc-picker{max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:8px 0 12px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--border-color)}.svc-cat+.svc-cat{margin-top:10px}.svc-cat-name{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);padding:4px 0;position:sticky;top:-8px;background:#fff}.svc-option{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 6px;border:none;border-radius:8px;background:transparent;font-family:var(--font-family);text-align:left;cursor:pointer;transition:background .12s}@media(hover:hover)and (pointer:fine){.svc-option:not(.is-blocked):hover{background:var(--gold-wash)}}.svc-option.is-picked{background:var(--accent-wash)}.svc-option.is-blocked{cursor:not-allowed}.svc-option.is-blocked .svc-label,.svc-option.is-blocked .svc-meta{color:var(--text-muted)}.svc-option.is-blocked .svc-check{background:var(--grey-100);border-color:var(--grey-300)}.svc-blocked{display:block;margin-top:2px;font-size:.72rem;font-weight:600;color:var(--text-secondary)}.row-button.is-blocked{cursor:not-allowed;color:var(--text-muted)}.svc-check{flex-shrink:0;width:19px;height:19px;border-radius:6px;border:1.5px solid var(--grey-300);background:#fff;display:flex;align-items:center;justify-content:center;color:#fff}.svc-option.is-picked .svc-check{background:var(--accent);border-color:var(--accent)}.svc-label{flex:1;font-size:.88rem;color:var(--text-primary);line-height:1.3}.svc-meta{flex-shrink:0;font-size:.78rem;font-weight:600;color:var(--gold-dark);white-space:nowrap}.extra-box{width:100%;box-sizing:border-box;margin:4px 0 16px;padding:14px;border-radius:var(--border-radius);border:1px solid var(--accent-light);background:var(--accent-wash);text-align:left}.extra-label{display:block;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark)}.extra-label span{display:block;margin-top:3px;font-family:var(--font-family);font-size:.76rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--text-secondary)}.extra-input{width:100%;box-sizing:border-box;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-family);font-size:.95rem;line-height:1.45;color:var(--text-primary);resize:vertical}.extra-input:focus{outline:none;border-color:var(--accent)}.extra-count{margin-top:4px;font-size:.7rem;color:var(--text-muted);text-align:right}.extra-summary{width:100%;box-sizing:border-box;margin:8px 0 12px;padding:12px 14px;border-radius:var(--border-radius);background:var(--accent-wash);border:1px solid var(--accent-light);text-align:left}.extra-summary strong{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:4px}.extra-summary p{margin:0;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.booking-note{width:100%;box-sizing:border-box;margin:8px 0 0;padding:8px 11px;border-radius:9px;background:var(--accent-wash);border-left:3px solid var(--accent);font-size:.85rem;line-height:1.45;color:var(--text-primary);text-align:left;white-space:pre-wrap}.price-total{width:100%;box-sizing:border-box;margin:4px 0 16px;padding:12px 16px;border-radius:var(--border-radius);background:var(--ink);color:var(--gold);font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.02em;text-align:center}.summary-list{width:100%;margin:0 0 16px}.summary-list>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color)}.summary-list dt{color:var(--text-muted);font-size:.85rem}.summary-list dd{margin:0;font-weight:600;font-size:.9rem;text-align:right}.line-item{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.88rem}.line-item span:last-child{font-weight:600;color:var(--gold-dark);white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;width:100%}.stat-card{text-align:center!important;padding:16px 12px!important;margin:0!important}.stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--gold-dark);line-height:1.15}.stat-label{color:var(--text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.money{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--gold-dark)}.earner-list{list-style:none;margin:0;padding:0;width:100%}.earner-row{padding:10px 0;border-bottom:1px solid var(--border-color)}.earner-row:last-child{border-bottom:none}.earner-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.earner-name{font-weight:600;font-size:.95rem}.earner-total{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--gold-dark);white-space:nowrap}.earner-meta{margin-top:2px;font-size:.78rem;color:var(--text-secondary)}.earner-table{display:none}@media screen and (min-width:640px){.earner-list{display:none}.earner-table{display:block}}.top-earner{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;background:var(--gold-light);color:var(--gold-deep);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.category-paper:last-child{margin-bottom:100px!important}.category-paper{align-items:stretch!important}.category-paper .category-title{text-align:left;color:var(--gold-dark);font-weight:600;margin-bottom:8px!important}.services-list{width:100%}.service-row{display:flex;width:100%;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border-color)}.service-row:last-child{border-bottom:none}.service-name{color:var(--text-primary);font-size:.95rem;text-align:left;flex:1}.service-price{color:var(--gold-dark);font-weight:600;font-size:.95rem;text-align:right;white-space:nowrap;padding-left:12px}.loyalty-stamps{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-items:center;max-width:297px;margin:0 auto}.loyalty-stamp{width:70.5px;height:70.5px;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--accent-wash),var(--gold-light));border:1px solid var(--gold);box-shadow:0 2px 8px -2px #96751a59;display:flex;align-items:center;justify-content:center;overflow:hidden}.loyalty-stamp-empty{width:66.5px;height:66.5px;border-radius:50%;border:2px dashed var(--accent-light)!important;background:var(--accent-wash)}.desk-scan{position:fixed;left:50%;transform:translate(-50%);bottom:calc(64px + env(safe-area-inset-bottom));z-index:90;display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:12px 22px;border:1px solid var(--gold-deep);border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--ink);font-family:var(--font-family);font-size:.95rem;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 6px 20px -6px #16130f8c;transition:transform .12s,box-shadow .2s}@media(hover:hover)and (pointer:fine){.desk-scan:hover{box-shadow:0 10px 26px -8px #16130fa6}}.desk-scan:active{transform:translate(-50%) scale(.97)}.staff-day-grid{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.scanner-sheet{background:var(--ink)!important;color:var(--text-on-dark);display:flex;flex-direction:column}.scanner-bar{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 4px;padding-top:calc(8px + env(safe-area-inset-top));border-bottom:1px solid var(--ink-line)}.scanner-heading{display:flex;flex-direction:column;line-height:1.25;min-width:0}.scanner-heading strong{font-size:1rem}.scanner-heading span{font-size:.8rem;color:#f6f2eaa6}.scanner-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12px;min-height:0}.scanner-view{width:100%;max-width:460px;border-radius:16px;overflow:hidden;background:#000}.scanner-view video{display:block;width:100%!important;height:auto!important}.scanner-hint{margin:0;color:#f6f2eabf;font-size:.88rem;text-align:center}.scanner-manual{padding:0 20px 8px;max-width:460px;width:100%;margin:0 auto;box-sizing:border-box}.scanner-manual .login-label{color:#f6f2eabf}.scanner-error{margin:0 20px 8px;padding:11px 14px;border-radius:10px;background:#ce46582e;border:1px solid var(--danger-color);color:#ffd9de;font-size:.88rem;line-height:1.45}.scanner-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--ink-line)}.walkin-client{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;box-sizing:border-box;margin-bottom:14px;padding:11px 14px;border-radius:var(--border-radius);background:var(--accent-wash);border:1px solid var(--accent-light);text-align:left}.walkin-client strong{display:block;font-size:.98rem}.walkin-client span{font-size:.8rem;color:var(--text-secondary)}.erase-warning{margin-top:16px;padding:14px;border-radius:var(--border-radius);border:1px solid var(--danger-color);background:#ce46580f;text-align:left}.erase-warning strong{display:block;margin-bottom:6px;color:var(--danger-color)}.erase-warning p{margin:0 0 8px;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.notice-bar{display:flex;align-items:flex-start;gap:10px;width:100%;box-sizing:border-box;margin-bottom:14px;padding:11px 14px;border-radius:var(--border-radius);background:var(--gold-wash);border:1px solid var(--gold-light);color:var(--gold-deep);font-size:.86rem;line-height:1.45;text-align:left}.notice-bar button{margin-left:auto;min-width:32px;min-height:32px;border:none;background:none;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer}.payit-box{padding:12px 14px;border-radius:var(--border-radius);border:1px solid var(--gold-light);background:var(--gold-wash)}.payit-amount{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.payit-amount span{font-size:.8rem;color:var(--text-secondary)}.payit-amount strong{font-family:var(--font-display);font-size:1.5rem;color:var(--gold-deep)}.payit-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.split-box{border:1px solid var(--accent-light);background:var(--accent-wash);border-radius:var(--border-radius);padding:12px 14px}.split-head{font-size:.8rem;font-weight:700;color:var(--accent-dark)}.split-head span{display:block;margin-top:2px;font-weight:400;font-size:.76rem;color:var(--text-secondary)}.split-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(22,19,15,.07)}.split-row:last-of-type{border-bottom:none}.split-who{min-width:0}.split-who strong{display:block;font-size:.92rem}.split-who span{font-size:.76rem;color:var(--text-secondary)}.split-total{margin-top:6px;font-size:.8rem;font-weight:600;color:var(--success-color)}.split-total.is-off{color:var(--danger-color)}.rota-table{width:100%;border-collapse:collapse;font-size:.85rem}.rota-table th,.rota-table td{padding:4px 6px;text-align:center;border-bottom:1px solid var(--border-color)}.rota-table thead th{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.rota-table tbody th{text-align:left;font-weight:600;white-space:nowrap}.rota-dow{display:inline-block;width:30px;color:var(--text-muted);font-weight:400}.rota-table tr.is-closed{opacity:.5}.rota-cell{min-width:44px;min-height:44px;padding:4px 8px;border-radius:8px;border:1px solid transparent;font-family:var(--font-family);font-size:.76rem;font-weight:600;cursor:pointer}.rota-cell.is-in{background:var(--gold-wash);border-color:var(--gold-light);color:var(--gold-deep)}.rota-cell.is-off{background:var(--accent-wash);border-color:var(--accent-light);color:var(--accent-dark);text-transform:capitalize}.rota-cell.is-shut{background:none;border:none;color:var(--text-muted);cursor:default}.rota-seats{display:inline-flex;flex-direction:column;line-height:1.25;font-weight:700;color:var(--text-secondary);white-space:nowrap}.rota-booked{font-size:.7rem;font-weight:400;color:var(--text-muted)}.rota-seats.is-none{color:var(--danger-color)}.rota-seats.is-over,.rota-seats.is-over .rota-booked{color:var(--danger-color);font-weight:700}.time-extend{min-height:44px;padding:2px 8px;border:1px dashed transparent;border-radius:8px;background:none;color:var(--text-muted);font-family:var(--font-family);font-size:.85rem;cursor:pointer}@media(hover:hover)and (pointer:fine){.time-extend:hover{border-color:var(--gold-light);background:var(--gold-wash);color:var(--gold-deep)}}.extend-row{display:flex;gap:8px;margin-bottom:8px}.extend-chip{flex:1;min-height:48px;border:1px solid var(--gold-light);border-radius:10px;background:var(--gold-wash);color:var(--gold-deep);font-family:var(--font-family);font-size:.95rem;font-weight:700;cursor:pointer}@media(hover:hover)and (pointer:fine){.extend-chip:hover{background:var(--gold-light)}}.extend-chip.is-less{border-color:var(--border-color);background:transparent;color:var(--text-secondary);font-weight:500}.live-dot{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--success-color)}.live-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success-color);animation:live-pulse 2.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.live-dot:before{animation:none}}.earlier-block{margin-bottom:14px}.earlier-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:10px 14px;border:1px dashed var(--grey-300);border-radius:var(--border-radius);background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:.85rem;font-weight:600;text-align:left;cursor:pointer}@media(hover:hover)and (pointer:fine){.earlier-toggle:hover{background:var(--grey-100)}}.earlier-summary{font-weight:400;font-size:.76rem;color:var(--text-muted)}.paper.is-earlier{opacity:.72}.checkin-member+.checkin-member{margin-top:16px;padding-top:14px;border-top:1px dashed var(--grey-300)}.checkin-services{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--grey-100)}.to-discuss{font-style:italic;color:var(--accent-dark)}.member-block+.member-block{margin-top:10px;padding-top:8px;border-top:1px dashed var(--grey-300)}.member-block-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.assign-price{margin-left:8px;color:var(--text-muted);font-size:.82rem}.assign-chip.is-handed{border-color:var(--accent);background:var(--accent-wash);color:var(--accent-dark)}.assign-all{margin-top:4px;padding:4px 0;border:none;background:none;color:var(--text-muted);font-family:var(--font-family);font-size:.76rem;text-decoration:underline;cursor:pointer}.assign-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}.assign-what{color:var(--text-secondary);font-size:.9rem;min-width:0}.assign-chip{flex-shrink:0;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--gold-light);background:var(--gold-wash);color:var(--gold-deep);font-family:var(--font-family);font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer}@media(hover:hover)and (pointer:fine){.assign-chip:hover{background:var(--gold-light)}}.assign-chip.is-unassigned{border-color:var(--accent-light);background:var(--accent-wash);color:var(--accent-dark)}.tech-list{display:flex;flex-direction:column;gap:8px}.tech-option{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 14px;border-radius:12px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-family);font-size:1rem;text-align:left;cursor:pointer}@media(hover:hover)and (pointer:fine){.tech-option:hover:not(:disabled){background:var(--gold-wash);border-color:var(--gold-light)}}.tech-option:disabled{opacity:.55;cursor:not-allowed}.tech-option.is-current{border-color:var(--gold);background:var(--gold-wash);color:var(--gold-deep);font-weight:600}.tech-name{flex:1}.tech-note{font-size:.75rem;color:var(--text-muted)}[role=dialog]{border-radius:var(--border-radius)!important;margin:0!important;background:#fff!important}.panel-container{width:100%;margin:0;padding:0 0 100px;text-align:left;box-sizing:border-box}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}@media screen and (max-width:380px){h1{font-size:.87rem!important}h2{font-size:.8rem!important}.auth-content{padding:32px 16px 24px}.auth-logo-full{max-width:160px}.auth-logo-section{margin-bottom:12px}.auth-card{padding:20px 16px;border-radius:16px}.auth-title{font-size:1.05rem!important;margin:0 0 14px!important}.login-form{gap:12px}.login-label{font-size:.82rem}.input-wrapper input{height:40px;font-size:.9rem}.login-button{padding:12px 20px;font-size:.9rem}.login-form-footer{font-size:.85rem}.nav-item{font-size:.6rem;padding:6px 2px}.slots-grid{grid-template-columns:repeat(3,1fr);gap:8px}.paper{padding:16px!important}}@media screen and (max-width:430px)and (min-width:381px){.auth-content{padding:40px 20px 30px}.login-form{gap:14px}.auth-card{padding:24px 20px}}@media screen and (max-width:480px){.nav-container{padding:0 4px}.nav-item{font-size:.65rem;padding:6px 2px;gap:1px}.nav-item svg{font-size:1.1rem!important}}@media screen and (max-height:600px){.auth-content{padding:20px 16px}.auth-logo-section{margin-bottom:8px}.auth-logo-full{max-width:140px}.login-form{gap:10px}.input-wrapper input{height:38px}}.scanner-sheet{background:var(--ink)!important}.day-nav{display:flex;align-items:center;justify-content:space-between;gap:4px}.day-nav-title{flex:1;text-align:center;margin:0;min-width:0;font-size:1.35rem;line-height:1.2}.day-nav-arrow{flex:none;width:44px;height:44px;color:var(--accent)!important}.day-nav-meta{text-align:center;color:var(--text-muted);margin:4px 0 0;font-size:.9rem}.day-nav-jump{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 16px}.day-nav-jump input[type=date]{min-height:44px;padding:6px 12px;border:1px solid var(--border-color);border-radius:10px;background:#fff;font-family:var(--font-family);font-size:.9rem;color:var(--text-primary)}.scanner-outcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 28px;text-align:center;min-height:0}.scanner-outcome-icon{font-size:4rem!important;color:var(--accent-light);margin-bottom:6px}.scanner-outcome-lead{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-on-dark)}.scanner-outcome-code{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.08em;color:var(--gold);word-break:break-all}.scanner-outcome-note{margin:0;font-size:.98rem;line-height:1.5;color:#f6f2eabf;max-width:30ch}.last-visit-amount{font-size:1.5rem;font-weight:700;color:var(--success-color);margin-top:4px}.last-visit-note{margin:6px 0 0;font-size:.88rem;line-height:1.45;color:var(--text-secondary)}.new-client-code{border:1px solid var(--gold-deep)!important;background:var(--gold-wash)!important}.new-client-code-note{margin:0 0 10px;font-size:.88rem;line-height:1.45;color:var(--text-secondary)}.new-client-code-value{margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.8rem;font-weight:700;letter-spacing:.1em;color:var(--ink)}.login-optional{font-weight:400;color:var(--text-muted);font-size:.82rem}.terms-page .paper{text-align:left}.terms-title{margin:0 0 6px;font-size:1.35rem;line-height:1.25}.terms-intro{margin:0 0 18px;font-style:italic;color:var(--text-secondary);line-height:1.55}.terms-page h2{margin:20px 0 6px;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-dark)}.terms-page p{margin:0 0 10px;line-height:1.6;font-size:.95rem;color:var(--text-primary)}.terms-rule{border:0;border-top:1px solid var(--border-color);margin:26px 0 20px}.terms-meta{font-size:.82rem!important;color:var(--text-muted)!important;line-height:1.5!important}.terms-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;font-size:.9rem;font-weight:600;color:var(--accent-dark)}.terms-consent{margin:12px 0 0;font-size:.82rem;line-height:1.5;color:var(--text-muted);text-align:center}.terms-consent a{color:#ff6b6b;font-weight:700;text-decoration:underline;text-underline-offset:2px;text-shadow:none}.terms-consent a:focus-visible{color:#ff9090}@media(hover:hover)and (pointer:fine){.terms-consent a:hover{color:#ff9090}}.rota-cell.is-part{background:var(--warning-wash, #fdf4e3);color:#9a6410;border-color:#9a6410;font-variant-numeric:tabular-nums;font-size:.72rem}.confirmed-yes,.confirmed-no{font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.confirmed-yes{color:var(--success-color)}.confirmed-no{color:#9a6410}.link-button{display:block;width:100%;min-height:44px;margin-top:12px;padding:0 16px;border:1px solid var(--accent);border-radius:var(--border-radius);background:#fff;color:var(--accent-dark);font-family:var(--font-family);font-size:.95rem;font-weight:700;cursor:pointer}.link-button:disabled{opacity:.6;cursor:default}.activity-panel{padding:10px 12px!important;margin-bottom:12px!important;display:block!important}.activity-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.activity-title{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;display:flex;align-items:center;gap:8px}.activity-count{background:var(--gold-dark);color:#fff;border-radius:10px;padding:1px 7px;font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:none}.activity-seeall{background:none;border:none;color:var(--gold-dark);font-size:.78rem;font-weight:600;cursor:pointer;padding:6px 8px;min-height:44px;min-width:44px;margin:-6px -8px}.activity-empty{margin:2px 0 0;color:var(--text-muted);font-size:.82rem}.activity-list{list-style:none;margin:0;padding:0}.activity-line{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-top:1px solid var(--border-color, rgba(0, 0, 0, .07));font-size:.85rem;line-height:1.35}.activity-line:first-child{border-top:none}.activity-icon{color:var(--text-muted);display:flex;padding-top:1px}.activity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.activity-summary{color:var(--text-color)}.activity-line.is-new .activity-summary{font-weight:650}.activity-detail{font-size:.74rem;color:var(--text-muted);display:flex;flex-direction:column}.activity-line.is-urgent .activity-icon,.activity-detail.is-urgent{color:#9a6410}.activity-line.is-urgent .activity-summary{font-weight:700}.activity-when{color:var(--text-muted);font-size:.72rem;white-space:nowrap;padding-top:2px}.activity-bell{position:relative}.activity-dot{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--danger-color, #b3261e);color:#fff;font-size:.62rem;font-weight:700;line-height:15px;text-align:center}.activity-sheet-backdrop{position:fixed;inset:0;background:#0000006b;z-index:1300;display:flex;align-items:flex-start;justify-content:center;padding:56px 12px 12px}.activity-sheet{background:var(--card-bg, #fff);border-radius:14px;width:100%;max-width:460px;max-height:80vh;overflow-y:auto;padding:14px 16px;box-shadow:0 12px 40px #00000047}@media(max-width:480px){.header-right.has-bell .header-action:not(.is-icon) span{display:none}.header-right.has-bell .header-action:not(.is-icon){padding:8px;min-width:44px;min-height:44px;justify-content:center}}.header-right{min-width:max-content}.header-left{min-width:0;flex-shrink:1}.loyalty-rule{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:1rem;line-height:2.4}.loyalty-number{width:76px}.loyalty-number input{font-weight:700}.loyalty-reads{margin:4px 0 0;color:var(--text-muted);font-size:.85rem}.invite-qr-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-bottom:12px;padding:10px 12px;background:none;border:1px dashed var(--border-color, rgba(0, 0, 0, .18));border-radius:10px;color:var(--gold-dark);font-size:.88rem;font-weight:600;cursor:pointer}.invite-qr-sheet{text-align:center}.invite-qr-title{margin:0 0 4px!important;font-size:1.05rem!important}.invite-qr-sub{margin:0 0 14px;color:var(--text-muted);font-size:.85rem}.invite-qr-code{display:inline-block;padding:14px;background:#fff;border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:12px;line-height:0}.invite-qr-url{margin:12px 0 16px;font-weight:700;letter-spacing:.01em}.invite-qr-actions{display:flex;gap:8px;justify-content:center}.invite-qr-secondary{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:1px solid var(--border-color, rgba(0, 0, 0, .18));border-radius:10px;background:none;color:var(--text-color);font-size:.88rem;font-weight:600;cursor:pointer}.rota-seats.is-button{background:none;border:none;font:inherit;color:inherit;cursor:pointer;text-align:left;min-height:44px;padding:4px 6px;border-radius:8px;width:100%}@media(hover:hover)and (pointer:fine){.rota-seats.is-button:hover{background:#0000000a}}.rota-dip{display:block;font-size:.68rem;font-weight:700;color:#9a6410}.rota-seats.is-full .rota-booked{color:#9a6410}.rota-bands-row>td{padding:0!important;background:#00000006}.rota-bands{padding:12px 14px}.rota-bands h3{margin:0 0 8px!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.rota-bands table{width:100%;border-collapse:collapse;font-size:.85rem}.rota-bands th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 8px 4px 0;font-weight:600}.rota-bands td{padding:5px 8px 5px 0;border-top:1px solid rgba(0,0,0,.06)}.rota-bands tr.is-reduced td{color:#9a6410}.rota-bands tr.is-full td{color:var(--danger-color);font-weight:600}.update-banner{display:flex;align-items:center;gap:12px;width:calc(100% - 24px);margin:10px 12px 0;padding:12px 14px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--ink, #16130f);text-align:left;cursor:pointer;box-shadow:0 6px 18px -8px #16130f8c;transition:transform .12s,box-shadow .2s;animation:update-banner-in .28s ease-out}@keyframes update-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.update-banner:active{transform:scale(.99)}.update-banner.is-working{opacity:.75;cursor:default}.update-banner-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff6}.update-banner.is-working .update-banner-icon svg{animation:update-spin 1s linear infinite}@keyframes update-spin{to{transform:rotate(360deg)}}.update-banner-words{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.update-banner-words strong{font-size:.92rem;font-weight:700}.update-banner-words span{font-size:.76rem;opacity:.75}.update-banner-go{flex:0 0 auto;display:flex;opacity:.65}.terms-edit-intro{color:var(--text-muted);font-size:.86rem;margin:0 0 14px}.terms-edit-done{color:var(--success-color);font-size:.88rem;margin:0 0 12px;font-weight:600}.terms-edit-error{color:var(--danger-color);font-size:.88rem;margin:0 0 12px}.terms-toolbar{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1));position:sticky;top:0;background:var(--card-bg, #fff);z-index:2;border-radius:12px 12px 0 0;flex-wrap:wrap}.terms-toolbar button{min-width:44px;min-height:44px;border:none;background:none;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;align-items:center;justify-content:center}.terms-toolbar button:active{background:#00000014}.terms-editor{padding:14px 16px 20px;min-height:46vh;outline:none;font-size:.92rem;line-height:1.55}.terms-editor:focus{background:#00000003}.terms-editor h1{font-size:1.15rem!important;margin:18px 0 8px!important}.terms-editor h2{font-size:1rem!important;margin:16px 0 6px!important}.terms-editor p{margin:0 0 10px}.terms-editor ul,.terms-editor ol{margin:0 0 10px;padding-left:22px}.terms-editor li{margin-bottom:4px}.terms-edit-actions{display:flex;justify-content:flex-end;margin-top:14px}.terms-history-title{display:flex;align-items:center;gap:6px;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px!important}.terms-history{list-style:none;margin:0;padding:0;font-size:.88rem}.terms-history li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--border-color, rgba(0, 0, 0, .07))}.terms-history li:first-child{border-top:none}.terms-history a{color:var(--gold-dark);font-weight:600}.terms-current-tag{background:var(--gold-dark);color:#fff;border-radius:10px;padding:1px 8px;font-size:.68rem;font-weight:700}.terms-history-note{color:var(--text-muted);font-size:.8rem}.terms-history-foot{color:var(--text-muted);font-size:.78rem;margin:10px 0 0}.terms-body ul,.terms-body ol{margin:0 0 12px;padding-left:22px}.terms-body li{margin-bottom:5px}.visit-history{width:100%;text-align:left}.visit-summary{display:flex;gap:22px;padding:10px 0 12px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .08))}.visit-summary>div{display:flex;flex-direction:column}.visit-summary-value{font-size:1.1rem;font-weight:700}.visit-summary-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.visit-discount-due{margin:10px 0 0;color:var(--gold-dark);font-weight:700;font-size:.88rem}.visit-empty{color:var(--text-muted);font-size:.86rem;margin:10px 0 0}.visit-list{list-style:none;margin:4px 0 0;padding:0}.visit-list li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .06));font-size:.87rem}.visit-when{display:flex;gap:8px;align-items:baseline}.visit-when span{color:var(--text-muted);font-size:.8rem}.visit-what{grid-column:1;color:var(--text-color)}.visit-who{display:block;color:var(--text-muted);font-size:.78rem}.visit-money{grid-row:1 / span 2;grid-column:2;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.95rem}.visit-paid{font-weight:700}.visit-saved{color:var(--success-color);font-size:.74rem}.visit-awaiting{color:#9a6410;font-size:.72rem}.visit-rule{color:var(--text-muted);font-size:.74rem;margin:10px 0 0}.lookup-history-toggle{background:none;border:none;padding:6px 0;min-height:44px;color:var(--gold-dark);font-size:.82rem;font-weight:600;cursor:pointer}.lookup-history{width:100%;padding:4px 16px 16px;background:#00000005}.history-toggle{width:100%;min-height:44px;background:none;border:none;color:var(--gold-dark);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;padding:4px 0}.hours-table{width:100%;border-collapse:collapse;margin-bottom:18px}.hours-table th[scope=row]{text-align:left;font-weight:600;font-size:.88rem;padding:6px 8px 6px 0;white-space:nowrap}.hours-table td{padding:4px 0}.hours-table td:nth-child(2){width:88px;padding-right:22px}.hours-table .MuiSwitch-root{margin:0}.hours-table .MuiSwitch-root input{height:44px;top:-10px}.hours-table tr.is-shut th[scope=row]{color:var(--text-muted)}.hours-pair{display:flex;align-items:center;gap:8px}.hours-pair input[type=time]{min-height:44px;padding:6px 8px;border:1px solid var(--border-color, rgba(0, 0, 0, .23));border-radius:8px;font-size:.9rem;background:none;color:var(--text-color);width:auto}.hours-pair span{color:var(--text-muted);font-size:.82rem}.hours-shut{color:var(--text-muted);font-size:.86rem}.loyalty-count{margin-left:8px;font-size:.74rem;font-weight:700;color:var(--text-muted)}.header-menu-backdrop{position:fixed;inset:0;z-index:1200}.header-menu{position:absolute;top:calc(100% - 4px);right:10px;z-index:1201;min-width:232px;padding:6px;border-radius:12px;background:var(--card-bg, #fff);box-shadow:0 10px 34px #0000004d;display:flex;flex-direction:column}.header-menu-who{margin:4px 10px 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.header-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border:none;border-radius:9px;background:none;color:var(--text-color);font-size:.92rem;text-align:left;cursor:pointer}.header-menu button:active{background:#00000012}.header-menu button.is-destructive{margin-top:6px;padding-top:14px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:0 0 9px 9px;color:var(--danger-color, #b3261e);font-weight:600}.header-menu{max-width:min(320px,calc(100vw - 20px))}.header-menu-push{margin-top:4px;padding-top:4px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}.header-menu button:disabled{opacity:.6;cursor:progress}.header-menu-push-label{flex:1;display:flex;flex-direction:column}.header-menu-push-state{font-size:.75rem;color:var(--text-muted)}.push-switch-track{flex:none;position:relative;width:40px;height:24px;border-radius:12px;background:#00000038;transition:background .15s ease}.push-switch-track.is-on{background:var(--accent)}.push-switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s ease}.push-switch-track.is-on .push-switch-thumb{transform:translate(16px)}.header-menu-push-reason{display:flex;gap:10px;padding:10px 12px;color:var(--text-color)}.header-menu-push-reason p{margin:0;font-size:.86rem;line-height:1.45}.header-menu-note{margin:0 12px 8px;font-size:.78rem;line-height:1.4;color:var(--text-muted)}.header-menu-note.is-result{margin-top:4px;color:var(--text-color);font-weight:500}.pw-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-20px;padding:0;border:none;border-radius:50%;background:transparent;color:#9ca3af;cursor:pointer}.pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.text-button{padding:0;border:none;background:none;font:inherit;cursor:pointer}.row-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:none;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rota-window{display:block;line-height:1.2}.header-home{display:inline-flex;border-radius:50%}.header-home:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.scanner-stage[hidden]{display:none}.stat-tile{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:1px solid var(--border-color);border-left:4px solid var(--gold);border-radius:var(--border-radius-lg);background:var(--surface, #ffffff);box-shadow:var(--shadow-sm, 0 1px 3px rgba(22, 19, 15, .06));font-family:var(--font-family);cursor:pointer;transition:box-shadow .2s,transform .12s}.stat-tile:active{transform:scale(.985)}.stat-tile .stat-label{display:inline-flex;align-items:center;gap:1px}.stat-tile-go{font-size:1rem!important;opacity:.45;margin-right:-4px}.dash-links{margin-top:28px;display:flex;flex-direction:column;gap:10px}.dash-link{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--surface, #ffffff);box-shadow:var(--shadow-sm, 0 1px 3px rgba(22, 19, 15, .06));font-family:var(--font-family);text-align:left;cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .12s}.dash-link:active{transform:scale(.995)}.dash-link-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--gold-wash, #faf5e8);color:var(--gold-dark)}.dash-link-icon svg{font-size:1.25rem}.dash-link-words{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.dash-link-words strong{font-size:1rem;font-weight:600;color:var(--text-primary, var(--ink))}.dash-link-words span{font-size:.82rem;color:var(--text-secondary)}.dash-link-go{flex:0 0 auto;color:var(--gold-dark);opacity:.7}@media(hover:hover)and (pointer:fine){.stat-tile:hover,.dash-link:hover{box-shadow:0 6px 18px -8px #16130f59;border-color:var(--gold-light)}.dash-link:hover .dash-link-go{opacity:1}.dash-link:hover .dash-link-icon{background:var(--gold-light, #e8d89a)}}.older-unpaid{margin:8px 0 0;padding:10px 12px;border-radius:var(--border-radius);background:var(--warning-wash, #fdf4e3);color:#7a5a12;font-size:.82rem;line-height:1.45}.bank-details{width:100%;text-align:left}.bank-rows{margin:0;display:flex;flex-direction:column;gap:10px}.bank-row{padding:10px 12px;border-radius:10px;background:var(--bg-card, #fff);border:1px solid var(--grey-200)}.bank-row dt{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.bank-row dd{margin:2px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.bank-value{font-size:1.15rem;font-weight:600;letter-spacing:.03em;font-variant-numeric:tabular-nums;word-break:break-all;user-select:all;-webkit-user-select:all}.bank-row.is-reference{border-color:var(--gold);background:var(--gold-wash)}.bank-row.is-reference .bank-value{font-size:1.3rem;font-weight:700;color:var(--gold-deep)}.bank-copy.MuiButton-root{flex-shrink:0;min-height:40px;min-width:92px;text-transform:none}.bank-copy-status{min-height:1.3em;margin:8px 0 0;font-size:.85rem;color:var(--success-color)}.bank-missing{margin:10px 0 0;font-size:.88rem;color:#7a5a12}.bank-reference-big{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;padding:16px 12px;border-radius:var(--border-radius);border:2px solid var(--gold);background:var(--gold-wash);text-align:center}.bank-reference-big span{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.bank-reference-big strong{font-family:var(--font-display);font-size:clamp(1.8rem,7vw,2.6rem);letter-spacing:.08em;color:var(--gold-deep);word-break:break-all;user-select:all;-webkit-user-select:all}.transfer-recorded-lead{margin:0;font-size:.98rem;line-height:1.45}.paper.transfer-due{align-items:stretch;text-align:left;border:2px solid var(--gold)!important;background:var(--gold-wash)!important}.transfer-due h2{margin:0 0 6px}.transfer-due-lead{margin:0 0 14px;font-size:1.05rem;line-height:1.45}.transfer-due-lead strong{font-size:1.25rem;color:var(--gold-deep)}.transfer-due-pay{margin:0 0 14px}.transfer-due-pay .transfer-due-pay-button.MuiButton-root{min-height:52px;font-size:1.05rem;font-weight:700;text-transform:none}.transfer-due-pay-hint{margin:8px 0 0;font-size:.88rem;line-height:1.45;color:var(--text-secondary)}.transfer-due-message{margin:0 0 12px;font-size:.92rem;line-height:1.5}.transfer-due-note{margin:6px 0 0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.transfer-due-note strong{color:var(--text-primary)}.paper.booking-on-hold{text-align:center}.booking-on-hold h1{margin:0 0 6px}.booking-on-hold p{margin:0;color:var(--text-secondary);line-height:1.5}.bank-not-ready{margin:0 0 12px;padding:10px 12px;border-radius:var(--border-radius);background:var(--warning-wash, #fdf4e3);border:1px solid var(--warning-color);color:#7a5a12;font-size:.88rem;line-height:1.45}.bank-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:420px){.bank-fields{grid-template-columns:1fr}}.reference-choice{margin:0 0 2px}.hint.reference-consequence{margin:0 0 10px}.awaiting-reference{font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:.06em;color:var(--gold-deep);word-break:break-all;user-select:all;-webkit-user-select:all}.awaiting-intro{margin-top:0;font-size:.88rem;line-height:1.5;color:var(--text-secondary)}.awaiting-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.lookup-owes,.walkin-client .lookup-owes{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:6px;background:var(--warning-wash, #fdf4e3);border-left:3px solid var(--warning-color);color:#7a5a12;font-size:.8rem;font-weight:600}.part-cash{display:flex;flex-direction:column;gap:8px}.part-cash-balance{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--gold-deep)}.part-paid-summary,.transfer-due-breakdown{margin:0;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--border-radius);border:1px solid var(--gold-light);background:var(--bg-card)}.transfer-due-breakdown{margin:0 0 14px}.part-paid-summary>div,.transfer-due-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.part-paid-summary dt,.transfer-due-breakdown dt{font-size:.88rem;color:var(--text-secondary)}.part-paid-summary dd,.transfer-due-breakdown dd{margin:0;font-weight:600}.part-paid-summary .is-balance,.transfer-due-breakdown .is-outstanding{border-top:1px solid var(--gold-light);padding-top:4px}.part-paid-summary .is-balance dt,.part-paid-summary .is-balance dd,.transfer-due-breakdown .is-outstanding dt,.transfer-due-breakdown .is-outstanding dd{color:var(--gold-deep);font-weight:700}.part-paid-summary .is-balance dd,.transfer-due-breakdown .is-outstanding dd{font-size:1.15rem}.awaiting-paid{margin-top:2px;font-size:.8rem;color:var(--text-secondary)}.awaiting-balance-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.booking-on-hold-note{margin:4px 0 8px;padding:12px 14px;border-radius:var(--border-radius);background:var(--grey-100, #f4f2ef);color:var(--text-secondary);font-size:.86rem;text-align:center;line-height:1.5}
