/* OHH Manager · focused workspace, shared across every management view. */
:root{--bg:#f6f5f3;--card:#fff;--text:#28242a;--muted:#706970;--line:#e5e1e3;--green:#702c45;--green2:#572037;--radius:12px;--shadow:0 2px 10px #29162204}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;font-size:14px;letter-spacing:-.012em}h1,h2,h3{font-family:inherit;letter-spacing:-.035em;font-weight:650;color:var(--text)}h2{font-size:22px}h3{font-size:18px}button{border-radius:8px;background:#fff;min-height:40px;padding:8px 13px}button:hover{background:#f7f1f3;border-color:#b28e9c}button.primary{box-shadow:0 2px 4px #702c4512}input,select,textarea{border-radius:8px;min-height:42px;background:#fff;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #a2677c;outline-offset:1px}label{font-weight:550;color:#625b63;font-size:12px}a{color:var(--green)}[hidden]{display:none!important}
#mainScreen{padding-left:216px}.topbar{padding:14px 26px;min-height:78px;gap:15px;background:#fff;border-bottom:1px solid var(--line)}.brand.small .logo{height:36px;flex-basis:36px;font-size:12px;border-radius:10px}.brand.small h1{font-size:16px;letter-spacing:-.025em}.brand.small p{font-size:11px;margin-top:2px}.top-actions{gap:10px}.top-actions .lang button{min-height:30px;padding:5px 9px}.top-actions #logoutBtn{font-size:12px;min-height:34px}.top-actions .badge{background:#f5eef1;color:var(--green);font-size:10px}#workspaceMenu{display:none}
#workspaceNav{position:fixed;inset:0 auto 0 0;width:216px;max-width:none;margin:0;z-index:50;display:flex;flex-direction:column;gap:5px;padding:28px 14px;overflow:auto;background:#472132;color:#fff;box-shadow:1px 0 0 #472132}.workspace-brand{padding:2px 14px 28px;color:#fff;font-family:Georgia,serif;font-size:32px;letter-spacing:.09em}.workspace-brand span{display:block;font-family:system-ui;font-size:9px;letter-spacing:.24em;margin-top:1px;color:#d9bbc7}#workspaceNav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;white-space:normal;border:1px solid transparent;background:transparent;color:#eadbe2;border-radius:8px;font-size:12px;font-weight:500;min-height:43px;padding:10px 11px}#workspaceNav button::before{content:attr(data-nav-number);font-size:10px;color:#ba93a4;font-variant-numeric:tabular-nums}#workspaceNav button:hover{background:#ffffff0b;color:white}#workspaceNav button.active{background:#fff;color:#61253d;box-shadow:0 2px 6px #00000010;font-weight:650}#workspaceNav button.active::before{color:#894c64}#workspaceNav button[data-view=therapists],#workspaceNav button[data-view=account]{margin-top:15px}#workspaceNav .booking-nav-badge{margin-left:auto;background:#f3d6a8;color:#482b13}
#mainContent{max-width:none;padding:0 26px 30px}.workspace-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 20px}.workspace-eyebrow{margin:0 0 5px;font-size:9px;letter-spacing:.16em;color:#8a7881;font-weight:650}.workspace-context h2{margin:0;font-size:26px;letter-spacing:-.04em}.workspace-context-actions{display:flex;align-items:center;gap:18px}#workspaceClock{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.card{padding:22px;border-radius:12px;box-shadow:var(--shadow)}.grid2{gap:20px;align-items:start}.section-head{gap:12px;margin-bottom:16px}.section-head h2{font-size:19px}.section-note{font-size:12px;line-height:1.6}.list{gap:0}.list .item{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 4px;min-height:68px}.list .item:last-child{border-bottom:0}.item strong{font-size:14px;font-weight:600}.item small{font-size:12px}.item .actions{gap:7px}.item .danger,.del-s{background:transparent;color:#8f4053;border-color:#e8d9df}.workspace-list-view>.grid2,#appointments>.grid2{grid-template-columns:minmax(0,1fr)}.workspace-list-search{max-width:480px;margin:8px 0 18px}.workspace-list-search input{margin-top:5px}
.workspace-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.workspace-filters label{margin:0;min-width:130px;flex:1}.workspace-filters label.grow{flex:2;min-width:220px}.workspace-filters input,.workspace-filters select{margin-top:4px}.workspace-pagination{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--muted)}.workspace-pagination span{margin-right:auto}th{background:#f7f6f6;text-transform:uppercase;font-size:10px;letter-spacing:.06em;padding:13px 12px}td{padding:15px 12px;vertical-align:middle}tbody tr:hover{background:#fcfafb}.table-wrap{border-radius:8px}.status{font-size:11px;white-space:nowrap}.kpi{background:#fff;border-radius:12px;border:1px solid var(--line);box-shadow:none;padding:20px}.kpi strong{font-family:inherit;letter-spacing:-.04em}.kpis{gap:16px;margin:18px 0}.report-filters .filters{gap:10px}.client-list{gap:7px}.clients-layout{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.clients-layout>.card:first-child{position:sticky;top:18px}.client-list{max-height:65dvh;overflow:auto}.client-empty{padding:40px 16px}
.calendar-workbench{padding:18px}.calendar-workbench>.section-head{display:none}.calendar-toolbar{padding:0 0 12px!important;margin-bottom:12px!important}.calendar-toolbar h3{font-size:17px}.calendar-view-switch{background:#f6f3f4;border-color:#ece5e8;border-radius:9px}.calendar-view-switch button{min-height:34px;font-size:12px;padding:6px 13px}.calendar-filterbar{gap:10px}.calendar-filterbar label{font-size:11px;min-width:140px}.calendar-search-tools{margin-bottom:12px}.calendar-stats{padding:10px 0;border-top:1px solid #f0edef;margin-bottom:10px}.calendar-stats strong{font-size:15px}.calendar-workbench .calendar-scroll{max-height:calc(100dvh - 380px);min-height:300px;border-radius:8px}.team-column-header,.team-time-header{background:#faf7f9}.team-time-ruler{background:#faf9fa}.team-time-slot:disabled{background:#faf8f9}.team-event{box-shadow:none;border-color:#d2a8b8;border-left-color:#833b57;background:#f5e4eb}.team-event.is-completed{border-color:#a1c9b1;background:#e7f2eb;border-left-color:#38724e}.team-event .event-client{font-weight:700}.team-event .event-time{font-variant-numeric:tabular-nums}.team-event:hover{box-shadow:0 3px 9px #5e2c4522}.calendar-workbench #calendarHint{font-size:11px}.calendar-workbench #googleSyncIndicator{font-size:11px}.calendar-workbench .calendar-search-label{max-width:none}.calendar-workbench .calendar-search-label input{background:#fff}.calendar-workbench .calendar-density-label{max-width:180px}.calendar-legend{font-size:10px}
.booking-toolbar{padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px}.booking-manager-layout{gap:18px}.booking-request-detail{position:sticky;top:16px}.booking-counts{gap:10px}.booking-request-card{border-radius:9px}.booking-detail-secondary{border-radius:8px}.booking-resource-settings{margin-top:20px}.booking-eyebrow{font-size:10px;letter-spacing:.08em}.booking-feedback:empty{display:none}.booking-review-actions{box-shadow:0 -6px 12px #fff}
#workspaceEditor{border:0;padding:0;width:min(620px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0 0 0 auto;border-radius:14px 0 0 14px;background:#fff;color:var(--text);box-shadow:-15px 0 70px #25130e25}#workspaceEditor::backdrop{background:#24141e55;backdrop-filter:blur(2px)}#workspaceEditor .card{border:0;box-shadow:none}#workspaceEditorError{margin:0 22px 22px}.appointment-drawer-bar{background:#fff!important}#workspaceEditor .appointment-drawer-bar{z-index:10}#workspaceEditor .form-grid .actions{margin-top:12px}#appointmentDrawer,#bookingDrawer{border-radius:14px 0 0 14px}#appointmentDrawer .form-grid{gap:14px}#appointmentDrawer input,#appointmentDrawer select{font-size:15px}#appointmentDrawer .full.actions button{min-height:44px}.login-wrap{background:radial-gradient(ellipse at top,#ede1e7,transparent 65%)}.login-card{border-radius:18px;box-shadow:0 20px 60px #4020330c}.login-card h1{font-size:22px}.login-card .brand p{font-size:13px}
@media(min-width:1600px){#mainContent{padding-left:32px;padding-right:32px}.calendar-filterbar{float:left;margin-right:18px}.calendar-search-tools{min-width:280px}.calendar-search-tools label{min-width:100px}.calendar-stats{clear:both}.calendar-workbench .calendar-scroll{max-height:calc(100dvh - 325px)}}
@media(max-width:1100px){#mainScreen{padding-left:184px}#workspaceNav{width:184px;padding:24px 10px}#workspaceNav button{font-size:11px;padding:10px 8px}.topbar{padding:12px 18px}#mainContent{padding:0 18px 24px}.workspace-context-actions{gap:10px}#workspaceClock{display:none}.clients-layout{grid-template-columns:1fr 1.3fr}.calendar-filterbar .calendar-legend{display:none}}
@media(max-width:800px){#mainScreen{padding-left:0}#workspaceMenu{display:block;min-width:40px;flex-shrink:0}#workspaceNav{display:none;inset:70px 0 auto 0;width:auto;max-height:calc(100dvh - 70px);box-shadow:0 20px 30px #25152130;padding:14px 18px}#mainScreen.nav-open #workspaceNav{display:flex}#workspaceNav .workspace-brand{display:none}#workspaceNav button{font-size:14px}#workspaceNav button[data-view=therapists],#workspaceNav button[data-view=account]{margin-top:4px}.topbar{min-height:70px;padding:10px 14px;gap:10px}.brand.small{flex:1}.brand.small h1{font-size:13px}.brand.small .logo{display:none}.top-actions{gap:5px}.top-actions .badge{display:none}.top-actions .lang button{font-size:11px;padding:5px 7px}.top-actions #logoutBtn{padding:5px 7px;font-size:11px}#mainContent{padding:0 12px 24px}.workspace-context{padding:18px 0 15px}.workspace-context h2{font-size:22px}.workspace-eyebrow{font-size:8px}.workspace-context-actions button{font-size:12px;padding:9px 11px}.card{padding:16px}.clients-layout{grid-template-columns:1fr}.clients-layout>.card:first-child{position:static}.client-list{max-height:35dvh}.calendar-workbench{padding:12px}.calendar-workbench .calendar-scroll{max-height:58dvh}.calendar-filterbar{display:grid;grid-template-columns:1fr 1fr}.calendar-filterbar label{min-width:0;max-width:none!important}.calendar-filterbar .calendar-staff-select-label{grid-column:1/-1}.calendar-search-tools{flex-wrap:nowrap}.calendar-search-label{min-width:0}.calendar-density-label{min-width:115px}.calendar-toolbar h3{order:3;flex-basis:100%;font-size:16px}.calendar-toolbar .calendar-view-switch{width:auto;display:flex}.calendar-view-switch button{padding:6px 10px}.calendar-stats{gap:8px 14px}.calendar-stats>span{font-size:10px}.workspace-filters label{min-width:120px}.workspace-filters label.grow{flex-basis:100%}.workspace-pagination{flex-wrap:wrap}.workspace-pagination span{flex:1;min-width:100px}.booking-request-detail{position:static}.form-grid{gap:12px}input,select,textarea{font-size:16px}#workspaceEditor,#appointmentDrawer,#bookingDrawer{border-radius:0}.grid2{gap:14px}.kpis{gap:10px}.kpi{padding:15px}.login-card{padding:24px}}

/* Resume QA: keep booking controls available and give the timeline more room. */
@media(min-width:801px){.topbar{min-height:64px;padding-top:10px;padding-bottom:10px}.workspace-context{padding:16px 0 14px}.workspace-context h2{font-size:23px}.calendar-workbench{padding:14px 18px}.calendar-toolbar{padding-bottom:9px!important;margin-bottom:9px!important}.calendar-search-tools{margin-bottom:8px}.calendar-stats{padding:8px 0;margin-bottom:8px}.calendar-workbench .calendar-scroll{max-height:calc(100dvh - 330px)}}
#appointmentDrawer .full.actions{position:sticky;bottom:0;z-index:3;background:#fff;padding:12px 0 4px;border-top:1px solid var(--line)}
#calendarSearchNotice{margin:0 0 10px;padding:9px 12px;border-left:3px solid #833b57;background:#f8edf2;color:#61253d;font-size:12px}
#calendarClearSearch{border-color:#a2677c;color:#61253d;font-weight:650}

/* Mobile QA: keep the calendar controls compact without shrinking touch targets. */
@media(max-width:800px){
 .topbar{flex-direction:row;align-items:center;flex-wrap:nowrap}.top-actions{width:auto;flex-shrink:0}.brand.small{min-width:0}.brand.small h1{font-size:12px}.brand.small p{font-size:10px}
 .calendar-toolbar{gap:8px}.calendar-toolbar .calendar-date-nav{display:flex;flex:0 0 100%;width:100%;flex-direction:row;flex-wrap:nowrap;gap:6px}.calendar-date-nav button{min-width:44px;min-height:44px;padding:8px 10px}.calendar-toolbar h3{order:1;flex-basis:100%;margin:2px 0;font-size:15px}.calendar-toolbar .calendar-view-switch{order:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:2px}.calendar-view-switch button{min-height:44px;padding:7px 5px}
 .calendar-filterbar{gap:8px;margin-bottom:8px}.calendar-filterbar input,.calendar-filterbar select{min-width:0;max-width:100%;width:100%;min-height:44px}.calendar-search-tools{display:flex;flex-wrap:wrap;gap:8px}.calendar-search-label{min-width:0;flex:1 1 155px}.calendar-workbench .calendar-density-label{min-width:110px;flex:0 1 130px}.calendar-search-tools input,.calendar-search-tools select{min-height:44px;font-size:16px}.calendar-stats{gap:6px 12px}.calendar-stats>span{font-size:10px}
 .team-event{touch-action:manipulation}.calendar-scroll{overscroll-behavior-x:contain}#appointmentDrawer,#bookingDrawer{width:100%;max-width:100%;overflow-x:hidden}#appointmentDrawer .card,#bookingDrawer #bookingRequestDetail{padding:14px}#appointmentDrawer input,#appointmentDrawer select,#bookingDrawer input:not([type=checkbox]),#bookingDrawer select,#bookingDrawer textarea{min-width:0;max-width:100%;font-size:16px}#closeAppointmentDrawer,#closeBookingDrawer{min-width:44px;min-height:44px}
}
