:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#24212e;background:#f7f6fb;font-synthesis:none;--brand:#6846e8;--accent:#ff8a65;--ink:#24212e;--muted:#737080;--line:#e9e6ef;--surface:#fff;--sidebar:#211d34}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--brand);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em}svg{width:20px;height:20px}code{background:#f0edf7;padding:2px 6px;border-radius:5px}.muted{color:var(--muted)!important}.centered{text-align:center}.full{width:100%;justify-content:center}.large{padding:15px 22px!important}.button{border:0;border-radius:10px;padding:11px 17px;display:inline-flex;align-items:center;gap:8px;font-weight:700;transition:.18s;justify-content:center}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-primary{background:var(--brand);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 22%,transparent)}.button-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.button-ghost{background:transparent;color:#6c6877}.button-danger{background:#d9475c;color:#fff}.button-row,.modal-actions{display:flex;gap:10px;align-items:center}.modal-actions{justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.icon-button{width:39px;height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;color:#625e6d}.icon-button:hover{background:#f5f3fa}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field>span{font-size:13px;font-weight:750;color:#4d4957}.field>span em{font-weight:400;color:#918d99}.field small{font-size:12px;color:#8a8694;line-height:1.4}.field input,.field select,.field textarea,.form-grid input,.form-grid select{width:100%;border:1px solid #dcd8e4;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}textarea{resize:vertical}.form-grid{display:grid;gap:0 16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.check-row{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:14px;color:#54505d}.check-row input{accent-color:var(--brand);width:17px;height:17px}.check-row svg{color:var(--brand);flex:0 0 auto}.check-row span{display:flex;flex-direction:column;gap:3px}.check-row small{color:var(--muted)}.notice{display:flex;align-items:center;gap:10px;border-radius:11px;padding:12px 14px;margin:0 0 18px;font-size:14px}.notice svg{flex:0 0 auto}.notice-error{background:#fff0f2;color:#a52c40}.notice-success{background:#ecfaf4;color:#167451}.notice-info{background:#eef6ff;color:#28699b}.notice button{margin-left:auto;border:0;background:transparent;color:inherit}.spinner-wrap{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);min-height:100px}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize;background:#efedf3;color:#635f6c}.status-confirmed,.status-active,.status-paid,.status-credits,.status-sent{background:#e7f8f1;color:#187256}.status-pending,.status-unpaid{background:#fff5d8;color:#8f6510}.status-cancelled,.status-no_show,.status-failed,.status-inactive{background:#ffeaed;color:#a62e42}.status-completed{background:#e9efff;color:#385caa}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:850;color:var(--brand)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,#fff));color:#fff}.empty-state{padding:64px 24px;text-align:center;color:var(--muted);grid-column:1/-1}.empty-state>svg{width:40px;height:40px;color:#b8b3c2}.empty-state h3{color:var(--ink);margin:14px 0 7px}.empty-state.compact{padding:30px}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;border:0;background:none;color:#716d7a;padding:0;margin-bottom:20px}.back-link svg{width:17px}.input-icon{display:flex;position:relative}.input-icon svg{position:absolute;left:12px;top:11px;color:#9b97a3}.input-icon input{padding-left:40px!important}.demo-box{display:flex;flex-direction:column;gap:3px;margin-top:20px;padding:13px;background:#f6f4fa;border-radius:10px;color:#76717f;font-size:12px}.demo-box b{color:#4a4653}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:34px 20px;background:radial-gradient(circle at 15% 12%,#eee9ff 0,transparent 35%),radial-gradient(circle at 85% 85%,#ffece5 0,transparent 30%),#faf9fc}.auth-brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:850;margin-bottom:25px}.auth-brand>svg{background:var(--brand);color:#fff;padding:8px;width:40px;height:40px;border-radius:12px}.auth-brand span span{color:var(--brand)}.auth-card{width:min(460px,100%);background:#fff;border:1px solid #ece9f1;border-radius:22px;padding:32px;box-shadow:0 24px 70px #281e4617}.auth-card h1{text-align:center;font-size:28px;margin:11px 0 8px}.auth-card>.muted{text-align:center;margin-bottom:25px}.auth-icon{width:52px;height:52px;border-radius:16px;background:#eeeaff;color:var(--brand);display:grid;place-items:center;margin:0 auto}.auth-icon.tenant-login-logo{width:min(180px,70%);height:82px;padding:7px;border-radius:13px;background:#fff;border:1px solid var(--line)}.auth-icon.tenant-login-logo img{display:block;width:100%;height:100%;object-fit:contain}.auth-icon.success{background:#e4f8ee;color:#16815a}.auth-actions{text-align:right;font-size:13px;margin:-7px 0 18px}.auth-switch{text-align:center;font-size:14px;margin:20px 0 0;color:#777281}.auth-footer{font-size:12px;color:#9b97a3;margin:20px}.auth-card.centered p{color:var(--muted);line-height:1.6;margin-bottom:24px}.booking-page{min-height:100vh;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 6%,#faf9fc),#f7f6fa);padding-bottom:30px}.booking-page.embedded{min-height:0;background:#fff;padding-bottom:10px}.booking-header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1060px)/2))}.embedded .booking-header{padding:0 24px}.booking-brand{display:flex;align-items:center;gap:12px}.booking-brand img{width:42px;height:42px;object-fit:contain}.booking-brand div:last-child{display:flex;flex-direction:column}.booking-brand b{font-size:17px}.booking-brand span{font-size:12px;color:var(--muted);margin-top:2px}.booking-progress{max-width:760px;margin:26px auto;display:flex;justify-content:space-between;position:relative}.booking-progress:before{content:"";position:absolute;height:2px;left:8%;right:8%;top:16px;background:#e4e0e9}.booking-progress>div{display:flex;flex-direction:column;align-items:center;gap:6px;color:#aaa5b1;position:relative;z-index:1;font-style:normal;font-size:12px;font-weight:700}.booking-progress span{width:34px;height:34px;border:2px solid #ded9e5;border-radius:50%;display:grid;place-items:center;background:#f8f7fa}.booking-progress svg{width:16px}.booking-progress .active{color:var(--brand)}.booking-progress .active span{background:var(--brand);border-color:var(--brand);color:#fff}.booking-progress em{font-style:normal}.booking-card{max-width:980px;margin:auto;background:#fff;border:1px solid #ece9f0;border-radius:22px;padding:36px;box-shadow:0 18px 55px #281e4612;min-height:450px}.section-heading{text-align:center;max-width:600px;margin:0 auto 28px}.section-heading h1{font-size:29px;margin:7px 0 8px}.section-heading p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-card{position:relative;border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px 48px 18px 20px;text-align:left;overflow:hidden;min-height:180px;transition:.2s}.service-card:hover{border-color:var(--brand);box-shadow:0 10px 30px color-mix(in srgb,var(--brand) 10%,transparent);transform:translateY(-2px)}.service-color{position:absolute;left:0;top:0;bottom:0;width:5px}.service-category{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--brand)}.service-card h3{font-size:18px;margin:7px 0}.service-card p{font-size:13px;color:var(--muted);line-height:1.5;min-height:40px}.service-meta{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.service-meta span{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b6674}.service-meta svg{width:16px}.service-meta strong{font-size:17px}.service-arrow{position:absolute;right:18px;top:50%;color:#aaa4b3}.selected-service{border:1px solid var(--line);background:#faf9fc;border-radius:13px;padding:14px 17px;display:flex;align-items:center;gap:12px;margin-bottom:28px}.selected-service>span{width:9px;height:42px;border-radius:7px}.selected-service div{display:flex;flex-direction:column;flex:1;gap:3px}.selected-service small{color:var(--muted)}.date-picker{display:flex;align-items:center;gap:8px}.date-picker>button{border:1px solid var(--line);background:#fff;width:38px;height:72px;border-radius:10px;display:grid;place-items:center}.date-picker>button:disabled{opacity:.35}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;flex:1}.date-strip button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 4px;display:flex;flex-direction:column;gap:2px;align-items:center;color:#726e7b}.date-strip b{font-size:19px;color:var(--ink)}.date-strip span,.date-strip em{font-size:11px;text-transform:capitalize;font-style:normal}.date-strip button.selected,.date-strip button:hover{background:var(--brand);border-color:var(--brand);color:#fff}.date-strip button.selected b,.date-strip button:hover b{color:#fff}.time-section{margin-top:27px}.time-section h3{text-align:center;font-size:15px}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:15px 0}.time-grid button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;font-weight:800;color:var(--brand)}.time-grid button:hover{background:var(--brand);color:#fff}.time-grid button span{display:block;font-size:9px;font-weight:500;color:#9b96a4}.time-grid button:hover span{color:#fff}.booking-review{max-width:680px;margin:auto}.review-summary{display:flex;align-items:center;border:1px solid var(--line);padding:18px;border-radius:14px;margin-bottom:24px;gap:14px}.review-icon{width:48px;height:48px;border-radius:13px;color:#fff;display:grid;place-items:center}.review-summary>div:nth-child(2){flex:1}.review-summary h3{margin:0 0 7px}.review-summary p{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin:4px 0}.review-summary p svg{width:14px}.review-summary>strong{font-size:18px}.payment-options h3{font-size:14px}.payment-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:13px;margin:8px 0;cursor:pointer}.payment-option.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 4%,white)}.payment-option>input{display:none}.radio-dot{width:18px;height:18px;border:2px solid #cfc9d7;border-radius:50%;position:relative}.selected .radio-dot{border-color:var(--brand)}.selected .radio-dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--brand)}.payment-option>svg{color:var(--brand)}.payment-option>span:last-child{display:flex;flex-direction:column;gap:3px}.payment-option small{color:var(--muted)}.booking-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:18px}.booking-total strong{font-size:23px}.booking-footer{max-width:760px;margin:18px auto;display:flex;justify-content:center;gap:28px;color:#9994a2;font-size:11px}.booking-loading,.booking-error{min-height:100vh;display:grid;place-items:center}.booking-success{text-align:center;max-width:560px;margin:10px auto}.success-check{margin:auto;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e3f8ee;color:#178058}.success-check svg{width:31px;height:31px}.booking-success h1{font-size:32px;margin:8px}.booking-success>p{color:var(--muted)}.success-ticket{margin:26px 0;text-align:left;border:1px solid var(--line);border-radius:16px;overflow:hidden}.success-ticket>div{padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,white),#fff)}.success-ticket small{color:var(--brand);font-weight:800}.success-ticket h3{margin:5px 0 0}.success-ticket dl{padding:7px 20px}.success-ticket dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.success-ticket dl>div:last-child{border:0}.success-ticket dt{color:var(--muted)}.success-ticket dd{font-weight:700}.portal-page{min-height:100vh;background:#f8f7fb}.portal-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1100px)/2))}.portal-brand{display:flex;align-items:center;gap:11px}.portal-user{display:flex;align-items:center;gap:20px;font-size:13px}.portal-user button{border:0;background:none;display:flex;gap:7px;color:#7a7582}.portal-user svg{width:16px}.portal-main{max-width:1100px;margin:0 auto;padding:42px 24px}.portal-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.portal-hero h1{font-size:30px;margin:6px 0}.portal-hero p{color:var(--muted)}.next-appointment{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 72%,#34216e));color:#fff;border-radius:18px;padding:22px 25px;box-shadow:0 15px 35px color-mix(in srgb,var(--brand) 20%,transparent);margin-bottom:26px}.next-date{width:62px;height:67px;background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase}.next-date b{font-size:26px}.next-date span{font-size:10px}.next-appointment>div:nth-child(2){flex:1}.next-appointment .eyebrow{color:#d9d1ff}.next-appointment h2{margin:5px 0}.next-appointment p{display:flex;gap:7px;align-items:center;margin:0;color:#ebe7ff;font-size:13px}.next-appointment p svg{width:16px}.tab-nav{display:flex;border-bottom:1px solid var(--line);gap:3px;margin-bottom:22px;overflow:auto}.tab-nav button{border:0;background:transparent;padding:13px 16px;display:flex;align-items:center;gap:8px;color:#77727f;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent}.tab-nav button.active{color:var(--brand);border-color:var(--brand)}.tab-nav button svg{width:17px}.tab-nav button span{font-size:10px;padding:3px 6px;border-radius:10px;background:#eeebf4}.tab-nav.compact{margin:10px -24px 20px;padding:0 24px}.portal-appointment{position:relative;display:grid;grid-template-columns:66px 1fr auto auto;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:10px;overflow:hidden}.appointment-stripe{position:absolute;left:0;top:0;bottom:0;width:4px}.appointment-date{width:58px;height:60px;border-radius:11px;background:#f2eff8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase}.appointment-date b{font-size:22px}.appointment-date span{font-size:10px;color:var(--muted)}.appointment-info>div:first-child{display:flex;align-items:center;gap:9px}.appointment-info h3{margin:0}.appointment-info p{display:flex;align-items:center;gap:6px;margin:5px 0 0;font-size:12px}.appointment-info svg{width:14px}.appointment-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.appointment-actions{display:flex;gap:5px}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.product-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:15px;position:relative}.product-icon{width:42px;height:42px;border-radius:12px;background:#eeeaff;color:var(--brand);display:grid;place-items:center}.product-card>.status{position:absolute;right:20px;top:20px}.product-card h3{margin:17px 0 5px}.product-card p{color:var(--muted);font-size:13px}.credit-meter{height:7px;background:#eeebf3;border-radius:5px;overflow:hidden;margin:18px 0 9px}.credit-meter span{display:block;height:100%;background:var(--brand)}.customer-visible-notes{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.customer-visible-notes p{padding:12px;background:#faf9fc;border-radius:9px}.customer-visible-notes small{display:block;color:var(--muted);margin-top:6px}.available-plans{margin-top:30px}.available-plans>h2{font-size:18px}.product-card.available{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.product-card.available h3{margin:5px 0}.product-card.available>strong{font-size:21px}.product-card.available>small{color:var(--muted);min-height:28px}.product-card.available>.button{margin-top:8px;width:100%}.app-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--brand);color:#fff;font-size:12px;font-weight:850;flex:0 0 auto}.app-avatar>img{width:100%;height:100%;display:block;object-fit:cover}.admin-shell{min-height:100vh;background:#f7f6fa}.admin-shell>aside{position:fixed;inset:0 auto 0 0;width:246px;background:var(--sidebar);color:#fff;z-index:20;display:flex;flex-direction:column;transition:.2s}.admin-logo{height:76px;display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-logo b{font-size:18px}.admin-logo b span{color:#ab96ff}.admin-logo small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#918ba6;font-size:10px;margin-top:4px}.admin-shell aside nav{padding:16px 11px;display:flex;flex-direction:column;gap:4px}.admin-shell aside nav a,.sidebar-bottom button{height:44px;border-radius:9px;display:flex;align-items:center;gap:12px;padding:0 13px;color:#aaa5ba;font-size:13px;font-weight:650;border:0;background:transparent;width:100%;white-space:nowrap}.admin-shell aside nav a:hover,.admin-shell aside nav a.active,.sidebar-bottom button:hover{background:#ffffff14;color:#fff}.admin-shell aside nav a.active{background:var(--brand)}.admin-shell aside svg{flex:0 0 auto}.sidebar-bottom{margin-top:auto;padding:11px;border-top:1px solid rgba(255,255,255,.08)}.collapse-button{position:absolute;right:-14px;bottom:76px;width:28px;height:28px;border-radius:50%;border:3px solid #f7f6fa;background:#39334e;color:#fff;display:grid;place-items:center}.collapse-button svg{width:14px}.admin-content{margin-left:246px;min-height:100vh;transition:.2s}.admin-topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 27px;display:flex;align-items:center;justify-content:flex-end;gap:13px}.admin-topbar>div:first-of-type{display:flex;flex-direction:column;text-align:right}.admin-topbar span{font-size:11px;color:var(--muted)}.user-avatar{width:38px;height:38px;border-radius:11px;background:var(--brand);color:#fff;display:grid!important;place-items:center;font-weight:800}.mobile-menu{display:none;border:0;background:transparent}.admin-shell.collapsed>aside{width:76px}.admin-shell.collapsed .admin-logo>div:last-child,.admin-shell.collapsed aside nav span,.admin-shell.collapsed .sidebar-bottom span{display:none}.admin-shell.collapsed .admin-logo{padding:0 18px}.admin-shell.collapsed .admin-content{margin-left:76px}.admin-shell.collapsed aside nav a,.admin-shell.collapsed .sidebar-bottom button{justify-content:center}.admin-page{padding:30px;max-width:1600px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.page-header h1{font-size:27px;margin:0 0 6px}.page-header p{color:var(--muted);margin:0;font-size:13px}.page-header.compact{margin-bottom:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px}.stat-icon.purple{background:#eeeaff;color:#6846e8}.stat-icon.teal{background:#e4f7f4;color:#258477}.stat-icon.orange{background:#fff0e5;color:#d66d28}.stat-icon.blue{background:#e8f2ff;color:#3577bd}.stat-card>div:last-child{display:flex;flex-direction:column}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{font-size:23px;margin:2px 0}.stat-card small{font-size:10px;color:#9b97a3}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin-top:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:16px}.welcome-panel{display:flex;min-height:245px;align-items:center;overflow:hidden;background:linear-gradient(115deg,#fff 55%,#f1edff)}.welcome-panel>div:first-child{width:55%}.welcome-panel h2{font-size:25px;margin:7px 0}.welcome-panel p{color:var(--muted);line-height:1.55}.abstract-calendar{width:42%;height:185px;background:#fff;border-radius:13px;position:relative;box-shadow:0 17px 40px #dcd5f2;transform:rotate(2deg);background-image:linear-gradient(#eeeaf4 1px,transparent 1px),linear-gradient(90deg,#eeeaf4 1px,transparent 1px);background-size:100% 36px,25% 100%}.abstract-calendar .event{position:absolute;height:24px;border-radius:5px}.abstract-calendar .one{left:27%;right:7%;top:45px;background:#dcd2ff}.abstract-calendar .two{left:4%;right:50%;top:116px;background:#ffd8ca}.abstract-calendar>svg{position:absolute;right:14px;top:12px;color:var(--brand)}.quick-links h2{font-size:17px}.quick-links button{width:100%;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:15px 4px}.quick-links button:last-child{border:0}.quick-links button>svg{color:var(--brand)}.quick-links button span{display:flex;flex-direction:column;gap:4px}.quick-links small{color:var(--muted)}.calendar-grid-slot{position:absolute;left:0;width:100%;z-index:1;display:grid;place-items:center;margin:0;padding:0;border:0;border-top:1px solid #eeeaf1;border-radius:0;background:transparent;color:var(--brand);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .12s ease,box-shadow .12s ease}.calendar-grid-slot.whole-hour{border-top-color:#d8d4de}.calendar-grid-slot.available:hover{z-index:2;background:color-mix(in srgb,var(--brand) 7%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}.calendar-grid-slot>svg{width:17px;height:17px;opacity:0;transform:scale(.75);transition:opacity .12s ease,transform .12s ease}.calendar-grid-slot.available:hover>svg,.calendar-grid-slot.available:focus-visible>svg{opacity:.72;transform:scale(1)}.calendar-grid-slot.unavailable{background-color:#f8f7fa;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 9px,rgba(105,98,116,.11) 9px,rgba(105,98,116,.11) 10px);color:transparent;cursor:not-allowed}.calendar-grid-slot:disabled{opacity:1}.calendar-grid-slot:focus-visible{z-index:3;outline:2px solid var(--brand);outline-offset:-2px}.current-time-indicator{position:absolute;left:0;right:0;height:2px;z-index:4;background:var(--calendar-now-color,#ef4444);pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--calendar-now-color,#ef4444) 10%,transparent)}.current-time-dot{position:absolute;left:-6px;top:50%;z-index:1;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--calendar-now-color,#ef4444);transform:translateY(-50%);box-shadow:0 1px 4px #64141947}.time-axis .current-time-label{right:8px;z-index:4;min-width:43px;padding:3px 7px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:color-mix(in srgb,var(--calendar-now-color,#ef4444) 88%,rgba(255,255,255,.15));color:#fff;font-size:11px;font-weight:850;line-height:15px;text-align:center;transform:translateY(-50%);box-shadow:0 3px 10px color-mix(in srgb,var(--calendar-now-color,#ef4444) 28%,transparent),inset 0 1px #ffffff61;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none}.time-axis span.whole-hour{font-size:12px;font-weight:800;color:#37323d}.time-axis span.minor-time{font-size:11px;color:#aaa5af}.calendar-page{position:relative}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px;margin-bottom:13px}.toolbar-group{display:flex;align-items:center;gap:5px}.view-switch{display:flex;padding:3px;background:#f1eef5;border-radius:9px}.view-switch button{border:0;background:transparent;padding:8px 11px;border-radius:7px;font-size:12px;font-weight:650;color:#706b78}.view-switch button.active{background:#fff;color:var(--brand);box-shadow:0 2px 6px #ded9e6}.select-icon{display:flex;align-items:center;gap:4px}.select-icon svg{width:16px;color:#888390}.select-icon select{border:0;background:transparent;max-width:150px}.calendar-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;max-height:calc(100vh - 225px)}.calendar-grid{display:grid;position:relative}.calendar-corner,.calendar-column-head{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);height:62px}.calendar-corner{left:0;z-index:6}.calendar-column-head{border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:capitalize}.calendar-column-head>span{width:8px;height:8px;border-radius:50%;margin-bottom:4px}.calendar-column-head b{font-size:12px}.calendar-column-head small{font-size:9px;color:#9a96a2}.time-axis{position:relative;grid-column:1;position:sticky;left:0;background:#fff;z-index:3}.time-axis span{position:absolute;right:9px;transform:translateY(-7px);font-size:10px;color:#85808e}.day-column{position:relative;border-left:1px solid var(--line);background:#fff}.day-column>i{position:absolute;left:0;right:0;border-top:1px solid #f1eef4}.day-column>i:nth-child(2n){border-color:#e7e3eb}.calendar-event{position:absolute;left:4px;right:4px;border:0;border-left:3px solid;padding:6px 7px;border-radius:6px;text-align:left;overflow:hidden;z-index:2;display:flex;flex-direction:column;min-height:30px;color:#34303b}.calendar-event:hover{z-index:4;box-shadow:0 5px 15px #231e322b}.calendar-event b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event span,.calendar-event small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.cancelled{opacity:.5;text-decoration:line-through}.calendar-loading{position:absolute;top:160px;right:30px;bottom:30px;left:30px;background:#ffffffb3;z-index:10}.calendar-mobile-list{display:none}.customer-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.search-box{position:relative;width:min(520px,70%)}.search-box svg{position:absolute;left:13px;top:12px;color:#97929f}.search-box input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 14px 12px 42px;background:#fff}.customer-toolbar>span{font-size:12px;color:var(--muted)}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8c8794;background:#faf9fb;padding:12px 14px}.data-table td{border-top:1px solid var(--line);padding:13px 14px;font-size:12px}.data-table tr{cursor:pointer}.data-table tbody tr:hover{background:#faf9fd}.data-table td>small,.data-table td>b{display:block}.data-table td>small{color:var(--muted);margin-top:3px}.customer-cell{display:flex;align-items:center;gap:10px}.customer-cell>span,.large-avatar{width:36px;height:36px;border-radius:10px;background:#eeeaff;color:var(--brand);display:grid;place-items:center;font-weight:800}.customer-cell small{display:block;color:var(--muted)}.customer-profile-head{display:flex;align-items:center;gap:13px}.large-avatar{width:50px;height:50px;font-size:17px}.customer-profile-head>div:nth-child(2){flex:1}.customer-profile-head h2{margin:0 0 3px}.customer-profile-head p{margin:0;color:var(--muted);font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid section{background:#faf9fc;padding:18px;border-radius:12px}.detail-grid h3{font-size:14px}.detail-grid dl{display:grid;grid-template-columns:110px 1fr;font-size:12px;gap:10px}.detail-grid dt{color:var(--muted)}.detail-grid dd{font-weight:650}.mini-product{display:flex;align-items:center;gap:8px;padding:9px;background:#fff;border-radius:8px;margin:6px 0}.mini-product b{flex:1}.mini-product span{font-size:11px}.detail-list article{display:flex;align-items:center;gap:11px;padding:11px;border-bottom:1px solid var(--line)}.detail-list article>span:first-child{width:4px;height:36px;border-radius:3px}.detail-list article>div{flex:1;display:flex;flex-direction:column;gap:4px}.detail-list small{color:var(--muted)}.compose-box{background:#f8f7fa;border-radius:12px;padding:16px;margin-bottom:12px}.note-list article{border:1px solid var(--line);border-radius:10px;padding:13px;margin:7px 0}.note-list p{font-size:13px;margin:0 0 7px}.note-list small{color:var(--muted)}.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.list-pagination>div{display:flex;align-items:center;gap:9px}.list-pagination b{font-size:12px;color:var(--ink)}.list-pagination .button{padding:7px 10px;font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#19152485;z-index:200;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;width:min(530px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:18px;padding:24px;box-shadow:0 30px 80px #140f2340}.modal-wide{width:min(820px,100%)}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal>header h2{font-size:20px;margin:0}body:has(.modal-backdrop){overflow:hidden}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.catalog-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;overflow:hidden;display:flex;flex-direction:column}.catalog-color{position:absolute;inset:0 auto 0 0;width:4px}.catalog-card-top{display:flex;justify-content:space-between;gap:10px}.catalog-card-top small{text-transform:uppercase;font-weight:800;color:var(--muted);font-size:9px}.catalog-card h3{font-size:16px;margin:5px 0}.catalog-card>p{color:var(--muted);font-size:12px;line-height:1.5;min-height:38px}.catalog-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.catalog-meta span{display:flex;align-items:center;gap:5px;font-size:11px;color:#777280}.catalog-meta svg{width:15px}.resource-chips{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0;min-height:25px}.resource-chips span{background:#f4f2f7;border-radius:6px;padding:5px 7px;font-size:9px;display:flex;align-items:center;gap:4px}.resource-chips i{width:6px;height:6px;border-radius:50%}.catalog-card>.button{margin-top:auto}.resource-list{display:flex;flex-direction:column;gap:8px}.resource-list article{display:grid;grid-template-columns:18px 1fr auto auto auto;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);padding:15px 18px;border-radius:12px}.resource-dot{width:12px;height:12px;border-radius:50%}.resource-list h3{margin:0;font-size:14px}.resource-list p{margin:3px 0 0;color:var(--muted);font-size:11px}.resource-list article>span:nth-child(3){font-size:11px;color:var(--muted)}.form-section{border:1px solid var(--line);border-radius:12px;padding:15px;margin:14px 0}.form-section legend{font-size:13px;font-weight:800;padding:0 7px}.form-section>p{color:var(--muted);font-size:12px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.checkbox-grid label{display:flex;align-items:center;gap:8px;padding:9px;border-radius:8px;background:#f8f7fa;font-size:12px}.checkbox-grid input{accent-color:var(--brand)}.checkbox-grid i{width:8px;height:8px;border-radius:50%}.panel-head{display:flex;justify-content:space-between}.panel-head h2{font-size:17px;margin-bottom:5px}.panel-head p{color:var(--muted);font-size:12px}.hours-list>div{display:grid;grid-template-columns:150px 48px 120px 30px 120px;align-items:center;gap:10px;border-top:1px solid var(--line);padding:11px}.hours-list input[type=time]{border:1px solid var(--line);border-radius:8px;padding:8px}.hours-list em{grid-column:3/6;color:var(--muted)}.switch input{display:none}.switch span{display:block;width:36px;height:20px;border-radius:12px;background:#d8d4de;position:relative}.switch span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.15s}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{left:18px}.panel-actions{border-top:1px solid var(--line);padding-top:15px;margin-top:8px}.override-list article{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:14px 4px}.override-icon{width:40px;height:40px;border-radius:10px;background:#fff0ed;color:#cf6548;display:grid;place-items:center}.override-list article>div:nth-child(2){flex:1}.override-list h3{font-size:13px;margin:0}.override-list p{font-size:11px;color:var(--muted);margin:4px 0}.override-list small{color:#918c99}.info-banner{display:flex;align-items:flex-start;gap:12px;background:#eef5ff;color:#315c91;border:1px solid #dbe9fa;border-radius:13px;padding:15px;margin-bottom:18px}.info-banner svg{flex:0 0 auto}.info-banner b{font-size:13px}.info-banner p{font-size:11px;margin:4px 0 0;line-height:1.5}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;position:relative;overflow:hidden}.plan-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--brand)}.plan-card.pass:before{background:#ef8b5c}.plan-top{display:flex;justify-content:space-between}.plan-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#eeeaff;color:var(--brand)}.pass .plan-icon{background:#fff0e8;color:#d66d3d}.plan-card>.eyebrow{display:block;margin-top:17px}.plan-card h2{font-size:19px;margin:6px 0}.plan-card>p{color:var(--muted);font-size:12px;min-height:36px}.plan-price{display:flex;align-items:baseline;gap:6px}.plan-price strong{font-size:25px}.plan-price span{font-size:11px;color:var(--muted)}.plan-credits{display:flex;align-items:center;gap:10px;background:#f8f7fa;border-radius:10px;padding:11px;margin:14px 0}.plan-credits b{font-size:25px;color:var(--brand)}.plan-credits span{font-size:11px}.plan-card ul{padding-left:18px;font-size:11px;color:#6e6977;line-height:1.8}.type-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.type-choice label{border:1px solid var(--line);border-radius:11px;padding:14px;display:flex;align-items:center;gap:10px;cursor:pointer}.type-choice label.selected{border-color:var(--brand);background:#faf8ff}.type-choice input{display:none}.type-choice svg{color:var(--brand)}.type-choice span{display:flex;flex-direction:column}.type-choice small{color:var(--muted);font-size:10px;margin-top:3px}.settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px}.settings-nav{display:flex;flex-direction:column;gap:5px}.settings-nav button{display:flex;align-items:center;gap:11px;text-align:left;border:0;background:transparent;border-radius:10px;padding:12px;color:#77727f}.settings-nav button.active{background:#fff;color:var(--brand);box-shadow:0 4px 15px #2d234612}.settings-nav svg{flex:0 0 auto}.settings-nav span{display:flex;flex-direction:column}.settings-nav b{font-size:12px}.settings-nav small{font-size:9px;color:#9893a0;margin-top:3px}.settings-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;min-height:580px}.settings-heading{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.settings-icon{width:44px;height:44px;border-radius:12px;background:#eeeaff;color:var(--brand);display:grid;place-items:center}.settings-heading h2{font-size:18px;margin:0}.settings-heading p{font-size:11px;color:var(--muted);margin:5px 0 0}.color-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:15px}.color-input{display:flex}.color-input input[type=color]{width:48px;padding:4px;border-radius:9px 0 0 9px}.color-input input:last-child{border-radius:0 9px 9px 0}.brand-preview{border-radius:12px;padding:14px;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.brand-preview span{font-size:9px;opacity:.8}.brand-preview b{margin:3px 0 8px}.brand-preview button{border:0;background:#fff;border-radius:6px;padding:5px 8px;font-size:9px;color:var(--brand)}.setting-check{border:1px solid var(--line);border-radius:11px;padding:14px}.settings-actions{margin:25px -25px -25px;padding:18px 25px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.code-area{font-family:Consolas,monospace;font-size:12px;background:#292538!important;color:#dcd5ee!important}.widget-preview{margin-top:25px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.browser-bar{height:30px!important;background:#efedf2!important;display:flex!important;align-items:center!important;gap:5px!important;padding:0 10px!important}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#d0cbd5}.browser-bar span{background:#fff;border-radius:4px;padding:3px 40px;font-size:8px;color:#aaa}.widget-preview>div:last-child{padding:35px;text-align:center;background:#faf9fc}.widget-preview b{font-size:20px}.widget-preview p{color:var(--muted)}.widget-preview button{border:0;background:var(--brand);color:#fff;padding:10px 15px;border-radius:8px}@media(max-width:1100px){.stat-grid,.catalog-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{flex-wrap:wrap}.view-switch{order:3;width:100%;overflow:auto}.view-switch button{flex:1}.portal-appointment{grid-template-columns:66px 1fr auto}.appointment-actions{grid-column:2/4}.settings-layout{grid-template-columns:210px 1fr}}@media(max-width:760px){.form-grid.two,.detail-grid,.service-grid,.products-grid,.checkbox-grid,.color-fields{grid-template-columns:1fr}.booking-header{height:68px;padding:0 15px}.booking-header>.button{font-size:0;padding:10px}.booking-header>.button:after{content:"Account";font-size:12px}.booking-progress{margin:17px 20px}.booking-progress em{display:none}.booking-card{border-radius:0;border-left:0;border-right:0;padding:23px 16px;box-shadow:none}.booking-page:not(.embedded) .booking-card{min-height:calc(100vh - 170px)}.section-heading h1{font-size:24px}.date-picker{gap:3px}.date-picker>button{width:28px;border:0}.date-strip{gap:3px}.date-strip button{padding:7px 1px}.booking-footer{display:none}.review-summary{align-items:flex-start}.review-summary>strong{position:absolute;right:34px}.booking-success .button-row{flex-direction:column}.booking-success .button{width:100%}.portal-header{padding:0 15px}.portal-user>span{display:none}.portal-main{padding:26px 14px}.portal-hero{align-items:flex-start}.portal-hero h1{font-size:24px}.portal-hero p{font-size:12px}.portal-hero .button{font-size:0;padding:11px}.portal-hero .button svg{margin:0}.next-appointment{padding:17px}.next-appointment>.status{display:none}.portal-appointment{grid-template-columns:52px 1fr;padding:14px;gap:12px}.appointment-price{grid-column:2;align-items:flex-start}.appointment-actions{grid-column:2;flex-wrap:wrap}.tab-nav button{padding:12px 10px}.admin-shell>aside{transform:translate(-100%);width:246px!important}.admin-shell>aside.open{transform:translate(0)}.admin-shell .admin-content,.admin-shell.collapsed .admin-content{margin-left:0}.admin-topbar{height:62px;padding:0 15px}.mobile-menu{display:block;margin-right:auto}.admin-page{padding:20px 13px}.page-header{align-items:flex-start}.page-header h1{font-size:23px}.page-header>.button{font-size:0;padding:10px}.page-header>.button svg{margin:0}.stat-grid,.dashboard-grid{grid-template-columns:1fr}.welcome-panel{padding:20px}.welcome-panel>div:first-child{width:100%}.abstract-calendar,.calendar-scroll{display:none}.calendar-mobile-list{display:block}.calendar-mobile-list>button{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;margin-bottom:6px;display:flex;align-items:center;gap:9px;text-align:left}.calendar-mobile-list>button>span:first-child{width:4px;align-self:stretch}.calendar-mobile-list>button>div{flex:1;display:flex;flex-direction:column}.calendar-mobile-list small{color:var(--muted)}.calendar-toolbar>.toolbar-group:last-child{display:none}.view-switch button:first-child{display:none}.data-table{min-width:750px}.catalog-grid,.plan-grid{grid-template-columns:1fr}.resource-list article{grid-template-columns:16px 1fr auto}.resource-list article>span:nth-child(3){display:none}.hours-list>div{grid-template-columns:1fr 40px 90px 18px 90px;padding:10px 0}.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow:auto}.settings-nav button{min-width:58px;padding:10px;justify-content:center}.settings-nav button span{display:none}.settings-panel{padding:18px}.settings-actions{margin:20px -18px -18px;padding:15px 18px}.modal-backdrop{padding:8px;align-items:end}.modal{max-height:94vh;border-radius:18px 18px 0 0}.modal-wide{width:100%}.customer-profile-head{align-items:flex-start}.type-choice{grid-template-columns:1fr}.button-row{flex-wrap:wrap}}.modal-wide{width:min(1120px,100%)}.appointment-detail{margin:0 -24px -24px}.appointment-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);min-height:590px;border-top:1px solid var(--line)}.appointment-detail-main{padding:26px 28px 32px;border-right:1px solid var(--line)}.appointment-service-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:start;padding-bottom:22px}.appointment-service-hero>img,.appointment-service-hero>span{width:72px;height:72px;border-radius:18px;object-fit:cover;display:grid;place-items:center}.appointment-service-hero>span svg{width:29px;height:29px}.appointment-service-hero h2{font-size:21px;line-height:1.22;margin:4px 0 6px;letter-spacing:-.02em}.appointment-service-hero p{font-size:13px;line-height:1.5;color:var(--muted);margin:0;max-width:560px}.appointment-service-hero>.status{margin-top:2px}.appointment-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.appointment-facts>div{display:flex;align-items:flex-start;gap:10px;min-height:92px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfafd}.appointment-facts>div>svg{width:19px;height:19px;color:var(--brand);flex:0 0 auto}.appointment-facts>div>span{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.appointment-facts small,.appointment-contact-list small,.appointment-customer-title small{font-size:11px;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#8a8694}.appointment-facts b{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.customer-comment{display:flex;gap:12px;padding:14px 16px;margin-bottom:24px;border-radius:12px;background:#fff8ec;color:#675236}.customer-comment>svg{width:19px;flex:0 0 auto;color:#d58a28}.customer-comment small{font-size:11px;font-weight:800;text-transform:uppercase}.customer-comment p{font-size:13px;line-height:1.5;margin:4px 0 0}.appointment-customer-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding-top:23px;border-top:1px solid var(--line)}.appointment-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#f0edf8,#e7e2f3);color:#867e9d}.appointment-avatar svg{width:31px;height:31px}.appointment-customer-title h2{font-size:20px;margin:3px 0 5px}.appointment-customer-title code{font-size:11px;color:#635f6c}.appointment-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 0 72px}.appointment-contact-list>a,.appointment-contact-list>div{display:flex;min-width:0;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff}.appointment-contact-list svg{width:18px;height:18px;flex:0 0 auto;color:var(--brand)}.appointment-contact-list span{display:flex;min-width:0;flex-direction:column;gap:3px}.appointment-contact-list b{font-size:13px;font-weight:700;overflow-wrap:anywhere}.appointment-detail-side{min-width:0;background:#faf9fc}.appointment-detail-section{border-bottom:1px solid var(--line)}.appointment-detail-section>header{height:49px;padding:0 17px;display:flex;align-items:center;gap:9px;background:#fff}.appointment-detail-section>header>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#f1eef9;color:var(--brand)}.appointment-detail-section>header svg{width:16px;height:16px}.appointment-detail-section>header h3{font-size:14px;margin:0;flex:1}.appointment-detail-section>header button{border:0;background:transparent;padding:7px;color:var(--brand);font-size:12px;font-weight:800}.appointment-detail-section>div{padding:15px 17px}.appointment-detail-section p{font-size:13px;line-height:1.5;margin:0}.empty-copy{font-style:italic;color:var(--muted)}.appointment-history{display:flex;flex-direction:column;gap:13px}.appointment-history>div{position:relative;display:grid;grid-template-columns:10px 1fr;gap:10px}.appointment-history>div:not(:last-child):after{content:"";position:absolute;top:13px;bottom:-14px;left:4px;border-left:1px solid #ddd8e6}.appointment-history i{width:9px;height:9px;margin-top:4px;border-radius:50%;background:#4eae84;z-index:1}.appointment-history i.cancelled{background:#d9475c}.appointment-history i.updated{background:#efaa47}.appointment-history span{display:flex;flex-direction:column;gap:2px}.appointment-history b{font-size:12px}.appointment-history small{font-size:12px;line-height:1.35;color:var(--muted)}.appointment-dossier{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appointment-dossier>div{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.appointment-dossier small{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8a8694}.appointment-dossier b{display:block;margin-top:4px;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.appointment-dossier em{display:block;margin-top:6px;font-size:10px;color:#827b8f}.appointment-dossier>.empty-copy{grid-column:1/-1}.appointment-messages{display:flex;flex-direction:column;gap:7px}.appointment-messages>div{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff}.appointment-messages>div>svg{width:17px;height:17px;color:var(--brand)}.appointment-messages span{display:flex;min-width:0;flex-direction:column;gap:2px}.appointment-messages b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-messages small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-detail-actions{position:sticky;bottom:-24px;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appointment-detail-actions>div{display:flex;gap:9px}.appointment-edit-form{padding:3px}.admin-notes-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-notes-detail article{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.admin-notes-detail article.customer-visible{border-color:#d9e7df;background:#f5fbf8}.admin-notes-detail article.internal{border-color:#e2ddec;background:#f8f6fb}.admin-notes-detail article header{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#55505f}.admin-notes-detail article header svg{width:14px;height:14px;color:var(--brand)}.admin-notes-detail article header b{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.admin-notes-detail article p{font-size:13px;line-height:1.45}@media(max-width:920px){.appointment-detail-grid{grid-template-columns:1fr}.appointment-detail-main{border-right:0}.appointment-detail-side{border-top:1px solid var(--line)}}@media(max-width:760px){.appointment-detail{margin:0 -24px -24px}.appointment-detail-main{padding:18px 16px 24px}.appointment-service-hero{grid-template-columns:54px minmax(0,1fr);gap:12px}.appointment-service-hero>img,.appointment-service-hero>span{width:54px;height:54px;border-radius:14px}.appointment-service-hero>.status{grid-column:2}.appointment-service-hero h2{font-size:18px}.appointment-facts{grid-template-columns:1fr}.appointment-facts>div{min-height:0}.appointment-customer-card{grid-template-columns:48px minmax(0,1fr)}.appointment-avatar{width:48px;height:48px;border-radius:14px}.appointment-customer-card>.button{grid-column:1/-1;width:100%}.appointment-contact-list{grid-template-columns:1fr;margin-left:0}.appointment-dossier{grid-template-columns:1fr}.appointment-detail-actions{bottom:-24px;padding:12px 14px;flex-direction:column-reverse}.appointment-detail-actions>.button,.appointment-detail-actions>div,.appointment-detail-actions>div>.button{width:100%}.appointment-detail-actions>div{display:grid;grid-template-columns:repeat(2,1fr)}.appointment-detail-actions>div>.button-danger{grid-column:1/-1}}.appointment-editor{margin:0 -24px -24px;background:#f8f7fb}.appointment-editor>.notice{margin:16px 24px}.appointment-editor-intro{display:flex;align-items:center;gap:14px;padding:20px 24px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.appointment-editor-intro>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eeeaff;color:var(--brand)}.appointment-editor-intro>span svg{width:23px;height:23px}.appointment-editor-intro h2{font-size:19px;margin:2px 0 3px}.appointment-editor-intro p,.appointment-editor-intro small{margin:0}.appointment-editor-intro small{color:var(--muted)}.appointment-editor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 24px}.appointment-editor-stack{display:flex;flex-direction:column;gap:13px}.appointment-editor-section{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:visible}.appointment-editor-section>header{height:48px;display:flex;align-items:center;gap:9px;padding:0 17px;border-bottom:1px solid var(--line)}.appointment-editor-section>header>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f0edfa;color:var(--brand)}.appointment-editor-section>header svg{width:16px;height:16px}.appointment-editor-section>header h3{font-size:14px;margin:0}.appointment-editor-section>div{padding:17px}.appointment-editor-section .field:last-child{margin-bottom:0}.editor-readonly-customer{height:auto;min-height:55px;background:#faf9fc}.appointment-editor-summary{height:max-content;position:sticky;top:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.editor-service-summary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.editor-service-summary>img,.editor-service-summary>span{width:52px;height:52px;border-radius:13px;object-fit:cover;display:grid;place-items:center}.editor-service-summary>div{display:flex;min-width:0;flex-direction:column;gap:2px}.editor-service-summary small{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.editor-service-summary b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-service-summary em{font-size:11px;font-style:normal;color:var(--muted)}.editor-notification-note{display:flex;gap:10px;padding:12px;border-radius:11px;background:#f0f8ff;color:#315f83}.editor-notification-note>svg{width:18px;flex:0 0 auto}.editor-notification-note p{font-size:11px;line-height:1.45;margin:3px 0 0}.appointment-editor-actions{position:sticky;bottom:-24px;z-index:3;display:flex;justify-content:flex-end;gap:9px;padding:15px 24px;border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.resource-choice{margin-top:2px;padding-top:11px;border-top:1px solid var(--line)}.resource-choice-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.resource-choice-title b{font-size:13px}.resource-choice-title small{font-size:12px;color:var(--muted);text-align:right}.resource-availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.resource-availability-card{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;color:var(--ink)}.resource-availability-card>svg,.resource-availability-card>span svg{grid-row:1/3;width:16px;height:16px}.resource-availability-card>b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-availability-card>small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.resource-availability-card.available{border-color:#a8dfc6;background:#f2fbf7}.resource-availability-card.available>svg{color:#23835e}.resource-availability-card.unavailable{border-color:#efbdc5;background:#fff5f6;color:#8d3946;opacity:1;cursor:not-allowed}.resource-availability-card.unavailable>svg{color:#c54a5c}.resource-availability-card.automatic{border-color:#d8d1ef;background:#f8f6ff}.resource-availability-card.automatic span{grid-row:1/3;color:var(--brand)}.resource-availability-card.checking{color:#797482}.resource-availability-card.checking>svg{color:#aaa4b2}.resource-availability-card.selected{box-shadow:0 0 0 2px var(--brand);border-color:var(--brand)}.appointment-notes-editor{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:stretch;gap:9px}.customer-comment-editor{padding:9px 11px;border-radius:10px;background:#fff8ec;border:1px solid #f4dfbd}.customer-comment-editor .field{margin:0}.customer-comment-editor .field>span{color:#765c35}.admin-note-group{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.admin-note-group-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-note-group-title b{font-size:13px}.admin-note-group-title small{font-size:11px;color:var(--muted)}.admin-note-group .field{margin-bottom:0}.appointment-slot-picker{margin-top:2px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.slot-picker-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.slot-picker-title b{font-size:13px}.slot-picker-title small{font-size:12px;color:var(--muted);text-transform:capitalize}.slot-picker-loading .spinner-wrap{min-height:70px}.admin-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(51px,1fr));gap:4px;padding:2px}.admin-time-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:39px;padding:3px 2px;border:1px solid #b8dfcc;border-radius:7px;background:#fff;color:#245c45;line-height:1.1}.admin-time-grid button:hover{border-color:#3b9a70;background:#eaf8f1}.admin-time-grid button.selected{border-color:#247653;background:#247653;color:#fff;box-shadow:0 0 0 2px #24765329}.admin-time-grid button.unavailable,.admin-time-grid button.unavailable:hover{border-color:#efbdc5;background:#fff1f3;color:#9d4653;opacity:1;cursor:not-allowed}.admin-time-grid button.unavailable small{color:#a65a66}.admin-time-grid button.available{border-color:#9fd3ba;background:#effaf5}.admin-time-grid b{font-size:13px}.admin-time-grid small{font-size:10px;color:inherit}.booking-progress-five{max-width:840px}.compact-review{max-width:560px}.identity-card{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#faf9fc}.identity-card .auth-icon{margin:0;flex:0 0 auto}.identity-card>div:last-child{display:flex;flex-direction:column;gap:5px}.identity-card span{color:var(--muted);font-size:13px;line-height:1.45}.booking-customer-card{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#faf9fc}.booking-customer-card>svg{width:35px;height:35px;padding:7px;border-radius:10px;background:#eeeaff;color:var(--brand);flex:0 0 auto}.booking-customer-card>div{display:flex;flex-direction:column;gap:5px}.booking-customer-card b{font-size:16px}.booking-customer-card span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.booking-customer-card span svg{width:14px;height:14px}.verification-callout{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:20px 0;padding:15px;border:1px solid #cfe0f4;border-radius:13px;background:#f2f7fd;text-align:left}.verification-callout>svg{color:#3474ad}.verification-callout>div{display:flex;flex-direction:column;gap:3px}.verification-callout span{font-size:12px;line-height:1.4;color:#597086}.verification-resend{margin:-6px 0 18px;padding:13px;border-radius:11px;background:#f7f5fb}.verification-resend p{margin:0 0 9px;font-size:13px;color:var(--muted);text-align:center}.success-actions{justify-content:center}.success-primary-action{min-width:180px;padding:14px 24px;font-size:15px}.appointment-planning-fields.three{grid-template-columns:minmax(220px,1.35fr) minmax(155px,.7fr) minmax(220px,1fr)}.appointment-planning-fields.four{grid-template-columns:minmax(210px,1.2fr) minmax(190px,1fr) minmax(170px,.8fr) minmax(170px,.8fr)}.localized-date-input{position:relative;display:block}.localized-date-input>input[type=text]{padding-right:38px;pointer-events:none}.localized-date-input>svg{position:absolute;right:11px;top:50%;z-index:1;width:16px;height:16px;color:#6c6877;transform:translateY(-50%);pointer-events:none}.localized-date-input>.localized-date-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.localized-date-input:focus-within>input[type=text]{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.editor-notification-note.inline{align-items:center;margin-top:7px;padding:7px 9px}.editor-notification-note.inline>div{display:flex;align-items:center;gap:8px}.editor-notification-note.inline p{margin:0}.appointment-customer-editor{display:flex;flex-direction:column;gap:10px}.customer-context-loading .spinner-wrap{min-height:90px}.customer-booking-panel{display:grid;gap:6px}.customer-booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.customer-booking-summary>div{display:flex;min-width:0;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#faf9fc}.customer-booking-summary small,.context-heading small{font-size:12px;color:var(--muted)}.customer-booking-summary b{font-size:14px}.customer-booking-summary span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.customer-booking-summary>.customer-booking-contact{gap:6px}.customer-booking-contact>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.customer-booking-contact>header button{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--brand);cursor:pointer}.customer-booking-contact>header button:hover{border-color:var(--brand);background:#f2efff}.customer-booking-contact>header button svg{width:14px;height:14px}.customer-contact-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.customer-contact-lines>span{display:flex;align-items:center;gap:6px;min-width:0;color:var(--ink)}.customer-contact-lines svg{width:15px;height:15px;flex:0 0 auto;color:var(--brand)}.customer-contact-lines b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-booking-contact .field{gap:4px;margin:0}.customer-booking-contact .field>span{font-size:12px}.customer-booking-contact input{padding:7px 9px!important;background:#fff}.customer-booking-contact>span{font-size:11px}.customer-booking-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-booking-data-grid.no-custom-fields{grid-template-columns:1fr}.customer-booking-data-card{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.customer-booking-data-card>header{display:flex;align-items:center;gap:7px;margin-bottom:7px}.customer-booking-data-card>header>svg{width:17px;height:17px;flex:0 0 auto;color:var(--brand)}.customer-booking-data-card>header>div{display:flex;min-width:0;flex-direction:column;gap:1px}.customer-booking-data-card>header b{font-size:13px}.customer-booking-data-card>header small{font-size:11px;color:var(--muted)}.customer-fixed-notes .customer-note-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-fixed-notes .field{gap:4px;margin:0}.customer-fixed-notes .field>span{font-size:12px}.customer-fixed-notes textarea{min-height:58px;padding:7px 9px!important;font-size:13px;line-height:1.3;resize:vertical}.customer-booking-data-card .booking-custom-field-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.customer-booking-data-card .field{gap:4px}.customer-booking-data-card .field>span{font-size:12px}.customer-booking-data-card input,.customer-booking-data-card select{padding:7px 9px!important}.customer-booking-folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-booking-folder{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.customer-booking-folder>summary{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;list-style:none;cursor:pointer}.customer-booking-folder>summary::-webkit-details-marker{display:none}.customer-booking-folder>summary:hover{background:#faf9fc}.customer-booking-folder>summary>svg{width:17px;height:17px;color:var(--brand)}.customer-booking-folder>summary>span{display:flex;min-width:0;flex-direction:column;gap:1px}.customer-booking-folder>summary b{font-size:13px}.customer-booking-folder>summary small{font-size:11px;color:var(--muted)}.customer-booking-folder>summary em{min-width:22px;padding:3px 6px;border-radius:10px;background:#eeeaff;color:var(--brand);font-size:10px;font-style:normal;text-align:center}.customer-booking-folder[open]>summary{border-bottom:1px solid var(--line);background:#faf9fc}.customer-booking-folder-body{padding:10px}.context-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.context-heading b{font-size:14px}.booking-custom-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 10px}.booking-custom-field-grid>.field,.booking-custom-field-grid>.check-row{margin:0}.existing-customer-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;margin-bottom:9px}.existing-customer-notes article{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#faf9fc}.existing-customer-notes article>span{display:flex;align-items:center;gap:6px;color:var(--brand)}.existing-customer-notes article svg{width:14px;height:14px}.existing-customer-notes article b{font-size:12px}.existing-customer-notes article p{margin:5px 0 0;font-size:13px;line-height:1.4}.customer-note-entry{gap:10px}.customer-note-entry .field{margin:0}.customer-note-entry textarea{min-height:64px;resize:vertical}.customer-notes-detail{display:grid;gap:7px}.customer-notes-detail article{padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#faf9fc}.customer-notes-detail article header{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:5px}.customer-notes-detail article header svg{width:14px;height:14px;color:var(--brand)}.customer-notes-detail article header b{font-size:12px}.customer-notes-detail article time,.customer-notes-detail article>small{font-size:11px;color:var(--muted)}.customer-notes-detail article p{margin:6px 0 3px;font-size:13px;line-height:1.4}.no-slots{display:flex;align-items:center;justify-content:center;gap:9px;min-height:66px;color:#a33d4d}.no-slots>svg{width:20px}.no-slots>span{display:flex;flex-direction:column}.no-slots b{font-size:13px}.no-slots small{font-size:11px;margin-top:2px}.admin-note-fields .field{margin-bottom:0}.cancel-appointment-panel{text-align:center}.cancel-appointment-panel>svg{width:56px;height:56px;padding:13px;border-radius:50%;background:#ffeaed;color:#c63d52}.cancel-appointment-panel h3{margin:14px 0 8px}.cancel-appointment-panel>p{font-size:13px;line-height:1.55;color:var(--muted)}.cancel-appointment-panel .field{text-align:left;margin-top:18px}.form-section>legend{display:flex;align-items:center;gap:7px}.form-section>legend svg{width:16px;color:var(--brand)}@media(max-width:820px){.appointment-editor-grid{grid-template-columns:1fr}.appointment-editor-summary{position:static}}@media(max-width:760px){.appointment-editor{margin:0 -24px -24px}.appointment-editor-intro{padding:16px}.appointment-editor-grid{padding:12px 10px}.appointment-editor-section>div{padding:14px}.appointment-editor-actions{bottom:-24px;padding:12px 14px}.appointment-editor-actions>.button{flex:1}.resource-availability-grid{grid-template-columns:1fr 1fr}.admin-note-group-title{flex-direction:column;gap:2px}}.modal:has(.appointment-detail),.modal:has(.appointment-editor){padding:18px;max-height:calc(100vh - 20px)}.modal:has(.appointment-detail)>header,.modal:has(.appointment-editor)>header{margin-bottom:12px}.modal:has(.appointment-detail)>header h2,.modal:has(.appointment-editor)>header h2{font-size:18px}.appointment-detail{margin:0 -18px -18px}.appointment-detail-grid{min-height:0}.appointment-detail-main{padding:18px 20px 20px}.appointment-service-hero{grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding-bottom:14px}.appointment-service-hero>img,.appointment-service-hero>span{width:56px;height:56px;border-radius:14px}.appointment-service-hero>span svg{width:23px;height:23px}.appointment-service-hero h2{font-size:18px;margin:2px 0 4px}.appointment-service-hero p{font-size:13px;line-height:1.45}.appointment-facts{gap:7px;margin-bottom:12px}.appointment-facts>div{gap:7px;min-height:65px;padding:10px;border-radius:10px}.appointment-facts>div>svg{width:16px;height:16px}.appointment-facts>div>span{gap:3px}.appointment-facts small,.appointment-contact-list small,.appointment-customer-title small{font-size:11px}.appointment-facts b{font-size:13px}.customer-comment{gap:8px;padding:10px 12px;margin-bottom:13px;border-radius:10px}.customer-comment>svg{width:16px}.customer-comment small{font-size:11px}.customer-comment p{font-size:13px;line-height:1.45;margin-top:3px}.appointment-customer-card{grid-template-columns:45px minmax(0,1fr) auto;gap:10px;padding-top:13px}.appointment-avatar{width:45px;height:45px;border-radius:13px}.appointment-avatar svg{width:24px;height:24px}.appointment-customer-title h2{font-size:17px;margin:2px 0 3px}.appointment-contact-list{gap:7px;margin:10px 0 0 55px}.appointment-contact-list>a,.appointment-contact-list>div{gap:7px;padding:8px 9px;border-radius:9px}.appointment-contact-list svg{width:16px;height:16px}.appointment-contact-list b{font-size:13px}.appointment-detail-section>header{height:39px;padding:0 12px;gap:7px}.appointment-detail-section>header>span{width:23px;height:23px}.appointment-detail-section>header svg{width:14px;height:14px}.appointment-detail-section>header h3{font-size:14px}.appointment-detail-section>header button{padding:5px;font-size:12px}.appointment-detail-section>div{padding:9px 12px}.appointment-history{gap:8px}.appointment-history>div:not(:last-child):after{bottom:-9px}.appointment-history b,.appointment-history small{font-size:12px}.appointment-dossier{gap:6px}.appointment-dossier>div{padding:7px 8px;border-radius:8px}.appointment-dossier small{font-size:10px}.appointment-dossier b{margin-top:2px;font-size:13px}.appointment-dossier em{margin-top:3px;font-size:10px}.appointment-messages{gap:5px}.appointment-messages>div{grid-template-columns:22px minmax(0,1fr) auto;gap:6px;padding:6px;border-radius:8px}.appointment-messages>div>svg{width:15px;height:15px}.appointment-messages b{font-size:12px}.appointment-messages small{font-size:10px}.appointment-detail-actions{bottom:-18px;padding:10px 18px}.appointment-detail-actions .button{padding:8px 12px;font-size:13px}.appointment-detail-actions svg{width:16px}.appointment-detail-editor{background:#f8f7fb}.detail-editor-customer{display:grid;gap:8px}.detail-editor-customer-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}.detail-editor-customer-head .appointment-avatar{width:38px;height:38px;border-radius:10px}.detail-editor-customer-head .appointment-avatar svg{width:22px}.detail-editor-customer-head small{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.detail-editor-customer-head h2{font-size:16px;margin:2px 0 0}.detail-editor-customer-head .button{padding:7px 10px;font-size:12px}.detail-editor-contact>div{padding:7px 10px}.detail-editor-dossier{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.detail-editor-dossier>div{padding:7px 8px}.detail-fixed-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.detail-fixed-note-grid article{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#faf9fc}.detail-fixed-note-grid span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:var(--brand)}.detail-fixed-note-grid span svg{width:13px;height:13px}.detail-fixed-note-grid p{margin:5px 0 0;font-size:12px;line-height:1.35;color:var(--ink);white-space:pre-wrap}.detail-editor-service{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:9px}.detail-editor-service>img,.detail-editor-service>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;object-fit:cover}.detail-editor-service>span svg{width:20px}.detail-editor-service small{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.detail-editor-service h2{font-size:15px;margin:1px 0}.detail-editor-service p{font-size:11px;margin:0;color:var(--muted)}.detail-editor-facts{display:grid;gap:7px}.detail-editor-facts.three{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-editor-facts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-editor-facts>div{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#faf9fc}.detail-editor-facts>div>svg{width:16px;height:16px;flex:0 0 auto;color:var(--brand)}.detail-editor-facts span{display:flex;min-width:0;flex-direction:column;gap:3px}.detail-editor-facts small{font-size:10px;text-transform:uppercase;color:var(--muted)}.detail-editor-facts b{font-size:12px}.detail-editor-comment{margin:8px 0 0;padding:8px 10px}.detail-editor-comment p{font-size:12px}.appointment-detail-editor-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appointment-detail-editor-lower>.appointment-editor-section{min-width:0}.appointment-detail-editor-lower .appointment-history,.appointment-detail-editor-lower .appointment-messages{max-height:190px;overflow:auto}.appointment-editor{margin:0 -18px -18px}.appointment-editor-intro{gap:8px;padding:6px 18px}.appointment-editor-intro>span{width:28px;height:28px;border-radius:8px}.appointment-editor-intro>span svg{width:16px;height:16px}.appointment-editor-intro h2{font-size:14px;margin:0}.appointment-editor-intro .eyebrow{font-size:8px}.appointment-editor-intro small{font-size:10px}.appointment-editor-intro small{display:none}.appointment-editor-grid{gap:10px;padding:8px 18px}.appointment-editor-stack{display:flex;flex-direction:column;gap:8px}.appointment-editor-section{border-radius:11px}.appointment-editor-section>header{height:37px;padding:0 11px;gap:7px}.appointment-editor-stack>.appointment-editor-section:first-child>header{display:none}.appointment-editor-stack>.appointment-editor-section:first-child>div{padding:7px 11px 8px}.appointment-editor-stack>.appointment-editor-section:nth-child(2)>header{height:31px}.appointment-editor-section>header>span{width:25px;height:25px}.appointment-editor-section>header svg{width:15px;height:15px}.appointment-editor-section>header h3{font-size:14px}.appointment-editor-section>div{padding:10px 11px}.appointment-editor .field{gap:5px;margin-bottom:10px}.appointment-editor .field>span{font-size:13px}.appointment-editor .field small{font-size:11px}.appointment-editor .field input,.appointment-editor .field select,.appointment-editor .field textarea{border-radius:8px;padding:9px 10px;font-size:13px}.appointment-editor-summary{padding:10px;border-radius:11px}.editor-service-summary{grid-template-columns:40px minmax(0,1fr) auto;gap:8px;padding-bottom:10px;margin-bottom:10px}.editor-service-summary>img,.editor-service-summary>span{width:40px;height:40px;border-radius:10px}.editor-service-summary small{font-size:10px}.editor-service-summary b{font-size:13px}.editor-service-summary em{font-size:11px}.editor-service-summary strong{font-size:14px}.editor-notification-note{gap:8px;padding:10px;border-radius:9px}.editor-notification-note>svg{width:17px}.editor-notification-note b{font-size:12px}.editor-notification-note p{font-size:11px}.appointment-editor-actions{bottom:-18px;padding:10px 18px}.appointment-editor-actions .button{padding:8px 12px;font-size:13px}.portal-appointment-note{align-items:flex-start!important}.portal-appointment-note span{display:flex;flex-direction:column}.portal-appointment-note small{font-size:10px!important;font-weight:800;text-transform:uppercase;color:var(--muted)}.portal-appointment-note.admin-visible{padding:6px 8px;border-radius:8px;background:#f2fbf7;color:#315e4c}@media(max-width:920px){.appointment-detail-grid{max-height:calc(100vh - 145px);overflow-y:auto}.appointment-planning-fields.three,.appointment-planning-fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.modal:has(.appointment-detail),.modal:has(.appointment-editor){padding:14px}.appointment-detail,.appointment-editor{margin:0 -14px -14px}.appointment-detail-main{padding:14px}.appointment-detail-grid{max-height:none;overflow:visible}.admin-notes-detail,.appointment-notes-editor{grid-template-columns:1fr}.appointment-editor-grid{padding:8px}.appointment-planning-fields.three,.appointment-planning-fields.four,.customer-booking-summary,.customer-note-entry,.customer-contact-fields,.customer-contact-lines,.customer-booking-folders,.customer-booking-data-grid,.customer-fixed-notes .customer-note-entry,.detail-fixed-note-grid,.detail-editor-facts.three,.detail-editor-facts.two,.appointment-detail-editor-lower{grid-template-columns:1fr}.detail-editor-customer-head{grid-template-columns:36px minmax(0,1fr)}.detail-editor-customer-head .button{grid-column:2;width:max-content}.booking-custom-field-grid{grid-template-columns:1fr}.admin-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-availability-grid{grid-template-columns:1fr}.appointment-detail-actions,.appointment-editor-actions{bottom:-14px}}.day-column.clickable{cursor:crosshair}.calendar-event{display:block;padding:5px 7px;white-space:nowrap;overflow:hidden}.calendar-event>b{display:block;line-height:15px}.calendar-event:hover{overflow:visible}.calendar-event>.event-tooltip{display:none;position:absolute;left:4px;top:calc(100% + 7px);z-index:30;width:245px;padding:12px;border-radius:10px;background:#282432;color:#fff;box-shadow:0 12px 32px #1914234d;white-space:normal;text-decoration:none}.calendar-event:hover>.event-tooltip{display:flex;flex-direction:column;gap:4px}.calendar-event>.event-tooltip:before{content:"";position:absolute;top:-5px;left:16px;width:10px;height:10px;transform:rotate(45deg);background:#282432}.calendar-event>.event-tooltip strong{font-size:12px}.calendar-event>.event-tooltip em{font-style:normal;font-size:11px;color:#e2dceb}.calendar-event>.event-tooltip small{font-size:10px;color:#bbb3c6;white-space:normal;overflow:visible}.month-picker-wrap{position:relative}.month-picker{position:absolute;left:0;top:calc(100% + 8px);z-index:40;width:330px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;box-shadow:0 18px 45px #221b312e}.month-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;text-transform:capitalize}.month-picker header button{border:0;background:#f3f0f6;border-radius:7px;width:30px;height:30px}.month-picker header svg{width:16px}.month-weekdays,.month-row{display:grid;grid-template-columns:32px repeat(7,1fr);gap:3px;text-align:center}.month-weekdays span{padding:5px 0;font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted)}.month-row button{height:32px;border:0;border-radius:7px;background:transparent;font-size:11px}.month-row button:hover{background:#eeeaff;color:var(--brand)}.month-row .week-button{font-size:9px;color:var(--brand);background:#f7f5fa}.month-row .outside{color:#c0bbc5}.month-row .today{background:var(--brand);color:#fff}.month-picker>p{font-size:9px;color:var(--muted);margin:9px 3px 1px}.customer-search{position:relative}.customer-results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:50;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px #1e192826;overflow:hidden}.customer-results>button{display:flex;flex-direction:column;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.customer-results>button:hover,.customer-results>button.active{background:#eeeaff;color:var(--brand)}.customer-results small,.selected-customer small,.readonly-customer small{color:var(--muted)}.customer-results>span{display:block;padding:12px;color:var(--muted)}.selected-customer,.readonly-customer{height:43px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:6px 10px}.selected-customer>svg,.readonly-customer>svg{color:var(--brand);width:20px}.selected-customer>span,.readonly-customer>span{display:flex;flex:1;flex-direction:column}.selected-customer>button{border:0;background:transparent;color:var(--brand);font-size:12px}.date-strip button.closed-day{border-color:#efc7c7;background:#fff5f5;color:#b75050}.date-strip button.closed-day b{color:#a73f3f}.date-strip button.closed-day.selected,.date-strip button.closed-day:hover{background:#b74f4f;color:#fff}.closed-day-notice{display:flex;align-items:center;gap:12px;margin:15px 0;padding:15px;border:1px solid #efcece;border-radius:11px;background:#fff6f6;color:#9d4242}.closed-day-notice>svg{width:25px}.closed-day-notice>div{display:flex;flex-direction:column}.closed-day-notice span{font-size:11px;margin-top:3px}.time-grid.selectable button.selected{background:var(--brand);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)}.breaks-panel{margin-top:15px}.break-list{border-top:1px solid var(--line)}.break-row{display:grid;grid-template-columns:28px 125px minmax(100px,1fr) 105px 24px 105px minmax(140px,1fr) 36px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.break-row>svg{color:#a26a35}.break-row input,.break-row select{min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.sticky-actions{display:flex;justify-content:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:15px 0}.icon-button.danger{color:#c55353}.superadmin-page{min-height:100vh;background:#f6f4f8;padding:42px max(24px,calc((100vw - 1180px)/2))}.superadmin-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.superadmin-header h1{font-size:32px;margin:5px 0}.superadmin-header p{color:var(--muted)}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.tenant-card{display:grid;grid-template-columns:46px 1fr;gap:13px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.tenant-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#eeeaff;color:var(--brand)}.tenant-card h2{margin:3px 0;font-size:18px}.tenant-card p{font-size:11px;color:var(--muted)}.tenant-stats,.tenant-links{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.tenant-stats span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.tenant-stats svg{width:15px}.tenant-stats code{font-size:16px;font-weight:800;color:var(--brand)}.tenant-links a{display:flex;gap:5px;align-items:center;font-size:11px;font-weight:700}.tenant-links svg{width:13px}.resource-availability-panel{margin-top:15px}.resource-availability-panel>.field{max-width:420px;margin:18px 0}.resource-inherit{margin:16px 0}.resource-breaks-heading,.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0 10px}.resource-breaks-heading h3,.section-toolbar b{font-size:14px;margin:0}.resource-breaks-heading p,.section-toolbar p{font-size:11px;color:var(--muted);margin:4px 0 0}.resource-availability-panel .break-row{grid-template-columns:28px 125px minmax(120px,1fr) 105px 24px 105px 36px}.customer-fields-settings .settings-heading{margin-bottom:14px}.customer-fields-settings .resource-list{margin-top:8px}.customer-fields-settings .section-toolbar{margin-top:0}.button:disabled{opacity:.5;cursor:not-allowed}.resource-modal-tabs{margin:-8px 0 20px}.resource-settings-availability{min-height:360px}.resource-availability-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.resource-availability-intro h3{font-size:16px;margin:0}.resource-availability-intro p{font-size:12px;color:var(--muted);margin:4px 0 0}.resource-break-row{grid-template-columns:28px 125px minmax(120px,1fr) 105px 24px 105px 36px!important}@media(max-width:900px){.break-row{grid-template-columns:28px 1fr 1fr}.break-row>span{display:none}.break-row select:last-of-type{grid-column:2/4}.superadmin-header{align-items:flex-start;gap:15px}.month-picker{left:auto;right:0}}@media(max-width:760px){.month-picker-wrap{position:static}.calendar-toolbar{position:relative}.month-picker{left:8px;right:8px;top:52px;width:auto}.break-row{grid-template-columns:26px 1fr}.break-row>*{grid-column:auto!important}.break-row select:last-of-type{grid-column:1/3!important}.superadmin-page{padding:24px 14px}.superadmin-header{flex-direction:column}.tenant-grid{grid-template-columns:1fr}.date-strip button.closed-day em{font-size:8px}}.impersonation-banner{position:fixed;z-index:120;left:0;right:0;top:0;min-height:48px;background:#2f2850;color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;padding:7px 16px}.impersonation-banner~aside,.impersonation-banner~.admin-content{margin-top:48px}.platform-tabs{margin-bottom:18px}.platform-search{margin:0 0 18px}.tenant-actions{grid-column:1/3;display:flex;gap:8px;border-top:1px solid var(--line);padding-top:12px}.platform-settings,.profile-panel{max-width:820px;margin:auto}.nested-modal{position:absolute;top:20px;right:20px;bottom:20px;left:20px;z-index:2;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;overflow:auto;box-shadow:0 15px 50px #19142333}.nested-modal.contact-modal,.nested-modal.customer-product-modal{inset:50% auto auto 50%;width:min(650px,calc(100% - 32px));max-height:calc(100% - 32px);transform:translate(-50%,-50%);padding:18px}.nested-modal .section-title>div>p{margin:3px 0 0;font-size:12px;color:var(--muted)}.inline-heading{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.role-pill{display:inline-flex;align-items:center;gap:5px}.role-pill svg{width:14px}.quick-customer{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:14px;background:#faf9fc}.quick-customer-actions{display:flex;gap:6px;margin-top:7px}.quick-customer-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;display:flex;align-items:center;gap:5px}.quick-customer-actions svg{width:14px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.analytics-panel h2,.customer-mix h2{font-size:15px;margin:0}.analytics-panel>p{font-size:11px;color:var(--muted)}.bar-list{display:flex;flex-direction:column;gap:8px}.bar-list>div{display:grid;grid-template-columns:45px 1fr 28px;align-items:center;gap:8px;font-size:10px}.bar-list i{height:8px;background:var(--brand);border-radius:5px}.revenue-bars{height:125px;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line);padding-top:10px}.revenue-bars i{flex:1;min-width:5px;background:linear-gradient(var(--brand),var(--accent));border-radius:4px 4px 0 0}.metric-panel{display:flex;flex-direction:column;gap:5px}.metric-panel>svg{color:var(--brand)}.metric-panel>strong{font-size:34px}.progress{height:9px;background:#eeeaf2;border-radius:6px;overflow:hidden}.progress i{display:block;height:100%;background:var(--brand)}.customer-mix>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.customer-mix span{display:grid;grid-template-columns:30px 1fr;align-items:center;background:#f7f5fa;border-radius:10px;padding:12px}.customer-mix svg{grid-row:1/3;color:var(--brand)}.customer-mix b{font-size:21px}.customer-mix small{color:var(--muted)}.documentation-form{display:flex;flex-direction:column;gap:12px;padding:16px 2px}.documentation-check{padding:12px;border:1px solid var(--line);border-radius:9px}.catalog-image{width:calc(100% + 38px);height:130px;object-fit:cover;margin:-19px -19px 14px}.service-image{width:105px;height:100%;object-fit:cover;align-self:stretch}.availability-save{display:flex;justify-content:flex-end;margin:-6px 0 18px}.link-button{border:0;background:none;color:var(--brand);padding:0;font:inherit;cursor:pointer}@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.nested-modal{top:8px;right:8px;bottom:8px;left:8px}}@media(max-width:760px){.portal-appointment{padding:10px;gap:8px;grid-template-columns:42px 1fr}.portal-appointment .appointment-date{width:42px}.portal-appointment h3{font-size:13px;margin:0}.portal-appointment p,.portal-appointment small{font-size:10px}.appointment-actions{gap:5px}.appointment-actions .button{padding:7px 9px;font-size:10px}.service-image{width:76px}.impersonation-banner{justify-content:space-between;font-size:11px}.impersonation-banner .button{padding:6px 8px;font-size:10px}.tenant-actions{flex-wrap:wrap}.quick-customer-actions{flex-direction:column}}.approval-hint{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:7px;background:#fff4d8;color:#8a5a00;font-weight:700}.success-check.pending{background:#fff4d8;color:#a56a00}.customer-cancel-summary{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf9fc;margin-bottom:16px}.customer-cancel-summary>svg{width:22px;color:var(--brand)}.customer-cancel-summary>div{display:flex;flex-direction:column;gap:3px}.customer-cancel-summary span{font-size:12px;color:var(--muted)}.campaign-list{display:flex;flex-direction:column;gap:10px}.campaign-list>article{display:grid;grid-template-columns:48px minmax(0,1fr) 190px auto;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.campaign-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eeeaff;color:var(--brand)}.campaign-icon svg{width:20px}.campaign-main>div{display:flex;align-items:center;gap:10px}.campaign-main>div>span:last-child{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.campaign-main>div>span:last-child svg{width:13px}.campaign-main h3{margin:8px 0 3px}.campaign-main p{margin:0;color:#5f5968;font-size:13px}.campaign-main small{display:block;margin-top:7px;color:var(--muted)}.campaign-results{display:flex;flex-direction:column}.campaign-results strong{font-size:23px}.campaign-results span{font-size:10px;color:var(--muted)}.campaign-actions{display:flex;gap:5px}.campaign-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:22px}.campaign-editor-grid aside{border:1px solid var(--line);border-radius:14px;padding:18px;background:#f9f8fb}.campaign-editor-grid aside h3{margin:7px 0 14px}.campaign-editor-grid iframe{width:100%;height:350px;border:1px solid var(--line);border-radius:9px;background:#fff}.campaign-send-confirm{text-align:center}.campaign-send-confirm>svg{width:52px;height:52px;padding:14px;border-radius:50%;background:#eeeaff;color:var(--brand)}.campaign-send-confirm h3{margin:14px 0 6px}.campaign-send-confirm p{color:var(--muted);line-height:1.6}.status-sent{background:#e5f6ed;color:#167050}.status-draft{background:#f0edf5;color:#625b6c}.status-sending{background:#fff4d8;color:#986200}.status-failed{background:#fde9ec;color:#a1263a}@media(max-width:900px){.campaign-list>article{grid-template-columns:42px 1fr}.campaign-results,.campaign-actions{grid-column:2}.campaign-editor-grid{grid-template-columns:1fr}.campaign-editor-grid aside{display:none}}.revenue-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.revenue-summary span{display:flex;flex-direction:column;background:#f7f5fa;border-radius:8px;padding:9px}.revenue-summary small{color:var(--muted);font-size:9px}.revenue-summary b{font-size:13px;margin-top:3px}.service-card{display:flex;align-items:stretch;gap:14px}.service-thumb{width:105px;min-height:110px;flex:0 0 auto;border-radius:10px;overflow:hidden;display:grid;place-items:center;margin:-8px 0}.service-thumb .service-image{width:100%;height:100%;object-fit:cover}.service-main{min-width:0;flex:1}.catalog-image-placeholder{width:calc(100% + 38px);height:130px;margin:-19px -19px 14px;background:#f2eff7;color:#aaa3b4;display:grid;place-items:center}.catalog-image-placeholder svg{width:34px;height:34px}.image-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.image-preview,.image-empty{width:180px;height:110px;border:1px solid var(--line);border-radius:11px;overflow:hidden;position:relative;background:#f7f5fa}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview button{position:absolute;right:7px;top:7px;width:30px;height:30px;border:0;border-radius:8px;background:#1e1928bf;color:#fff;display:grid;place-items:center}.image-preview button svg{width:15px}.image-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:11px;gap:6px}.image-empty svg{width:27px}.availability-ok{color:#187256!important}.availability-busy{color:#a62e42!important}.readonly-customer{height:auto;min-height:43px}.readonly-customer .link-button{margin-left:auto;white-space:nowrap}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h3{margin:0}.section-title>button:not(.button){border:0;background:transparent;font-size:24px}.customer-danger{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.customer-appointment-action{display:flex;justify-content:flex-end;padding:14px 0}.mini-product-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:#eeeaff;color:var(--brand)}.mini-product-icon svg{width:15px}.selected-plan-summary{display:flex;align-items:center;gap:10px;padding:11px;margin:8px 0 13px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.selected-plan-summary>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#eeeaff;color:var(--brand)}.selected-plan-summary>span svg{width:18px}.selected-plan-summary>div{display:flex;flex-direction:column;gap:3px}.selected-plan-summary small{color:var(--muted)}.customer-note-compose-grid,.customer-note-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}.customer-note-compose-grid>section,.customer-note-columns>section{padding:13px;border:1px solid var(--line);border-radius:11px;background:#faf9fc}.customer-note-compose-grid header,.customer-note-columns>section>header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.customer-note-compose-grid header>svg,.customer-note-columns>section>header>svg{width:18px;color:var(--brand)}.customer-note-compose-grid header>div{display:flex;flex-direction:column;gap:2px}.customer-note-compose-grid header b,.customer-note-columns h3{font-size:14px;margin:0}.customer-note-compose-grid header small{font-size:11px;color:var(--muted)}.customer-note-compose-grid textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;resize:vertical;margin-bottom:8px}.customer-note-compose-grid .button{width:100%}.customer-note-columns>section>header>span{margin-left:auto;min-width:24px;padding:3px 7px;border-radius:10px;background:#eeeaff;color:var(--brand);text-align:center;font-size:11px}.customer-note-columns .note-list article{background:#fff}.note-actions{display:flex;gap:10px;margin-top:9px}.note-actions button{border:0;background:transparent;color:var(--brand);padding:0;font-size:11px;display:flex;gap:4px;align-items:center}.note-actions button:last-child{color:#b23c4e}.note-actions svg{width:13px}.plan-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}.plan-actions .button{padding:8px 10px;font-size:10px}.plan-actions .button svg{width:15px}.plan-actions .button:last-child{color:#b23c4e;margin-left:auto}@media(max-width:760px){.customer-note-compose-grid,.customer-note-columns{grid-template-columns:1fr}.nested-modal.contact-modal,.nested-modal.customer-product-modal{width:calc(100% - 16px);max-height:calc(100% - 16px);padding:14px}}@media(max-width:760px){.list-pagination{align-items:flex-start;flex-direction:column}.list-pagination>div{width:100%;justify-content:space-between}.list-pagination b{font-size:11px}}@media(max-width:760px){.service-grid{gap:8px}.service-card{min-height:0;padding:9px 34px 9px 12px;gap:10px;border-radius:12px;align-items:center}.service-thumb{width:62px;height:62px;min-height:62px;margin:0;border-radius:8px}.service-card h3{font-size:14px;margin:2px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-category{font-size:9px}.service-card p{display:none}.service-meta{margin:0;justify-content:flex-start;gap:14px}.service-meta span{font-size:11px}.service-meta strong{font-size:13px}.service-arrow{right:9px;width:16px}.image-preview,.image-empty{width:100%;height:150px}.readonly-customer{align-items:flex-start;flex-wrap:wrap}.readonly-customer .link-button{width:100%;text-align:left;margin-left:29px}.plan-actions .button{flex:1}.plan-actions .button:last-child{flex:0 0 auto}}@media(max-width:760px){.booking-progress-five{margin-left:12px;margin-right:12px}.verification-callout{grid-template-columns:auto 1fr}.verification-callout .button{grid-column:1/-1;width:100%}.identity-card{align-items:flex-start}.booking-customer-card{padding:13px}}.portal-brand-logo{width:38px;height:38px;border-radius:11px;object-fit:cover}.portal-user .portal-mobile-menu-button,.pwa-bottom-nav{display:none}.sidebar-profile{display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;margin:12px 11px 0;padding:10px;border-radius:10px;color:#fff;background:#ffffff12}.sidebar-profile>span:nth-child(2){min-width:0}.sidebar-profile b,.sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile b{font-size:12px}.sidebar-profile small{font-size:10px;color:#aaa5ba;margin-top:3px}.sidebar-profile>svg{width:16px;color:#aaa5ba}.sidebar-bottom a{height:44px;border-radius:9px;display:flex;align-items:center;gap:12px;padding:0 13px;color:#aaa5ba;font-size:13px;font-weight:650;width:100%;white-space:nowrap}.sidebar-bottom a:hover{background:#ffffff14;color:#fff}.admin-shell.collapsed .sidebar-profile{grid-template-columns:38px;justify-content:center}.admin-shell.collapsed .sidebar-profile>span:nth-child(2),.admin-shell.collapsed .sidebar-profile>svg,.admin-shell.collapsed .sidebar-bottom a span{display:none}.admin-shell.collapsed .sidebar-bottom a{justify-content:center}.admin-content{min-height:100vh}.admin-floating-menu{position:fixed;top:12px;left:12px;z-index:25;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 18px #14121e1f}.profile-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-settings-grid .profile-panel{max-width:none;margin:0}.role-settings-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.service-override-row{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:end;margin-bottom:12px}.service-override-row>label,.service-override-check>label:first-child{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding-bottom:12px}.service-override-check{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:center}.service-override-check .check-row{margin:0}@media(max-width:760px){.admin-floating-menu{display:block}.admin-page{padding-top:66px}.profile-settings-grid{grid-template-columns:1fr}.service-override-row,.service-override-check{grid-template-columns:1fr;gap:3px}.service-override-row>label,.service-override-check>label:first-child{padding-bottom:0}.sidebar-profile{grid-template-columns:38px 1fr 18px}}.notice-balloon{position:fixed;z-index:500;top:18px;right:18px;width:min(390px,calc(100vw - 36px));margin:0;box-shadow:0 18px 50px #19142338;border:1px solid color-mix(in srgb,currentColor 16%,transparent);animation:notice-in .22s ease-out}@keyframes notice-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}.appointment-alert-stack{position:fixed;z-index:180;right:20px;top:20px;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px}.appointment-alert{position:relative;display:grid;grid-template-columns:34px 1fr;gap:2px 10px;padding:15px 42px 14px 14px;border:1px solid #e5ddea;border-left:5px solid var(--brand);border-radius:14px;background:#fff;box-shadow:0 18px 55px #1914233b;animation:notice-in .22s ease-out}.appointment-alert>svg{grid-row:1/4;width:20px;height:20px;margin:4px auto;color:var(--brand)}.appointment-alert>strong{font-size:14px}.appointment-alert>span{font-size:12px;color:var(--muted)}.appointment-alert>button:not(.alert-link){position:absolute;right:8px;top:8px;border:0;background:transparent;color:#77717f;padding:5px}.appointment-alert>button svg{width:15px}.appointment-alert .alert-link{justify-self:start;display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--brand) 20%,transparent);border-radius:9px;background:color-mix(in srgb,var(--brand) 8%,white);color:var(--brand);font-size:11px;font-weight:850;line-height:1;white-space:nowrap;box-shadow:0 3px 10px color-mix(in srgb,var(--brand) 10%,transparent);transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.appointment-alert .alert-link:hover{background:color-mix(in srgb,var(--brand) 13%,white);box-shadow:0 5px 15px color-mix(in srgb,var(--brand) 16%,transparent);transform:translateY(-1px)}.appointment-alert .alert-link svg{width:15px;height:15px;flex:0 0 auto}.appointment-alert-cancelled{border-left-color:#d9475c}.appointment-alert-created{border-left-color:#25a16f}.calendar-event.notification-highlight,.calendar-mobile-list>button.notification-highlight{z-index:12;opacity:1;outline:3px solid #ffb020;box-shadow:0 0 0 6px #ffb0203d,0 12px 30px #5d37004d;animation:appointment-highlight-pulse 1s ease-in-out infinite alternate}.calendar-mobile-list>button.notification-highlight{position:relative;border-radius:10px}@keyframes appointment-highlight-pulse{0%{filter:saturate(1);transform:scale(1)}to{filter:saturate(1.2);transform:scale(1.015)}}.sidebar-bottom .sidebar-profile{margin:6px 0;padding:8px 12px;background:#ffffff12}.sidebar-bottom{display:grid;gap:10px;padding:12px 10px 10px}.sidebar-utility{padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-bottom .booking-page-link{height:36px;padding:0 10px;border-radius:8px;color:#aaa5ba;font-size:12px}.sidebar-bottom .booking-page-link svg{width:16px}.sidebar-bottom .booking-page-link:hover{background:#ffffff0f;color:#fff}.sidebar-account-block{display:grid;gap:4px}.sidebar-bottom .sidebar-profile{grid-template-columns:36px minmax(0,1fr) 28px;gap:9px;margin:0;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#ffffff0e;transition:.16s}.sidebar-bottom a.sidebar-profile:hover{border-color:#ffffff26;background:#ffffff1a}.sidebar-bottom .sidebar-profile .user-avatar{width:36px;height:36px;border-radius:10px;font-size:12px}.sidebar-profile-copy{min-width:0}.sidebar-profile-copy b,.sidebar-profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-copy b{font-size:12px;color:#fff}.sidebar-profile-copy small{margin-top:3px;font-size:9px;color:#aaa5ba}.sidebar-profile-action{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#ffffff0f;color:#aaa5ba}.sidebar-profile-action svg{width:14px;height:14px}.sidebar-bottom .sidebar-logout{height:38px;padding:0 10px;color:#b8b2c6;font-size:12px}.sidebar-bottom .sidebar-logout svg{width:17px}.sidebar-bottom .sidebar-logout:hover{background:#d9475c1f;color:#ffb7c1}.collapse-button{top:50%;bottom:auto;transform:translateY(-50%)}.admin-shell.collapsed .sidebar-bottom{padding-inline:9px}.admin-shell.collapsed .sidebar-utility{padding-bottom:8px}.admin-shell.collapsed .sidebar-bottom .booking-page-link,.admin-shell.collapsed .sidebar-bottom .sidebar-logout{justify-content:center;padding:0}.admin-shell.collapsed .sidebar-bottom .sidebar-profile{grid-template-columns:36px;justify-content:center;padding:7px}.admin-shell.collapsed .sidebar-profile-copy,.admin-shell.collapsed .sidebar-profile-action{display:none}.sidebar-account-block>.sidebar-profile{order:2}.sidebar-account-block>.sidebar-logout{order:1}.resource-card-avatar{width:38px;height:38px;border-radius:11px;font-size:10px;box-shadow:0 5px 14px #251e371f}.resource-list article:has(.resource-card-avatar){grid-template-columns:38px minmax(0,1fr) auto auto auto}.resource-list article:has(.resource-card-avatar)>div{min-width:0}.resource-list article:has(.resource-card-avatar) h3,.resource-list article:has(.resource-card-avatar) p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-image-editor{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#faf9fc}.resource-image-preview{width:76px;height:76px;border-radius:19px;font-size:18px;box-shadow:0 7px 20px #2a204426}.resource-image-editor>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.resource-image-editor small{color:var(--muted);font-size:10px;line-height:1.45}.resource-image-editor .button-row{margin-top:5px}.staff-name-cell{display:flex;align-items:center;gap:10px}.staff-name-cell>.app-avatar{width:34px;height:34px;border-radius:10px;font-size:10px}.staff-name-cell>span{display:flex;min-width:0;flex-direction:column}.profile-image-editor{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:13px;background:#faf9fc}.profile-image-preview{width:82px;height:82px;border-radius:22px;font-size:22px;box-shadow:0 8px 24px #2d224c29}.profile-image-editor>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.profile-image-editor small{color:var(--muted);font-size:10px;line-height:1.45}.profile-image-editor .button-row{width:100%;flex-wrap:wrap;margin-top:5px}.profile-image-picker{position:relative;overflow:hidden;cursor:pointer}.profile-image-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media(max-width:1150px){.profile-settings-grid{grid-template-columns:1fr}}@media(max-width:600px){.profile-image-editor{grid-template-columns:62px minmax(0,1fr);padding:13px;gap:12px}.profile-image-preview{width:62px;height:62px;border-radius:17px}.profile-image-editor .button-row{align-items:stretch}.profile-image-editor .button{padding-inline:10px}}.import-export-settings{display:grid;gap:16px}.export-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(120deg,#fff,#f6f3ff)}.export-card>div{display:flex;align-items:center;gap:12px}.export-card>div>svg{width:35px;height:35px;padding:8px;border-radius:10px;background:#eeeaff;color:var(--brand)}.export-card span,.import-wizard-head span{display:flex;flex-direction:column;gap:3px}.export-card small,.import-wizard-head small{color:var(--muted);font-size:11px}.import-wizard{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.import-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--line)}.import-wizard-head>div{display:flex;align-items:center;gap:10px}.import-wizard-head>div>svg{color:var(--brand)}.import-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:0;padding:13px 18px;list-style:none;border-bottom:1px solid var(--line);background:#faf9fc}.import-steps li{position:relative;display:flex;align-items:center;gap:7px;color:#a09ba8;font-size:10px}.import-steps li:not(:last-child):after{content:"";position:absolute;left:30px;right:7px;top:12px;height:1px;background:#ddd8e5}.import-steps li>span{position:relative;z-index:1;width:24px;height:24px;display:grid;place-items:center;border:1px solid #ddd8e5;border-radius:50%;background:#fff;font-weight:800}.import-steps li>span svg{width:13px;height:13px}.import-steps li.active{color:var(--brand)}.import-steps li.active>span{border-color:var(--brand);background:var(--brand);color:#fff}.import-steps li.done{color:#27815f}.import-steps li.done>span{border-color:#b7dfcf;background:#e9f8f1;color:#27815f}.import-steps li.done:after{background:#b7dfcf}.import-wizard-body{min-height:330px;padding:20px}.import-wizard-actions{display:flex;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid var(--line);background:#fcfbfd}.import-wizard-actions>span{flex:1}.csv-file-step{min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.csv-dropzone{width:min(620px,100%);min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #cfc7e5;border-radius:15px;background:#faf8ff;color:var(--muted);cursor:pointer;transition:.18s}.csv-dropzone:hover{border-color:var(--brand);background:#f6f2ff}.csv-dropzone>svg{width:38px;height:38px;padding:9px;border-radius:11px;background:#eee8ff;color:var(--brand)}.csv-dropzone b{font-size:16px;color:var(--ink)}.csv-dropzone span{font-size:12px}.csv-dropzone em{font-style:normal;font-size:10px}.import-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.import-section-title h3{margin:0 0 5px}.import-section-title p{margin:0;color:var(--muted);font-size:12px}.import-section-title>span{padding:6px 9px;border-radius:8px;background:#f1eef8;color:#615b6d;font-size:11px;font-weight:700}.csv-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:11px}.csv-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.csv-table-wrap th,.csv-table-wrap td{padding:9px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.csv-table-wrap th{position:sticky;top:0;background:#f4f1f8;font-size:10px;text-transform:uppercase;color:#6e6878}.csv-table-wrap tr:last-child td{border-bottom:0}.csv-table-wrap td:first-child{color:var(--muted);background:#faf9fc}.csv-table-wrap em{color:#aaa5b0;font-style:normal}.mapping-list{display:grid;gap:7px;max-height:390px;overflow:auto;padding-right:4px}.mapping-list>div{display:grid;grid-template-columns:minmax(180px,1fr) 20px minmax(230px,1fr);align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.mapping-list>div>span{min-width:0;display:flex;flex-direction:column;gap:3px}.mapping-list b,.mapping-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-list small{font-size:10px;color:var(--muted)}.mapping-list>div>svg{width:15px;color:#aaa4b3}.mapping-list select{width:100%;padding:8px;border:1px solid #ddd8e5;border-radius:8px;background:#fff}.import-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.import-summary-grid.result{grid-template-columns:repeat(4,1fr)}.import-summary-card{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#faf9fc}.import-summary-card strong{font-size:24px}.import-summary-card span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.import-summary-card.success{border-color:#c7e7d8;background:#f0faf5;color:#197452}.import-summary-card.warning{border-color:#f0dca8;background:#fff9e8;color:#8b6614}.import-summary-card.danger{border-color:#efc7cd;background:#fff3f5;color:#a43244}.validation-warning,.validation-success{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #f0dca8;border-radius:11px;background:#fff9e8;color:#8b6614}.validation-success{border-color:#c7e7d8;background:#f0faf5;color:#197452}.validation-warning>svg,.validation-success>svg{flex:0 0 auto}.validation-warning span{display:flex;flex-direction:column;gap:3px}.validation-warning small{color:#8a7541}.validation-success h3,.validation-success p{margin:0}.validation-success p{margin-top:4px;font-size:12px;color:#4d806e}.validation-list{max-height:260px;overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:10px}.validation-list>h3{padding:11px 12px;margin:0;border-bottom:1px solid var(--line);font-size:13px}.validation-list>div{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:9px 11px;border-bottom:1px solid var(--line);font-size:11px}.validation-list>div:last-child{border:0}.validation-list span{color:#9b3948}.duplicate-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:13px;border:1px solid var(--line);border-radius:12px}.duplicate-options legend{padding:0 6px;font-weight:800;font-size:12px}.duplicate-options button{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.duplicate-options button.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 10%,transparent)}.duplicate-options button>span:last-child{display:flex;flex-direction:column;gap:4px}.duplicate-options small{font-size:10px;color:var(--muted);line-height:1.4}.import-confirmation{display:grid;grid-template-columns:28px 1fr;gap:10px;margin-top:14px;padding:14px;border-radius:11px;background:#f4f7fb;color:#3b526d}.import-confirmation>svg{width:21px}.import-confirmation p{font-size:11px;line-height:1.5}.import-confirmation label{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:700;color:var(--ink)}.import-confirmation input{margin-top:2px;accent-color:var(--brand)}.result-success{margin-bottom:14px}@media(max-width:900px){.import-steps{grid-template-columns:repeat(3,1fr);row-gap:8px}.import-steps li:after{display:none}.duplicate-options{grid-template-columns:1fr}.import-summary-grid.result{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.export-card,.import-wizard-head{align-items:stretch;flex-direction:column}.export-card .button{width:100%}.import-steps{grid-template-columns:repeat(2,1fr);padding:10px}.import-wizard-body{padding:14px}.import-steps li b{font-size:9px}.mapping-list>div{grid-template-columns:1fr}.mapping-list>div>svg{display:none}.import-summary-grid,.import-summary-grid.result{grid-template-columns:1fr}.import-wizard-actions{flex-wrap:wrap}.import-wizard-actions .button{flex:1}.csv-dropzone{text-align:center;padding:20px}.validation-list>div{grid-template-columns:1fr}}.compact-user-modal{inset:auto 22px 22px;max-height:calc(100% - 44px);padding:16px}.compact-user-modal .field{margin-bottom:10px}.compact-user-modal .modal-actions{margin-top:12px;padding-top:12px}.info-strip{display:flex;align-items:center;gap:9px;padding:11px;border-radius:10px;background:#eef6ff;color:#28699b;font-size:12px}.info-strip svg{flex:0 0 auto}.admin-time-grid button.available.selected,.admin-time-grid button.available.selected:hover{background:#247653;color:#fff;border-color:#247653}.admin-time-grid button.available.selected small{color:#fff}.modal:has(.appointment-detail-editor){overflow:hidden}.appointment-detail-editor{height:calc(100vh - 92px);max-height:760px;overflow:hidden;display:flex;flex-direction:column}.appointment-detail-editor>.appointment-editor-grid{flex:1;min-height:0;overflow:hidden}.appointment-detail-editor .appointment-editor-stack{height:100%;display:grid;grid-template-rows:auto auto minmax(76px,1fr);gap:7px}.appointment-detail-editor .appointment-editor-section>header{min-height:35px}.detail-editor-service>.status{margin-left:auto;align-self:center;flex:0 0 auto;min-width:max-content;white-space:nowrap}.detail-editor-facts small{font-size:11px;font-weight:750;line-height:1.2}.detail-editor-facts b{font-size:14px;line-height:1.35;white-space:pre-line}.detail-editor-facts>div{min-height:66px;align-items:flex-start}.detail-editor-facts>div>svg{margin-top:1px}.detail-editor-facts>div>span{align-self:flex-start}.detail-editor-facts span>.status{margin-top:1px}.appointment-detail-editor-lower{min-height:0;overflow:hidden}.appointment-detail-editor-lower>.appointment-editor-section{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.appointment-detail-editor-lower>.appointment-editor-section>div{min-height:0;overflow:hidden}.appointment-detail-editor-lower .appointment-history{max-height:100%;overflow:hidden}.appointment-detail-editor-lower .appointment-messages{height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.appointment-detail-editor-lower .appointment-messages b,.appointment-detail-editor-lower .appointment-messages small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}.appointment-detail-actions{position:relative;bottom:auto;margin-top:8px;flex:0 0 auto}.campaign-editor.compact .field{margin-bottom:10px}.campaign-editor.compact .campaign-editor-grid{gap:16px}.campaign-editor.compact textarea{min-height:150px;resize:none}.campaign-editor.compact iframe{height:305px;font-family:Arial,sans-serif}.campaign-editor.compact .modal-actions{margin-top:12px;padding-top:12px}.modal:has(.campaign-editor.compact){overflow:hidden}.service-active-toggle{grid-column:1/-1;border:1px solid #cfe9dd;background:#f0faf5;border-radius:10px;padding:11px 13px}.resource-availability-empty{min-height:300px}.profile-panel input[type=range]{accent-color:var(--brand);padding:0;height:24px}form:has(.service-active-toggle){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}form:has(.service-active-toggle)>.notice,form:has(.service-active-toggle)>.form-grid,form:has(.service-active-toggle)>.form-section:last-of-type,form:has(.service-active-toggle)>.service-active-toggle,form:has(.service-active-toggle)>.modal-actions{grid-column:1/-1}form:has(.service-active-toggle)>.field{min-width:0}form:has(.service-active-toggle)>.form-section{margin:8px 0;padding:12px}form:has(.service-active-toggle) .field{margin-bottom:10px}form:has(.service-active-toggle) .service-override-row{grid-template-columns:145px 1fr;margin-bottom:7px}form:has(.service-active-toggle) .service-override-check{grid-template-columns:145px 1fr}.modal:has(.service-editor){overflow:hidden}.service-editor{display:block!important}.service-editor-tabs{margin:-4px 0 12px}.service-editor-content{min-height:390px;max-height:430px;overflow:auto;padding:2px 3px}.service-general-grid,.service-planning-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px}.service-planning-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)}.service-editor .service-active-toggle{margin:10px 0 0}.service-editor>.modal-actions{margin-top:10px;padding-top:10px}.service-online-settings{max-width:760px;margin:0 auto}.service-editor .image-upload{align-items:center}.service-editor .image-empty,.service-editor .image-preview{width:160px;height:110px}@media(max-width:760px){.appointment-alert-stack{top:10px;right:10px;width:calc(100vw - 20px)}.modal:has(.appointment-detail-editor){overflow:auto}.appointment-detail-editor{max-height:none;overflow:visible}form:has(.service-active-toggle){grid-template-columns:1fr}form:has(.service-active-toggle)>*{grid-column:1!important}}@media(max-width:760px){.modal:has(.service-editor){overflow:auto}.service-editor-content{max-height:none;overflow:visible}.service-general-grid,.service-planning-grid{grid-template-columns:1fr}.service-editor-tabs{overflow:auto}.service-editor-tabs button{white-space:nowrap}}.pwa-classic-header .portal-mobile-menu-button{display:grid;width:39px;height:39px;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:0}.pwa-classic-header .portal-mobile-menu-button svg{width:20px}.pwa-install-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;margin:0 0 22px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:14px;background:linear-gradient(115deg,#fff,color-mix(in srgb,var(--brand) 5%,#fff))}.pwa-install-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;color:#fff;overflow:hidden;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 20%,transparent)}.pwa-install-icon img{width:100%;height:100%;object-fit:cover}.pwa-install-icon svg{width:23px}.pwa-install-card>div:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.pwa-install-card>div:nth-child(2)>b{font-size:14px}.pwa-install-card>div:nth-child(2)>span{font-size:12px;color:var(--muted)}.pwa-install-card.compact{grid-template-columns:40px minmax(0,1fr);padding:12px;margin:0;background:#faf9fc}.pwa-install-card.compact .pwa-install-icon{width:40px;height:40px;border-radius:11px}.pwa-install-card.compact .button{grid-column:1/-1;width:100%}.pwa-instructions{padding:4px}.pwa-instruction-intro{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:11px;background:#f2fbf7;color:#286449}.pwa-instruction-intro svg{width:21px;flex:0 0 auto}.pwa-instruction-intro p{margin:0;color:#405b50;line-height:1.5}.pwa-instructions ol{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:10px}.pwa-instructions li{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}.pwa-instructions li>span{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#eeeaff;color:var(--brand)}.pwa-instructions li svg{width:20px}.pwa-instructions li div{display:flex;flex-direction:column;gap:3px}.pwa-instructions li small{color:var(--muted)}.pwa-instructions>.button{width:100%}.pwa-more-menu{display:flex;flex-direction:column;gap:8px}.pwa-profile-row{display:flex;align-items:center;gap:11px;padding:3px 2px 12px;border-bottom:1px solid var(--line)}.pwa-profile-row>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eeeaff;color:var(--brand)}.pwa-profile-row>span svg{width:22px}.pwa-profile-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.pwa-profile-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.pwa-more-menu>button{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:11px 8px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}.pwa-more-menu>button>svg:first-child{width:19px;color:var(--brand)}.pwa-more-menu>button>svg:last-child{width:16px;color:var(--muted)}.pwa-more-menu>button>span{display:flex;min-width:0;flex-direction:column;gap:3px}.pwa-more-menu>button small{color:var(--muted)}.pwa-more-menu>button.logout>svg:first-child,.pwa-more-menu>button.logout b{color:#b8374d}.pwa-profile-panel{text-align:center}.pwa-profile-avatar{width:70px;height:70px;margin:4px auto 10px;display:grid;place-items:center;border-radius:22px;background:#eeeaff;color:var(--brand)}.pwa-profile-avatar svg{width:34px}.pwa-profile-panel h3{margin:0;font-size:20px}.pwa-profile-panel>p{margin:5px 0 18px;color:var(--muted)}.pwa-profile-fact,.pwa-session-setting{display:flex;align-items:center;gap:11px;padding:13px;margin:0 0 14px;border:1px solid var(--line);border-radius:11px;background:#faf9fc;text-align:left}.pwa-profile-fact>svg,.pwa-session-setting>svg{width:21px;flex:0 0 auto;color:var(--brand)}.pwa-profile-fact>span,.pwa-session-setting>span{display:flex;flex-direction:column;gap:3px}.pwa-profile-fact small,.pwa-session-setting small{color:var(--muted);line-height:1.4}.pwa-profile-panel>.button,.pwa-settings-panel>.button{width:100%}.pwa-settings-panel{display:flex;flex-direction:column;gap:12px}.pwa-settings-panel .pwa-install-card,.pwa-session-setting{margin:0}.pwa-profile-panel.editable{text-align:left}.pwa-profile-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}.pwa-profile-heading .pwa-profile-avatar{width:52px;height:52px;margin:0;border-radius:16px}.pwa-profile-heading .pwa-profile-avatar svg{width:26px}.pwa-profile-heading h3{font-size:18px}.pwa-profile-heading p{margin:3px 0 0;color:var(--muted)}.pwa-profile-panel.editable .field{margin-bottom:13px}.pwa-profile-panel.editable .field>small{line-height:1.45}.pwa-profile-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:17px}.pending-email-notice{display:flex;align-items:flex-start;gap:10px;padding:12px;margin:0 0 14px;border:1px solid #ead99b;border-radius:11px;background:#fff9e8;color:#72581a}.pending-email-notice>svg{width:20px;flex:0 0 auto}.pending-email-notice>span{display:flex;flex-direction:column;gap:3px}.pending-email-notice small{line-height:1.45;color:#7c692f}.pwa-toast{position:fixed;z-index:500;top:calc(max(env(safe-area-inset-top),12px) + 8px);left:50%;width:min(440px,calc(100% - 24px));transform:translate(-50%);pointer-events:none;animation:pwa-toast-in .2s ease-out}.pwa-toast .notice{margin:0;pointer-events:auto;box-shadow:0 14px 40px #1e182a38;border:1px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes pwa-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.pwa-refresh-setting{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#faf9fc}.pwa-refresh-setting>svg{width:21px;flex:0 0 auto;color:var(--brand)}.pwa-refresh-setting>div{display:flex;flex:1;flex-direction:column;gap:4px}.pwa-refresh-setting small{color:var(--muted);line-height:1.4}.pwa-refresh-setting .button{width:100%;margin-top:8px}.pwa-admin-card{display:grid;grid-template-columns:104px 1fr;gap:18px;align-items:center;padding:18px;margin:18px 0;border:1px solid var(--line);border-radius:14px;background:#faf9fc}.pwa-admin-icon{width:104px;height:104px;border-radius:23px;display:grid;place-items:center;color:#fff;font-size:46px;font-weight:800;overflow:hidden;box-shadow:0 12px 28px color-mix(in srgb,var(--brand) 20%,transparent)}.pwa-admin-icon img{width:100%;height:100%;object-fit:cover}.pwa-admin-card h3{margin:0 0 5px}.pwa-admin-card p{max-width:620px;margin:0 0 12px;color:var(--muted);line-height:1.5}.pwa-upload-button{position:relative;cursor:pointer}.pwa-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.organisation-logo-preview{width:104px;height:104px;display:grid;place-items:center;overflow:hidden;padding:10px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--brand)}.organisation-logo-preview img{width:100%;height:100%;object-fit:contain}.organisation-logo-preview svg{width:38px;height:38px}.customer-dashboard{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(190px,1fr));gap:14px}.dashboard-next{grid-column:1/2;grid-row:1/3;min-height:220px;display:grid;grid-template-columns:64px minmax(0,1fr);align-content:center;align-items:center;gap:18px;padding:26px;border-radius:19px;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,#2b175d));color:#fff;box-shadow:0 16px 35px color-mix(in srgb,var(--brand) 20%,transparent)}.dashboard-next .next-date{background:#ffffff24;border-color:#ffffff3b}.dashboard-next>div:nth-child(2){min-width:0}.dashboard-next .eyebrow{color:#ffffffc2}.dashboard-next h2{margin:5px 0 7px;font-size:23px}.dashboard-next p{display:flex;align-items:center;gap:7px;margin:0;color:#ffffffd1}.dashboard-next p svg{width:16px}.dashboard-next-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.dashboard-next-actions .button,.dashboard-next>.button{background:#fff;border-color:#fff;color:var(--brand)}.dashboard-next.empty{background:linear-gradient(135deg,#6550a8,#3f3368)}.dashboard-next.empty>.button{grid-column:2;justify-self:start;margin-top:4px}.dashboard-empty-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:17px;background:#ffffff1f}.dashboard-empty-icon svg{width:29px}.dashboard-stat{display:flex;align-items:center;gap:14px;min-height:103px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.dashboard-stat>span{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand)}.dashboard-stat>span svg{width:21px}.dashboard-stat>div{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:7px}.dashboard-stat small{grid-column:1/3;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dashboard-stat strong{font-size:27px;line-height:1.1;margin-top:5px}.dashboard-stat p{margin:0 0 2px;color:var(--muted);font-size:11px}.dashboard-customer-note{grid-column:2/4;display:flex;flex-direction:column;justify-content:center;min-height:103px;padding:16px 18px;border:1px solid #eadba6;border-radius:16px;background:linear-gradient(120deg,#fffbef,#fff8e2)}.dashboard-customer-note header{display:flex;align-items:center;gap:9px}.dashboard-customer-note header>svg{width:20px;color:#a26d13}.dashboard-customer-note header b{font-size:12px}.dashboard-customer-note>p{margin:10px 0 0;line-height:1.5}.dashboard-customer-note>time{margin-top:7px;color:#9a8151;font-size:10px}.dashboard-extra-fields{grid-column:1/4;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff}.dashboard-extra-fields>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-extra-fields>header>div{display:flex;align-items:center;gap:10px}.dashboard-extra-fields>header>div>svg{width:23px;color:var(--brand)}.dashboard-extra-fields>header span{display:flex;flex-direction:column}.dashboard-extra-fields>header small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.dashboard-extra-fields h2{font-size:17px;margin:2px 0 0}.dashboard-extra-fields>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dashboard-extra-fields article{display:flex;min-width:0;flex-direction:column;gap:5px;padding:11px 12px;border-radius:10px;background:#f8f7fa}.dashboard-extra-fields article small{color:var(--muted)}.dashboard-extra-fields article b{overflow-wrap:anywhere}.customer-fields-self-edit>.muted{margin-bottom:18px}.customer-self-checkbox{padding:11px;border:1px solid var(--line);border-radius:10px}.customer-field-permissions{margin:8px 0 16px;padding:8px 14px;border:1px solid var(--line);border-radius:11px}.customer-field-permissions legend{padding:0 7px;font-size:12px;font-weight:800}.account-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.account-section-heading h2{margin:4px 0;font-size:23px}.account-section-heading p{margin:0;color:var(--muted)}.account-section-heading>.button{white-space:nowrap}.account-empty{border:1px dashed var(--line);border-radius:16px;background:#fff;padding:45px 20px}@media(max-width:760px){.pwa-account,.booking-page.customer-pwa-session{background:#f7f6fa}.pwa-account .portal-header{position:sticky;z-index:20;top:0;height:62px;padding:0 14px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pwa-account .portal-brand{gap:9px;min-width:0}.pwa-account .portal-brand-logo,.pwa-account .brand-mark{width:35px;height:35px;border-radius:10px;flex:0 0 auto}.pwa-account .portal-brand>b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-account .portal-user>span,.pwa-account .portal-user>button:not(.portal-mobile-menu-button){display:none}.portal-mobile-menu-button{display:grid!important;width:39px;height:39px;place-items:center!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;color:var(--ink)!important;padding:0!important}.portal-mobile-menu-button svg{width:20px!important}.pwa-account .portal-main{padding:20px 13px 10px}.pwa-account .portal-hero{margin-bottom:17px;align-items:stretch;flex-direction:column;gap:11px}.pwa-account .portal-hero h1{font-size:22px;margin:4px 0}.pwa-account .portal-hero p{font-size:13px;line-height:1.45}.pwa-account .portal-hero>.button{display:flex;width:100%;font-size:12px;padding:10px}.pwa-account>.portal-main>.pwa-install-card{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:11px;margin-bottom:14px}.pwa-account>.portal-main>.pwa-install-card .pwa-install-icon{width:42px;height:42px;border-radius:11px}.pwa-account>.portal-main>.pwa-install-card>div:nth-child(2)>b{font-size:12px}.pwa-account>.portal-main>.pwa-install-card>div:nth-child(2)>span{font-size:10px;line-height:1.35}.pwa-account>.portal-main>.pwa-install-card .button{font-size:11px;padding:8px}.pwa-account>.portal-main>.pwa-install-card .button svg{display:none}.pwa-account .next-appointment{gap:12px;padding:14px;margin-bottom:15px;border-radius:15px}.pwa-account .next-date{width:50px;height:55px;border-radius:11px;flex:0 0 auto}.pwa-account .next-date b{font-size:21px}.pwa-account .next-appointment h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-account .next-appointment p{font-size:11px}.pwa-account .portal-appointment{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:12px;margin-bottom:8px;border-radius:13px}.pwa-account .appointment-date{width:46px;height:50px}.pwa-account .appointment-date b{font-size:18px}.pwa-account .appointment-info>div:first-child{align-items:flex-start;justify-content:space-between}.pwa-account .appointment-info h3{font-size:14px;line-height:1.3}.pwa-account .appointment-info p{font-size:11px}.pwa-account .appointment-price{grid-column:2;flex-direction:row;justify-content:space-between;align-items:center}.pwa-account .appointment-actions{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pwa-account .appointment-actions .button{font-size:10px;padding:8px 4px;gap:4px}.pwa-account .appointment-actions .button svg{width:14px}.pwa-account .products-grid{grid-template-columns:1fr;gap:9px}.pwa-account .product-card{padding:16px}.pwa-bottom-nav{position:fixed;z-index:35;left:0;right:0;bottom:0;min-height:calc(68px + max(env(safe-area-inset-bottom),18px));display:none;grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:start;padding:6px 4px calc(max(env(safe-area-inset-bottom),18px) + 3px);border-top:1px solid var(--line);background:#fffffff7;box-shadow:0 -8px 24px #221c2e14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pwa-bottom-nav>button{height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#85808d;font-size:9px;font-weight:750}.pwa-bottom-nav>button>svg{width:20px}.pwa-bottom-nav>button.active{color:var(--brand)}.pwa-bottom-nav .book{position:relative;color:var(--brand)}.pwa-bottom-nav .book>span{position:absolute;top:-24px;width:49px;height:49px;display:grid;place-items:center;border:5px solid #f7f6fa;border-radius:50%;background:linear-gradient(145deg,var(--brand),var(--accent));color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 32%,transparent)}.pwa-bottom-nav .book svg{width:22px}.pwa-bottom-nav .book>b{margin-top:27px;font-size:9px}.pwa-admin-card{grid-template-columns:72px 1fr;gap:12px;padding:13px}.pwa-admin-icon,.organisation-logo-preview{width:72px;height:72px;border-radius:18px;font-size:31px}.pwa-admin-card .button-row{grid-column:1/-1}.pwa-admin-card .button{flex:1}.customer-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-next{grid-column:1/3;grid-row:auto;min-height:0;grid-template-columns:50px minmax(0,1fr);gap:12px;padding:16px;border-radius:16px}.dashboard-next h2{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-next p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-next-actions{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:3px}.dashboard-next.empty>.button{grid-column:1/3;width:100%;margin-top:3px}.dashboard-next-actions .button{padding:9px 6px;font-size:11px}.dashboard-empty-icon{width:50px;height:50px;border-radius:13px}.dashboard-empty-icon svg{width:23px}.dashboard-stat{min-height:116px;align-items:flex-start;flex-direction:column;gap:8px;padding:13px;border-radius:14px}.dashboard-stat>span{width:36px;height:36px;border-radius:10px}.dashboard-stat>span svg{width:18px}.dashboard-stat>div{display:block}.dashboard-stat small{display:block;font-size:8px}.dashboard-stat strong{display:inline-block;font-size:24px;margin:4px 5px 0 0}.dashboard-stat p{display:inline;font-size:9px}.dashboard-customer-note{grid-column:1/3;min-height:0;padding:14px;border-radius:14px}.dashboard-customer-note>p{font-size:12px}.dashboard-extra-fields{grid-column:1/3;padding:14px;border-radius:14px}.dashboard-extra-fields>div{grid-template-columns:1fr 1fr}.dashboard-extra-fields article{padding:10px}.dashboard-extra-fields>header>.button{padding:8px;font-size:11px}.account-section-heading{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:14px}.account-section-heading h2{font-size:20px}.account-section-heading p{font-size:12px}.account-section-heading>.button{width:100%}.account-tabs{margin-bottom:17px}.pwa-profile-actions{grid-template-columns:1fr 1.6fr}}@media(display-mode:standalone)and (max-width:760px){.pwa-classic-header{display:none}.pwa-bottom-nav{display:grid}.pwa-account .tab-nav{display:none}.pwa-account .portal-hero>.button{display:none}.pwa-account,.booking-page.customer-pwa-session{padding-bottom:calc(84px + max(env(safe-area-inset-bottom),18px))}.booking-page.customer-pwa-session .booking-header{display:none}.booking-page.customer-pwa-session .booking-progress{padding-top:max(env(safe-area-inset-top),10px)}.pwa-account{-webkit-user-select:none;user-select:none}.pwa-account input,.pwa-account textarea{-webkit-user-select:text;user-select:text}}.reschedule-panel>.muted{margin:0 0 12px}.reschedule-panel>.field{margin-bottom:8px}.reschedule-panel>.time-grid{margin:9px 0}.reschedule-panel>.modal-actions{margin-top:10px;padding-top:10px}@media(max-width:760px){.modal-backdrop:has(.reschedule-panel){align-items:center;padding:10px;overflow:hidden}.modal:has(.reschedule-panel){max-height:calc(100svh - 20px);overflow:hidden;border-radius:20px;padding:18px}.modal:has(.reschedule-panel)>header{margin-bottom:11px}.modal:has(.reschedule-panel)>header h2{font-size:19px}.reschedule-panel>.muted{font-size:12px;line-height:1.35;margin-bottom:8px}.reschedule-panel>.field{gap:4px;margin-bottom:6px}.reschedule-panel>.field input{padding:8px}.reschedule-panel>.time-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:7px 0}.reschedule-panel>.time-grid button{min-width:0;padding:8px 2px;border-radius:8px;font-size:12px}.reschedule-panel>.modal-actions{gap:7px;margin-top:7px;padding-top:8px}.reschedule-panel>.modal-actions .button{padding:9px 7px;font-size:11px}}@media(hover:none){.time-grid button:hover:not(.selected){background:#fff;color:var(--brand)}.time-grid button:hover:not(.selected) span{color:#9b96a4}}.skipped-import-overview{margin-top:14px;border:1px solid #f0dca8;border-radius:11px;overflow:hidden;background:#fffdf7}.skipped-import-overview>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #f0dca8}.skipped-import-overview h3,.skipped-import-overview p{margin:0}.skipped-import-overview h3{font-size:14px}.skipped-import-overview p{margin-top:3px;font-size:11px;color:var(--muted)}.skipped-import-table{max-height:260px;overflow:auto}.skipped-import-table table{width:100%;border-collapse:collapse;font-size:11px}.skipped-import-table th,.skipped-import-table td{padding:9px 12px;border-bottom:1px solid #f1ead8;text-align:left}.skipped-import-table th{position:sticky;top:0;background:#fff9e8;color:#725d29;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.appointment-alert>small{grid-column:2;color:#5f5967;font-size:11px;line-height:1.4}.customer-credit-summary{grid-column:1/-1}.customer-credit-summary .section-title p{margin:2px 0 0;font-size:11px;color:var(--muted)}.customer-credit-balance{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d9d1ef;border-radius:12px;background:linear-gradient(120deg,#fbf9ff,#f1ecff)}.customer-credit-balance>svg{width:38px;height:38px;padding:9px;border-radius:11px;background:var(--brand);color:#fff}.customer-credit-balance>span{display:flex;flex:1;flex-direction:column}.customer-credit-balance small{color:var(--muted)}.customer-credit-balance strong{margin-top:2px;font-size:24px}.customer-credit-panel{display:grid;gap:15px;padding:16px 2px}.customer-credit-hero{display:flex;align-items:center;gap:14px;padding:17px;border-radius:14px;background:linear-gradient(130deg,var(--brand),color-mix(in srgb,var(--brand) 68%,#281a56));color:#fff}.customer-credit-hero-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#ffffff1f}.customer-credit-hero-icon svg{width:25px}.customer-credit-hero>div:nth-child(2){display:flex;flex:1;flex-direction:column}.customer-credit-hero small{color:#ffffffbf}.customer-credit-hero strong{font-size:28px}.customer-credit-hero p{margin:2px 0 0;color:#ffffffc7;font-size:11px}.customer-credit-hero .button{background:#fff;border-color:#fff;color:var(--brand)}.customer-credit-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.customer-credit-columns>section{min-width:0;border:1px solid var(--line);border-radius:12px;padding:13px}.credit-grant-list,.credit-transaction-list{display:flex;max-height:300px;overflow:auto;flex-direction:column;gap:7px}.credit-grant-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:10px;background:#f8f6fb}.credit-grant-list article.used{opacity:.58}.credit-kind-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eee8ff;color:var(--brand)}.credit-kind-icon svg{width:17px}.credit-grant-list article>div,.credit-grant-amount{display:flex;min-width:0;flex-direction:column;gap:2px}.credit-grant-list p,.credit-transaction-list p{margin:0;color:#5d5764;font-size:11px}.credit-grant-list small,.credit-transaction-list small{color:var(--muted);font-size:9px}.credit-grant-amount{text-align:right}.credit-transaction-list article{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px;padding:9px;border-bottom:1px solid var(--line)}.credit-transaction-list article>span{font-weight:900}.credit-transaction-list .positive{color:#197452}.credit-transaction-list .negative{color:#9b3948}.nested-modal.add-credit-modal{inset:50% auto auto 50%;width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);transform:translate(-50%,-50%);padding:18px}.credit-type-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.credit-type-picker label{display:grid;grid-template-columns:18px 34px 1fr;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.credit-type-picker label.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,white)}.credit-type-picker label>svg{width:19px;color:var(--brand)}.credit-type-picker label>span{display:flex;flex-direction:column}.credit-type-picker small{font-size:9px;color:var(--muted)}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.money-input>span{padding:0 0 0 12px;color:var(--muted);font-weight:800}.money-input>input{border:0!important;box-shadow:none!important}.credit-cancel-note{padding:10px;border-radius:9px;background:#f4f7fb;color:#52606f;font-size:10px;line-height:1.45}.customer-booking-credit{background:linear-gradient(120deg,#fbf9ff,#f3efff)!important}.credit-use-toggle{display:grid;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border:1px solid #d9d1ef;border-radius:10px;background:#faf8ff;cursor:pointer}.credit-use-toggle>svg{width:19px;color:var(--brand)}.credit-use-toggle>span{display:flex;flex-direction:column}.credit-use-toggle small{color:var(--muted)}.dashboard-wallet{grid-column:3/4;grid-row:2}.portal-credit-wallet{margin-bottom:19px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:17px;background:linear-gradient(120deg,#fff,color-mix(in srgb,var(--brand) 5%,#fff));overflow:hidden}.portal-credit-wallet>header{display:flex;align-items:center;gap:14px;padding:19px}.portal-credit-icon{width:51px;height:51px;display:grid;place-items:center;border-radius:15px;background:var(--brand);color:#fff}.portal-credit-icon svg{width:25px}.portal-credit-wallet>header>div:nth-child(2){flex:1}.portal-credit-wallet h2{margin:2px 0;font-size:27px}.portal-credit-wallet p{margin:0;color:var(--muted);font-size:12px}.portal-credit-grants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 19px 17px}.portal-credit-grants article{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.portal-credit-grants article.used{opacity:.6}.portal-credit-grants article>span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#eee8ff;color:var(--brand)}.portal-credit-grants svg{width:18px}.portal-credit-grants article>div{display:flex;min-width:0;flex-direction:column}.portal-credit-grants p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-credit-grants small{color:var(--muted);font-size:9px}.portal-credit-history{border-top:1px solid var(--line);background:#fff}.portal-credit-history summary{display:flex;align-items:center;justify-content:space-between;padding:12px 19px;cursor:pointer;font-weight:800;font-size:12px}.portal-credit-history summary span{padding:3px 7px;border-radius:8px;background:#eee8ff;color:var(--brand)}.portal-credit-history>div{max-height:240px;overflow:auto}.portal-credit-history article{display:grid;grid-template-columns:90px 1fr;gap:9px;padding:10px 19px;border-top:1px solid var(--line)}.portal-credit-history article>span{font-weight:900}.portal-credit-history .positive{color:#197452}.portal-credit-history .negative{color:#9b3948}.portal-credit-history article>div{display:flex;flex-direction:column}.portal-credit-history small{color:var(--muted)}.booking-wallet-option{display:grid;grid-template-columns:18px 42px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:12px;padding:13px;border:1px solid #d9d1ef;border-radius:13px;background:#faf8ff;cursor:pointer}.booking-wallet-option.selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent)}.booking-wallet-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eee8ff;color:var(--brand)}.booking-wallet-icon svg{width:21px}.booking-wallet-option>span:nth-child(3){display:flex;flex-direction:column}.booking-wallet-option small{color:var(--muted)}.booking-wallet-option>strong{color:#197452}.credit-covered-notice{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #c7e7d8;border-radius:11px;background:#f0faf5;color:#197452}.credit-covered-notice>svg{width:21px}.credit-covered-notice>div{display:flex;flex-direction:column}.credit-covered-notice span{font-size:11px}.booking-total-breakdown{display:grid;grid-template-columns:1fr auto;gap:7px 15px}.booking-total-breakdown span,.booking-total-breakdown strong{font-size:13px}.booking-total-breakdown .credit-deduction{color:#197452}.detail-editor-facts em{display:block;margin-top:2px;color:#197452;font-size:10px;font-style:normal;font-weight:750}@media(max-width:760px){.skipped-import-overview>header,.customer-credit-hero{align-items:stretch;flex-direction:column}.skipped-import-overview .button,.customer-credit-hero .button{width:100%}.customer-credit-columns,.credit-type-picker,.portal-credit-grants{grid-template-columns:1fr}.nested-modal.add-credit-modal{width:calc(100% - 16px);max-height:calc(100% - 16px);padding:14px}.customer-booking-summary{grid-template-columns:1fr}.dashboard-wallet{grid-column:auto;grid-row:auto}.portal-credit-wallet>header{padding:15px}.portal-credit-grants{padding:0 15px 14px}.booking-wallet-option{grid-template-columns:18px 36px minmax(0,1fr)}.booking-wallet-option>strong{grid-column:3}.portal-credit-history article{grid-template-columns:80px 1fr}}.dashboard-stat>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.dashboard-stat small{grid-column:auto}.dashboard-stat strong{display:block}.dashboard-stat p{display:block;margin:3px 0 0}.service-editor .service-active-toggle{border-color:var(--line);background:#fff}.service-booking-terms>p{margin:0 0 11px;color:var(--muted);font-size:11px}.service-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-term-card{padding:11px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.service-term-card.overridden{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:color-mix(in srgb,var(--brand) 3%,#fff)}.service-term-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}.service-term-card>header>span{display:flex;min-width:0;flex-direction:column;gap:2px}.service-term-card>header b{font-size:11px}.service-term-card>header small{color:var(--muted);font-size:9px}.service-term-card>header>label{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted);font-size:9px}.service-term-card>header input{accent-color:var(--brand)}.service-term-card>div{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.service-term-card>div input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 10px}.service-term-card>div input:disabled{background:#f3f1f5;color:#756f7d}.service-term-card>div span{padding:0 10px;color:var(--muted);font-size:9px;white-space:nowrap}.credit-appointment-link{display:inline-flex;width:max-content;margin-top:3px;color:var(--brand);font-size:10px;font-weight:800;text-decoration:none}.credit-appointment-link:hover{text-decoration:underline}.booking-brand img{width:auto;min-width:64px;max-width:150px;height:50px;object-fit:contain}.auth-icon.tenant-login-logo{width:min(230px,82%);height:96px;padding:3px;border:0;background:transparent;overflow:visible}.auth-icon.tenant-login-logo img{object-fit:contain;border:0}.portal-credit-wallet.history-only{border-color:var(--line);background:#fff}.portal-credit-wallet.history-only .portal-credit-history{border-top:0}.success-actions{flex-wrap:wrap}.success-actions .button{min-height:42px}@media(max-width:760px){.service-term-grid{grid-template-columns:1fr}.booking-brand img{max-width:125px;height:44px}.auth-icon.tenant-login-logo{width:min(260px,92%);height:108px}.success-actions{display:grid;grid-template-columns:1fr 1fr}.success-actions .success-primary-action{grid-column:1/-1}}.import-field-mapping{display:grid;grid-template-columns:minmax(180px,1fr) 20px minmax(230px,1fr);align-items:center;gap:10px;margin-top:10px;padding:11px;border:1px solid #d8cfed;border-radius:11px;background:#f8f5ff}.import-field-mapping>span{display:flex;min-width:0;flex-direction:column;gap:3px}.import-field-mapping small{color:var(--muted);font-size:10px}.import-field-mapping>svg{width:15px;color:#aaa4b3}.import-field-mapping select{width:100%;padding:8px;border:1px solid #d8d2df;border-radius:8px;background:#fff}.nested-modal-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:16px}.nested-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#201a2d2e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);cursor:default}.nested-modal-layer .nested-modal.add-credit-modal{position:relative;inset:auto;z-index:1;width:min(560px,100%);max-height:100%;transform:none;padding:18px}.expiry-month-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.expiry-month-input>input{border:0!important;box-shadow:none!important}.expiry-month-input>span{padding:0 12px;color:var(--muted);font-size:11px;font-weight:750}.session-list{display:flex;flex-direction:column;gap:9px;margin:14px 0}.session-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf9fc}.session-list article>div{display:flex;flex-direction:column;gap:3px;min-width:0}.session-list small{color:var(--muted);font-size:11px}.session-list .button{flex:0 0 auto}.section-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.create-customer-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.create-customer-form>section{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px}.create-customer-form>section>h3{margin:0 0 13px}.create-customer-form>.notice,.create-customer-form>.modal-actions{grid-column:1/-1}@media(max-width:760px){.import-field-mapping{grid-template-columns:1fr}.import-field-mapping>svg{display:none}.nested-modal-layer{padding:8px}.nested-modal-layer .nested-modal.add-credit-modal{width:100%;max-height:100%;padding:14px}.create-customer-form{grid-template-columns:1fr}.create-customer-form>.modal-actions{grid-column:1}}@media(max-width:760px){.dashboard-stat>div{display:flex}.dashboard-stat strong{display:block;margin:4px 0 0}.dashboard-stat p{display:block;margin-top:2px}}.coupon-payment-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.coupon-payment-breakdown>strong{display:flex;min-width:0;flex-direction:column;gap:2px;padding:7px 8px;border:1px solid #d8ceef;border-radius:8px;background:#f4efff;color:#5f3bc4}.coupon-payment-breakdown>strong>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.coupon-payment-breakdown>strong>b{font-size:13px;color:#43269b}.coupon-payment-breakdown>strong.due{border-color:#efd49a;background:#fff7df;color:#8a6210}.coupon-payment-breakdown>strong.due>b{color:#7a5300}.coupon-payment-breakdown>strong.settled{border-color:#bfe3d2;background:#eefaf4;color:#197452}.coupon-payment-breakdown>strong.settled>b{color:#116043}.event-payment-state{display:block;margin-top:5px;padding:6px 8px;border-radius:7px;font-size:10px;font-style:normal;font-weight:850}.event-payment-state.paid{background:#dff7eb;color:#176b4d}.event-payment-state.open{background:#fff0c7;color:#815900}.appointment-payment-totals{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;margin:0}.appointment-payment-totals>span{display:flex!important;min-width:0;flex-direction:column!important;gap:1px!important;padding:6px 8px;border-radius:7px;background:#f0edf7;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}.appointment-payment-totals>span>b{font-size:13px;color:var(--ink);white-space:nowrap}.appointment-payment-totals>span.outstanding{background:#fff3d7;color:#85620d}.appointment-payment-totals>span.outstanding>b{color:#6f4d00}.appointment-payment-state-row{display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:wrap;gap:5px!important;margin:0}.appointment-payment-buttons{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px!important;margin:0}.appointment-payment-buttons .button{min-height:31px;padding:6px 9px;border-radius:8px;font-size:11px}.appointment-payment-buttons .button svg{width:14px;height:14px}.appointment-payment-history{display:flex;max-height:190px;overflow:auto;flex-direction:column;gap:6px;padding-right:3px}.appointment-payment-history article{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#faf9fc}.appointment-payment-history article.reversal{background:#fff7f7}.appointment-payment-history article.reversed{opacity:.62}.appointment-payment-history-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#eee8ff;color:var(--brand)}.appointment-payment-history-icon svg{width:16px}.appointment-payment-history article>div{display:flex;min-width:0;flex-direction:column;gap:2px}.appointment-payment-history article>div>b{font-size:12px}.appointment-payment-history article small{font-size:11px;line-height:1.3;color:var(--muted)}.appointment-payment-history article p{margin:2px 0 0;font-size:12px;color:#5f5967}.appointment-payment-history article em{font-size:11px;color:#9b3948;font-weight:800}.appointment-payment-history article>strong{font-size:13px;color:#197452;white-space:nowrap}.appointment-payment-history article>strong.negative{color:#9b3948}.appointment-payment-history .button{padding:6px 8px;font-size:11px}.appointment-payment-history .button svg{width:14px}.appointment-payment-action{display:flex;flex-direction:column;gap:12px}.appointment-payment-action-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appointment-payment-action-summary>span{display:flex;flex-direction:column;padding:11px;border:1px solid var(--line);border-radius:10px;background:#faf9fc;color:var(--muted);font-size:11px}.appointment-payment-action-summary b{margin-top:2px;color:var(--ink);font-size:18px}.status-partially_paid{background:#fff0c7;color:#815900}.appointment-detail-editor .appointment-editor-stack{display:flex;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.appointment-detail-editor-lower{min-height:118px;flex:1 0 118px}.customer-list-controls{margin-bottom:11px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.customer-list-controls .customer-toolbar{margin-bottom:10px}.customer-toolbar>span{display:flex;align-items:center;gap:9px}.customer-toolbar>span i{font-size:10px;font-style:normal;color:var(--brand)}.customer-filters{display:flex;align-items:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.customer-filters>span{display:flex;align-items:center;gap:6px;align-self:center;margin-right:4px;font-size:11px;font-weight:850;color:#615b6c}.customer-filters>span svg{width:16px;color:var(--brand)}.customer-filters label{display:flex;min-width:135px;flex-direction:column;gap:4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.customer-filters select{height:35px;padding:0 30px 0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11px;font-weight:400;text-transform:none;letter-spacing:0}.customer-filters select option{font-weight:400}.customer-table-card{position:relative;transition:opacity .15s}.customer-table-card.refreshing{opacity:.68;pointer-events:none}.customer-page-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.customer-page-navigation>span{font-size:11px;color:var(--muted)}.customer-page-navigation>div{display:flex;align-items:center;gap:9px}.customer-page-navigation b{min-width:105px;text-align:center;font-size:11px}.customer-page-navigation .button{padding:8px 11px;font-size:11px}.customer-page-navigation svg{width:15px}.import-steps li>b{position:relative;z-index:2;padding:1px 5px;background:#faf9fc}.import-default-consent{margin:14px 0 0;padding:13px;border:1px solid #dcd4ef;border-radius:11px;background:#faf8ff}.import-default-consent legend{padding:0 6px;font-size:12px;font-weight:850;color:#4e435e}.import-default-consent>p{margin:0 0 10px;color:var(--muted);font-size:11px}.import-default-consent>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.import-default-consent label{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.import-default-consent label.selected{border-color:var(--brand);background:#f2edff}.import-default-consent input{accent-color:var(--brand)}.import-default-consent label>span{display:flex;flex-direction:column}.import-default-consent small{color:var(--muted);font-size:9px}.maintenance-danger-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:2px solid #efb8c0;border-radius:15px;background:linear-gradient(120deg,#fff7f8,#fff)}.maintenance-danger-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#ffe5e9;color:#bd3048}.maintenance-danger-icon svg{width:27px;height:27px}.maintenance-danger-card h3{margin:4px 0 6px;font-size:17px}.maintenance-danger-card p{max-width:720px;margin:0;color:#765b61;font-size:12px;line-height:1.5}.maintenance-danger-card .eyebrow{color:#b82e45}.maintenance-counts{display:flex;gap:7px;margin-top:12px}.maintenance-counts span{display:flex;align-items:baseline;gap:4px;padding:7px 9px;border:1px solid #f0d4d9;border-radius:8px;background:#fff;font-size:10px;color:#8d6670}.maintenance-counts b{font-size:15px;color:#9f263b}.maintenance-confirm-warning{display:flex;gap:12px;padding:14px;border:1px solid #e9aeb8;border-radius:11px;background:#fff0f2;color:#9f263b}.maintenance-confirm-warning>svg{flex:0 0 auto}.maintenance-confirm-warning h3{margin:0 0 5px}.maintenance-confirm-warning p{margin:0;font-size:12px;line-height:1.5}.danger-check{padding:12px;border:1px solid #efc7cd;border-radius:10px;background:#fff7f8;color:#812d3b}@media(max-width:900px){.customer-filters{align-items:stretch;flex-wrap:wrap}.customer-filters>span{width:100%}.customer-filters label{flex:1 1 150px}.maintenance-danger-card{grid-template-columns:52px 1fr}.maintenance-danger-card>.button{grid-column:1/3;width:100%}}@media(max-width:600px){.coupon-payment-breakdown,.import-default-consent>div{grid-template-columns:1fr}.customer-list-controls .search-box{width:100%}.customer-toolbar{align-items:stretch;flex-direction:column;gap:8px}.customer-page-navigation{align-items:stretch;flex-direction:column}.customer-page-navigation>div{justify-content:space-between}.customer-page-navigation b{min-width:0}.maintenance-danger-card{grid-template-columns:1fr}.maintenance-danger-card>.button{grid-column:auto}.maintenance-counts{flex-wrap:wrap}}@media(max-width:760px){.appointment-payment-history article{grid-template-columns:28px minmax(0,1fr) auto}.appointment-payment-history article>.button{grid-column:2/4;width:max-content}.appointment-payment-totals,.appointment-payment-action-summary{grid-template-columns:1fr}}.appointment-detail-mobile-tabs,.action-label-mobile{display:none}.appointment-detail-editor{position:relative;height:auto;max-height:calc(100vh - 92px)}.appointment-detail-editor>.appointment-editor-grid{flex:0 1 auto;padding:8px 18px}.appointment-detail-editor .appointment-editor-stack{height:auto;gap:7px}.appointment-detail-editor .appointment-editor-section>header{height:37px;min-height:37px;padding:0 11px}.appointment-detail-editor .appointment-editor-section>header h3{font-size:14px}.appointment-detail-editor .appointment-editor-section>div{padding:8px 10px}.appointment-detail-editor .detail-editor-customer{grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:7px}.appointment-detail-editor .detail-editor-customer-head{grid-template-columns:36px minmax(0,1fr) auto;gap:9px}.appointment-detail-editor .detail-editor-customer-head{grid-column:1/-1}.appointment-detail-editor .detail-editor-customer-head .appointment-avatar{width:36px;height:36px}.appointment-detail-editor .detail-editor-customer-head small{font-size:11px;line-height:1.2}.appointment-detail-editor .detail-editor-customer-head h2{font-size:17px;line-height:1.2;margin:1px 0 0}.appointment-detail-editor .detail-editor-contact{grid-template-columns:1fr;gap:7px}.appointment-detail-editor .detail-editor-contact>div{padding:6px 9px}.appointment-detail-editor .detail-editor-contact small{font-size:11px}.appointment-detail-editor .detail-editor-contact b{overflow-wrap:anywhere;font-size:13px;line-height:1.3}.appointment-detail-editor .detail-editor-contact span{font-size:12px;line-height:1.3}.appointment-detail-editor .customer-booking-data-grid{gap:7px}.appointment-detail-editor .customer-booking-data-card{padding:7px 9px}.appointment-detail-editor .customer-booking-data-card>header{margin-bottom:5px}.appointment-detail-editor .customer-booking-data-card>header b{font-size:13px}.appointment-detail-editor .customer-booking-data-card>header small{font-size:11px}.appointment-detail-editor .detail-editor-dossier>div,.appointment-detail-editor .detail-fixed-note-grid article{padding:6px 8px}.appointment-detail-editor .detail-editor-dossier small{font-size:11px}.appointment-detail-editor .detail-editor-dossier b{font-size:13px}.appointment-detail-editor .detail-editor-dossier em,.appointment-detail-editor .detail-fixed-note-grid span{font-size:11px}.appointment-detail-editor .detail-fixed-note-grid p{font-size:12px;line-height:1.3;margin-top:4px}.appointment-detail-editor .detail-editor-service{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;margin-bottom:7px}.appointment-detail-editor .detail-editor-service>img,.appointment-detail-editor .detail-editor-service>span{width:38px;height:38px}.appointment-detail-editor .detail-editor-service small{font-size:11px}.appointment-detail-editor .detail-editor-service h2{font-size:16px;line-height:1.2}.appointment-detail-editor .detail-editor-service p{max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3}.appointment-detail-editor .detail-editor-facts{align-items:stretch;gap:8px}.appointment-detail-editor .detail-editor-facts.three{grid-template-columns:minmax(235px,1fr) minmax(170px,.75fr) minmax(350px,1.45fr)}.appointment-detail-editor .detail-editor-facts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-editor .detail-editor-facts>div{width:100%;min-height:68px;padding:8px 10px}.appointment-detail-editor .detail-editor-facts small{font-size:11px}.appointment-detail-editor .detail-editor-facts b{font-size:14px;line-height:1.35}.appointment-detail-editor .detail-payment-fact,.appointment-detail-editor .detail-email-fact{align-items:flex-start}.detail-email-content{display:grid;flex:1;min-width:0;gap:5px}.detail-email-content>.appointment-messages{max-height:58px;overflow-y:auto;padding-right:2px}.detail-email-content>.appointment-messages>div{padding:5px 6px}.appointment-detail-editor .detail-email-content .appointment-messages small{font-size:10px;font-weight:400;line-height:1.25;text-transform:none}.detail-payment-content{display:grid;flex:1;min-width:0;gap:6px}.detail-payment-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.detail-payment-heading small{font-size:11px;font-weight:750;text-transform:uppercase;color:var(--muted)}.detail-payment-heading>b{font-size:15px;white-space:nowrap}.detail-payment-heading>.status{justify-self:end}.detail-payment-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.appointment-payment-overview{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:8px}.appointment-payment-summary,.appointment-payment-summary>div{height:100%}.appointment-payment-overview .appointment-payment-history{max-height:128px}.appointment-detail-editor-lower{gap:7px}.appointment-detail-editor-lower.single{min-height:84px;flex-basis:84px;grid-template-columns:1fr}.appointment-detail-editor-lower .appointment-history{gap:7px}.appointment-detail-editor-lower .appointment-history b{font-size:12px}.appointment-detail-editor-lower .appointment-history small{font-size:12px;line-height:1.35}.appointment-detail-editor-lower .appointment-messages b{font-size:12px}.appointment-detail-editor-lower .appointment-messages small{font-size:11px}.appointment-history-dialog{display:grid;gap:14px;min-width:min(560px,72vw)}.appointment-history-dialog>.appointment-history{max-height:min(520px,65vh);overflow-y:auto;padding:3px 5px 3px 2px}.appointment-history-dialog .modal-actions{margin-top:0}.appointment-history-layer{border-radius:0 0 12px 12px;overflow:hidden}.nested-modal-layer .nested-modal.appointment-history-modal{position:relative;inset:auto;z-index:1;width:min(620px,100%);max-height:calc(100% - 32px);transform:none;padding:18px}.appointment-history-modal>.section-title{margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid var(--line)}.appointment-history-modal>.section-title h3{font-size:17px}.appointment-history-modal>.section-title button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);cursor:pointer}.appointment-history-modal>.section-title button svg{width:17px}.appointment-detail-actions{margin-top:7px;padding:9px 18px}.appointment-detail-actions .button{min-height:35px;font-size:13px}@media(max-width:760px){.modal-backdrop:has(.appointment-detail-editor){align-items:stretch;padding:0}.modal:has(.appointment-detail-editor){display:flex;width:100%;height:100dvh;max-height:100dvh;flex-direction:column;overflow:hidden;border-radius:0;padding:12px}.modal:has(.appointment-detail-editor)>header{flex:0 0 auto;margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid var(--line)}.modal:has(.appointment-detail-editor)>header h2{font-size:17px}.appointment-detail-editor{height:auto;max-height:none;min-height:0;flex:1;overflow:hidden;margin:0 -12px -12px}.appointment-detail-mobile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 8px 7px;background:#fff}.appointment-detail-mobile-tabs button{display:flex;min-width:0;height:39px;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:11px;font-weight:800}.appointment-detail-mobile-tabs button svg{width:15px;height:15px}.appointment-detail-mobile-tabs button.active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:#eeeaff;color:var(--brand)}.appointment-detail-editor>.appointment-editor-grid{min-height:0;flex:1;overflow-y:auto;padding:7px 8px}.appointment-detail-editor .appointment-editor-stack{display:block;height:auto;min-height:0;overflow:visible;padding:0}.appointment-detail-editor .appointment-detail-panel{display:none}.appointment-detail-editor[data-mobile-panel=overview] .appointment-detail-panel-overview,.appointment-detail-editor[data-mobile-panel=customer] .appointment-detail-panel-customer{display:block;margin-bottom:7px}.appointment-detail-editor .appointment-editor-stack>.appointment-editor-section:first-child>header{display:flex}.appointment-detail-editor .appointment-editor-stack>.appointment-editor-section:first-child>div{padding:8px 10px}.appointment-detail-editor .detail-editor-customer-head{grid-template-columns:36px minmax(0,1fr) auto}.appointment-detail-editor .detail-editor-customer{grid-template-columns:1fr}.appointment-detail-editor .detail-editor-customer-head .button{grid-column:auto;width:auto;padding:7px 9px}.appointment-detail-editor .customer-booking-summary,.appointment-detail-editor .customer-booking-data-grid,.appointment-detail-editor .detail-fixed-note-grid{grid-template-columns:1fr}.appointment-detail-editor .detail-editor-facts.three,.appointment-detail-editor .detail-editor-facts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-editor .detail-date-fact{order:1}.appointment-detail-editor .detail-resource-fact{order:2}.appointment-detail-editor .detail-email-fact{grid-column:1/-1;order:3}.appointment-detail-editor .detail-payment-fact{grid-column:1/-1}.appointment-detail-editor .detail-editor-facts>div{min-height:64px}.appointment-detail-editor .appointment-payment-totals{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.appointment-payment-overview{grid-template-columns:1fr}.appointment-payment-overview .appointment-payment-history{max-height:none}.detail-payment-footer{align-items:stretch;flex-direction:column}.appointment-payment-buttons .button{flex:1}.appointment-detail-editor-lower{grid-template-columns:1fr;gap:7px;min-height:0}.appointment-detail-editor-lower>.appointment-editor-section{min-height:0;overflow:visible}.appointment-detail-editor-lower>.appointment-editor-section>div{overflow:visible}.appointment-detail-editor-lower .appointment-history,.appointment-detail-editor-lower .appointment-messages{height:auto;max-height:none;overflow:visible}.appointment-detail-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:8px;background:#fff}.appointment-detail-actions>div{display:contents}.appointment-detail-actions .appointment-detail-close-action{display:none}.appointment-detail-actions .button{width:100%;min-height:39px;justify-content:center;padding:7px 5px;font-size:11px;white-space:nowrap}.appointment-detail-actions .button svg{width:15px;height:15px;margin:0}.action-label-full{display:none}.action-label-mobile{display:inline}.appointment-history-dialog{min-width:0}.nested-modal-layer .nested-modal.appointment-history-modal{width:100%;max-height:calc(100% - 16px);padding:14px}}.customer-resource-choice{margin:0 0 24px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#faf9fc}.customer-resource-choice>div:first-child{margin-bottom:12px}.customer-resource-choice h3{margin:0 0 4px;font-size:16px}.customer-resource-choice p{margin:0;color:var(--muted);font-size:12px}.customer-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.customer-resource-grid>button{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left}.customer-resource-grid>button:hover,.customer-resource-grid>button.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,white);box-shadow:0 0 0 1px var(--brand)}.customer-resource-grid svg{width:19px;flex:0 0 auto;color:var(--brand)}.customer-resource-grid span{display:flex;min-width:0;flex-direction:column;gap:2px}.customer-resource-grid b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.customer-resource-grid small{color:var(--muted);font-size:10px}@media(max-width:760px){.customer-resource-choice{padding:13px;margin-bottom:18px}.customer-resource-grid{grid-template-columns:1fr 1fr}.customer-resource-grid>button{padding:9px}.customer-resource-grid small{white-space:normal}}.translation-management{display:grid;gap:18px}.translation-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.translation-language-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:var(--text);min-width:0}.translation-language-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0ecff;color:var(--brand);font-weight:900}.translation-language-card div{display:grid;min-width:0}.translation-language-card small{color:var(--muted)}.translation-language-card strong{font-size:12px;white-space:nowrap}.translation-language-card.active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent)}.translation-language-card.add{display:flex;justify-content:center;min-height:106px;border-style:dashed;color:var(--brand)}.translation-progress{grid-column:1/-1;height:6px;border-radius:999px;background:#eee;overflow:hidden}.translation-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:inherit}.translation-language-card em{grid-column:1/-1;font-size:11px;color:#b26a00;font-style:normal}.translation-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.translation-panel-header h2{margin:4px 0}.translation-import-button{position:relative;overflow:hidden}.translation-import-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.translation-table{table-layout:fixed}.translation-table th:nth-child(1){width:23%}.translation-table th:nth-child(2),.translation-table th:nth-child(3){width:27%}.translation-table th:nth-child(4){width:18%}.translation-table td{vertical-align:top;overflow-wrap:anywhere}.translation-table td>small{display:block;color:var(--muted);margin-top:4px}.translation-table code{font-size:12px;color:#514879}.translation-missing-row{background:#fffaf0}.translation-missing-label{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0cf;color:#8c5d00;font-weight:800;font-size:11px}.translation-source-card{padding:14px;border-radius:12px;background:#f7f5fb;margin-bottom:14px}.translation-source-card span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.translation-source-card p{margin:6px 0 0}.translation-locations{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.translation-locations b{width:100%}.translation-locations code{padding:5px 8px;border-radius:7px;background:#f4f2f8;font-size:11px}.button{width:auto;min-width:0;padding-inline:16px}.modal .button,.button-row .button{max-width:100%}@media(max-width:900px){.translation-panel-header{display:grid}.translation-table{table-layout:auto;min-width:900px}.translation-catalog-panel .table-card{overflow:auto}.translation-panel-header .button-row{flex-wrap:wrap}}.translation-activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.translation-activity-summary article{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.translation-activity-summary small{color:var(--muted);font-weight:700}.translation-activity-summary strong{font-size:16px}.translation-production-panel{overflow:hidden}.translation-log-table td{vertical-align:top}.translation-log-table td small{display:block;color:var(--muted);margin-top:3px}.translation-log-table code{overflow-wrap:anywhere}.email-template-language-row{max-width:480px}@media(max-width:760px){.translation-activity-summary{grid-template-columns:1fr}.translation-production-panel .table-card{overflow:auto}.translation-log-table{min-width:850px}}.calendar-page{width:100%;max-width:none;height:100vh;display:flex;min-height:0;flex-direction:column;margin:0;padding:12px 18px;overflow:hidden}.calendar-topbar{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:12px}.calendar-page>.calendar-scroll{flex:1;min-height:0;max-height:none}.calendar-heading{min-width:0}.calendar-heading h1{margin:0 0 6px;font-size:27px;letter-spacing:-.035em}.calendar-heading p{margin:0;color:var(--muted);font-size:12px;text-transform:capitalize}.calendar-topbar>.calendar-toolbar{min-width:0;margin:0}.calendar-create-button{height:46px;white-space:nowrap}.calendar-create-button span{white-space:nowrap}.resource-filter{position:relative;width:220px;z-index:15}.resource-filter-trigger{width:100%;min-height:42px;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:4px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.resource-filter-trigger:hover,.resource-filter.open .resource-filter-trigger{border-color:var(--line);background:#f8f7fb;box-shadow:0 3px 12px #201b300f}.resource-filter-workflow,.resource-filter-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 68%,#fff));color:#fff;font-size:10px;font-weight:850;letter-spacing:-.02em;box-shadow:0 3px 9px color-mix(in srgb,var(--brand) 18%,transparent)}.resource-filter-workflow svg,.resource-filter-avatar.all svg{width:15px;height:15px}.resource-filter-trigger-copy,.resource-filter-option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.resource-filter-trigger-copy b,.resource-filter-trigger-copy small,.resource-filter-option-copy b,.resource-filter-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-filter-trigger-copy b{font-size:12px}.resource-filter-trigger-copy small{font-size:9px;color:var(--muted)}.resource-filter-chevron{width:16px;height:16px;color:#8d8795;transition:transform .16s ease}.resource-filter.open .resource-filter-chevron{transform:rotate(180deg)}.resource-filter-menu{position:absolute;top:calc(100% + 8px);right:0;width:260px;max-height:min(390px,calc(100vh - 180px));overflow:auto;padding:7px;border:1px solid #e7e3ec;border-radius:13px;background:#fff;box-shadow:0 18px 46px #231d342e;animation:resource-menu-in .15s cubic-bezier(.2,.8,.2,1)}@keyframes resource-menu-in{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.resource-filter-option{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;transition:background .13s ease}.resource-filter-option:hover,.resource-filter-option:focus-visible{background:#f5f3f9;outline:none}.resource-filter-option.selected{background:color-mix(in srgb,var(--brand) 7%,#fff)}.resource-filter-option>.resource-filter-avatar{width:34px;height:34px;text-shadow:0 1px 2px rgba(0,0,0,.18);box-shadow:none}.resource-filter-avatar.all{background:#eee9ff;color:var(--brand);text-shadow:none}.resource-filter-option-copy b{font-size:12px}.resource-filter-option-copy small{font-size:10px;color:#8a8592}.resource-filter-option>svg{width:16px;height:16px;color:var(--brand)}.admin-shell.collapsed aside nav a[data-tooltip],.admin-shell.collapsed .sidebar-bottom [data-tooltip]{position:relative}.admin-shell.collapsed aside nav a[data-tooltip]:after,.admin-shell.collapsed .sidebar-bottom [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 14px);top:50%;z-index:80;width:max-content;max-width:230px;padding:8px 11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#302a46;color:#fff;font-size:11px;font-weight:750;line-height:1.2;letter-spacing:.01em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translate(7px,-50%) scale(.97);transform-origin:left center;box-shadow:0 10px 28px #1813263d;transition:opacity .13s ease,transform .13s ease,visibility 0s linear .13s}.admin-shell.collapsed aside nav a[data-tooltip]:hover:after,.admin-shell.collapsed aside nav a[data-tooltip]:focus-visible:after,.admin-shell.collapsed .sidebar-bottom [data-tooltip]:hover:after,.admin-shell.collapsed .sidebar-bottom [data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translateY(-50%) scale(1);transition-delay:0s}@media(max-width:1500px){.calendar-topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.calendar-topbar>.calendar-toolbar{grid-column:1/-1;grid-row:2}.calendar-heading{grid-column:1;grid-row:1}.calendar-create-button{grid-column:2;grid-row:1}}@media(max-width:760px){.calendar-page{height:auto;min-height:100vh;padding:66px 13px 20px;overflow:visible}.calendar-topbar{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;margin-bottom:10px}.calendar-heading h1{font-size:23px;margin-bottom:3px}.calendar-heading p{font-size:11px}.calendar-create-button{width:42px;height:42px;padding:0}.calendar-create-button span{display:none}.calendar-create-button svg{margin:0}.calendar-topbar>.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:7px}.calendar-topbar .calendar-navigation{max-width:100%;overflow-x:auto;padding-bottom:1px}.calendar-topbar .view-switch{display:none}.calendar-topbar .calendar-resource-tools{display:flex!important;width:100%}.resource-filter{width:auto;min-width:0;flex:1}.resource-filter-menu{left:0;right:auto;width:min(300px,calc(100vw - 42px))}.admin-shell.collapsed aside nav a[data-tooltip]:after,.admin-shell.collapsed .sidebar-bottom [data-tooltip]:after{display:none}}.booking-header-actions{display:flex;align-items:center;gap:10px}.booking-language-switcher{height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;font-weight:700}.booking-language-switcher>svg{width:17px;height:17px;color:var(--brand)}.booking-language-switcher select{max-width:130px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.booking-identity-form{max-width:560px;margin:auto}.booking-identity-heading{margin-bottom:22px}.booking-identity-form>.verification-resend{margin:12px 0 18px}.booking-identity-form>.verification-resend>.button+.button{margin-top:8px}.booking-review>.section-heading{margin-bottom:18px}.booking-payment-section{margin:0;padding:0;border:0}.booking-payment-section>.section-heading{margin-bottom:14px}.booking-payment-section>.section-heading h2{margin:0 0 7px;font-size:22px}.booking-payment-section+.field{margin-top:16px}.payment-product-balance{margin-top:3px;color:var(--brand)!important;font-weight:750}.booking-payment-section .booking-total{margin-top:12px;padding:15px 0}@media(max-width:760px){.booking-header-actions{gap:6px}.booking-language-switcher{height:38px;padding:0 7px}.booking-language-switcher>span{display:none}.booking-language-switcher select{max-width:94px}.booking-header-actions>.button{font-size:0;padding:9px}.booking-header-actions>.button:after{content:"Account";font-size:11px}.booking-identity-form{max-width:100%}.booking-payment-section>.section-heading h2{font-size:20px}}@media(display-mode:standalone)and (max-width:760px){.booking-page.customer-pwa-session .booking-header{display:flex}.booking-page.customer-pwa-session .booking-progress{padding-top:0}}.customer-resource-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--accent));font-size:10px}.customer-resource-grid>button>.customer-resource-avatar{color:#fff}.resource-filter-avatar>img,.resource-card-avatar>img,.resource-image-preview>img,.customer-resource-avatar>img{width:100%;height:100%;object-fit:cover}@media(max-width:600px){.resource-image-editor{grid-template-columns:58px minmax(0,1fr);padding:12px}.resource-image-preview{width:58px;height:58px;border-radius:15px}.resource-image-editor .button-row{align-items:stretch}}.calendar-color-control{display:flex;align-items:center;gap:10px}.calendar-color-control input[type=color]{width:48px;height:36px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.calendar-color-control span{font-size:12px;font-weight:800;color:var(--muted)}.calendar-time-color-preview{position:relative;height:42px;margin:-3px 0 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,#faf9fc);overflow:hidden}.calendar-time-color-preview i{position:absolute;left:54px;right:12px;top:50%;display:block;height:3px;border-radius:999px;background:var(--calendar-now-color,#ef4444);transform:translateY(-50%);box-shadow:0 0 7px color-mix(in srgb,var(--calendar-now-color,#ef4444) 28%,transparent)}.calendar-time-color-preview i:before{content:"";position:absolute;left:-6px;top:50%;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--calendar-now-color,#ef4444);transform:translateY(-50%);box-shadow:0 1px 4px #50191e33}.calendar-time-color-preview:before{content:"12:34";position:absolute;left:8px;top:50%;padding:3px 6px;border-radius:8px;background:var(--calendar-now-color,#ef4444);color:#fff;font-size:9px;font-weight:850;line-height:13px;transform:translateY(-50%);box-shadow:0 2px 7px color-mix(in srgb,var(--calendar-now-color,#ef4444) 24%,transparent)}@media(max-width:760px){.resource-list article:has(.resource-card-avatar){grid-template-columns:38px minmax(0,1fr) 36px;gap:10px;padding:12px}.resource-list article:has(.resource-card-avatar)>span:nth-child(3),.resource-list article:has(.resource-card-avatar)>.status{display:none}.resource-list article:has(.resource-card-avatar)>.button{grid-column:3;grid-row:1;width:36px;height:36px;padding:0}.resource-list article:has(.resource-card-avatar) h3{font-size:14px}.resource-list article:has(.resource-card-avatar) p{font-size:10px}}.platform-brand-logo{display:block;max-width:100%;object-fit:contain}.platform-brand-logo.icon-only{aspect-ratio:1/1}.admin-brand-icon{display:none;width:40px;height:40px;flex:0 0 auto}.admin-brand-lockup{display:flex;min-width:0;flex:1;flex-direction:column;align-items:center}.admin-brand-wordmark{width:174px;height:auto}.admin-logo .admin-brand-lockup small{width:174px;max-width:174px;margin-top:3px;color:#e3dfec;font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.015em;text-align:center}.admin-shell.collapsed .admin-brand-icon{display:block}.admin-shell.collapsed .admin-brand-lockup{display:none}.auth-brand>.platform-brand-logo.wordmark{width:min(255px,72vw);height:auto}.auth-brand.tenant-brand{flex-direction:column;gap:8px}.auth-brand.tenant-brand>small{max-width:min(320px,82vw);overflow:hidden;color:var(--ink);font-size:14px;font-weight:800;line-height:1.25;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}.superadmin-heading{display:flex;flex-direction:column;align-items:flex-start}.superadmin-brand{width:205px;height:auto;margin-bottom:20px}@media(max-width:760px){.superadmin-brand{width:178px;margin-bottom:15px}}.staff-name-cell>.app-avatar.staff-avatar{width:38px;height:38px;aspect-ratio:1;border-radius:50%;font-size:10px}@media(max-width:760px){.users-table{min-width:0}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tbody{padding:7px}.users-table tr{position:relative;margin:0 0 7px;padding:12px 48px 12px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:default}.users-table tr:last-child{margin-bottom:0}.users-table td{border:0;padding:4px 0;font-size:12px}.users-table td[data-label]{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:center}.users-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:750}.users-table .users-name-column{padding-bottom:8px}.users-table .users-actions-column{position:absolute;top:11px;right:8px;width:auto}.users-table .users-actions-column .button{padding:8px}.users-table .role-pill{width:max-content}.role-settings-list{grid-template-columns:1fr}}
