.booking-body{margin:0;background:#f5f3ee;color:#202622;font:15px/1.55 Arial,Helvetica,sans-serif}.booking-body *,.reservation-admin *,.reservation-dashboard *{box-sizing:border-box}.booking-shell{max-width:1100px;margin:auto;background:#fff;min-height:75vh}.booking-hero{background:#172b24;color:#fff;padding:48px 40px;border-bottom:5px solid #a51d2c}.booking-hero h1{font-size:clamp(36px,6vw,68px);letter-spacing:-.055em;line-height:1.04;margin:18px 0}.booking-hero p{max-width:560px}.booking-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.booking-content{padding:30px 40px}.booking-filters,.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}.booking-filters{grid-template-columns:1fr 1fr auto}.booking-body label,.reservation-admin label{display:grid;gap:8px;font-size:13px;font-weight:600}.booking-body input,.booking-body select,.reservation-admin input,.reservation-admin select,.reservation-admin textarea{width:100%;min-width:0;padding:12px;border:1px solid #c7cec8;border-radius:4px;background:#fff;color:#222;font:inherit}.booking-button{display:inline-block;background:#a51d2c;color:#fff!important;text-decoration:none;padding:13px 22px;border:0;border-radius:4px;cursor:pointer;font:700 14px/1.5 Arial,sans-serif}.booking-button:hover{background:#811725}.booking-muted{font-size:13px;color:#667169}.booking-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.booking-slot{border:1px solid #dce0da;padding:18px;border-radius:6px}.booking-slot h3{font-size:16px;margin:0 0 10px}.bay-button{display:flex;justify-content:space-between;gap:12px;border:1px solid #9aaea1;padding:9px 12px;margin:8px 0;color:#20392a;text-decoration:none;border-radius:3px}.bay-button:hover{background:#edf4ed}.booking-empty{padding:24px;background:#f4f5f1;border:1px solid #e0e4db;border-radius:5px}.booking-error{padding:18px;background:#fff0f1;color:#8b1925;border-left:4px solid #a51d2c}.booking-confirm{border:1px solid #d2dad1;background:#f5f8f2;padding:26px;margin-bottom:30px}.booking-confirm-form{display:grid;gap:18px;max-width:450px}.booking-footer{max-width:1100px;margin:auto;padding:24px;text-align:center;font:12px/1.7 Arial,sans-serif;color:#525e55}.booking-footer nav{display:flex;justify-content:center;gap:20px;margin-top:8px}.booking-footer a{color:inherit}.reservation-admin{max-width:1500px;margin:auto}.reservation-settings{border:1px solid #d8ded6;border-radius:7px;padding:24px;margin:24px 0;background:white}.reservation-settings summary{cursor:pointer;font-weight:700;font-size:18px;margin-bottom:14px}.reservation-settings h3{margin-top:28px}.reservation-settings label{margin:10px 0}.hours-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hours-grid fieldset{min-width:0;border:1px solid #dce1d9;border-radius:4px}.check-label{display:flex!important;align-items:center;gap:10px!important}.check-label input{width:auto!important}.bay-checks{display:flex;flex-wrap:wrap;gap:20px}.reservation-heading,.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:16px}.calendar-nav{margin:22px 0}.reservation-week{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto;gap:8px}.calendar-day{border:1px solid #e2e7dd;background:#f8faf5;padding:12px;min-height:160px}.calendar-day h3{font-size:13px;margin:0 0 14px}.reservation-card{display:grid;gap:6px;background:#fff;border-left:3px solid #a51d2c;padding:10px;margin:8px 0;color:#24362b;text-decoration:none;overflow-wrap:anywhere;font-size:12px}.reservation-card small{font-size:11px}.reservation-delete{border-top:1px solid #dedede;margin-top:24px;padding-top:16px}.danger{background:#64232a}.reservation-dashboard{max-width:1100px;margin:auto;background:#fff}.reservation-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:36px}.history-card{padding:24px;border:1px solid #d9e0d5;border-top:3px solid #a51d2c;border-radius:4px}.history-card h3{margin:8px 0}.history-card a{color:#942331}.booking-body a:focus-visible,.reservation-admin a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #426c54;outline-offset:3px}@media(max-width:750px){.booking-hero,.booking-content{padding:28px 22px}.booking-filters,.booking-fields{grid-template-columns:1fr}.booking-slots,.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-settings{padding:18px}.reservation-history{grid-template-columns:1fr}.booking-hero h1{font-size:42px}}@media(max-width:420px){.booking-slots,.hours-grid{grid-template-columns:1fr}}@media print{.booking-button,.booking-filters,.reservation-delete{display:none}.reservation-week{display:block}.calendar-day{break-inside:avoid}.booking-hero{background:#fff;color:#111}}

/* Embedded widgets use a site-selected palette; portal and secure booking pages keep their branding. */
.booking-embedded{--widget-accent:#215d3a;--widget-hover:#16482a;--widget-hero:#174b2e;--widget-hero-text:#fff;--widget-bg:#fff;--widget-text:#202b23;--widget-muted:#526259;--widget-border:#cbd7cc;--widget-soft:#f0f6ee;--widget-control:#fff;--widget-button-text:#fff;background:transparent;color:var(--widget-text)}
.booking-embedded.theme-blue{--widget-accent:#195aa6;--widget-hover:#12467f;--widget-hero:#113d72;--widget-soft:#eff5fd;--widget-border:#c5d3e6;--widget-text:#192c43;--widget-muted:#4f637b}
.booking-embedded.theme-red{--widget-accent:#a51d2c;--widget-hover:#801724;--widget-hero:#781c29;--widget-soft:#fff2f3;--widget-border:#e1c7cb;--widget-text:#352127;--widget-muted:#76565e}
.booking-embedded.theme-black{--widget-accent:#eee;--widget-hover:#d2d7d5;--widget-hero:#111615;--widget-bg:#1c2220;--widget-text:#f3f5f3;--widget-muted:#b7c5bb;--widget-border:#64736a;--widget-soft:#28342e;--widget-control:#222d27;--widget-button-text:#142219}
.booking-embedded.theme-white{--widget-accent:#252b28;--widget-hover:#101512;--widget-hero:#fff;--widget-hero-text:#202622;--widget-bg:#fff;--widget-text:#202622;--widget-muted:#59645d;--widget-border:#cdd3cd;--widget-soft:#f6f7f5}
.booking-embedded .booking-shell{background:var(--widget-bg);min-height:0;max-width:none}
.booking-embedded .booking-hero{background:var(--widget-hero);color:var(--widget-hero-text);border-color:var(--widget-accent)}
.booking-embedded .booking-button{background:var(--widget-accent);color:var(--widget-button-text)!important}
.booking-embedded .booking-button:hover{background:var(--widget-hover)}
.booking-embedded .booking-muted{color:var(--widget-muted)}
.booking-embedded .booking-slot{border-color:var(--widget-border)}
.booking-embedded input,.booking-embedded select{background:var(--widget-control);color:var(--widget-text);border-color:var(--widget-border);color-scheme:light}
.booking-embedded.theme-black input,.booking-embedded.theme-black select{color-scheme:dark}
.booking-embedded .bay-button{color:var(--widget-text);border-color:var(--widget-border)}
.booking-embedded .bay-button:hover,.booking-embedded .booking-empty{background:var(--widget-soft);border-color:var(--widget-border)}
.booking-embedded a:focus-visible,.booking-embedded button:focus-visible,.booking-embedded input:focus-visible,.booking-embedded select:focus-visible{outline-color:var(--widget-accent)}
