:root{color-scheme:light;--background:#f3f6f8;--border:#dbe3ea;--border-strong:#c3d0da;--coral:#d96459;--indigo:#4f5bd5;--muted:#647386;--sidebar:#18232f;--surface:#ffffff;--surface-soft:#f8fafc;--teal:#168c7e;--text:#14202b;--warning:#b87918}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#e7eef4;display:flex;flex-direction:column;gap:28px;padding:24px 18px}.brand-lockup{align-items:center;display:flex;font-size:17px;font-weight:750;gap:10px;letter-spacing:0}.brand-mark{align-items:center;background:#e6f6f2;border-radius:8px;color:#0b6f65;display:inline-flex;height:36px;justify-content:center;width:36px}.nav-list{display:grid;grid-gap:6px;gap:6px}.nav-item{align-items:center;border-radius:8px;color:#aebcc8;display:flex;font-size:14px;font-weight:650;gap:10px;min-height:42px;padding:0 12px}.nav-item.active,.nav-item:hover{background:#263547;color:#ffffff}.workspace{display:grid;grid-gap:22px;gap:22px;padding:26px}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between}.provider-row h3,.schedule-row h3,.section-heading h2,.topbar h1{margin:0}.topbar h1{font-size:28px;line-height:1.15}.eyebrow{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.clinic-switcher,.topbar-actions{align-items:center;display:flex;gap:10px}.clinic-switcher{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:42px;padding:0 10px}.auth-chip,.clinic-switcher span{color:var(--muted);font-size:13px;font-weight:650}.clinic-switcher select{background:transparent;border:0;color:var(--text);font-size:14px;font-weight:700;outline:none}.auth-chip,.ghost-button,.primary-button{align-items:center;border-radius:8px;display:inline-flex;gap:8px;min-height:42px}.auth-chip{background:var(--surface);border:1px solid var(--border);padding:0 12px}.status-dot{background:#25a976;border-radius:50%;height:8px;width:8px}.status-dot.muted{background:#a9b6c2}.ghost-button,.primary-button{border:1px solid transparent;font-size:14px;font-weight:750;justify-content:center;padding:0 14px}.primary-button{background:var(--text);color:#ffffff}.ghost-button{background:var(--surface);border-color:var(--border);color:var(--text)}.summary-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-panel,.metric-card,.rail-section{background:var(--surface);border:1px solid var(--border);border-radius:8px}.metric-card{min-height:108px;padding:18px}.metric-card p{color:var(--muted);font-size:13px;font-weight:700;margin:0 0 14px}.metric-card strong{display:block;font-size:27px;line-height:1.1}.metric-card.teal{border-top:4px solid var(--teal)}.metric-card.amber{border-top:4px solid var(--warning)}.metric-card.coral{border-top:4px solid var(--coral)}.metric-card.indigo{border-top:4px solid var(--indigo)}.content-grid{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr)}.calendar-panel{padding:18px}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-heading h2{font-size:18px;line-height:1.2}.section-heading.compact{margin-bottom:12px}.schedule-list{display:grid;grid-gap:10px;gap:10px}.schedule-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:74px minmax(0,1fr) 112px;min-height:76px;padding:12px}.schedule-row.held{border-left-color:var(--warning)}.schedule-row.pending{border-left-color:var(--indigo)}.schedule-row.recovery{border-left-color:var(--coral)}.schedule-row time{color:var(--text);font-size:15px;font-weight:800}.provider-row h3,.schedule-row h3{font-size:15px;line-height:1.25}.provider-row p,.schedule-row p{color:var(--muted);font-size:13px;line-height:1.35;margin:4px 0 0}.state-label{background:#eef2f6;border-radius:999px;color:var(--text);font-size:12px;font-weight:750;justify-self:end;padding:6px 10px;white-space:nowrap}.slot-board{border-top:1px solid var(--border);display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;padding-top:16px}.slot-column{display:grid;grid-gap:8px;gap:8px}.slot-column h3{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;margin:0;text-transform:uppercase}.slot-cell{align-items:center;border:1px solid var(--border);border-radius:8px;display:inline-flex;font-size:13px;font-weight:750;justify-content:center;min-height:34px}.slot-cell.free{background:#edf8f4;border-color:#b9ddd2;color:#0d6f61}.slot-cell.busy{background:#f9eeed;border-color:#edc6c2;color:#9e3e36}.slot-cell.hold{background:#fff5df;border-color:#efd49b;color:#8b5b0d}.slot-cell.blocked{background:#eef2f6;color:#536273}.side-rail{display:grid;grid-gap:14px;gap:14px}.rail-section{padding:16px}.provider-list,.setup-list{display:grid;grid-gap:10px;gap:10px}.setup-list{list-style:none;margin:0;padding:0}.setup-list li{align-items:center;color:var(--text);display:flex;font-size:14px;font-weight:650;gap:10px;min-height:28px}.check{background:#dfe6ed;border-radius:50%;height:10px;width:10px}.check.done{background:var(--teal)}.provider-row{align-items:center;border-bottom:1px solid var(--border);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 92px;padding-bottom:12px}.provider-row:last-child{border-bottom:0;padding-bottom:0}meter{height:8px;width:92px}.icon{flex:0 0 auto;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}@media (max-width:1040px){.app-shell{grid-template-columns:80px minmax(0,1fr)}.brand-lockup span:last-child,.nav-item span{display:none}.nav-item{justify-content:center}.content-grid,.summary-grid{grid-template-columns:1fr 1fr}.calendar-panel{grid-column:1/-1}}@media (max-width:760px){.app-shell{display:block}.sidebar{flex-direction:row;overflow-x:auto;padding:14px}.nav-list{display:flex;min-width:max-content}.workspace{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.clinic-switcher,.primary-button,.topbar-actions{width:100%}.clinic-switcher{justify-content:space-between}.content-grid,.summary-grid{grid-template-columns:1fr}.slot-board{grid-template-columns:1fr 1fr}.provider-row,.schedule-row{grid-template-columns:1fr}.state-label{justify-self:start}}.public-booking-shell{align-items:center;display:flex;min-height:100vh;padding:24px}.booking-widget{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0 auto;max-width:860px;padding:22px;width:100%}.booking-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.booking-header h1{font-size:28px;line-height:1.15;margin:0}.booking-header>span{background:#eef8f5;border-radius:999px;color:#0d6f61;font-size:13px;font-weight:750;padding:8px 12px}.booking-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 320px}.booking-slots{border:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.booking-slots legend{color:var(--muted);font-size:13px;font-weight:800;margin-bottom:10px}.slot-option{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:800;justify-content:center;min-height:78px}.slot-option.selected{background:#edf8f4;border-color:#8acabd;color:#0d6f61}.slot-option input{position:absolute;opacity:0}.booking-form{display:grid;grid-gap:12px;gap:12px}.booking-form label{display:grid;grid-gap:7px;gap:7px}.booking-form label span{color:var(--muted);font-size:13px;font-weight:750}.booking-form input{border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:42px;padding:0 12px}.booking-form button{width:100%}@media (max-width:760px){.booking-grid,.booking-header{grid-template-columns:1fr}.booking-header{align-items:flex-start;flex-direction:column}.booking-slots{grid-template-columns:1fr}}.inbox-layout{align-items:stretch;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);min-height:calc(100vh - 140px)}.inbox-list,.inbox-thread{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0}.inbox-list{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.inbox-tabs{border-bottom:1px solid var(--border);display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.inbox-tabs button{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:13px;font-weight:750;min-height:36px}.inbox-tabs button.active{background:#edf8f4;border-color:#9fd5ca;color:#0d6f61}.conversation-stack{display:grid;grid-gap:0;gap:0;overflow:auto}.conversation-row{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text);display:grid;grid-gap:10px;gap:10px;grid-template-columns:10px minmax(0,1fr) 8px;min-height:82px;padding:12px 14px;text-align:left}.conversation-row.selected,.conversation-row:hover{background:var(--surface-soft)}.conversation-row small,.conversation-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-row strong{font-size:14px;line-height:1.25}.conversation-row small{color:var(--muted);font-size:12px;line-height:1.35;margin-top:4px}.conversation-row em{background:var(--coral);border-radius:50%;height:8px;width:8px}.channel-dot{border-radius:50%;height:10px;width:10px}.channel-dot.whatsapp{background:#25a976}.channel-dot.instagram{background:#c35aa6}.channel-dot.web{background:var(--indigo)}.channel-dot.messenger{background:#2486dc}.channel-dot.sms{background:var(--warning)}.inbox-thread{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.thread-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:14px;justify-content:space-between;padding:16px}.thread-header h2{font-size:20px;line-height:1.2;margin:0}.thread-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status-pill{border-radius:999px;font-size:12px;font-weight:800;padding:7px 10px}.status-pill.active{background:#edf8f4;color:#0d6f61}.status-pill.converted,.status-pill.recovered{background:#eef0ff;color:#3742a8}.status-pill.lost{background:#f9eeed;color:#9e3e36}.service-window-warning{background:#fff5df;border-bottom:1px solid #efd49b;color:#7a4f0c;font-size:13px;font-weight:750;padding:10px 16px}.message-stream{align-content:start;display:grid;grid-gap:10px;gap:10px;overflow:auto;padding:16px}.message-bubble{border:1px solid var(--border);border-radius:8px;max-width:min(74%,620px);padding:10px 12px}.message-bubble.inbound{background:var(--surface-soft);justify-self:start}.message-bubble.outbound{background:#eaf7f3;border-color:#b9ddd2;justify-self:end}.message-bubble p{font-size:14px;line-height:1.45;margin:0}.message-bubble time{color:var(--muted);display:block;font-size:11px;font-weight:700;margin-top:6px}.reply-composer{align-items:end;border-top:1px solid var(--border);display:grid;grid-gap:10px;gap:10px;grid-template-columns:150px minmax(0,1fr) auto;padding:12px}.reply-composer textarea{border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:44px;padding:10px 12px;resize:vertical}.reply-composer button:disabled{cursor:not-allowed;opacity:.55}.template-toggle{align-items:center;color:var(--muted);display:flex;font-size:13px;font-weight:750;gap:8px;min-height:44px}@media (max-width:1040px){.inbox-layout{grid-template-columns:1fr}.inbox-list{max-height:320px}}@media (max-width:760px){.reply-composer{grid-template-columns:1fr}.message-bubble{max-width:100%}}.recovery-dashboard,.recovery-grid{display:grid;grid-gap:18px;gap:18px}.recovery-grid{align-items:start;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.channel-bars,.live-calendar,.opportunity-list{display:grid;grid-gap:10px;gap:10px}.appointment-form{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-bottom:14px;padding:12px}.form-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label{display:grid;grid-gap:6px;gap:6px}.appointment-toolbar span,.form-grid span{color:var(--muted);font-size:12px;font-weight:750}.form-grid input,.reschedule-row input{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:40px;min-width:0;padding:0 10px;width:100%}.appointment-ids{border:0}.appointment-ids summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:800;margin-bottom:10px}.appointment-actions,.appointment-toolbar,.reschedule-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.calendar-event,.channel-row,.opportunity-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;min-height:72px;padding:12px}.channel-row{grid-template-columns:minmax(0,1fr) 112px 96px}.channel-row span,.channel-row strong,.opportunity-row small,.opportunity-row strong{display:block}.calendar-event h3,.channel-row strong,.opportunity-row strong{font-size:14px;line-height:1.25}.calendar-event p,.channel-row span,.opportunity-row small{color:var(--muted);font-size:12px;line-height:1.35;margin-top:4px}.channel-row b,.opportunity-row b{font-size:13px;justify-self:end}.opportunity-row{color:var(--text);grid-template-columns:10px minmax(0,1fr) 86px}.opportunity-row:hover{border-color:var(--border-strong)}.calendar-event{border-left:4px solid var(--teal);grid-template-columns:118px minmax(0,1fr) 118px minmax(260px,auto)}.calendar-event.held,.calendar-event.pending_payment{border-left-color:var(--warning)}.calendar-event.cancelled,.calendar-event.no_show,.calendar-event.released{border-left-color:var(--coral)}.calendar-event time{font-size:13px;font-weight:800}.calendar-event h3,.calendar-event p{margin:0}.ghost-button.small,.primary-button.small{font-size:12px;min-height:34px;padding:0 10px}.reschedule-row{grid-column:1/-1;justify-content:flex-end}.reschedule-row input{max-width:220px}.live-calendar.compact .calendar-event{grid-template-columns:1fr;min-height:88px}.live-calendar.compact .state-label{justify-self:start}.mobile-staff-shell{display:grid;grid-gap:16px;gap:16px;margin:0 auto;max-width:520px;min-height:100vh;padding:16px}.mobile-section,.mobile-staff-header{background:var(--surface);border:1px solid var(--border);border-radius:8px}.mobile-staff-header{align-items:center;display:flex;justify-content:space-between;min-height:76px;padding:14px}.mobile-staff-header h1{font-size:24px;line-height:1.1;margin:0}.mobile-staff-header>span{color:var(--muted);font-size:12px;font-weight:750}.mobile-section{padding:14px}.mobile-section .inbox-layout{grid-template-columns:1fr;min-height:620px}.mobile-section .reply-composer,.mobile-section .thread-actions{display:none}@media (max-width:1040px){.recovery-grid{grid-template-columns:1fr}.calendar-event{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.calendar-event .state-label{justify-self:start}}@media (max-width:760px){.calendar-event,.channel-row,.opportunity-row{grid-template-columns:1fr}.appointment-actions,.appointment-toolbar,.reschedule-row{align-items:stretch;flex-direction:column}.appointment-actions button,.appointment-toolbar button,.reschedule-row button,.reschedule-row input{max-width:none;width:100%}.channel-row b,.opportunity-row b{justify-self:start}}