:root{--psa-text:#283b53;--psa-muted:#77716c;--psa-accent:#9f816c;--psa-accent-dark:#846854;--psa-line:#e7dfd8;--psa-bg:#f7f4f1;--psa-soft:#fbf9f7;--psa-white:#fff;--psa-danger:#9b4b47}*{box-sizing:border-box}.psa-standalone{margin:0;background:#faf9f7}.psa-shell{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--psa-text);padding:18px;min-height:100vh}.psa-panel{max-width:1120px;margin:0 auto;background:var(--psa-white);border:1px solid var(--psa-line);border-radius:24px;box-shadow:0 18px 50px rgba(58,47,39,.06);overflow:hidden}.psa-panel-compact{max-width:720px}.psa-brand{min-height:108px;padding:24px 34px;border-bottom:1px solid #eee9e5;display:flex;align-items:center;gap:18px}.psa-brand img{display:block;max-width:185px;max-height:62px;object-fit:contain}.psa-brand-title{font-size:14px;color:#9a918b}.psa-body{padding:38px 42px 46px}.psa-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--psa-accent);text-transform:uppercase}.psa-intro{max-width:670px;margin-bottom:30px}.psa-intro h1,.psa-service-summary h1,.psa-form-layout h1,.psa-confirm h1{font-family:Georgia,"Times New Roman",serif;font-size:40px;line-height:1.08;font-weight:500;margin:0 0 12px;color:var(--psa-text)}.psa-intro p:last-child,.psa-service-summary p:last-child,.psa-form-lead,.psa-confirm>p{font-size:16px;line-height:1.65;color:var(--psa-muted);margin:0}.psa-types{display:grid;grid-template-columns:1fr 1fr;gap:14px}.psa-type{width:100%;min-height:142px;border:1px solid var(--psa-line);border-radius:18px;background:#fff;padding:22px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:.18s ease;color:inherit}.psa-type:hover{border-color:#b69b87;transform:translateY(-1px);box-shadow:0 8px 24px rgba(80,62,48,.07)}.psa-type strong{display:block;font-size:18px;margin-bottom:7px}.psa-type span{display:block;color:var(--psa-muted);line-height:1.45}.psa-type-meta{margin-top:18px!important;color:var(--psa-accent)!important;font-weight:600}.psa-type-meta b{float:right;font-size:20px}.psa-topline{margin-bottom:20px}.psa-back{appearance:none;border:0;background:transparent;color:#746e69;padding:0;font-size:14px;cursor:pointer}.psa-service-summary{max-width:790px;margin-bottom:34px}.psa-service-summary h1{font-size:32px}.psa-scheduler{display:grid;grid-template-columns:minmax(430px,1.1fr) minmax(300px,.9fr);border:1px solid var(--psa-line);border-radius:20px;overflow:hidden;min-height:610px}.psa-date-col{padding:30px 34px}.psa-date-col>h2{font-size:23px;margin:0 0 26px}.psa-time-col{border-left:1px solid var(--psa-line);padding:30px 28px;background:#fff}.psa-calendar{max-width:500px}.psa-calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:24px}.psa-calendar-nav strong{text-align:center;text-transform:lowercase;font-size:19px}.psa-month-btn{width:38px;height:38px;border:0;border-radius:50%;background:transparent;font-size:34px;line-height:1;cursor:pointer;color:#655f5a}.psa-month-btn:hover:not(:disabled){background:var(--psa-bg)}.psa-month-btn:disabled{opacity:.2;cursor:default}.psa-weekdays,.psa-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.psa-weekdays{margin-bottom:9px}.psa-weekdays span{text-align:center;font-size:13px;color:#595552}.psa-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;font-size:16px;color:#4b4845;cursor:pointer;position:relative}.psa-day.available:hover{background:#eee8e3;color:#5e4c40}.psa-day.disabled{color:#d0cbc7;cursor:default}.psa-day.selected{background:var(--psa-accent)!important;color:#fff!important}.psa-day.today:not(.selected)::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--psa-accent);bottom:6px;left:50%;transform:translateX(-50%)}.psa-day.empty{visibility:hidden}.psa-timezone{margin-top:34px;padding-top:22px;border-top:1px solid #f0ebe7;display:flex;flex-direction:column;gap:9px}.psa-timezone strong{font-size:14px}.psa-timezone span{font-size:14px;color:#5e6570}.psa-slot-head span{font-size:12px;color:var(--psa-accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.psa-slot-head h2{font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:500;text-transform:capitalize;margin:6px 0 22px}.psa-slot-list{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow:auto;padding-right:5px}.psa-slot{width:100%;min-height:62px;border:1px solid var(--psa-accent);border-radius:10px;background:#fff;color:var(--psa-accent-dark);font-size:18px;font-weight:650;cursor:pointer;transition:.16s}.psa-slot:hover{background:var(--psa-accent);color:#fff}.psa-slot-placeholder{height:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8b8580}.psa-slot-placeholder h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500;color:var(--psa-text);margin:10px 0 5px}.psa-slot-placeholder p{margin:0}.psa-placeholder-icon{width:54px;height:54px;border-radius:50%;background:var(--psa-bg);display:grid;place-items:center;font-size:25px;color:var(--psa-accent)}.psa-empty-slots,.psa-loading-line{padding:24px 10px;color:var(--psa-muted);line-height:1.6;text-align:center}.psa-form-layout{display:grid;grid-template-columns:1fr 310px;gap:44px;align-items:start}.psa-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.psa-field.full{grid-column:1/-1}.psa-field label{display:block;font-size:13px;font-weight:600;margin:0 0 7px;color:#595450}.psa-field input,.psa-field textarea,.psa-field select{width:100%;border:1px solid var(--psa-line);border-radius:11px;background:#fff;padding:13px 14px;font:inherit;outline:none}.psa-field input:focus,.psa-field textarea:focus{border-color:var(--psa-accent);box-shadow:0 0 0 3px rgba(159,129,108,.1)}.psa-field textarea{min-height:110px;resize:vertical}.psa-booking-recap{background:var(--psa-soft);border:1px solid var(--psa-line);border-radius:18px;padding:22px;position:sticky;top:18px}.psa-booking-recap>span{font-size:12px;color:var(--psa-accent);font-weight:700;text-transform:uppercase}.psa-booking-recap strong{display:block;font-size:17px;margin:12px 0}.psa-booking-recap p{margin:7px 0;color:#67615c}.psa-btn{appearance:none;border:0;border-radius:999px;background:var(--psa-accent);color:#fff;padding:14px 24px;font-size:15px;font-weight:650;cursor:pointer;margin-top:22px}.psa-btn:hover{background:var(--psa-accent-dark)}.psa-btn.secondary{background:#fff;color:var(--psa-accent-dark);border:1px solid var(--psa-accent);margin-top:10px}.psa-btn.danger{background:#fff;color:var(--psa-danger);border:1px solid #d7aaa7;margin-top:10px}.psa-confirm{text-align:center;max-width:560px;margin:12px auto;padding:20px 0}.psa-check{width:62px;height:62px;border-radius:50%;background:#f0e9e4;color:var(--psa-accent-dark);display:grid;place-items:center;font-size:27px;margin:0 auto 20px}.psa-confirm>p{max-width:520px;margin:0 auto}.psa-confirm-card{margin:28px auto 18px;padding:22px;background:var(--psa-soft);border:1px solid var(--psa-line);border-radius:18px;display:flex;flex-direction:column;gap:8px}.psa-confirm-card strong{font-size:18px}.psa-confirm-card span{color:var(--psa-muted)}.psa-confirm-card small{color:var(--psa-muted);margin-top:6px}.psa-manage-actions{display:flex;justify-content:center;gap:10px}.psa-error{display:none;margin:14px 0;padding:12px 14px;border-radius:10px;background:#fff1f0;border:1px solid #ecc7c4;color:#8c302b}.psa-loading{opacity:.6;pointer-events:none}.psa-muted{color:var(--psa-muted)}
@media(max-width:820px){.psa-shell{padding:0}.psa-panel{border-radius:0;border-left:0;border-right:0;box-shadow:none}.psa-brand{padding:20px 22px;min-height:90px}.psa-brand img{max-width:150px;max-height:52px}.psa-body{padding:28px 20px 36px}.psa-intro h1,.psa-service-summary h1,.psa-form-layout h1,.psa-confirm h1{font-size:32px}.psa-types{grid-template-columns:1fr}.psa-scheduler{grid-template-columns:1fr;min-height:auto}.psa-date-col{padding:26px 20px}.psa-time-col{border-left:0;border-top:1px solid var(--psa-line);padding:26px 20px;min-height:280px}.psa-slot-placeholder{min-height:230px}.psa-slot-list{max-height:none}.psa-form-layout{grid-template-columns:1fr}.psa-booking-recap{order:-1;position:static}.psa-fields{grid-template-columns:1fr}.psa-field.full{grid-column:auto}.psa-manage-actions{flex-direction:column}.psa-manage-actions .psa-btn{width:100%}}
@media(max-width:460px){.psa-weekdays,.psa-days{gap:5px}.psa-day{font-size:15px}.psa-date-col>h2{font-size:21px}.psa-calendar-nav strong{font-size:17px}.psa-body{padding-left:16px;padding-right:16px}}

/* Client refinements 1.2.0 */
#psa-booking-app .psa-brand-title{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:500;line-height:1.15;color:var(--psa-text);margin:0;max-width:420px}
#psa-booking-app .psa-brand{background:linear-gradient(115deg,#fff,#fbf7f3);gap:32px}
#psa-booking-app .psa-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:500;margin:0 0 12px}
#psa-booking-app .psa-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}
#psa-booking-app .psa-duration{display:inline-flex;align-items:center;gap:7px;letter-spacing:normal;text-transform:none}
#psa-booking-app .psa-service-icon{width:44px;height:44px;display:grid;place-items:center;background:#f4ede7;border-radius:13px;color:var(--psa-accent-dark);margin-bottom:16px}
#psa-booking-app .psa-service-icon .psa-icon{width:24px;height:24px}
#psa-booking-app .psa-type{background:linear-gradient(140deg,#fff,#fdfbf9);padding:25px;min-height:215px}
#psa-booking-app .psa-type-meta{display:flex;align-items:center;justify-content:space-between}
#psa-booking-app .psa-confirm-card .psa-duration{justify-content:center}
#psa-booking-app button:focus-visible{outline:3px solid #846854;outline-offset:4px}
@media(max-width:600px){#psa-booking-app .psa-brand{flex-direction:column;align-items:flex-start;gap:16px}#psa-booking-app .psa-brand-title{font-size:28px}#psa-booking-app .psa-type{min-height:190px}}
@media(prefers-reduced-motion:reduce){#psa-booking-app *{transition:none!important}}

/* Reschedule feedback */
#psa-booking-app .psa-panel{position:relative}
#psa-booking-app .psa-saving-overlay{position:fixed;inset:0;z-index:20;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;padding:24px;min-height:250px}
#psa-booking-app .psa-saving-card{text-align:center;max-width:360px;color:var(--psa-text)}
#psa-booking-app .psa-saving-card strong{display:block;font-size:21px;line-height:1.4}
#psa-booking-app .psa-saving-card p{color:var(--psa-muted);line-height:1.6}
#psa-booking-app .psa-spinner{display:block;width:44px;height:44px;border:4px solid var(--psa-line);border-top-color:var(--psa-accent);border-radius:50%;margin:0 auto 22px;animation:psa-spin .85s linear infinite}
#psa-booking-app .psa-change-success{margin:20px 0;padding:15px;border:1px solid #c8dbc8;border-radius:12px;background:#f0f7ee;color:#365b36;line-height:1.5}
@keyframes psa-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#psa-booking-app .psa-spinner{animation:none}}

#psa-booking-app .psa-saving-overlay{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
#psa-booking-app .psa-change-success{padding:22px;font-size:19px;margin:24px 0;line-height:1.5}
#psa-booking-app .psa-change-success strong{display:block;font-size:21px}
#psa-booking-app .psa-change-success span{display:block;font-size:15px;margin-top:8px}
#psa-booking-app .psa-check-updated{background:#edf5e9;color:#365b36;width:76px;height:76px;font-size:36px}

/* Appointment mode cards */
#psa-booking-app .psa-mode-field{grid-column:1/-1;min-width:0;border:0;margin:4px 0 0;padding:0}
#psa-booking-app .psa-mode-field legend{font-size:13px;font-weight:600;color:#595450;margin-bottom:12px;padding:0}
#psa-booking-app .psa-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#psa-booking-app .psa-mode-option{position:relative;cursor:pointer;display:block}
#psa-booking-app .psa-mode-option input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:20px}
#psa-booking-app .psa-mode-card{display:flex;align-items:center;gap:12px;min-height:92px;border:1px solid var(--psa-line);border-radius:16px;padding:18px;background:var(--psa-soft);color:var(--psa-text);transition:border-color .15s,background .15s}
#psa-booking-app .psa-mode-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f0e9e3;color:var(--psa-accent-dark);flex-shrink:0}
#psa-booking-app .psa-mode-card strong{display:block;font-size:16px}
#psa-booking-app .psa-mode-card small{display:block;font-size:12px;line-height:1.5;color:var(--psa-muted);margin-top:4px}
#psa-booking-app .psa-mode-check{margin-left:auto;color:var(--psa-accent-dark);opacity:0;font-weight:700}
#psa-booking-app .psa-mode-option input:checked+.psa-mode-card{border-color:var(--psa-accent);background:#f3eae2;box-shadow:0 0 0 1px var(--psa-accent)}
#psa-booking-app .psa-mode-option input:checked+.psa-mode-card .psa-mode-check{opacity:1}
#psa-booking-app .psa-mode-option input:focus-visible+.psa-mode-card{outline:3px solid var(--psa-accent-dark);outline-offset:3px}
#psa-booking-app .psa-mode-option:hover .psa-mode-card{border-color:var(--psa-accent)}
#psa-booking-app .psa-mode-option input:disabled+.psa-mode-card{opacity:.6;cursor:wait}
@media(max-width:500px){#psa-booking-app .psa-mode-options{grid-template-columns:1fr}}
