/* Staff-specific appointment settings. */
.biz-staff-panel { margin-top:16px; }
.staff-settings-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:10px; }
.staff-settings-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--border-color); border-radius:10px; }
.staff-settings-card.is-inactive { opacity:.62; }
.staff-settings-card .staff-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:#fff; font-weight:800; }
.staff-settings-card > div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:2px; }
.staff-settings-card > div:nth-child(2) span,.staff-settings-card > div:nth-child(2) small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-muted); }
.staff-settings-card > div:nth-child(2) span { font-size:.78rem; }
.staff-settings-card > div:nth-child(2) small { font-size:.68rem; }
.staff-settings-empty { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:var(--text-muted); text-align:center; }
.staff-settings-empty i { font-size:2rem; }
.staff-settings-modal { width:min(1040px,calc(100vw - 32px)); max-width:1040px; max-height:min(920px,calc(100vh - 32px)); max-height:min(920px,calc(100dvh - 32px)); display:flex; flex-direction:column; overflow:hidden; }
.staff-settings-modal .modal-header,.staff-settings-modal .modal-footer { flex:0 0 auto; }
.staff-settings-modal .modal-body { min-height:0; flex:1 1 auto; overflow:auto; overscroll-behavior:contain; }
.staff-settings-modal .form-label { color:var(--text-secondary); }
.staff-settings-section { border-bottom:1px solid var(--border-color); padding:0 0 18px; margin:0 0 18px; }
.staff-settings-section:last-of-type { border-bottom:0; }
.staff-settings-section h4 { margin:0 0 4px; }
.staff-settings-section > p { margin:0 0 12px; color:var(--text-secondary); font-size:.76rem; }
.staff-base-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr auto; align-items:end; gap:10px; }
.staff-base-grid .form-group { margin:0; }
.staff-inline-check { display:flex; align-items:center; gap:7px; min-height:40px; font-size:.8rem; font-weight:650; }
.staff-service-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:8px; }
.staff-service-list > .text-muted { color:var(--text-secondary); }
.staff-service-row { display:grid; grid-template-columns:auto minmax(100px,1fr) 130px; align-items:center; gap:8px; padding:8px 10px; background:var(--bg-secondary); border-radius:8px; font-size:.78rem; }
.staff-service-row input[type="number"] { min-height:36px; }
.staff-hours-list { display:flex; flex-direction:column; gap:7px; }
.staff-hours-row { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:12px; min-height:42px; padding:6px 9px; border:1px solid var(--border-color); border-radius:8px; }
.staff-hours-row > div { display:flex; align-items:center; gap:8px; }
.staff-hours-row > div[hidden] { display:none; }
.staff-hours-row .appt-time24 { flex:1; }
.staff-hours-row .appt-time24-select { flex:1; }
.staff-timeoff-create { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:8px; margin-bottom:10px; }
.staff-timeoff-list { display:flex; flex-direction:column; gap:7px; }
.staff-timeoff-list > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--border-color); border-radius:8px; }
.staff-timeoff-list span { display:flex; flex-direction:column; gap:2px; }
.staff-timeoff-list small { color:var(--text-secondary); }

@media (max-width:760px) {
    .staff-settings-modal { width:100%; max-height:calc(100vh - var(--mobile-nav-height,64px)); max-height:calc(100dvh - var(--mobile-nav-height,64px)); align-self:flex-end; margin:0; border-radius:14px 14px 0 0; }
    .staff-settings-card { grid-template-columns:42px 1fr auto; }
    .staff-settings-card > .appt-status-badge { display:none; }
    .staff-base-grid,.staff-timeoff-create { grid-template-columns:1fr; }
    .staff-service-list { grid-template-columns:1fr; }
    .staff-hours-row { grid-template-columns:1fr; }
    .staff-settings-modal .modal-footer { flex-wrap:wrap; padding-bottom:max(.75rem,env(safe-area-inset-bottom)); }
    .staff-settings-modal .modal-footer .btn { flex:1 1 150px; min-height:44px; }
}
