.biz-settings-page { max-width:1440px; margin:0 auto; }
.biz-settings-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:1rem; flex-wrap:wrap; }
.biz-settings-title { font-size:1.15rem; margin:0; display:flex; align-items:center; gap:8px; }
.biz-settings-subtitle { color:var(--text-muted); font-size:.78rem; margin-top:5px; max-width:760px; line-height:1.45; }
.biz-settings-actions { display:flex; gap:8px; flex-wrap:wrap; }
.biz-settings-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:20px; }
.biz-settings-card { background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius-lg,12px); padding:1.2rem; min-width:0; }
.biz-settings-card-title { font-size:.95rem; font-weight:700; margin-bottom:1rem; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.biz-hours-list { display:grid; gap:8px; }
.biz-hours-row { display:grid; grid-template-columns:145px minmax(0,1fr); gap:12px; align-items:start; padding:11px; border:1px solid var(--border-color); border-radius:10px; background:var(--bg-secondary,var(--bg-card)); }
.biz-hours-day-control { display:flex; align-items:center; gap:9px; min-height:44px; }
.biz-hours-day { font-weight:700; font-size:.84rem; }
.biz-hours-editor { display:grid; gap:8px; }
.biz-hours-window,.biz-break-times { display:grid; grid-template-columns:94px minmax(0,1fr); align-items:center; gap:8px; }
.biz-hours-editor[hidden],.biz-break-times[hidden],.biz-hours-closed[hidden] { display:none !important; }
.biz-hours-time-pair { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.biz-hours-time-pair .appt-time24 { width:128px; }
.biz-hours-field-label { font-size:.72rem; color:var(--text-muted); font-weight:650; }
.biz-break-check { display:flex; align-items:center; gap:7px; font-size:.76rem; color:var(--text-secondary); cursor:pointer; width:max-content; }
.biz-break-check input { accent-color:var(--primary); }
.biz-hours-closed { min-height:34px; display:flex; align-items:center; font-size:.78rem; color:var(--text-muted); font-style:italic; }
.biz-hours-toggle { position:relative; display:inline-block; width:44px; height:44px; flex-shrink:0; }
.biz-hours-toggle input { opacity:0; width:0; height:0; }
.biz-hours-toggle .slider { position:absolute; cursor:pointer; inset:10px 0; background:var(--border-color); transition:.2s; border-radius:20px; }
.biz-hours-toggle .slider:before { content:''; position:absolute; height:18px; width:18px; left:3px; bottom:3px; background:white; transition:.2s; border-radius:50%; }
.biz-hours-toggle input:focus-visible + .slider { outline:2px solid var(--primary); outline-offset:2px; }
.biz-hours-toggle input:checked + .slider { background:var(--primary); }
.biz-hours-toggle input:checked + .slider:before { transform:translateX(20px); }
.appt-setting-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid var(--border-color); }
.appt-setting-row:last-child { border-bottom:none; }
.appt-setting-label { font-size:.85rem; font-weight:650; }
.appt-setting-desc { font-size:.72rem; color:var(--text-muted); line-height:1.35; margin-top:2px; }
.appt-setting-input { width:110px; min-height:44px; font-size:.85rem; padding:6px 8px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-card); color:var(--text-primary); font-family:var(--font-mono,monospace); text-align:center; }
.biz-timezone-select { width:min(260px,100%); min-height:44px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-card); color:var(--text-primary); padding:6px 8px; }
.biz-cadence-summary { margin-top:12px; padding:12px; border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border-color)); border-radius:10px; background:color-mix(in srgb,var(--primary) 8%,transparent); }
.biz-cadence-value { color:var(--primary); font-size:.9rem; font-weight:750; }
.biz-slot-preview { margin-top:20px; }
.biz-slot-preview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:9px; }
.biz-slot-preview-day { border:1px solid var(--border-color); border-radius:10px; padding:10px; min-width:0; background:var(--bg-secondary,var(--bg-card)); }
.biz-slot-preview-heading { display:flex; justify-content:space-between; gap:8px; font-size:.78rem; font-weight:700; margin-bottom:7px; }
.biz-slot-preview-window { color:var(--text-muted); font-size:.68rem; font-weight:500; }
.biz-slot-chips { display:flex; flex-wrap:wrap; gap:5px; }
.biz-slot-chip { border-radius:999px; padding:3px 7px; background:color-mix(in srgb,var(--primary) 11%,transparent); color:var(--primary); font-family:var(--font-mono,monospace); font-size:.7rem; }
.biz-preview-note { color:var(--text-muted); font-size:.7rem; line-height:1.4; margin-top:10px; }
.staff-card { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--border-color); border-radius:10px; margin-bottom:8px; transition:all .2s; }
.staff-card:hover { border-color:var(--primary); box-shadow:0 2px 8px rgba(99,102,241,.1); }
.staff-avatar { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-weight:700; font-size:.85rem; flex-shrink:0; }
.staff-info { flex:1; min-width:0; }
.staff-name { font-weight:600; font-size:.88rem; }
.staff-role { font-size:.75rem; color:var(--text-muted); }
.staff-actions { display:flex; gap:4px; }
.staff-actions button { background:none; border:none; cursor:pointer; padding:4px 6px; border-radius:6px; font-size:.78rem; color:var(--text-muted); transition:all .15s; }
.staff-actions button:hover { background:var(--bg-hover); color:var(--text-primary); }
.staff-actions button.danger:hover { color:var(--danger); }
@media(max-width:1100px) { .biz-settings-grid { grid-template-columns:1fr; } }
@media(max-width:768px) {
    .biz-settings-page { padding-left:12px; padding-right:12px; }
    .biz-settings-actions,.biz-settings-actions .btn { width:100%; }
    .biz-hours-row { grid-template-columns:1fr; gap:7px; }
    .biz-hours-window,.biz-break-times { grid-template-columns:1fr; gap:4px; }
    .biz-hours-time-pair { flex-wrap:nowrap; }
    .biz-hours-time-pair .appt-time24 { width:calc(50% - 13px); min-width:0; }
    .appt-setting-input,.biz-timezone-select { font-size:16px; }
    .biz-settings-actions .btn { min-height:44px; }
    .appt-setting-row { align-items:flex-start; }
    .appt-setting-input { width:94px; }
    .biz-slot-preview-grid { grid-template-columns:1fr; }
}
