.booking-main{background:linear-gradient(#f8fafb,#eff5f7);padding:76px 0 110px;min-height:78vh}.booking-header-actions{display:flex;align-items:center;gap:20px}.booking-back{font-size:13px;font-weight:760;color:var(--navy);white-space:nowrap}.booking-back:hover{color:var(--orange)}.booking-intro{max-width:730px;margin-bottom:44px}.booking-intro h1{font-size:clamp(37px,5vw,60px);line-height:1.16;color:var(--navy);margin:0 0 18px}.booking-intro h1 em{font-style:normal;color:var(--orange)}.booking-intro p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(300px,.7fr);gap:26px;align-items:start}.booking-panel{background:white;border:1px solid var(--border);border-radius:16px;padding:42px;box-shadow:0 24px 70px #0b344f0b}.booking-title-row{display:flex;align-items:center;gap:20px;margin-bottom:32px}.booking-title-row h2,.booking-separator h2{font-size:26px;line-height:1.2;margin:0}.booking-step{font-size:11px;letter-spacing:.14em;font-weight:850;color:var(--orange);white-space:nowrap}.booking-message{padding:20px 22px;border-radius:10px;background:#fff4e9;border:1px solid #ffd7b5;color:#6f4023;font-weight:650;font-size:13px;line-height:1.8}.booking-message[hidden],.booking-alert[hidden],.booking-form[hidden],.booking-success[hidden]{display:none!important}.booking-form{display:flex;flex-direction:column;gap:20px}.booking-field{display:flex;flex-direction:column;gap:8px;min-width:0}.booking-field>label,.input-label{font-size:13px;font-weight:800;color:var(--navy)}.booking-field input,.booking-field select,.booking-form label input,.admin-panel input,.admin-panel select,.admin-login input{width:100%;border:1px solid #d7e2e9;background:#fff;border-radius:8px;min-height:49px;color:var(--navy);padding:12px 15px;font:inherit;font-size:14px}.booking-field input:focus,.booking-field select:focus,.admin-panel input:focus,.admin-panel select:focus{border-color:var(--orange);outline:2px solid #ff7b2224}.booking-field small{font-size:11px;color:var(--muted)}.booking-times{display:flex;flex-wrap:wrap;gap:9px;min-height:54px}.time-chip{cursor:pointer;border:1px solid #d7e2e9;background:#f8fafb;color:var(--navy);border-radius:9px;min-width:83px;min-height:44px;padding:11px 12px;font-size:14px;font-weight:800;transition:background .2s,border-color .2s}.time-chip:hover{border-color:var(--orange);background:#fff4eb}.time-chip.selected{background:var(--navy);border-color:var(--navy);color:white}.empty-slots{font-size:13px;line-height:1.7;color:var(--muted)}.booking-separator{border-top:1px solid var(--border);padding-top:30px;margin-top:10px}.booking-separator .booking-step{display:block;margin-bottom:12px}.booking-separator p{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-checkbox{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.7;color:#455a67}.booking-checkbox input{width:17px!important;min-height:17px!important;height:17px;flex:0 0 17px;margin:3px 0 0;accent-color:var(--orange)}.booking-checkbox a{text-decoration:underline;color:var(--navy)}.booking-trap{position:absolute;left:-10000px;opacity:0;pointer-events:none}.booking-alert,.form-error{border-radius:8px;padding:14px 16px;background:#fff1f1;border:1px solid #ffcccc;color:#992b30;font-size:13px;line-height:1.7}.form-success{background:#edf9f0;padding:18px;border-radius:8px;color:#236138}.booking-submit{width:100%;min-height:55px}.booking-submit:disabled{opacity:.6;cursor:wait;transform:none}.booking-fineprint{font-size:11px;color:var(--muted);line-height:1.7;text-align:center;margin:-6px 0 0}.booking-aside{overflow:hidden;background:var(--navy);color:white;border-radius:16px}.aside-top{padding:38px;background:radial-gradient(circle at 100% 10%,#24536f,var(--navy) 70%)}.aside-top>span{font-size:11px;color:#ffa55e;font-weight:800;letter-spacing:.14em}.aside-top h2{color:white;margin:17px 0;font-size:30px;line-height:1.22}.aside-top p{color:#bfd1dd;font-size:13px;line-height:1.8;margin-bottom:24px}.aside-top .btn{width:100%}.aside-bottom{padding:33px 38px}.aside-bottom h3{font-size:14px;margin:0 0 10px;letter-spacing:0}.aside-bottom p,.aside-bottom small{color:#c5d2de;font-size:12px;line-height:1.8}.aside-bottom a{color:#ffa45d;border-bottom:1px solid currentColor;font-size:12px;font-weight:800}.aside-bottom hr{border:0;border-top:1px solid #ffffff24;margin:26px 0}.booking-footer{background:#051a2a;padding:13px 0}.booking-footer .footer-bottom{border-top:none;padding:8px 0}.booking-footer a:hover{color:var(--orange)}.booking-success{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.booking-success h2{font-size:29px;margin:0}.booking-success p{font-size:14px;color:var(--muted)}.success-icon{width:62px;height:62px;background:#eaf8ee;color:#1c8d4c;border-radius:50%;display:grid;place-items:center;font-size:33px}.booking-receipt{padding:18px 22px;background:#f7fafb;border:1px solid #e4eef3;border-radius:10px;width:100%;margin:4px 0 12px}.booking-receipt>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5ebef;font-size:13px}.booking-receipt>div:last-child{border:none}.booking-receipt span{color:var(--muted)}.booking-receipt strong{color:var(--navy);text-align:right}.booking-wrap{min-height:90vh;background:#f5f8fa;display:grid;place-items:center;padding:40px 15px}.booking-standalone{width:min(510px,100%);background:white;padding:36px;border-radius:16px;border:1px solid var(--border)}.booking-standalone h1{font-size:30px;color:var(--navy);line-height:1.2;margin:18px 0}.booking-standalone p{font-size:13px;color:var(--muted)}.booking-standalone .booking-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:750}.booking-standalone .booking-form{margin-top:22px}
/* Secure admin booking dashboard */
.admin-page{background:#f5f8fa;min-height:100vh}.admin-head{background:var(--navy);padding:20px 0;color:white}.admin-head .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-head a{color:white;font-weight:800}.admin-head nav{display:flex;gap:18px;align-items:center;font-size:13px}.admin-head button{border:1px solid #ffffff7a;border-radius:8px;background:transparent;color:white;padding:8px 15px;cursor:pointer}.admin-main{padding:55px 0 90px}.admin-main h1{font-size:40px;color:var(--navy)}.admin-main>div>.eyebrow{margin:0}.admin-panel{background:white;padding:26px;border:1px solid var(--border);border-radius:12px;margin-bottom:22px}.admin-panel h2{font-size:23px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:18px 0}.admin-form label{display:flex;flex-direction:column;gap:6px;flex:1 1 140px;font-size:12px;font-weight:700;color:var(--navy)}.admin-form .btn{min-height:48px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{text-align:left;padding:12px 8px;background:#f6f9fa;color:var(--navy);white-space:nowrap}.admin-table td{padding:12px 8px;border-bottom:1px solid #eef1f3;vertical-align:top}.admin-table button,.admin-list button{border:1px solid #dce5eb;background:white;border-radius:6px;padding:6px 9px;cursor:pointer;color:var(--navy);font-size:12px}.admin-table button:hover,.admin-list button:hover{border-color:var(--orange)}.admin-scroll{overflow:auto}.admin-list{list-style:none;margin:0;padding:0}.admin-list li{padding:10px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.admin-list small{color:var(--muted)}.admin-status{padding:12px 16px;border-radius:8px;margin:20px 0;background:#e8f3fb;color:#14496c;font-size:13px}.admin-status.bad{background:#ffecec;color:#943035}.admin-login{max-width:520px;margin:60px auto}.admin-login label{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:13px;font-weight:750}.admin-login .btn{width:100%}.admin-hint{color:var(--muted);font-size:12px}.admin-table td strong{white-space:nowrap}.admin-info{font-size:12px;line-height:1.8;color:var(--muted)}.admin-inline{display:flex;align-items:center;gap:11px}.admin-inline input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--orange)}
@media(max-width:980px){.booking-layout{grid-template-columns:1fr}.booking-aside{display:grid;grid-template-columns:1fr 1fr}.aside-top,.aside-bottom{padding:30px}.admin-grid{grid-template-columns:1fr}}@media(max-width:650px){.booking-main{padding:48px 0 80px}.booking-intro{margin-bottom:30px}.booking-panel{padding:24px 20px}.booking-layout{gap:15px}.booking-aside{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}.booking-title-row{gap:10px}.booking-title-row h2{font-size:22px}.booking-header-actions{gap:7px}.booking-header-actions .booking-back{display:none}.booking-header-actions .header-call{font-size:11px;padding:10px}.admin-main{padding:30px 0}.admin-main h1{font-size:30px}.admin-panel{padding:17px}.admin-head nav{gap:8px}.booking-receipt>div{flex-direction:column;gap:0}}

/* Therapist-specific booking & administration */
.staff-services-options{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;padding:12px;background:#f5f8fa;border-radius:10px}
.service-check{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;background:#fff;border:1px solid #dce5eb;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:12px!important}
.service-check input{width:18px!important;min-height:18px!important;height:18px;flex:0 0 18px;accent-color:var(--orange)}
.admin-service-map>label{flex:1 1 100%}
@media(max-width:650px){.staff-services-options{grid-template-columns:1fr}}
