.staff-save-footer{padding-top:16px;display:flex;justify-content:flex-end}
.staff-service-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:10px;align-items:end}
.staff-service-row label{min-width:0}
/* Mobile forms share one rhythm. 16px inputs avoid iOS focus zoom. */
@media(max-width:780px){
 html body input:not([type=checkbox]):not([type=radio]),html body select,html body textarea{font-size:16px!important;max-width:100%;min-width:0}
 html body input:not([type=checkbox]):not([type=radio]):not([type=color]),html body select{min-height:44px;padding:9px 10px;line-height:1.35}
 html body textarea{padding:9px 10px;line-height:1.4}
 body.workspace-shell .team-editor,body.workspace-shell .team-workspace{padding:12px}
 body.workspace-shell .staff-columns{display:block}
 body.workspace-shell #practitioner-form{max-width:100%}
 body.workspace-shell #practitioner-form fieldset{padding:12px;margin:12px 0;min-width:0}
 body.workspace-shell #practitioner-form label{font-size:13px;margin:0 0 12px}
 body.workspace-shell #practitioner-form input,body.workspace-shell #practitioner-form select,body.workspace-shell #practitioner-form textarea{margin-top:5px}
 body.workspace-shell #practitioner-form .staff-color-setting{display:flex;align-items:center;justify-content:space-between;gap:12px}
 body.workspace-shell #practitioner-form .staff-color-setting input[type=color]{width:44px;height:44px;margin:0;flex:0 0 44px}
 body.workspace-shell #staff-optional-note{margin:8px 0;font-size:13px}
 body.workspace-shell #staff-optional-note summary{padding:8px 0}
 body.workspace-shell #staff-weekly{gap:8px}
 body.workspace-shell .staff-day{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:4px 10px 10px}
 body.workspace-shell .staff-day h4{margin:0;padding:8px 0;border:0;background:transparent;font-size:13px}
 body.workspace-shell #practitioner-form .staff-day-control{margin:0;min-height:44px;justify-content:flex-end;font-size:12px}
 body.workspace-shell .staff-day-shifts,body.workspace-shell .staff-add-shift{grid-column:1/-1}
 body.workspace-shell .staff-day.is-off{padding:0 10px}
 body.workspace-shell .staff-day.is-off .staff-add-shift{display:none}
 body.workspace-shell .staff-heading{margin:12px 0;gap:8px;align-items:start;flex-wrap:wrap}
 body.workspace-shell .staff-heading h3{font-size:18px;margin:0}
 body.workspace-shell .staff-heading .staff-actions{display:flex!important;gap:8px;min-width:0}
 body.workspace-shell .staff-heading .staff-actions button{min-height:44px!important;padding:8px 12px!important;font-size:14px}
 body.workspace-shell .staff-save-footer{padding:12px 0 0;display:flex;justify-content:flex-end}
 body.workspace-shell .staff-save-footer button{width:100%;min-height:44px}
 body.workspace-shell .staff-service-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;margin:8px 0 12px;padding:10px;background:#f4f8f6;border-radius:8px}
 body.workspace-shell .staff-service-row>button{grid-column:1/-1;font-size:13px;padding:5px 8px;margin:0;justify-self:start}
 body.workspace-shell .visit-drawer .field-pair{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:0}
 body.workspace-shell .visit-drawer #new-patient-fields{border:1px solid #dce6e1;border-radius:10px;padding:12px;margin:6px 0}
 body.workspace-shell .visit-drawer #new-patient-fields label{margin:0 0 10px;font-size:13px;line-height:1.35;overflow:visible}
 body.workspace-shell .visit-drawer #new-patient-fields input{margin:4px 0 0;height:44px;min-height:44px;line-height:1.35;padding:9px 10px}
 body.workspace-shell .visit-drawer #new-patient-fields details{margin:12px 0}
 body.workspace-shell .visit-drawer #new-patient-fields .muted{font-size:12px;margin:8px 0}
 body.workspace-shell .visit-drawer #save-new-patient{display:none}
 body.workspace-shell .visit-drawer:has(#new-patient-fields:not([hidden])) #slot-waitlist{display:none}
 body.workspace-shell #practitioner-form:has(#staff-back:not([hidden])) #practitioner-cancel{display:none}
 body.workspace-shell .visit-drawer:has(#new-patient-fields:not([hidden])) .booking-details{display:none}
 body.workspace-shell .booking-slot-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow-x:auto}
 body.workspace-shell .booking-slot-day{min-width:90px}
 body.workspace-shell .booking-slot-empty{grid-column:1/-1;font-size:13px}
 body.auth-shell .login{padding:18px 16px;border-radius:10px}
 body.auth-shell .business-signup h1{font-size:23px}
 body.auth-shell .business-signup p{font-size:13px;line-height:1.4;margin:10px 0}
 body.auth-shell .business-signup fieldset{margin:18px 0;padding:0}
 body.auth-shell .business-signup legend{font-size:16px;margin-bottom:8px}
 body.auth-shell .business-signup input:not([type=checkbox]){margin:4px 0 10px}
 body.auth-shell .business-signup .check{display:flex;gap:8px;font-weight:400;font-size:13px;margin:12px 0}
 body.auth-shell .business-signup .check input{flex:0 0 20px;width:20px;height:20px;margin:0}
 body.auth-shell .business-signup .field-pair{grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:10px}
}

/* Compact booking composer: content takes the screen, not nested headings. */
#calendar-staff-strip{flex:none;display:flex;align-items:center;gap:8px;min-width:0;padding:6px 10px;border-bottom:1px solid #e1e8e4;font-size:12px;background:#fff}
#calendar-staff-chips{display:flex;gap:6px;overflow-x:auto;min-width:0;padding:2px 0}
.staff-chip-group{display:inline-flex;flex:none;border:1px solid #d4dfd9;border-radius:7px;overflow:hidden}
#calendar-staff-chips button{min-height:40px;margin:0;padding:7px 10px;font-size:13px;white-space:nowrap;background:#fff;color:#40554b;border:0;border-radius:0}
#calendar-staff-chips .staff-chip{border-left:4px solid var(--lane-color,#317761)}
#calendar-staff-chips .staff-chip[aria-pressed=true]{background:#e8f5ee;font-weight:650}
#calendar-staff-chips .staff-chip[aria-pressed=false]{opacity:.65}
#calendar-staff-chips .staff-chip-only{border-left:1px solid #dce6df;font-size:12px;color:#18705a}
.booking-time-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:8px 0}
.staff-save-footer{gap:10px}
.staff-service-default{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.staff-service-default input{width:20px!important;height:20px!important;min-height:20px!important;margin:0!important}
#patient-search-back{display:none}
@media(max-width:780px){
 /* Avoid iOS caret coordinates drifting inside a fixed modal after scrolling. */
 body.workspace-shell .visit-drawer{position:absolute;top:var(--booking-document-top,0px)}
 /* While searching, the results own the space above the keyboard. */
 body.workspace-shell .visit-drawer.is-searching-client :is(#event-tabs,#slot-waitlist,#patient-mode-switch,#booking-patient-title,#booking-patient-help,#selected-patient,#change-selected-patient,.booking-details,.drawer-foot){display:none!important}
 body.workspace-shell .visit-drawer.is-searching-client #patient-search-back{display:block;min-height:44px;margin:0;padding:6px 10px;font-size:14px}
 body.workspace-shell .visit-drawer.is-searching-client .drawer-head{justify-content:space-between}
 body.workspace-shell .visit-drawer.is-searching-client .drawer-head h2{display:none!important}
 body.workspace-shell .visit-drawer.is-searching-client .drawer-body{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:4px 12px 8px!important}
 body.workspace-shell .visit-drawer.is-searching-client #visit-feedback{flex:none;width:100%;min-width:0;overflow-wrap:anywhere;margin:0 0 6px;font-size:13px;line-height:18px}
 body.workspace-shell .visit-drawer.is-searching-client #visit-feedback:empty{display:none}
 body.workspace-shell .visit-drawer.is-searching-client :is(#visit-form,#visit-step-one,.booking-patient,#existing-patient-fields){display:flex!important;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%;padding:0!important;margin:0!important;border:0}
 body.workspace-shell .visit-drawer.is-searching-client #existing-patient-fields>label{font-size:0;margin:0 0 6px;flex:none}
 body.workspace-shell .visit-drawer.is-searching-client #patient-search{font-size:16px!important;margin:0;min-height:44px;height:44px}
 body.workspace-shell .visit-drawer.is-searching-client #patient-results{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;margin:0}
 body.workspace-shell .visit-drawer.is-searching-client .patient-choice{display:block;width:100%;min-height:44px;margin:0 0 4px;padding:9px 10px;font-size:14px;line-height:20px;text-align:left}
 body.workspace-shell .visit-drawer.is-searching-client #visit-step-two{display:none!important}
}
@media(max-width:780px){
 body.workspace-shell .staff-save-footer button{width:auto;flex:1}
 body.workspace-shell .staff-service-default{margin:0!important;min-height:36px;font-weight:400}
 body.workspace-shell .visit-drawer .drawer-head{min-height:44px!important;height:44px;padding:0 10px!important;gap:6px}
 body.workspace-shell .visit-drawer .drawer-head h2{font-size:16px!important;margin:0}
 body.workspace-shell .visit-drawer.is-new-client .drawer-head h2{display:block!important}
 body.workspace-shell .visit-drawer.is-new-client #event-tabs,
 body.workspace-shell .visit-drawer.is-new-client #patient-mode-switch,
 body.workspace-shell .visit-drawer.is-new-client #booking-patient-title{display:none!important}
 body.workspace-shell .visit-drawer .drawer-body{padding:8px 12px!important;overflow:auto;flex:1;min-height:0;scroll-padding:10px}
 body.workspace-shell .visit-drawer.is-new-client .booking-patient{padding:0!important;border:0}
 body.workspace-shell .visit-drawer.is-new-client #new-patient-fields{padding:0!important;border:0!important;border-radius:0;margin:0!important}
 body.workspace-shell .visit-drawer.is-new-client #new-patient-fields label{font-size:13px;margin:0 0 8px!important;line-height:18px}
 body.workspace-shell .visit-drawer.is-new-client #new-patient-fields input{height:44px;min-height:44px;margin:3px 0 0!important;padding:8px 10px}
 body.workspace-shell .visit-drawer .drawer-foot{padding:5px 12px!important;min-height:54px;gap:8px}
 body.workspace-shell .visit-drawer .drawer-foot button{min-height:44px!important;height:44px;padding:7px 10px!important;margin:0;font-size:16px}
 body.workspace-shell .visit-drawer #booking-patient-help{display:none}
 body.workspace-shell .booking-time-edit label{margin:0 0 6px}
 #calendar-staff-strip>span{display:none}
 body.booking-open .workspace-mobile-nav{display:none!important}
}
@media(max-width:780px){body.workspace-shell .visit-drawer.is-new-client .drawer-head h2{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;padding:0!important;margin:0!important}body.workspace-shell .visit-drawer.is-new-client .drawer-head{justify-content:space-between!important}}
