@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&family=Poppins:wght@400;500;600;700&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#172033;background:#f5f6f8}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #dfe3e8;border-radius:10px;padding:11px 12px;background:#fff;color:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#8e9aab;box-shadow:0 0 0 3px #1118270f}textarea{min-height:84px;resize:vertical}label{display:grid;gap:7px;font-size:13px;font-weight:600;margin-bottom:15px}small,.muted{color:#7b8493}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#8b94a3}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#111827;color:#fff;font:700 25px Playfair Display;box-shadow:0 10px 30px #11182722}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:20px}.primary,.secondary,.danger{border:0;border-radius:10px;padding:10px 14px;font-weight:700}.primary{background:#111827;color:#fff}.secondary{background:#eef1f4;color:#18202e;text-decoration:none}.danger{background:#fff0f0;color:#a33}.big{width:100%;padding:14px 18px}.feedback{padding:12px 14px;border-radius:10px;background:#ecf8ef;color:#28643a}.error{padding:12px 14px;border-radius:10px;background:#fff0f0;color:#9c2f2f;margin:10px 0}.landing,.center-card{max-width:600px;margin:12vh auto;padding:38px;text-align:center}.landing .brand-mark{margin:auto}.landing h1{font-size:50px;letter-spacing:-.04em;margin:16px 0 0}.landing code{background:#fff;padding:3px 7px;border-radius:6px}.public-page{--primary:#111827;--accent:#d97706;--bg:#f7f3ee;--surface:#fff;--text:#111827;--radius:14px;--base:16px;min-height:100vh;background-color:var(--bg);background-size:cover;background-attachment:fixed;color:var(--text);font-size:var(--base);padding:34px 18px}.booking-shell{max-width:1050px;margin:auto}.public-header{display:flex;align-items:center;gap:15px;margin-bottom:36px}.public-header .logo{width:60px;height:60px;object-fit:cover;border-radius:15px}.public-header h1{font-size:28px;margin:4px 0}.public-header p{margin:0;opacity:.65}.hero{max-width:730px;margin-bottom:28px}.hero h2{font-size:clamp(32px,5vw,54px);line-height:1.04;letter-spacing:-.04em;margin:0 0 13px}.hero p{font-size:18px;opacity:.72;line-height:1.6}.notice{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-left:4px solid var(--accent);padding:12px 15px;border-radius:8px;margin-top:16px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{position:relative;background:var(--surface);border-radius:calc(var(--radius) + 6px);padding:24px;box-shadow:0 12px 40px #28313d12;border:1px solid #89909a20}.panel.wide{grid-column:1/-1}.panel h3{font-size:20px;margin:0 0 18px}.step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:800;margin-bottom:12px}.choice-list{display:grid;gap:9px}.choice{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:1px solid #89909a30;background:transparent;color:var(--text);padding:13px;border-radius:var(--radius)}.choice b,.choice span{display:block}.choice small{display:block;margin-top:4px}.choice img{width:42px;height:42px;object-fit:cover;border-radius:50%}.choice.active,.slots button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.choice>span:last-child:not(:first-child){opacity:.65;font-size:13px}.slots{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.slots button{border:1px solid #89909a30;border-radius:var(--radius);background:transparent;color:var(--text);padding:10px 14px;font-weight:700}.public-page .primary{background:var(--primary);border-radius:var(--radius)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-shell footer{display:flex;justify-content:space-between;opacity:.6;font-size:12px;padding:25px 5px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top left,#e9ddd0,transparent 35%),#f6f5f3}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e7e4df;border-radius:22px;padding:34px;box-shadow:0 24px 80px #2b2c3020}.login-card h1{margin:18px 0 5px;letter-spacing:-.03em}.login-card p{color:#7b8493;margin:0 0 25px}.admin-layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.admin-layout aside{position:sticky;top:0;height:100vh;background:#111827;color:#fff;padding:22px 16px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:10px;padding:4px 5px 24px}.admin-brand b,.admin-brand small{display:block}.admin-brand small{font-size:11px;color:#9fa8b7;margin-top:3px;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-layout nav{display:grid;gap:5px}.admin-layout nav button,.logout{border:0;background:transparent;color:#aeb6c3;text-align:left;padding:11px 12px;border-radius:9px}.admin-layout nav button:hover,.admin-layout nav button.active{background:#fff;color:#111827}.logout{margin-top:auto;color:#f0b8b8}.admin-main{padding:32px;max-width:1450px;width:100%;overflow:hidden}.admin-main>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-main>header h1{margin:4px 0;font-size:30px;letter-spacing:-.03em}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat,.admin-card{background:#fff;border:1px solid #e7e9ed;border-radius:15px;box-shadow:0 7px 25px #19202a08}.stat{padding:18px}.stat span{display:block;color:#7b8493;font-size:12px;font-weight:600}.stat b{display:block;font-size:30px;margin-top:8px}.admin-card{padding:22px;margin-bottom:16px}.admin-card h2{margin:0 0 6px}.admin-card h3{margin:0 0 10px}.admin-card>p{margin-top:5px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.section-head h2,.section-head h3,.section-head p{margin:0}.section-head p{color:#7b8493;font-size:13px;margin-top:5px}.row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f2}.row:last-child{border-bottom:0}.row b,.row small{display:block}.row small{margin-top:4px}.right{text-align:right;display:flex;align-items:center;gap:12px}.badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;background:#eef1f4}.badge.confirmed{background:#e6f6ea;color:#28703b}.badge.pending{background:#fff5dd;color:#8a6411}.badge.cancelled,.badge.no_show{background:#ffeaea;color:#963d3d}.badge.completed{background:#eaf2ff;color:#365f99}.table{width:100%;overflow:auto}.tr{min-width:760px;display:grid;grid-template-columns:1fr 1.2fr 1.2fr .8fr;gap:15px;align-items:center;padding:12px 5px;border-bottom:1px solid #edf0f2}.tr.th{font-size:11px;color:#8a94a3;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.tr small,.tr b{display:block}.tr small{margin-top:4px}.inline{display:flex;gap:9px;align-items:center}.inline input{min-width:190px}.inline.wrap{flex-wrap:wrap}.title-input{border:0;padding:2px 0;font-size:20px;font-weight:800;box-shadow:none!important}.switch{display:flex;align-items:center;grid-template-columns:auto auto;gap:8px;margin:0}.switch input{width:auto}.schedule{border-top:1px solid #edf0f2;padding-top:16px}.schedule-row{display:grid;grid-template-columns:130px 90px 130px 20px 130px;gap:8px;align-items:center;margin:7px 0}.schedule-row label{display:flex;gap:5px;align-items:center;margin:0}.schedule-row input[type=checkbox]{width:auto}.off-box{background:#f7f8fa;border-radius:12px;padding:14px;margin:18px 0}.off-box>b{display:block;margin-bottom:10px}.off-box input{max-width:220px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chips span{background:#fff;border:1px solid #e0e3e8;border-radius:999px;padding:6px 9px;font-size:12px}.chips button{border:0;background:transparent;margin-left:7px;color:#a33}.service-form{display:grid;grid-template-columns:1.6fr .7fr .7fr 2fr auto;gap:12px;align-items:end}.service-form label{margin:0}.employee-checks{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px}.employee-checks b{width:100%}.employee-checks label{display:flex;grid-template-columns:auto auto;align-items:center;gap:4px;margin:0;font-weight:500}.employee-checks input{width:auto}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.design-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:16px}.color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.color-grid label{display:grid;grid-template-columns:1fr 45px 80px;align-items:center;border:1px solid #e6e8eb;padding:8px;border-radius:10px;margin:0}.color-grid input{height:32px;padding:1px}.color-grid code{font-size:11px}.preview{background:var(--bg);color:var(--text);border-radius:16px;padding:28px;align-self:start;position:sticky;top:25px}.preview h2{font-size:30px}.preview-card{background:var(--surface);border-radius:calc(var(--radius) + 5px);padding:20px;box-shadow:0 10px 30px #0000000b}.preview-card button{border:1px solid #ddd;background:transparent;border-radius:var(--radius);padding:9px;margin-right:6px}.preview-card button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.slug{display:flex;align-items:center;border:1px solid #dfe3e8;border-radius:10px;overflow:hidden}.slug span{padding:0 9px;color:#8a93a0}.slug input{border:0;border-radius:0;box-shadow:none!important}.closure-list{margin-top:15px}hr{border:0;border-top:1px solid #e8ebee;margin:24px 0}@media(max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.service-form{grid-template-columns:1fr 1fr}.service-form .employee-checks{grid-column:1/-1}.design-grid{grid-template-columns:1fr}.preview{position:static}.card-grid{grid-template-columns:1fr}}@media(max-width:760px){.booking-grid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.form-row{grid-template-columns:1fr}.public-page{padding:22px 12px}.admin-layout{display:block}.admin-layout aside{position:static;height:auto}.admin-layout nav{display:flex;overflow:auto}.admin-layout nav button{white-space:nowrap}.logout{margin-top:10px}.admin-main{padding:18px}.admin-main>header{align-items:flex-start;gap:12px}.admin-main>header .secondary{font-size:12px}.stats{grid-template-columns:repeat(2,1fr)}.schedule-row{grid-template-columns:1fr 80px 1fr 10px 1fr}.schedule-row span:first-child{grid-column:1/-1;font-weight:700}.section-head{align-items:flex-start;flex-direction:column}.inline{width:100%}.inline input{min-width:0}.service-form{display:block}.service-form label,.service-form>button{margin-bottom:12px;width:100%}.card-grid,.color-grid{grid-template-columns:1fr}}.landing-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.landing-links a{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:10px 13px;text-decoration:none;color:#111827;font-weight:700}.booking-result{display:flex;gap:14px;align-items:flex-start;border-radius:16px;padding:17px 19px;margin:0 0 20px;box-shadow:0 10px 28px #17203310}.booking-result .result-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;font-weight:900}.booking-result strong{display:block;font-size:17px}.booking-result p{margin:4px 0}.booking-result small{display:block;line-height:1.5}.booking-result.success{background:#e9f8ee;border:1px solid #bce4c7;color:#245d35}.booking-result.success .result-icon{background:#2e7d45;color:#fff}.booking-result.error-result{background:#fff0f0;border:1px solid #f0c1c1;color:#8b2f2f;margin-top:13px}.booking-result.error-result .result-icon{background:#a63f3f;color:#fff}.availability-info{margin-top:14px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-radius:10px;font-size:13px}.public-phone{font-weight:700;color:var(--primary);opacity:.82!important}.status-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-help-item{border:1px solid #e7e9ed;border-radius:12px;padding:13px}.status-help-item p{font-size:12px;line-height:1.5;color:#667080;margin:8px 0 0}.history-stats .stat.revenue{grid-column:span 1}.stat small{display:block;color:#8a94a3;font-size:11px;margin-top:5px}.history-tr{grid-template-columns:1fr 1.1fr 1.1fr .7fr .8fr}.empty-state{padding:20px 4px}.employee-editor{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end;border:1px solid #edf0f2;border-radius:12px;padding:15px;margin-bottom:20px}.employee-editor label{margin:0}.employee-editor .check-line{align-self:center}.employee-editor button{height:42px}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;font-weight:600!important;margin:12px 0}.check-line input{width:auto!important;margin:0}.admin-card .danger{border:1px solid #f0c7c7}.service-form{grid-template-columns:1.5fr .65fr .65fr 2fr auto}@media(max-width:1000px){.employee-editor{grid-template-columns:1fr 1fr}.status-help{grid-template-columns:1fr}.history-tr{min-width:900px}.history-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.employee-editor{grid-template-columns:1fr}.history-stats{grid-template-columns:1fr 1fr}.booking-result{margin-left:0;margin-right:0}}.history-total{margin-top:18px;padding:16px 18px;border:1px solid #dfe5ea;border-radius:13px;background:#f8fafb;display:flex;justify-content:flex-end;gap:36px;text-align:right}.history-total span{display:block;font-size:12px;color:#747f8d;font-weight:600}.history-total b{display:block;font-size:22px;margin-top:5px}.history-total>div:last-child b{font-size:26px}@media(max-width:760px){.history-total{justify-content:space-between;gap:15px;text-align:left}}.booking-toast{position:fixed;z-index:9999;top:18px;left:50%;transform:translate(-50%);width:min(680px,calc(100vw - 28px));display:grid;grid-template-columns:42px 1fr 34px;gap:12px;align-items:start;padding:16px;border-radius:16px;box-shadow:0 18px 55px #11182730;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:taralo-toast-in .2s ease-out}.booking-toast .toast-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:20px}.booking-toast .toast-copy strong{display:block;font-size:17px}.booking-toast .toast-copy p{margin:4px 0 0;line-height:1.45}.booking-toast .toast-copy small{display:block;margin-top:5px;line-height:1.45}.booking-toast.toast-success{background:#ecf9f0f5;border:1px solid #9fd4ae;color:#1f5b32}.booking-toast.toast-success .toast-icon{background:#25723c;color:#fff}.booking-toast.toast-error{background:#fff1f1f7;border:1px solid #e2a9a9;color:#8b2929}.booking-toast.toast-error .toast-icon{background:#a33c3c;color:#fff}.toast-close{border:0;background:transparent;color:currentColor;font-size:25px;line-height:1;cursor:pointer;opacity:.65;padding:3px}.toast-close:hover{opacity:1}@keyframes taralo-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:760px){.booking-toast{top:10px;width:calc(100vw - 20px);grid-template-columns:36px 1fr 28px;padding:13px 12px}.booking-toast .toast-icon{width:34px;height:34px}.booking-toast .toast-copy strong{font-size:15px}.booking-toast .toast-copy p,.booking-toast .toast-copy small{font-size:12px}}.date-limit-note{display:block;margin-top:8px;font-size:12px;color:color-mix(in srgb,var(--text) 58%,transparent)}.availability-date{width:auto;min-width:165px}.availability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.availability-card{border:1px solid #e7e9ed;border-radius:13px;padding:15px;background:#fafbfc}.availability-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.availability-card-head b,.availability-card-head small{display:block}.availability-card-head small{margin-top:3px}.availability-card-head>span{font-size:12px;font-weight:800;color:#667080;background:#fff;border:1px solid #e3e7eb;border-radius:999px;padding:5px 8px}.availability-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7b8493;margin:14px 0 7px}.booked-label{margin-top:12px}.availability-chips{display:flex;flex-wrap:wrap;gap:7px}.free-chip,.busy-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 9px;font-size:12px;font-weight:800}.free-chip{background:#e8f7ec;color:#27653a;border:1px solid #bfe2c8}.busy-chip{background:#fff0f0;color:#8d3a3a;border:1px solid #eccaca}.export-card{border-color:#dfe7f0}.export-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.export-group{border:1px solid #e6e9ed;border-radius:12px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end}.export-group label{margin:0 0 10px}.export-group button{width:100%}.export-all .muted{font-size:12px;line-height:1.45;margin-bottom:12px}.export-card .feedback,.export-card .error{margin-top:14px}@media(max-width:1000px){.availability-grid{grid-template-columns:1fr}.export-controls{grid-template-columns:1fr 1fr}.export-all{grid-column:1/-1}}@media(max-width:760px){.availability-date{width:100%}.export-controls{grid-template-columns:1fr}.export-all{grid-column:auto}.availability-card-head{flex-direction:column}}.taralo-logo{display:block;max-width:100%;height:auto;object-fit:contain}.landing-logo{width:min(390px,78vw);margin:0 auto 22px}.login-logo{width:min(285px,78%);margin:0 auto 18px}.admin-brand{display:block;padding:4px 5px 24px}.admin-logo{width:172px;max-width:100%;background:#fff;border-radius:12px;padding:7px 9px;box-shadow:0 8px 22px #0002}.admin-brand>small{display:block;color:#aeb6c3;font-size:11px;margin:8px 4px 0;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.landing-logo{width:min(330px,84vw)}.login-logo{width:min(260px,78vw)}.admin-logo{width:150px}.admin-brand{padding-bottom:14px}}.period-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:12px;align-items:center;margin:8px 0 18px;padding:12px;border:1px solid #e5e8ec;border-radius:13px;background:#f8fafb}.view-toggle{display:flex;border:1px solid #dfe3e8;border-radius:10px;overflow:hidden;background:#fff}.view-toggle button{border:0;background:#fff;padding:9px 13px;font-weight:800;color:#687383}.view-toggle button.active{background:#111827;color:#fff}.period-navigation{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center}.period-navigation strong{min-width:190px;font-size:14px}.period-navigation .secondary{min-width:42px;padding:9px}.list-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:15px;color:#7b8493;font-size:12px}.pagination{display:flex;align-items:center;gap:9px}.pagination .secondary{min-width:42px;padding:8px 10px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.manual-booking-card{border-color:#dce7f1}.manual-booking-form{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:12px;align-items:start}.manual-booking-form label{margin:0}.manual-slot-picker{grid-column:1/-1;border:1px solid #e7e9ed;border-radius:12px;padding:13px;background:#fafbfc}.manual-slot-picker>span{display:block;font-size:13px;font-weight:700}.admin-slots{margin-top:9px}.admin-slots button{background:#fff;color:#172033}.admin-slots button.active{border-color:#111827;background:#111827;color:#fff;box-shadow:none}.manual-note{grid-column:1/-1}.manual-submit{grid-column:1/-1;width:100%;padding:13px}.manual-submit:disabled{opacity:.45;cursor:not-allowed}.source-note{font-size:11px}@media(max-width:1000px){.period-toolbar{grid-template-columns:1fr}.period-navigation{justify-content:flex-start}.manual-booking-form{grid-template-columns:1fr 1fr}.manual-booking-form .manual-slot-picker,.manual-booking-form .manual-note,.manual-booking-form .manual-submit{grid-column:1/-1}}@media(max-width:760px){.period-toolbar{padding:10px}.period-navigation{justify-content:space-between}.period-navigation strong{min-width:0;font-size:12px}.list-footer{align-items:flex-start;flex-direction:column}.pagination{width:100%;justify-content:space-between}.manual-booking-form{grid-template-columns:1fr}.manual-booking-form .manual-slot-picker,.manual-booking-form .manual-note,.manual-booking-form .manual-submit{grid-column:auto}.view-toggle button{flex:1}.view-toggle{width:100%}}.tr.appointment-actions-tr{grid-template-columns:1.05fr 1.1fr 1.2fr .9fr .55fr}.tr.appointment-actions-tr.history-tr{grid-template-columns:1fr 1.1fr 1.2fr .75fr .9fr .55fr}.compact-danger{padding:8px 10px;min-height:36px;white-space:nowrap}.settings-stack{display:grid;gap:18px}.danger-zone{border:1px solid #fecaca;background:snow}.danger-zone h2{color:#991b1b}.reset-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.inline-hint{display:inline;margin-left:4px;font-weight:400}@media(max-width:900px){.tr.appointment-actions-tr,.tr.appointment-actions-tr.history-tr,.reset-form{grid-template-columns:1fr}}.lookup-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.lookup-form input{flex:1;min-width:220px}.customer-appointment-list{display:grid;gap:10px;margin-top:14px}.customer-appointment-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px;border:1px solid #e5e7eb;border-radius:14px;background:var(--surface,#fff)}.customer-appointment-card small{display:block;margin-top:4px}.customer-appointment-card .right{display:flex;gap:8px;align-items:flex-end}.compact{padding:7px 10px;font-size:.82rem}.privacy-check{display:flex!important;gap:10px;align-items:flex-start;margin-top:12px}.privacy-check input{width:auto!important;margin-top:3px}.privacy-details{margin:8px 0 14px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}.privacy-details summary{cursor:pointer;font-weight:700}.privacy-details p{font-size:.9rem;line-height:1.5}.notification-card{margin-top:16px}.notification-card .section-head{margin-bottom:4px}@media(max-width:720px){.customer-appointment-card{align-items:flex-start;flex-direction:column}.customer-appointment-card .right{align-items:flex-start;flex-wrap:wrap}.lookup-form>*{width:100%}}.public-page{padding:0 18px 34px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 96%,#fff) 0%,var(--bg) 72%)}.booking-shell{max-width:1180px}.customer-hero-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);min-height:390px;margin:0 -18px 22px;overflow:hidden;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.customer-hero-copy{position:relative;z-index:2;padding:38px max(38px,calc((100vw - 1180px)/2 + 18px)) 42px max(38px,calc((100vw - 1180px)/2 + 18px));display:flex;flex-direction:column;justify-content:space-between}.customer-brand-line{display:flex;align-items:center;gap:14px}.customer-brand-line .logo{width:58px;height:58px;object-fit:cover;border-radius:16px;box-shadow:0 8px 24px #00000016}.customer-brand-line h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.035em;margin:7px 0 0;line-height:1}.customer-address{margin:7px 0 0;opacity:.62;font-size:13px}.customer-hero-shell .eyebrow{color:var(--accent);font-size:12px;letter-spacing:.2em}.hero-copy-main{padding-top:44px}.hero-copy-main h2{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.055em;margin:0 0 16px;max-width:720px}.hero-copy-main>p{font-size:19px;opacity:.68;line-height:1.55;margin:0;max-width:620px}.hero-copy-main .notice{max-width:620px;margin-top:18px}.customer-hero-photo-wrap{position:relative;min-height:390px;overflow:hidden}.customer-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.customer-hero-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 10%,transparent 38%)}.appointment-lookup-card{position:relative;display:grid;grid-template-columns:86px minmax(260px,1fr) minmax(430px,.95fr);gap:22px;align-items:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);border-radius:calc(var(--radius) + 12px);padding:30px 34px;margin:0 0 22px;box-shadow:0 18px 54px #28313d12}.lookup-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;position:relative;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--primary);font-size:28px}.lookup-icon small{position:absolute;right:13px;bottom:11px;font-size:18px;color:var(--accent);font-weight:900}.lookup-copy h3{font-size:25px;letter-spacing:-.025em;margin:0 0 7px}.lookup-copy p{margin:0;opacity:.62;line-height:1.5;font-size:14px;max-width:470px}.lookup-form-premium{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:12px;align-items:center}.lookup-input-wrap{position:relative}.lookup-input-wrap>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);opacity:.55;font-size:17px}.lookup-input-wrap input{padding:14px 15px 14px 43px;border-radius:calc(var(--radius) + 2px);font-size:16px;min-width:0}.lookup-submit{border:0;border-radius:calc(var(--radius) + 2px);background:var(--accent);color:#fff;padding:14px 18px;font-weight:800;white-space:nowrap;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 24%,transparent)}.lookup-submit:hover{filter:brightness(.97);transform:translateY(-1px)}.lookup-message,.lookup-results{grid-column:2/-1}.lookup-results{margin-top:0}.booking-grid{gap:22px}.booking-grid>.panel{padding:28px;border-radius:calc(var(--radius) + 10px);box-shadow:0 14px 42px #28313d0d}.booking-grid>.panel:not(.wide){min-height:240px}.booking-grid>.panel>h3{font-size:24px;letter-spacing:-.025em}.step{width:34px;height:34px;font-size:14px;margin-bottom:14px}.choice{padding:16px;border-radius:calc(var(--radius) + 2px);min-height:70px}.choice b{font-size:16px}.choice small{font-size:13px;opacity:.68}.choice img{width:54px;height:54px;margin-left:auto;order:2}.slots button{padding:11px 16px}.panel.wide{padding:30px}.preview-hero-image{width:100%;height:180px;object-fit:cover;border-radius:14px;margin:8px 0 14px;box-shadow:0 10px 28px #00000012}@media(max-width:980px){.customer-hero-shell{grid-template-columns:1fr;min-height:0}.customer-hero-copy{padding:30px 28px 28px}.hero-copy-main{padding-top:30px}.customer-hero-photo-wrap{min-height:300px}.customer-hero-photo-shade{background:linear-gradient(180deg,var(--bg) 0%,transparent 22%)}.appointment-lookup-card{grid-template-columns:70px 1fr}.lookup-form-premium,.lookup-message,.lookup-results{grid-column:1/-1}}@media(max-width:760px){.public-page{padding:0 12px 24px}.customer-hero-shell{margin:0 -12px 16px}.customer-hero-copy{padding:24px 18px 22px}.customer-brand-line .logo{width:48px;height:48px;border-radius:13px}.customer-brand-line h1{font-size:28px}.hero-copy-main{padding-top:28px}.hero-copy-main h2{font-size:39px}.hero-copy-main>p{font-size:16px}.customer-hero-photo-wrap{min-height:230px}.appointment-lookup-card{grid-template-columns:52px 1fr;gap:14px;padding:21px 18px;border-radius:20px}.lookup-icon{width:52px;height:52px;font-size:21px}.lookup-icon small{right:7px;bottom:6px;font-size:14px}.lookup-copy h3{font-size:21px}.lookup-copy p{font-size:13px}.lookup-form-premium{grid-template-columns:1fr}.lookup-submit{width:100%}.lookup-message,.lookup-results{grid-column:1/-1}.booking-grid{gap:14px}.booking-grid>.panel,.panel.wide{padding:21px}.booking-grid>.panel>h3{font-size:21px}.choice{min-height:64px;padding:14px}.choice img{width:48px;height:48px}}.lookup-form-premium{grid-template-columns:minmax(0,1fr) minmax(132px,.68fr) minmax(150px,.72fr);min-width:0;width:100%}.lookup-form-premium .lookup-input-wrap{min-width:0}.lookup-form-premium input{width:100%;min-width:0;box-sizing:border-box}.lookup-form-premium .lookup-submit{width:100%;min-width:0;box-sizing:border-box;padding-inline:14px}.lookup-code-input input{letter-spacing:.13em;font-weight:800}.toast-code{margin-top:7px;font-size:12px;font-weight:700}.toast-code b{font-size:15px;letter-spacing:.12em}.cancellation-code-box{margin-top:14px;padding:14px 16px;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:14px;display:grid;gap:4px;max-width:460px}.cancellation-code-box span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.62}.cancellation-code-box strong{font-size:28px;letter-spacing:.18em;color:var(--accent)}.cancellation-code-box small{line-height:1.45;opacity:.72}.appointment-code-note{font-weight:800;color:#8a5a00;letter-spacing:.02em}.calendar-stack{display:grid;gap:16px}.closure-date-tools{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-bottom:14px}.closure-tool-card{border:1px solid #e4e8ed;border-radius:13px;padding:14px;background:#fafbfc}.closure-tool-card>b{display:block;margin-bottom:10px}.selected-date-box{border:1px solid #e4e8ed;border-radius:13px;padding:14px;margin-bottom:14px}.selected-date-box>b{display:block;margin-bottom:8px}.closure-chips{max-height:150px;overflow:auto}.closure-options{display:grid;grid-template-columns:auto minmax(220px,.8fr) minmax(260px,1.4fr);gap:14px;align-items:end;margin-bottom:14px}.closure-type-toggle{display:flex;border:1px solid #dfe3e8;border-radius:10px;overflow:hidden;background:#fff;align-self:end}.closure-type-toggle button{border:0;background:#fff;padding:10px 12px;font-weight:800;color:#687383}.closure-type-toggle button.active{background:#111827;color:#fff}.closure-time-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.closure-time-row label,.closure-options>label{margin:0}.closure-save{width:100%}.closure-save:disabled{opacity:.45;cursor:not-allowed}.closure-warning{margin:10px 0 0}.closure-row small{display:block;margin-top:4px}.closure-row small:first-of-type{font-weight:800;color:#596475}@media(max-width:1050px){.closure-date-tools,.closure-options{grid-template-columns:1fr}.closure-type-toggle{width:max-content}.lookup-form-premium{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lookup-submit{grid-column:1/-1;width:100%}}@media(max-width:760px){.lookup-form-premium{grid-template-columns:1fr}.lookup-submit{grid-column:auto}.closure-tool-card .inline{align-items:stretch;flex-direction:column}.closure-tool-card .inline input,.closure-tool-card .inline button{width:100%;min-width:0}.closure-type-toggle{width:100%}.closure-type-toggle button{flex:1}.closure-time-row{grid-template-columns:1fr 1fr}}.closure-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 9px;font-size:12px;font-weight:800;background:#fff6df;color:#835d0a;border:1px solid #ead3a0}
