:root {
  --navy-950: #0a111e; --navy-900: #0f1829; --navy-soft: #18233a; --teal-600: #109f97; --teal-500: #19bbae;
  --teal-100: #e9fbf8; --ink: #243046; --muted: #64748b; --line: #e6eaf0;
  --canvas: #f8fafc; --surface: #fff; --shadow: 0 18px 55px rgba(15,24,41,.07); --sidebar: 248px;
}
*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;overflow-x:hidden}body{min-height:100vh;margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);font:14px/1.55 "DM Sans","Noto Sans Arabic",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar);display:flex;flex-direction:column;padding:28px 18px 20px;color:#d8e7ee;background:radial-gradient(circle at 10% 5%,rgba(25,187,174,.15),transparent 32%),linear-gradient(180deg,var(--navy-900),var(--navy-950))}
.brand{display:flex;align-items:center;padding:0 8px 28px}.brand-logo{display:block;width:178px;height:auto;object-fit:contain}.nav-label{padding:0 12px 9px;color:#8292a8;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.side-nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:45px;padding:0 12px;border-radius:11px;color:#a8b4c5;font-weight:650;transition:color .18s ease,background-color .18s ease}.nav-item svg{width:19px;height:19px;opacity:.82}.nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}.nav-item.active{color:#5de0d5;background:rgba(25,187,174,.16);box-shadow:inset 3px 0 var(--teal-500)}
.sidebar-bottom{margin-top:auto}.workspace-card{margin-bottom:14px;padding:13px;border:1px solid rgba(25,187,174,.18);border-radius:12px;background:rgba(25,187,174,.08)}.workspace-card strong,.workspace-card small{display:block}.workspace-card strong{color:#fff;font-size:13px}.workspace-card small{margin-top:2px;color:#91a0b5;font-size:11px}.logout-form button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:10px;color:#a8b4c5;background:transparent;text-align:left;box-shadow:none}.logout-form button:hover{color:#fff;background:rgba(255,255,255,.06);transform:none}.logout-form svg{width:18px;height:18px}
.app-frame{min-height:100vh;min-width:0;margin-left:var(--sidebar);overflow-x:hidden}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid rgba(230,234,240,.92);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.breadcrumb{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.staff-chip{display:flex;align-items:center;gap:10px}.staff-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#071c1c;background:var(--teal-500);font-size:12px;font-weight:800}.staff-chip span{color:var(--muted);font-size:12px}main{width:100%;max-width:1320px;min-width:0;margin:0 auto;padding:34px 38px 54px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-head>div{min-width:0}.eyebrow{margin:0 0 5px;color:var(--teal-600);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1{margin:0;overflow-wrap:anywhere;color:#102d3e;font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.7px}h2{margin:0;color:#17394b;font-size:17px;letter-spacing:-.2px}.page-head p:not(.eyebrow),.section-head p{margin:6px 0 0;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.showcase-data-banner{min-height:38px;margin:-8px 0 22px;padding:8px 12px;border:1px solid #b9dedb;border-radius:10px;background:#ecfbf9;color:#315665;display:flex;align-items:center;gap:10px;font-size:11px}.showcase-data-banner strong{color:#087f78;text-transform:uppercase;letter-spacing:.06em}.showcase-data-banner span{padding:3px 8px;border-radius:999px;background:#c9f2ed;color:#08675f;font-weight:800}.showcase-data-banner small{margin-inline-start:auto;color:#64748b}
.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card{padding:18px 20px;border:1px solid rgba(215,228,234,.9);border-radius:16px;background:var(--surface);box-shadow:0 8px 25px rgba(25,55,72,.045)}.stat-card span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.stat-card strong{color:#133649;font-size:25px;line-height:1}
.card{border:1px solid rgba(213,226,233,.95);border-radius:18px;padding:22px;background:var(--surface);box-shadow:var(--shadow)}.table-wrap{overflow:hidden;padding:0}table{width:100%;border-collapse:collapse}th,td{padding:16px 20px;border-bottom:1px solid #edf2f4;text-align:left;vertical-align:middle}th{color:#7b8f9a;background:#f9fbfc;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f7fbfb}tbody tr:last-child td{border-bottom:0}td small,.thread-row small{display:block;margin-top:2px;color:var(--muted)}.patient-name{display:flex;align-items:center;gap:11px;font-weight:750;color:#14384a}.initials{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;color:#0f766e;background:#e5faf6;font-size:12px;font-weight:850}.file-link{color:var(--teal-600);font-weight:700}.file-link:hover{text-decoration:underline}
.badge{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 9px;border-radius:999px;color:#516574;background:#edf2f5;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.badge::before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.badge.supported{color:#087f5b;background:#dcfce7}.badge.pending,.badge.unclear{color:#a16207;background:#fef3c7}.badge.unsupported,.badge.expired{color:#b4232c;background:#fee2e2}.badge.none{color:#64748b;background:#eef2f6}
.search{min-width:min(390px,100%);display:flex;gap:9px}input,textarea{width:100%;outline:none;border:1px solid #cad9e0;border-radius:11px;padding:11px 13px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,.12)}.search input{min-width:0}.btn,button{border:0;border-radius:11px;padding:11px 17px;color:#fff;background:linear-gradient(135deg,#0f9387,#0f766e);box-shadow:0 7px 16px rgba(15,118,110,.17);font-weight:750;transition:transform .15s,box-shadow .15s,opacity .15s}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,118,110,.22)}button:disabled{cursor:wait;opacity:.55;transform:none}.secondary{margin-top:12px;color:#0f766e;border:1px solid #a8d8d2;background:#fff;box-shadow:none}
.profile-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1.45fr);gap:20px;align-items:start}.profile-hero{position:relative;overflow:hidden}.profile-hero::after{position:absolute;width:150px;height:150px;right:-65px;top:-70px;border-radius:50%;background:#e4faf6;content:""}.patient-record-card>.section-head,.patient-record-section{position:relative;z-index:1}.patient-record-section+.patient-record-section{margin-top:22px}.patient-record-section h3{margin:0 0 4px;color:#0f766e;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.details-list{display:grid;grid-template-columns:145px 1fr;gap:0;margin:8px 0 0}.details-list dt,.details-list dd{padding:11px 0;border-bottom:1px solid #eef3f5}.details-list dt{color:var(--muted)}.details-list dd{margin:0;color:#183a4b;font-weight:650;overflow-wrap:anywhere}.sensitive-value{color:#102d3e!important;font-variant-numeric:tabular-nums;letter-spacing:.025em}.record-empty{color:#64748b;font-weight:550}.insurance-document-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #a8d8d2;border-radius:10px;color:#087b73;background:#f5fcfb;font-weight:800;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.insurance-document-link svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.insurance-document-link:hover{border-color:var(--teal-500);background:var(--teal-100)}.insurance-document-link:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:2px}.appointments{display:grid;gap:10px}.appointment{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #e5edef;border-radius:13px;background:#fbfdfd}.date-tile{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;color:#0f766e;background:#e3f8f4;font-weight:850}.appointment-info strong,.appointment-info small{display:block}.appointment-info small{margin-top:3px;color:var(--muted)}.appointment-time{color:#23495b;font-weight:750;white-space:nowrap}
.back{min-height:44px;display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;color:var(--muted);font-weight:700}.back:hover{color:var(--teal-600)}.thread-list{display:grid;gap:10px}.thread-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 17px;border:1px solid #dce7eb;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(25,55,72,.035);transition:transform .15s,border-color .15s,box-shadow .15s}.thread-row:hover{transform:translateY(-2px);border-color:#b6d8d5;box-shadow:0 11px 26px rgba(25,55,72,.08)}.thread-row.urgent{border-left:4px solid #f2b84b;background:linear-gradient(90deg,#fffaf0,#fff 18%)}.thread-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#14786f;background:#e5f8f5;font-weight:850}.thread-meta{text-align:right}.thread-row time{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.thread-layout{display:grid;grid-template-rows:minmax(420px,calc(100vh - 315px)) auto;gap:0;overflow:hidden;border:1px solid #d6e3e8;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.chat{overflow:auto;padding:24px;display:flex;flex-direction:column;gap:10px;background-color:#eaf0f1;background-image:radial-gradient(rgba(15,118,110,.075) .8px,transparent .8px);background-size:18px 18px}.bubble{max-width:min(72%,680px);align-self:flex-start;padding:10px 13px 7px;border-radius:4px 14px 14px 14px;color:#213b49;background:#fff;box-shadow:0 2px 5px rgba(27,55,68,.09);white-space:pre-wrap}.bubble.assistant{align-self:flex-end;border-radius:14px 4px 14px 14px;background:#d9fdd3}.bubble.system{align-self:center;max-width:80%;color:#627782;background:rgba(255,255,255,.75);font-size:12px;text-align:center}.bubble p{margin:0}.bubble small{display:block;margin-top:5px;color:#72848c;font-size:9px;text-align:right}.composer{padding:14px;border-top:1px solid #dde7eb;background:#fff}.reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.reply textarea{min-width:0;min-height:66px;resize:vertical;background:#f9fbfc}.reply button{min-width:145px}.send-status{grid-column:1/-1;min-height:1.2em;color:var(--muted);font-size:11px}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}.composer-hint{margin:9px 0 0;color:var(--muted);font-size:11px}.empty{padding:38px 20px;color:var(--muted);text-align:center}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr;background:#fff}.login-visual{position:relative;overflow:hidden;padding:58px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 80% 18%,rgba(20,184,166,.28),transparent 28%),radial-gradient(circle at 10% 80%,rgba(45,212,191,.14),transparent 32%),linear-gradient(145deg,#0c3043,#061a28)}.login-visual::after{position:absolute;width:380px;height:380px;right:-160px;bottom:-170px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02);content:""}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:21px;font-weight:850}.login-copy{position:relative;z-index:1;max-width:470px}.login-copy h2{color:#fff;font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-1.6px}.login-copy p{max-width:400px;color:#a7c0cc;font-size:16px}.login-side{display:grid;place-items:center;padding:40px;background:#f8fbfc}.login-card{width:min(410px,100%)}.login-card .eyebrow{margin-bottom:10px}.login-card h1{font-size:32px}.login-card>p{margin:7px 0 28px;color:var(--muted)}.login-card label{display:grid;gap:7px;margin:16px 0;color:#385566;font-size:12px;font-weight:750}.login-card input{padding:13px 14px}.login-card button{width:100%;margin-top:8px;padding:13px}.alert{margin-bottom:18px;padding:11px 13px;border:1px solid #fecaca;border-radius:10px;color:#a51d28;background:#fff1f2}
@media(max-width:900px){:root{--sidebar:78px}.sidebar{padding:24px 11px 18px}.brand{justify-content:center;padding:0 0 28px}.brand span,.nav-label,.nav-item span,.workspace-card,.logout-form span{display:none}.nav-item,.logout-form button{justify-content:center;padding:0}.nav-item.active{box-shadow:inset 0 -3px var(--teal-500)}.profile-grid{grid-template-columns:1fr}main{padding-inline:25px}}
@media(max-width:640px){:root{--sidebar:0px}.sidebar{position:sticky;inset:0;width:100%;height:67px;padding:0 12px;flex-direction:row;align-items:center}.brand{padding:0;margin-right:auto}.brand span{display:inline;font-size:17px}.brand-mark{width:34px;height:34px}.side-nav{display:flex;gap:4px}.nav-item{width:42px;min-height:42px}.nav-label,.sidebar-bottom{display:none}.app-frame{margin-left:0}.topbar{display:none}main{padding:24px 14px 38px}.page-head{align-items:stretch;flex-direction:column;gap:16px}.stat-strip{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:1/-1}.search{min-width:0;width:100%}.table-wrap{overflow-x:auto}th,td{padding:13px 15px;white-space:nowrap}.thread-row{grid-template-columns:42px minmax(0,1fr)}.thread-meta{grid-column:2;text-align:left}.thread-meta .badge,.thread-row time{display:inline-flex;margin:4px 8px 0 0}.thread-layout{grid-template-rows:minmax(390px,calc(100vh - 280px)) auto}.chat{padding:15px}.bubble{max-width:88%}.reply{grid-template-columns:1fr}.reply button{width:100%}.details-list{grid-template-columns:120px 1fr}.appointment{grid-template-columns:40px minmax(0,1fr)}.appointment-time{grid-column:2}.login-page{display:block;background:#f6fafb}.login-visual{min-height:235px;padding:30px 24px}.login-copy h2{margin-top:35px;font-size:31px}.login-copy p{display:none}.login-side{padding:34px 22px}}

/* Add Appointment workflow */
select{width:100%;min-height:44px;outline:none;border:1px solid #cad9e0;border-radius:11px;padding:10px 38px 10px 13px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,.12)}select:disabled,input:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9}.bookings-page-head{align-items:center}.bookings-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.add-appointment-button{gap:8px;white-space:nowrap}.add-appointment-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.appointment-drawer-shell{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:1fr minmax(700px,980px)}.appointment-drawer-shell[hidden]{display:none}.appointment-drawer-backdrop{grid-column:1/-1;grid-row:1;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(4,15,25,.54);box-shadow:none;cursor:default;backdrop-filter:blur(2px)}.appointment-drawer-backdrop:hover{transform:none;box-shadow:none}.appointment-drawer{grid-column:2;grid-row:1;position:relative;z-index:1;min-width:0;height:100vh;overflow:auto;background:#f7fafb;box-shadow:-25px 0 70px rgba(8,25,38,.24);animation:drawer-in .22s ease-out}.appointment-drawer-head{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px;border-bottom:1px solid #dfe9ec;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.appointment-drawer-head h2{font-size:23px}.appointment-drawer-head p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:12px}.icon-button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;color:#526477;border:1px solid #d8e2e7;background:#fff;box-shadow:none}.icon-button:hover{color:#0f766e;border-color:#8fd1ca;background:#f0fdfa;box-shadow:none}.icon-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.drawer-loading{min-height:calc(100vh - 105px);display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted)}.drawer-loading span{width:34px;height:34px;border:3px solid #cce8e5;border-top-color:var(--teal-600);border-radius:50%;animation:spin .8s linear infinite}.appointment-form{padding:24px 28px 98px}.appointment-form-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:22px;align-items:start}.appointment-fields{display:grid;gap:14px}.appointment-section{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:18px;border:1px solid #dce7eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,40,55,.035)}.section-number{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#087b73;background:#e4f8f5;font-size:11px;font-weight:850}.appointment-section-body{min-width:0}.appointment-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 14px}.appointment-section-title h3,.appointment-review h3{margin:0;color:#17394b;font-size:15px}.appointment-section-title>span{color:#7c8d99;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.field{display:grid;gap:6px;margin-top:12px}.field:first-child{margin-top:0}.field label{color:#344f5f;font-size:11px;font-weight:750}.field label span{color:#94a3b8;font-weight:600}.field-hint{color:#71828e;font-size:10px}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.field-span{grid-column:1/-1}.segmented-control{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid #d8e4e8;border-radius:11px;background:#f1f6f7}.segmented-control button{min-height:35px;padding:7px 10px;color:#657987;background:transparent;box-shadow:none;font-size:11px}.segmented-control button:hover{transform:none;box-shadow:none}.segmented-control button.active{color:#0c625d;background:#fff;box-shadow:0 1px 5px rgba(15,24,41,.11)}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:50%;width:17px;transform:translateY(-50%);fill:none;stroke:#78909b;stroke-width:1.8}.input-with-icon input{padding-left:38px}.patient-results{max-height:250px;overflow:auto;margin-top:7px;border:1px solid #d7e4e8;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(15,40,55,.12)}.patient-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border:0;border-bottom:1px solid #edf2f4;border-radius:0;color:var(--ink);background:#fff;box-shadow:none;text-align:left}.patient-result:last-child{border-bottom:0}.patient-result:hover,.patient-result[aria-selected=true]{transform:none;color:var(--ink);background:#edfbf8;box-shadow:none}.patient-result strong,.patient-result small{display:block}.patient-result small{margin-top:2px;color:var(--muted);font-size:10px}.patient-result>span:last-child{color:#0f766e;font-size:10px;font-weight:800}.selected-patient{position:relative;margin-top:10px;padding:13px 42px 13px 14px;border:1px solid #a9ddd7;border-radius:12px;background:#effcf9}.selected-patient strong,.selected-patient small{display:block}.selected-patient small{margin-top:3px;color:#59717d;font-size:10px}.selected-patient button{position:absolute;right:7px;top:7px;width:30px;height:30px;padding:0;color:#526477;background:transparent;box-shadow:none}.selected-patient button:hover{transform:none;box-shadow:none;background:#fff}.inline-warning{margin-top:12px;padding:11px 12px;border:1px solid #f1cf83;border-radius:11px;color:#76530b;background:#fff9e9;font-size:11px}.inline-warning p{margin:3px 0 8px}.inline-warning label{display:flex;align-items:flex-start;gap:7px;font-weight:700}.inline-warning input{width:auto;margin-top:2px}.slot-area{margin-top:14px}.slot-empty{min-height:92px;display:grid;place-content:center;justify-items:center;gap:7px;padding:14px;border:1px dashed #cedde2;border-radius:12px;color:#7a8d97;background:#f9fbfc;text-align:center}.slot-empty svg{width:23px;fill:none;stroke:#75a8a3;stroke-width:1.7}.slot-empty p{margin:0;font-size:11px}.slot-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.slot-heading strong{color:#294b5b;font-size:11px}.slot-heading span{color:var(--muted);font-size:10px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.slot-button{padding:9px 6px;color:#285563;border:1px solid #cfe0e4;background:#fff;box-shadow:none;font-size:10px}.slot-button:hover{transform:none;color:#086e68;border-color:#83cfc7;background:#f0fdfa;box-shadow:none}.slot-button.active{color:#fff;border-color:#0f887f;background:#0f887f;box-shadow:0 5px 12px rgba(15,136,127,.18)}.insurance-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px;border:1px solid #dae6e9;border-radius:12px;background:#f8fbfc}.insurance-card-actions strong,.insurance-card-actions small{display:block}.insurance-card-actions small{margin-top:2px;color:var(--muted);font-size:9px}.upload-button{position:relative;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 11px;border:1px solid #a9d5d0;border-radius:10px;color:#0f766e;background:#fff;font-size:10px;font-weight:800;cursor:pointer}.upload-button:hover{background:#edfbf8}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.upload-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8}.notification-option{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px;border:1px solid #dbe6e9;border-radius:12px;background:#fbfdfd;cursor:pointer}.notification-option input{width:17px;height:17px;margin-top:2px;accent-color:#0f887f}.notification-option strong,.notification-option small{display:block}.notification-option strong{color:#294b5b;font-size:11px}.notification-option small{margin-top:3px;color:var(--muted);font-size:9px}.notification-option.disabled{cursor:not-allowed;opacity:.58}.appointment-review{padding:18px;border:1px solid #cfe2e4;border-radius:16px;background:linear-gradient(160deg,#fff,#f1fbf9);box-shadow:0 8px 24px rgba(15,50,60,.06)}.review-sticky{position:sticky;top:112px}.appointment-review dl{margin:15px 0 0}.appointment-review dl>div{padding:9px 0;border-bottom:1px solid #dfeceb}.appointment-review dl>div:last-child{border-bottom:0}.appointment-review dt{color:#78909b;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.appointment-review dd{margin:2px 0 0;color:#214555;font-size:11px;font-weight:700;overflow-wrap:anywhere}.review-safety{display:flex;gap:9px;margin-top:14px;padding:10px;border-radius:10px;color:#27645f;background:#e5f7f4}.review-safety svg{width:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8}.review-safety p{margin:0;font-size:9px}.drawer-error{margin:16px 0 0;padding:12px 14px;border:1px solid #f7b9bd;border-radius:11px;color:#a51d28;background:#fff1f2;font-size:11px}.appointment-drawer-foot{position:fixed;z-index:7;right:0;bottom:0;width:min(980px,100vw);display:flex;justify-content:flex-end;gap:10px;padding:14px 28px;border-top:1px solid #dce7eb;background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(15,40,55,.07);backdrop-filter:blur(10px)}.appointment-drawer-foot button{min-width:145px}.appointment-drawer-foot .secondary-link{padding:11px 17px}.toast-region{position:fixed;z-index:150;right:24px;bottom:24px;display:grid;gap:9px}.toast{min-width:300px;max-width:410px;padding:14px 16px;border:1px solid #9fd9d2;border-radius:13px;color:#174c49;background:#effcf9;box-shadow:0 16px 38px rgba(10,30,40,.17)}.toast.warning{border-color:#edcb7c;color:#78540b;background:#fff9e9}.toast strong,.toast small{display:block}.toast small{margin-top:3px;font-size:10px}.toast button{margin-top:9px;padding:7px 10px;font-size:10px}.booking-row-new{animation:row-highlight 2.8s ease-out}.appointment-drawer-shell :focus-visible{outline:3px solid rgba(8,145,178,.32);outline-offset:2px}
.appointment-review{position:sticky;top:112px}.review-sticky{position:static}
@keyframes drawer-in{from{transform:translateX(28px);opacity:.7}to{transform:none;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes row-highlight{0%,45%{background:#dff8f3}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){.appointment-drawer,.drawer-loading span,.booking-row-new{animation:none}}
@media(max-width:1050px){.appointment-drawer-shell{grid-template-columns:1fr minmax(650px,88vw)}.appointment-form-grid{grid-template-columns:1fr}.appointment-review{position:static;order:-1}.review-sticky{position:static}.appointment-review dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.appointment-drawer-foot{width:min(88vw,980px)}}
@media(max-width:720px){.bookings-head-actions{align-items:stretch;flex-direction:column}.bookings-head-actions .filter-tabs{overflow-x:auto}.add-appointment-button{width:100%}.appointment-drawer-shell{display:block}.appointment-drawer{width:100%;height:100dvh}.appointment-drawer-head{padding:18px}.appointment-form{padding:16px 14px 92px}.appointment-form-grid{display:block}.appointment-fields{gap:11px}.appointment-section{grid-template-columns:1fr;padding:15px}.section-number{display:none}.form-columns{grid-template-columns:1fr}.field-span{grid-column:auto}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-review{margin-top:12px}.appointment-review dl{grid-template-columns:1fr 1fr}.appointment-drawer-foot{width:100%;padding:12px 14px}.appointment-drawer-foot button{min-width:0;flex:1}.toast-region{right:12px;bottom:78px;left:12px}.toast{min-width:0;max-width:none}}

/* Unified ReplyDesk staff workspace */
.brand-icon{display:none;width:38px;height:40px;object-fit:contain}.page-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none}.secondary-link{color:var(--navy-900);border:1px solid #cbd5e1;background:#fff;box-shadow:none}.secondary-link:hover{color:#087b73;border-color:var(--teal-500);background:var(--teal-100);box-shadow:none}.live-label,.data-note{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #d7e5e7;border-radius:999px;color:#526176;background:#f8fafc;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.data-note svg{width:15px;color:var(--teal-600)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{position:relative;overflow:hidden;min-height:154px;padding:18px 19px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(15,24,41,.045)}.metric-card::before{position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--teal-500),transparent);content:""}.metric-card.needs-attention::before{background:linear-gradient(90deg,#f2b84b,transparent)}.metric-icon{position:absolute;top:17px;right:17px;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--teal-600);background:var(--teal-100)}.needs-attention .metric-icon{color:#a16207;background:#fef3c7}.metric-icon svg{width:18px;height:18px}.metric-card>span{display:block;padding-right:40px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric-card>strong{display:block;margin:20px 0 8px;color:var(--navy-900);font-size:31px;line-height:1}.metric-card>small{color:var(--muted);font-size:11px}
.analytics-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-bottom:18px}.analytics-card{min-height:320px}.bar-list{display:grid;gap:15px;margin-top:8px}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px;color:#475569;font-size:12px}.bar-row strong{color:var(--navy-900)}.bar-track{height:8px;overflow:hidden;border-radius:99px;background:#edf2f5}.bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal-600),var(--teal-500))}.week-chart{height:220px;display:flex;align-items:stretch;gap:10px;padding-top:8px}.week-column{flex:1;min-width:0;display:grid;grid-template-rows:22px 1fr 22px;justify-items:center;gap:6px}.week-column strong{color:#475569;font-size:11px}.week-column span{color:var(--muted);font-size:10px}.week-track{position:relative;width:100%;max-width:38px;overflow:hidden;border-radius:8px 8px 4px 4px;background:#eff5f5}.week-track i{position:absolute;inset:auto 0 0;min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--teal-500),var(--teal-600))}
.overview-lower{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:18px}.recent-card{padding:0;overflow:hidden}.recent-card .section-head{padding:20px 22px 0}.embedded{box-shadow:none;border:0;border-radius:0}.section-link{color:var(--teal-600);font-size:11px;font-weight:800}.insight-preview{background:linear-gradient(155deg,#fff,#f4fcfb)}.spark-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--teal-600);background:var(--teal-100)}.spark-icon svg{width:20px}.mini-insights{display:grid;gap:10px}.mini-insight{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:11px;border:1px solid #e4ecef;border-radius:11px;background:rgba(255,255,255,.78);transition:border-color .15s,background-color .15s}.mini-insight:hover{border-color:#b7e6e2;background:#fff}.mini-insight>span{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--teal-500)}.mini-insight.attention>span{background:#f2b84b}.mini-insight strong,.mini-insight small{display:block}.mini-insight strong{color:var(--navy-900);font-size:11px;line-height:1.35}.mini-insight small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.insight-button{width:100%;margin-top:14px}
.filter-tabs{display:flex;gap:4px;padding:4px;border:1px solid #dde6ea;border-radius:11px;background:#eef7f6}.filter-tabs a{padding:7px 12px;border-radius:8px;color:var(--muted);font-size:11px;font-weight:750}.filter-tabs a:hover{color:var(--navy-900)}.filter-tabs a.active{color:var(--navy-900);background:#fff;box-shadow:0 1px 3px rgba(15,24,41,.1)}.badge.confirmed{color:#087f5b;background:#dcfce7}.badge.completed{color:#295d85;background:#e7f1fa}.badge.no_show{color:#8a5b12;background:#fff2d6}.badge.cancelled{color:#b4232c;background:#fee2e2}
.conversations-actions{max-width:min(100%,680px);align-items:center;justify-content:flex-end;flex-wrap:wrap}.conversations-actions .badge{flex:0 0 auto;white-space:nowrap}.conversation-search{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;flex:1 1 460px;min-width:min(100%,460px);align-items:center}.conversation-search input{min-width:0}.conversation-search .secondary-link{min-height:42px;padding-inline:14px;white-space:nowrap}
.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.insight-card{position:relative;min-height:245px;padding:25px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.insight-card::before{position:absolute;inset:0 auto 0 0;width:3px;border-radius:15px 0 0 15px;background:var(--teal-500);content:""}.insight-card.attention::before{background:#f2b84b}.insight-number{position:absolute;top:20px;right:22px;color:#d5dee6;font-size:12px;font-weight:800}.insight-symbol{width:42px;height:42px;display:grid;place-items:center;margin-bottom:26px;border-radius:11px;color:var(--teal-600);background:var(--teal-100)}.insight-card.attention .insight-symbol{color:#a16207;background:#fef3c7}.insight-symbol svg{width:21px}.insight-card h2{max-width:85%;font-size:18px}.insight-card p{min-height:45px;color:var(--muted);font-size:12px;line-height:1.55}.insight-card>a{display:inline-flex;margin-top:10px;color:var(--teal-600);font-size:11px;font-weight:800}.insight-method{display:flex;align-items:flex-start;gap:16px;margin-top:18px}.method-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:11px;color:#087b73;background:var(--teal-100)}.method-icon svg{width:22px}.insight-method p{margin:5px 0 0;color:var(--muted)}
.login-brand img{display:block;width:min(340px,100%);height:auto}.login-kicker{margin:0 0 18px!important;color:#5de0d5!important;font-size:12px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.login-visual{background:radial-gradient(circle at 80% 18%,rgba(25,187,174,.23),transparent 28%),radial-gradient(circle at 10% 80%,rgba(25,187,174,.1),transparent 32%),linear-gradient(145deg,var(--navy-900),var(--navy-950))}.login-side{background:var(--canvas)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:3px}.empty.compact{padding:24px 10px}.chat{background-color:#edf5f3;background-image:radial-gradient(rgba(25,187,174,.07) .8px,transparent .8px)}.bubble.assistant{color:var(--navy-900);background:#dff9f5}
select{width:100%;min-width:0;outline:none;border:1px solid #cbd5e1;border-radius:10px;padding:11px 36px 11px 13px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(25,187,174,.14)}.admin-form-card{margin-bottom:18px;overflow:hidden}.admin-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:13px;align-items:end}.admin-grid-form label{min-width:0;display:grid;gap:7px;color:#385566;font-size:12px;font-weight:750}.admin-grid-form input,.admin-grid-form select{min-width:0}.admin-grid-form button{min-height:43px;min-width:132px;justify-self:start;white-space:nowrap}.admin-grid-form .checkbox-line{display:flex;align-items:center;gap:9px;align-self:center;padding-top:20px;line-height:1.35}.checkbox-line input{width:auto;flex:0 0 auto}.admin-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.admin-table{margin-top:18px}.inline-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.inline-actions select,.inline-actions input{width:auto;min-width:135px;min-height:34px;padding:7px 9px;font-size:11px}.danger-action,.text-danger{min-height:34px;padding:7px 10px;border:1px solid #fecaca;border-radius:9px;color:#b4232c;background:#fff;box-shadow:none;font-size:10px;font-weight:800}.danger-action:hover,.text-danger:hover{color:#991b1b;background:#fff1f2;box-shadow:none}.badge.active,.badge.invited{color:#087f5b;background:#dcfce7}.badge.disabled{color:#64748b;background:#eef2f6}.badge.neutral{color:#31566b;background:#eaf3f7}.schedule-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;margin-bottom:18px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.day-column{min-height:235px;padding:12px;border:1px solid #e2edf0;border-radius:13px;background:#f8fcfc}.day-column>strong{display:block;margin-bottom:10px;color:var(--navy-900);font-size:11px;letter-spacing:.08em}.shift-block{position:relative;margin-bottom:8px;padding:10px 9px;border:1px solid rgba(25,187,174,.32);border-radius:10px;color:#0f766e;background:linear-gradient(180deg,#ecfffb,#fff)}.shift-block span,.shift-block b{display:block}.shift-block span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.shift-block b{margin-top:2px;font-size:12px}.shift-block form{position:absolute;top:5px;right:5px}.shift-block button{width:23px;height:23px;min-height:0;padding:0;border-radius:7px;color:#0f766e;background:#fff;box-shadow:none}.muted-block{padding:11px;border:1px dashed #cbd5e1;border-radius:10px;color:#7c8b99;background:#fff;font-size:11px}.exception-list{display:grid;gap:10px}.exception-item{padding:12px;border:1px solid #e2edf0;border-left:3px solid var(--teal-500);border-radius:11px;background:#fff}.exception-item.SICK_LEAVE,.exception-item.ANNUAL_LEAVE,.exception-item.UNAVAILABLE,.exception-item.CLINIC_CLOSED{border-left-color:#f2b84b}.exception-item strong,.exception-item small,.exception-item span{display:block}.exception-item small{margin-top:2px;color:var(--muted);font-size:10px}.exception-item span{margin-top:6px;color:#334155;font-size:11px}.exception-item form{margin-top:8px}.padded{padding:20px 22px 0}.json-snippet{display:block;max-width:340px;overflow:hidden;text-overflow:ellipsis;color:#475569;font-size:11px;white-space:nowrap}.schedule-panel,.schedule-side{min-height:360px}
.template-studio{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);align-items:start;gap:18px;margin-bottom:18px}.template-card{overflow:hidden}.compact-template-form{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));padding-bottom:16px;border-bottom:1px solid #edf2f4}.template-chip-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.template-chip{display:inline-flex;align-items:flex-start;gap:8px;flex-direction:column;min-width:135px;padding:10px 12px;border:1px solid #cbe7e3;border-radius:12px;color:#0f766e;background:#ecfffb}.template-chip.cyan{color:#0e7490;background:#ecfeff;border-color:#bae6fd}.template-chip.navy{color:#1e3a5f;background:#eff6ff;border-color:#bfdbfe}.template-chip.amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.template-chip.rose{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.template-chip strong{font-size:12px}.template-chip small{color:inherit;opacity:.76}.weekly-template-list{display:grid;gap:12px;margin-top:16px}.weekly-template-item{padding:14px;border:1px solid #e2edf0;border-radius:14px;background:#fbfdfd}.weekly-template-item>div:first-child strong,.weekly-template-item>div:first-child small{display:block}.weekly-template-item>div:first-child small{margin-top:2px;color:var(--muted)}.weekly-days{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.weekly-days span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #d7e5e7;border-radius:999px;color:#31566b;background:#f8fafc;font-size:10px;font-weight:800;text-transform:uppercase}.weekly-days b{color:#087b73;text-transform:none}.muted-template-day{color:#7c8b99!important;background:#fff!important;border-style:dashed!important}.apply-week-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:10px;align-items:end;padding-top:10px;border-top:1px solid #edf2f4}.apply-week-form label{display:grid;gap:6px;color:#385566;font-size:11px;font-weight:750}.apply-week-form .checkbox-line{display:flex;align-items:center;gap:8px;line-height:1.35}.apply-week-form button{min-height:40px;white-space:normal}.add-template-day{margin-top:14px}
.template-disclosure{align-self:start;padding:0}.template-disclosure:not([open]){min-height:0}.template-disclosure-trigger{min-height:96px;margin:0;padding:20px 22px;cursor:pointer;list-style:none}.template-disclosure-trigger::-webkit-details-marker{display:none}.template-disclosure-trigger:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:-3px}.template-disclosure-meta{display:flex;align-items:center;gap:10px;color:var(--teal-600)}.template-disclosure-chevron{width:38px;height:38px;padding:8px;border:1px solid #bce9e4;border-radius:11px;color:var(--teal-600);background:var(--teal-100);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease,background-color .2s ease}.template-disclosure-trigger:hover .template-disclosure-chevron{background:#cff7f1}.template-disclosure[open] .template-disclosure-chevron{transform:rotate(180deg)}.template-disclosure-body{padding:0 22px 22px;border-top:1px solid #edf2f4}.template-disclosure-body>.compact-template-form:first-child{padding-top:18px}.weekly-template-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weekly-template-heading .text-danger,.template-remove-row .text-danger{display:inline-flex;align-items:center;gap:6px;min-height:44px}.weekly-template-heading svg,.template-remove-row svg,.entity-form-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.weekly-day-pill{display:inline-flex;align-items:center;border:1px solid #d7e5e7;border-radius:999px;color:#31566b;background:#f8fafc;overflow:hidden}.weekly-day-pill>span{border:0!important;background:transparent!important}.weekly-day-pill form{display:flex}.weekly-day-pill button{width:44px;height:44px;min-height:44px;padding:0;border:0;border-left:1px solid #d7e5e7;border-radius:0;color:#a32d35;background:#fff;box-shadow:none}.weekly-day-pill button:hover{color:#8b1e25;background:#fff1f2;box-shadow:none}.weekly-day-pill svg,.shift-block button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.entity-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.entity-form-actions .danger-action{margin-left:auto;display:inline-flex;align-items:center;gap:7px;min-height:44px}.invitation-delete{min-height:44px;display:inline-flex;align-items:center;gap:7px}.invitation-delete svg{width:16px;height:16px;flex:none}
@media(max-width:620px){.template-disclosure-trigger{min-height:112px;padding:17px}.template-disclosure-body{padding:0 14px 17px}.template-disclosure-meta{width:100%;justify-content:space-between}.weekly-template-heading{align-items:stretch;flex-direction:column}.weekly-template-heading .text-danger,.entity-form-actions>*{width:100%}.entity-form-actions .danger-action{margin-left:0}}
@media(prefers-reduced-motion:reduce){.template-disclosure-chevron{transition:none}}
.shift-block{min-height:72px;padding-right:9px}.shift-block span{padding-right:28px}.shift-block form{top:6px;right:6px}.shift-block button{position:relative;width:28px;height:28px;min-height:28px;border:1px solid #d6efec;border-radius:8px;color:#0f766e;background:#fff}.shift-block button::after{position:absolute;inset:-8px;content:""}.shift-block button:hover{color:#087b73;background:var(--teal-100);box-shadow:none}
@media(max-width:1280px){.page-head{align-items:stretch;flex-direction:column}.page-head .search{width:100%;min-width:0}.page-actions{justify-content:flex-start}.admin-two-col,.schedule-shell,.template-studio{grid-template-columns:1fr}.schedule-side{min-height:0}.users-table{padding:12px;background:transparent;border:0;box-shadow:none}.users-table table,.users-table thead,.users-table tbody,.users-table tr,.users-table td{display:block}.users-table thead{display:none}.users-table tbody{display:grid;gap:12px}.users-table tr{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.users-table td{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;border:0;white-space:normal}.users-table td::before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.users-table td strong{overflow-wrap:anywhere}.users-table .booking-action-cell{text-align:left}.users-table .booking-action-cell form{justify-content:flex-start}.users-table .inline-actions{justify-content:flex-start}.users-table .inline-actions select{width:min(100%,260px);min-width:0}.users-table .booking-complete,.users-table .danger-action{width:auto;min-width:96px}.users-table .action-done{white-space:normal}}
@media(max-width:1120px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-lower{grid-template-columns:1fr}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:900px){.brand-logo{display:none}.brand-icon{display:block}.insight-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-col,.schedule-shell{grid-template-columns:1fr}}
@media(max-width:640px){.brand{width:38px}.brand-icon{width:34px;height:36px}.side-nav{margin-left:auto}.page-actions{width:100%}.page-actions .btn{flex:1}.kpi-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:142px}.metric-card>strong{font-size:28px}.analytics-card{min-height:0}.week-chart{height:190px}.overview-lower{display:block}.insight-preview{margin-top:16px}.filter-tabs{width:100%;overflow-x:auto}.filter-tabs a{white-space:nowrap}.insight-grid{grid-template-columns:1fr}.insight-method{display:block}.method-icon{margin-bottom:14px}.login-brand img{width:min(290px,100%)}.login-copy h2{margin-top:12px}.login-visual{min-height:260px}.admin-grid-form{grid-template-columns:1fr}.admin-grid-form button{width:100%;justify-self:stretch}.week-grid{grid-template-columns:repeat(7,135px)}.conversations-actions{align-items:stretch;flex-direction:column}.conversation-search{width:100%;min-width:0;grid-template-columns:1fr}.conversation-search input{min-width:0}}
@media(max-width:390px){.kpi-grid{grid-template-columns:1fr}.side-nav{gap:1px}.nav-item{width:38px}.metric-card{min-height:132px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Actionable AI Insights */
.insights-page-head{margin-bottom:16px}.insights-actions{align-items:center;flex-wrap:wrap}.insights-actions form{margin:0}.insights-notice{margin:-4px 0 16px;padding:12px 15px;border:1px solid #a7e1d8;border-radius:12px;color:#17655f;background:#effcf9;font-size:11px;font-weight:700}.insights-notice.warning{border-color:#f4d28b;color:#7a5510;background:#fff9e9}.insights-filter-card{margin-bottom:18px}.compact-head{margin-bottom:13px}.compact-head small{color:var(--muted)}.insights-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:11px;align-items:end}.insights-filter-grid label{min-width:0;display:grid;gap:6px;color:#426071;font-size:10px;font-weight:800}.insights-filter-grid input,.insights-filter-grid select{min-width:0;min-height:40px;padding:9px 11px;font-size:11px}.insights-filter-actions{display:flex;gap:8px}.insights-filter-actions .btn{flex:1;min-width:0}.insights-quality{display:grid;grid-template-columns:minmax(170px,.3fr) minmax(0,1fr);gap:18px;margin-bottom:20px;padding:14px 16px;border:1px solid #e3d39c;border-radius:13px;color:#654b14;background:#fffcf1}.insights-quality>div strong,.insights-quality>div span{display:block}.insights-quality>div strong{font-size:12px}.insights-quality>div span{margin-top:3px;font-size:9px}.insights-quality ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;padding-left:18px}.insights-quality li{font-size:10px;line-height:1.45}.insights-section{margin:22px 0}.insights-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insights-metric{min-height:128px;padding:16px;border:1px solid #dfeaec;border-radius:14px;background:linear-gradient(155deg,#fff,#f8fcfc);box-shadow:0 6px 20px rgba(15,40,55,.035)}.insights-metric>span,.insights-metric>strong,.insights-metric>small{display:block}.insights-metric>span{color:#607785;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.insights-metric>strong{margin:15px 0 8px;color:var(--navy-900);font-size:26px;line-height:1}.insights-metric>small{color:var(--muted);font-size:9px;line-height:1.45}.priority-list{display:grid;gap:14px}.priority-card{display:grid;grid-template-columns:74px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-left:4px solid #19bbae;border-radius:15px;background:#fff;box-shadow:var(--shadow)}.priority-card.severity-critical{border-left-color:#b4232c}.priority-card.severity-high{border-left-color:#dc6b25}.priority-card.severity-medium{border-left-color:#e6aa2c}.priority-card.severity-low{border-left-color:#31a59b}.priority-rank{display:flex;align-items:center;flex-direction:column;padding:24px 12px;border-right:1px solid #e7eef0;background:#f8fbfb}.priority-rank span{color:var(--navy-900);font-size:22px;font-weight:850}.priority-rank small{margin-top:4px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.priority-content{min-width:0;padding:20px}.insight-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:10px}.insight-card-meta>span{padding:4px 7px;border-radius:999px;color:#526576;background:#eff4f6;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.insight-card-meta .severity-pill{color:#7c550a;background:#fff1c8}.severity-critical .insight-card-meta .severity-pill,.severity-high .insight-card-meta .severity-pill{color:#a33125;background:#fee8e3}.priority-content h3{font-size:17px}.insight-finding{margin:6px 0 15px;color:#475e6a;font-size:12px;line-height:1.55}.insight-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.insight-decision-grid>div{padding:12px;border:1px solid #e5edef;border-radius:11px;background:#fbfdfd}.insight-decision-grid span{color:#607785;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.insight-decision-grid p{margin:5px 0 0;color:#294b5b;font-size:10px;line-height:1.5}.insight-support{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:13px;color:#72828c;font-size:9px}.insight-support strong{color:#0f766e;font-size:10px}.insight-card-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.insight-card-actions details{min-width:0}.insight-card-actions summary{cursor:pointer;color:#087b73;font-size:10px;font-weight:800}.insight-card-actions details p{max-width:760px;margin:8px 0 0;color:var(--muted);font-size:9px}.insight-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:14px;padding-top:12px;border-top:1px solid #e8eef0}.insight-feedback span{margin-right:5px;color:#617481;font-size:9px;font-weight:800}.insight-feedback button{min-height:28px;padding:5px 8px;border:1px solid #d9e5e7;border-radius:8px;color:#426071;background:#fff;box-shadow:none;font-size:8px}.insight-feedback button:hover{border-color:#91d7d0;color:#0f766e;background:#f0fdfa}.insight-feedback .dismiss{margin-left:auto;color:#8b3c3c}.insights-empty{text-align:left}.insights-empty h3{font-size:15px}.insights-empty p{max-width:700px;margin:5px 0 0;color:var(--muted);font-size:11px}.insights-empty.compact{border:0;background:transparent;box-shadow:none}.insights-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:22px 0}.insights-chart-card{min-width:0}.daily-chart{height:240px;display:flex;align-items:flex-end;gap:7px;overflow-x:auto;padding:14px 3px 0}.daily-column{height:100%;min-width:26px;flex:1;display:grid;grid-template-rows:18px 1fr 22px;justify-items:center;gap:5px}.daily-column>strong{color:#526576;font-size:8px}.daily-column>span{color:#748691;font-size:8px;white-space:nowrap}.daily-bar{position:relative;width:min(24px,100%);align-self:end;overflow:hidden;border-radius:6px 6px 3px 3px;background:#9edfd9}.daily-bar i,.daily-bar b{position:absolute;right:0;bottom:0;left:0;display:block}.daily-bar i{background:#1aa89d}.daily-bar b{background:#e6836e;opacity:.9}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;color:#617481;font-size:8px}.chart-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px;background:#9edfd9}.chart-legend i.completed{background:#1aa89d}.chart-legend i.cancelled{background:#e6836e}.service-demand-list{display:grid;gap:14px}.service-demand-list>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.service-demand-list strong,.service-demand-list small{font-size:10px}.service-demand-list small{color:var(--muted)}.service-demand-list>div>div{height:7px;overflow:hidden;border-radius:999px;background:#edf3f4}.service-demand-list i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0e8e85,#29c7ba)}.opportunity-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.opportunity-group{padding:0;overflow:hidden}.opportunity-group>div{display:flex;justify-content:space-between;padding:14px 15px;border-bottom:1px solid #e6edef}.opportunity-group>div strong{font-size:11px}.opportunity-group>div span{min-width:22px;padding:3px 6px;border-radius:99px;text-align:center;color:#087b73;background:#e4f8f5;font-size:8px;font-weight:850}.opportunity-group>p{margin:0;padding:18px 15px;color:var(--muted);font-size:9px}.opportunity-group ul{margin:0;padding:0;list-style:none}.opportunity-group li+li{border-top:1px solid #edf2f3}.opportunity-group a{display:block;padding:12px 15px}.opportunity-group a span,.opportunity-group a small{display:block}.opportunity-group a span{color:#294b5b;font-size:10px;font-weight:750}.opportunity-group a small{margin-top:3px;color:var(--muted);font-size:8px}.positive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.positive-grid article>span{color:#087b73;font-size:8px;font-weight:850;text-transform:uppercase}.positive-grid h3{margin-top:8px;font-size:14px}.positive-grid p{color:var(--muted);font-size:10px}.positive-grid strong{color:#27645f;font-size:9px}.weekly-review{margin-top:22px}.weekly-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.weekly-columns>div{padding:14px;border:1px solid #e1ebed;border-radius:12px;background:#fbfdfd}.weekly-columns h3{font-size:12px}.weekly-columns ul{margin:8px 0 0;padding-left:17px}.weekly-columns li{margin:5px 0;color:#526576;font-size:9px;line-height:1.5}
.insights-lead-signal{margin-bottom:18px;padding:18px 20px;border:1px solid #bfe1de;border-left:4px solid #b4232c;border-radius:14px;background:linear-gradient(135deg,#fff,#f1fbfa);display:grid;grid-template-columns:62px minmax(0,1fr) minmax(220px,.45fr);align-items:center;gap:18px;box-shadow:0 8px 28px rgba(15,40,55,.05)}.lead-signal-rank{align-self:stretch;border-right:1px solid #dce9ea;display:flex;justify-content:center;align-items:center;flex-direction:column}.lead-signal-rank span{color:#102d3e;font-size:24px;font-weight:850}.lead-signal-rank small{color:#71828d;font-size:8px;font-weight:800;text-transform:uppercase}.insights-lead-signal h2{font-size:18px}.insights-lead-signal>div:nth-child(2)>p:last-child{margin:5px 0 0;color:#526976;font-size:11px;line-height:1.5}.lead-signal-evidence{padding:11px 13px;border:1px solid #dce9ea;border-radius:11px;background:#fff}.lead-signal-evidence span,.lead-signal-evidence strong,.lead-signal-evidence small,.lead-signal-evidence a{display:block}.lead-signal-evidence span{color:#71828d;font-size:8px;font-weight:850;text-transform:uppercase}.lead-signal-evidence strong{margin:6px 0 3px;color:#0f766e;font-size:11px}.lead-signal-evidence small{color:#71828d;font-size:8px}.lead-signal-evidence a{margin-top:8px;color:#087b73;font-size:9px;font-weight:800}
@media(max-width:1180px){.insights-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.insights-two-col{grid-template-columns:1fr}.insights-quality{grid-template-columns:1fr}.insights-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-columns{grid-template-columns:1fr}.positive-grid{grid-template-columns:1fr}}
@media(max-width:640px){.insights-actions{width:100%;display:grid;grid-template-columns:1fr}.insights-actions .data-note,.insights-actions form,.insights-actions button{width:100%}.insights-filter-grid{grid-template-columns:1fr 1fr}.insights-filter-actions{grid-column:1/-1}.insights-quality ul{grid-template-columns:1fr}.insights-metric-grid{grid-template-columns:1fr 1fr}.insights-metric{min-height:115px;padding:13px}.insights-metric>strong{font-size:22px}.priority-card{grid-template-columns:1fr}.priority-rank{align-items:center;flex-direction:row;gap:7px;padding:9px 14px;border-right:0;border-bottom:1px solid #e7eef0}.priority-rank span{font-size:14px}.priority-rank small{margin:0}.priority-content{padding:15px 13px}.insight-decision-grid{grid-template-columns:1fr}.insight-card-actions{align-items:flex-start;flex-direction:column}.insight-card-actions .btn{width:100%}.insight-feedback .dismiss{margin-left:0}.opportunity-groups{grid-template-columns:1fr}.daily-chart{height:210px}.weekly-review{padding:15px}}
@media(max-width:390px){.insights-filter-grid,.insights-metric-grid{grid-template-columns:1fr}.insights-filter-actions{display:grid;grid-template-columns:1fr}}

/* Shared website treatment for operational pages */
.card{border-color:var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat-card{border-color:var(--line);border-radius:14px;box-shadow:0 8px 25px rgba(15,24,41,.045)}.stat-card strong,h1,h2,.patient-name{color:var(--navy-900)}th{color:#64748b;background:#f8fafc}th,td{border-bottom-color:#eef2f6}tbody tr:hover{background:#f2fbfa}.initials,.date-tile,.thread-avatar{color:#087b73;background:var(--teal-100)}input,textarea{border-color:#cbd5e1;border-radius:10px}input:focus,textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(25,187,174,.14)}.btn,button{border-radius:10px;color:#071c1c;background:var(--teal-500);box-shadow:0 8px 20px rgba(25,187,174,.18);transition:background-color .15s,box-shadow .15s,opacity .15s}.btn:hover,button:hover{background:#22c9bc;box-shadow:0 10px 25px rgba(25,187,174,.24);transform:none}.secondary{color:var(--navy-900);border:1px solid #cbd5e1;background:#fff;box-shadow:none}.secondary:hover{color:#087b73;border-color:var(--teal-500);background:var(--teal-100);box-shadow:none}
.secondary-link{color:var(--navy-900);border:1px solid #cbd5e1;background:#fff;box-shadow:none}.secondary-link:hover{color:#087b73;border-color:var(--teal-500);background:var(--teal-100);box-shadow:none}.logout-form button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;color:#a8b4c5;background:transparent;box-shadow:none;text-align:left}.logout-form button:hover{color:#fff;background:rgba(255,255,255,.06);box-shadow:none}
.status-notice{display:flex;align-items:center;gap:12px;margin:-6px 0 18px;padding:13px 15px;border:1px solid #bbf7d0;border-radius:12px;color:#166534;background:#f0fdf4}.status-notice>span{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:#16a34a;font-weight:900}.status-notice strong,.status-notice small{display:block}.status-notice small{margin-top:1px;color:#4d7c5a}.action-heading,.booking-action-cell{text-align:right}.booking-row-actions{display:flex;justify-content:flex-end;gap:7px}.booking-action-cell form{display:flex;justify-content:flex-end;margin:0}.booking-complete,.booking-cancel{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:9px;background:#fff;box-shadow:none;font-size:10px;font-weight:800;white-space:nowrap}.booking-complete{border:1px solid #a7ddd8;color:#087b73}.booking-complete svg,.booking-cancel svg{width:14px;height:14px}.booking-complete:hover{color:#064e49;border-color:var(--teal-500);background:var(--teal-100);box-shadow:none}.booking-cancel{border:1px solid #fecaca;color:#b42318}.booking-cancel:hover{border-color:#ef4444;color:#991b1b;background:#fff1f2;box-shadow:none}.booking-complete:focus-visible,.booking-cancel:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:2px}.booking-cancel:focus-visible{outline-color:rgba(239,68,68,.25)}.booking-complete:disabled,.booking-cancel:disabled{cursor:wait;opacity:.55}.action-done{color:#15803d;font-size:10px;font-weight:800;white-space:nowrap}
.status-notice.error{border-color:#fecaca;color:#991b1b;background:#fff1f2}.status-notice.error small{color:#b91c1c}
.alert-toggle-field{grid-column:span 2}.toggle-row,.compact-toggle{display:flex!important;align-items:center;gap:9px}.toggle-row input,.compact-toggle input{width:18px!important;height:18px;min-width:18px;accent-color:var(--teal-500)}.alert-toggle-field>small{color:#64748b;font-weight:500}.compact-toggle{min-height:34px;padding:6px 9px;border:1px solid #d9e5e7;border-radius:9px;color:#385566;font-size:10px;font-weight:800}.toggle-row input:focus-visible,.compact-toggle input:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:2px}

/* Consolidated clinic configuration and practical schedule controls. */
.template-chip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.template-chip{min-height:76px;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border:1px solid #cbdde0!important;border-radius:12px;color:var(--navy-900)!important;background:#fff!important;box-shadow:none!important;text-align:left;cursor:pointer}.template-chip strong,.template-chip small,.template-chip span{display:block}.template-chip small{margin-top:3px;color:#64748b}.template-chip span{margin-top:8px;color:#087b73;font-size:10px;font-weight:800}.template-chip:hover,.template-chip.selected{border-color:var(--teal-500)!important;background:var(--teal-100)!important;box-shadow:0 0 0 3px rgba(25,187,174,.12)!important}.template-chip:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:2px}.day-choice-group>span{display:block;margin-bottom:8px;color:#475569;font-size:11px;font-weight:800}.day-choice-group>div{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:6px}.day-choice-group label{min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d7e2e5;border-radius:9px;background:#fff;text-transform:capitalize}.day-choice-group label>span,.day-choice-group label small{display:block;text-align:center}.day-choice-group label small{margin-top:2px;color:#64748b;font-size:8px;font-weight:650;letter-spacing:0}.day-choice-group label.closed{color:#94a3b8;background:#f4f7f8;cursor:not-allowed}.day-choice-group input{width:auto}.wide-field{grid-column:1/-1}.assign-hours-form>small{color:#64748b}.form-inline-error{padding:10px 12px;border:1px solid #fecaca;border-radius:9px;color:#9f1239;background:#fff1f2;font-size:11px;font-weight:700}.form-inline-error:focus{outline:3px solid rgba(220,38,38,.18);outline-offset:2px}.template-management{margin-top:14px;border-top:1px solid #e5edef;padding-top:10px}.template-management summary{cursor:pointer;color:#087b73;font-size:11px;font-weight:800}.template-edit-row{display:grid;grid-template-columns:1fr 120px 120px auto;gap:7px;margin-top:9px}.template-edit-row input{min-width:0}.template-remove-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:4px 0 10px}.template-remove-row button{background:transparent;box-shadow:none}.setup-create-grid{margin-bottom:16px}.setup-create-card{padding:0}.setup-create-card summary{min-height:66px;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;cursor:pointer;list-style:none}.setup-create-card summary span small,.setup-create-card summary span strong{display:block}.setup-create-card summary small{color:#087b73;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.setup-create-card summary strong{margin-top:3px}.setup-create-card summary b{font-size:24px;color:#087b73}.setup-create-card form{padding:0 18px 18px}.setup-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setup-management-panel{align-self:start}.setup-entity-list{display:grid;gap:8px}.setup-entity{border:1px solid #dfe8ea;border-radius:12px;background:#f9fbfb;overflow:hidden}.setup-entity>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}.setup-entity>summary strong,.setup-entity>summary small{display:block}.setup-entity>summary small{margin-top:3px;color:#64748b}.setup-entity>summary b{font-size:10px;color:#087b73}.entity-edit-form,.service-assignment-form{padding:14px;border-top:1px solid #dfe8ea;background:#fff}.service-assignment-form>div:first-child strong,.service-assignment-form>div:first-child small{display:block}.service-assignment-form>div:first-child small{margin-top:3px;color:#64748b}.assignment-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.assignment-checkboxes label{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid #dfe8ea;border-radius:9px}.assignment-checkboxes input{width:auto}.secondary-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;text-decoration:none}.timezone-chip{padding:8px 11px;border:1px solid #bde4e0;border-radius:999px;color:#087b73;background:#effaf8;font-size:11px;font-weight:800}.weekly-hours-card,.temporary-hours-card{margin-bottom:16px}.hours-shortcuts{display:flex;gap:7px}.weekly-hours-list{display:grid}.weekly-hours-row{display:grid;grid-template-columns:120px 88px minmax(250px,1fr) 100px;gap:14px;align-items:center;min-height:62px;border-top:1px solid #e8eef0}.weekly-hours-row.closed{color:#64748b}.open-toggle{display:flex;align-items:center;gap:7px}.open-toggle input{width:auto;accent-color:#19bbae}.hour-inputs{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr);gap:8px;align-items:center}.hour-inputs input{width:100%}.text-action{padding:7px;border:0;color:#087b73;background:transparent;box-shadow:none;font-size:10px;font-weight:800}.text-action:hover{background:var(--teal-100);box-shadow:none}.weekly-hours-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px}.temporary-change-form{margin:12px 0;border:1px solid #cae8e5;border-radius:12px;background:#f6fcfb}.temporary-change-form summary{padding:13px 15px;color:#087b73;font-weight:800;cursor:pointer}.temporary-change-form form{padding:0 15px 15px}.temporary-change-list{display:grid;gap:8px}.temporary-change-item{display:grid;grid-template-columns:minmax(180px,.8fr) 1fr auto;gap:15px;align-items:center;padding:12px 14px;border:1px solid #e2e9eb;border-radius:11px}.temporary-change-item strong,.temporary-change-item small{display:block}.temporary-change-item small{margin-top:3px;color:#64748b}.temporary-change-item form button{background:transparent;box-shadow:none}
@media(max-width:900px){.setup-management-grid{grid-template-columns:1fr}.weekly-hours-row{grid-template-columns:100px 80px 1fr}.weekly-hours-row>.copy-hours{grid-column:3}.template-edit-row{grid-template-columns:1fr 1fr}.template-edit-row button{grid-column:1/-1}.day-choice-group>div{grid-template-columns:repeat(4,1fr)}}

.configuration-tabs{display:flex;gap:6px;overflow-x:auto;margin:-4px 0 18px;padding:5px;border:1px solid #dce7e9;border-radius:13px;background:#f2f7f7}.configuration-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;flex:1;min-width:128px;padding:9px 14px;border-radius:9px;color:#5d7080;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}.configuration-tabs a:hover{color:#087b73;background:#fff}.configuration-tabs a.active{color:#075e59;background:#fff;box-shadow:0 2px 8px rgba(15,40,55,.09)}.configuration-tabs a:focus-visible{outline:3px solid rgba(25,187,174,.3);outline-offset:2px}.configuration-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 16px}.configuration-section-head>div{min-width:0}.configuration-section-head h2{font-size:21px}.configuration-section-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted)}.configuration-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.configuration-panel{align-self:start}.configuration-panel .section-head{margin-bottom:16px}.configuration-panel .section-head p:not(.eyebrow){margin:4px 0 0;color:#64748b;font-size:11px}.configuration-panel .admin-grid-form{padding:0}.configuration-toggle-form,.configuration-policy-form{display:grid;gap:10px}.configuration-toggle{min-height:54px;display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border:1px solid #dce7e9;border-radius:11px;background:#f9fbfb;cursor:pointer}.configuration-toggle input{width:18px;height:18px;margin-top:2px;accent-color:#0f887f}.configuration-toggle strong,.configuration-toggle small{display:block}.configuration-toggle strong{color:#294b5b;font-size:11px}.configuration-toggle small{margin-top:3px;color:#71828e;font-size:9px}.configuration-rule-fields{margin-top:4px}.configuration-policy-form button{justify-self:start}.insurance-provider-create-card{align-self:start}.insurance-provider-create-card .setup-create-chevron{width:20px;height:20px;fill:none;stroke:#527080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.insurance-provider-create-card[open] .setup-create-chevron{transform:rotate(180deg)}.configuration-list-panel{margin-top:16px}.faq-editor-list{display:grid;gap:12px}.faq-editor-card{position:relative;padding:15px;border:1px solid #dce7e9;border-radius:13px;background:#f9fbfb}.faq-editor-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.faq-editor-card label{display:grid;gap:6px;margin-top:10px;color:#344f5f;font-size:11px;font-weight:750}.danger-icon-button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #fecaca;color:#b42318;background:#fff;box-shadow:none}.danger-icon-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}.danger-icon-button:hover{transform:none;border-color:#ef4444;background:#fff1f2;box-shadow:none}.faq-editor-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.faq-empty{padding:24px;border:1px dashed #cbdde0;border-radius:12px;color:#64748b;background:#f9fbfb;text-align:center}.faq-empty strong{display:block;color:#294b5b}.faq-empty p{margin:5px 0 0;font-size:11px}.setup-create-grid>.setup-create-card:only-child{grid-column:1/-1}.setup-management-grid>.setup-management-panel:only-child{grid-column:1/-1}
@media(max-width:800px){.configuration-panel-grid{grid-template-columns:1fr}.configuration-tabs a{flex:0 0 auto}.configuration-section-head{align-items:stretch;flex-direction:column}.configuration-section-head .timezone-chip{align-self:flex-start}.faq-editor-actions{position:sticky;bottom:0;padding:10px 0;background:#fff}.faq-editor-actions>*{flex:1}}

.booking-manage,.booking-no-show{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:9px;background:#fff;box-shadow:none;font-size:10px;font-weight:800;white-space:nowrap}.booking-manage{border:1px solid #bfd6dc;color:#315768}.booking-manage svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.booking-manage:hover{transform:none;color:#075e59;border-color:#88cfc8;background:#effaf8;box-shadow:none}.booking-no-show{border:1px solid #efcf90;color:#80590d}.booking-no-show:hover{transform:none;border-color:#d6a642;background:#fff9e9;box-shadow:none}.booking-no-show:disabled{cursor:not-allowed;opacity:.5}.manage-appointment-shell{grid-template-columns:1fr minmax(600px,760px)}.manage-appointment-drawer{grid-column:2}.manage-appointment-form{display:grid;gap:14px}.manage-patient-summary{padding:15px 17px;border:1px solid #cae6e2;border-radius:13px;background:#effaf8}.manage-patient-summary span,.manage-patient-summary strong,.manage-patient-summary small{display:block}.manage-patient-summary span{color:#087b73;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.manage-patient-summary strong{margin-top:4px;color:#17394b;font-size:15px}.manage-patient-summary small{margin-top:3px;color:#64748b}.manage-outcomes{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e1e9eb;border-radius:14px;background:#fff}.manage-outcomes h3{margin:0;color:#17394b;font-size:14px}.manage-outcomes p{max-width:52ch;margin:5px 0 0;color:#64748b;font-size:10px}.manage-outcomes>div:last-child{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.manage-appointment-shell .appointment-drawer-foot{width:min(760px,100vw)}
@media(max-width:760px){.manage-appointment-shell{display:block}.manage-appointment-drawer{width:100%}.manage-outcomes{align-items:stretch;flex-direction:column}.manage-outcomes>div:last-child{display:grid;grid-template-columns:1fr}.manage-outcomes button{width:100%;min-height:44px}.manage-appointment-shell .appointment-drawer-foot{width:100%}.booking-row-actions{flex-wrap:wrap}}
@media(max-width:640px){.configuration-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.configuration-tabs a{min-width:0}.configuration-tabs a:last-child:nth-child(odd){grid-column:1/-1}.bookings-table,.bookings-table tbody,.bookings-table tr,.bookings-table td{display:block;width:100%}.bookings-table thead{display:none}.bookings-table tbody{display:grid;gap:12px;padding:12px}.bookings-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:14px;border:1px solid #dce7e9;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,40,55,.04)}.bookings-table td{min-width:0;padding:9px 0;border:0;white-space:normal;overflow-wrap:anywhere}.bookings-table td::before{display:block;margin-bottom:3px;color:#71828e;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.bookings-table td:nth-child(1){grid-column:1/-1;padding-top:0}.bookings-table td:nth-child(1)::before{content:'Patient'}.bookings-table td:nth-child(2)::before{content:'Service'}.bookings-table td:nth-child(3)::before{content:'Provider'}.bookings-table td:nth-child(4)::before{content:'Date'}.bookings-table td:nth-child(5)::before{content:'Time'}.bookings-table td:nth-child(6)::before{content:'Status'}.bookings-table td:nth-child(7){grid-column:1/-1;padding-bottom:0;text-align:left}.bookings-table td:nth-child(7)::before{content:'Actions'}.bookings-table .booking-row-actions,.bookings-table .booking-action-cell form{justify-content:flex-start}.bookings-table .empty{grid-column:1/-1;text-align:center}.bookings-table .empty::before{content:none}}
@media(max-width:620px){.weekly-hours-row{grid-template-columns:1fr auto;padding:10px 0}.hour-inputs,.weekly-hours-row>.copy-hours{grid-column:1/-1}.weekly-hours-actions,.section-head{align-items:flex-start;flex-direction:column}.hours-shortcuts{flex-wrap:wrap}.assignment-checkboxes{grid-template-columns:1fr}.temporary-change-item{grid-template-columns:1fr}.day-choice-group>div{grid-template-columns:repeat(3,1fr)}}

/* Staff dashboard responsive hardening */
.user-action-panel{min-width:0}.user-edit-field{min-width:0}.user-edit-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-access-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.user-access-actions form{margin:0}.schedule-shell,.template-studio{min-width:0}.schedule-shell>*,.template-studio>*{min-width:0}.sidebar .side-nav{min-height:0;overflow-y:auto;scrollbar-width:none}.sidebar .side-nav::-webkit-scrollbar{display:none}

@media(max-width:1280px){
  .users-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
  .users-table td{grid-template-columns:104px minmax(0,1fr);min-width:0}
  .users-table td>*{min-width:0}
  .users-table .booking-action-cell{grid-column:1/-1;grid-template-columns:104px minmax(0,1fr);align-items:start;border-top:1px solid #edf2f4;margin-top:4px;padding-top:14px}
  .users-table .user-action-panel{display:grid;gap:10px}
  .users-table .user-edit-form{width:100%;display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;align-items:end}
  .users-table .user-edit-field{display:grid;gap:5px;color:#526777;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
  .users-table .user-edit-field>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .users-table .user-edit-field input,.users-table .user-edit-field select{width:100%;min-width:0;min-height:44px}
  .users-table .compact-toggle{min-height:44px;justify-content:flex-start}
  .users-table .booking-complete,.users-table .danger-action{min-height:44px}
  .users-table .user-access-actions{justify-content:flex-start;padding-top:10px;border-top:1px dashed #dbe5e8}
}

@media(max-width:900px){
  .card{max-width:100%}
  .table-wrap{max-width:100%;overflow-x:auto}
  .schedule-shell,.template-studio{min-width:0;max-width:100%}
  .schedule-shell>*,.template-studio>*{min-width:0}
  .setup-entity>summary{min-width:0}
  .setup-entity>summary>*{min-width:0}
}

@media(max-width:700px){
  button,.btn,.secondary-link,input,select{min-height:44px}
  .inline-actions input{min-height:44px}
  .users-table .user-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .users-table .compact-toggle{width:100%}
  .users-table .booking-complete,.users-table .danger-action{width:auto;min-width:124px}
  .composer-actions{align-items:flex-start;flex-direction:column}
  .composer-actions>*{max-width:100%}
  .setup-entity>summary{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .setup-entity>summary>b{grid-column:1/-1}
}

@media(max-width:640px){
  .sidebar{gap:8px}
  .sidebar .brand{flex:0 0 auto;margin-right:0}
  .sidebar .side-nav{min-width:0;flex:1;display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sidebar .side-nav::-webkit-scrollbar{display:none}
  .sidebar .nav-item{flex:0 0 44px;width:44px;min-height:44px}
}

@media(max-width:560px){
  .showcase-data-banner{align-items:flex-start;flex-wrap:wrap}.showcase-data-banner small{width:100%;margin-inline-start:0}
  .users-table tr{grid-template-columns:1fr;column-gap:0}
  .users-table td{grid-template-columns:96px minmax(0,1fr)}
  .users-table .booking-action-cell{display:block;grid-column:auto}
  .users-table .booking-action-cell::before{display:block;margin-bottom:10px}
  .users-table .user-edit-form{grid-template-columns:1fr}
  .users-table .compact-toggle,.users-table .booking-complete,.users-table .danger-action{width:100%}
  .users-table .user-access-actions{display:grid;grid-template-columns:1fr}
  .users-table .user-access-actions form,.users-table .user-access-actions button{width:100%}
  .temporary-change-form form{padding-inline:12px}
  .template-edit-row{grid-template-columns:1fr}
  .template-edit-row button{grid-column:auto}
}

@media(max-width:420px){
  main{padding-inline:12px}
  .card:not(.table-wrap){padding:16px}
  .stat-strip,.kpi-grid{grid-template-columns:1fr}
  .stat-card:last-child{grid-column:auto}
  .details-list{grid-template-columns:1fr}
  .details-list dt{padding-bottom:2px;border-bottom:0}
  .details-list dd{padding-top:2px}
  .day-choice-group>div{grid-template-columns:repeat(2,1fr)}
  .appointment-review dl{grid-template-columns:1fr}
}

@media(max-width:900px){.insights-lead-signal{grid-template-columns:52px minmax(0,1fr)}.lead-signal-evidence{grid-column:2}}
@media(max-width:640px){.insights-lead-signal{padding:15px;grid-template-columns:1fr}.lead-signal-rank{min-height:40px;border-right:0;border-bottom:1px solid #dce9ea;align-items:center;justify-content:flex-start;flex-direction:row;gap:8px}.lead-signal-rank span{font-size:16px}.lead-signal-evidence{grid-column:auto}}
/* Authentication helpers for invitation and recovery flows. */
.auth-link{min-height:44px;display:inline-flex;align-items:center;margin:12px 0;color:#087f77;font-size:13px;font-weight:700;text-decoration:none}.auth-link:focus-visible{outline:3px solid #19bbae33;border-radius:4px}.password-rules{margin:4px 0 14px;padding-left:20px;color:#657588;font-size:12px;line-height:1.7}.login-card form{display:contents}.login-card button:disabled{opacity:.55;cursor:not-allowed}

/* Searchable, progressively disclosed doctor and service management. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.setup-section{padding:0;overflow:hidden}.setup-section>summary,.setup-entity>summary,.entity-subsection>summary{list-style:none}.setup-section>summary::-webkit-details-marker,.setup-entity>summary::-webkit-details-marker,.entity-subsection>summary::-webkit-details-marker{display:none}
.setup-section-trigger{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;transition:background-color .18s ease}.setup-section-trigger:hover{background:#f7fcfb}.setup-section-trigger:focus-visible,.setup-entity>summary:focus-visible,.entity-subsection>summary:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:-3px}.setup-section-trigger p{margin:5px 0 0;color:var(--muted)}
.setup-section-meta{display:flex;align-items:center;gap:9px;flex:none}.setup-section-meta>b{min-width:29px;height:29px;display:grid;place-items:center;padding:0 8px;border-radius:999px;color:#087b73;background:var(--teal-100);font-size:11px}.setup-section-meta svg,.entity-chevron,.entity-subsection>summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#527080;transition:transform .18s ease}.setup-section[open]>.setup-section-trigger .setup-section-meta svg,.setup-entity[open]>summary .entity-chevron,.entity-subsection[open]>summary>svg{transform:rotate(180deg)}
.setup-section-body{padding:0 16px 18px;border-top:1px solid #edf2f4}.setup-list-search,.assignment-search{position:relative;display:block}.setup-list-search{margin-top:14px}.setup-list-search>svg,.assignment-search>svg{position:absolute;z-index:1;left:13px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:#6b8390;stroke-width:2;stroke-linecap:round}.setup-list-search input,.assignment-search input{min-height:44px;padding-left:41px;background:#fbfdfd}.setup-result-count{margin:8px 2px 12px;color:#64748b;font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.setup-entity-list{display:grid;gap:8px}.setup-entity[hidden],.assignment-option[hidden]{display:none!important}.setup-entity{border-color:#d9e5e8;background:#fbfdfd;transition:border-color .18s ease,background-color .18s ease}.setup-entity:hover{border-color:#bddbd8}.setup-entity[open]{border-color:#a9d8d3;background:#fff}.setup-entity>summary{min-height:59px;grid-template-columns:minmax(0,1fr) auto auto 22px;padding:10px 12px}.setup-entity>summary b{white-space:nowrap}.setup-entity-body{border-top:1px solid #dfe8ea;background:#fff}
.entity-subsection{border-bottom:1px solid #e7eef0}.entity-subsection:last-child{border-bottom:0}.entity-subsection>summary{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;color:var(--navy-900);transition:background-color .18s ease}.entity-subsection>summary:hover{background:#f6fcfb}.entity-subsection>summary strong,.entity-subsection>summary small{display:block}.entity-subsection>summary small{margin-top:2px;color:var(--muted);font-size:10px}.entity-subsection .entity-edit-form{border-top:1px solid #e7eef0}
.assignment-summary-count{display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;color:#087b73;background:var(--teal-100);font-size:10px;font-weight:750;white-space:nowrap}.service-assignment-form{border-top:1px solid #e7eef0}.assignment-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}.assignment-text-action{min-height:44px;padding:8px 11px;border:1px solid #c7dcdf;color:#087b73;background:#fff;box-shadow:none;font-size:10px;white-space:nowrap}.assignment-text-action:hover{border-color:var(--teal-500);background:var(--teal-100);box-shadow:none}.assignment-checkboxes{margin:12px 0}.assignment-checkboxes .assignment-option{position:relative;min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) 18px;gap:9px;padding:8px 10px;cursor:pointer;background:#fff;transition:border-color .15s ease,background-color .15s ease}.assignment-option:hover{border-color:#afd9d5}.assignment-option.selected{border-color:#86d5cd;background:#effbf9}.assignment-option input{accent-color:var(--teal-600)}.assignment-option span strong,.assignment-option span small{display:block}.assignment-option span strong{color:var(--navy-900);font-size:11px}.assignment-option span small{margin-top:1px;color:var(--muted);font-size:9px}.assignment-option>svg{width:17px;height:17px;opacity:0;fill:none;stroke:#087b73;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.assignment-option.selected>svg{opacity:1}.assignment-empty{margin:10px 0;color:var(--muted);font-size:11px;text-align:center}.assignment-warning{margin:10px 0;padding:9px 11px;border:1px solid #fde68a;border-radius:9px;color:#854d0e;background:#fffbeb;font-size:10px}.assignment-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.assignment-save-row>span{color:var(--muted);font-size:10px}.assignment-save-row>span b{color:#087b73}.readonly-assignments{display:flex;flex-wrap:wrap;gap:7px;padding:14px;border-top:1px solid #e7eef0}.readonly-assignments span{padding:6px 9px;border:1px solid #bde4e0;border-radius:999px;color:#087b73;background:#effaf8;font-size:10px;font-weight:750}.readonly-assignments p{margin:0;color:var(--muted)}
@media(max-width:700px){.setup-section-trigger{min-height:86px;padding:15px}.setup-section-trigger p{font-size:11px}.setup-section-body{padding-inline:12px}.setup-entity>summary{grid-template-columns:minmax(0,1fr) auto 22px}.setup-entity>summary>.badge{grid-column:1;justify-self:start}.setup-entity>summary>b{grid-row:1;grid-column:2}.setup-entity>summary>.entity-chevron{grid-row:1;grid-column:3}.assignment-tools{grid-template-columns:1fr 1fr}.assignment-search{grid-column:1/-1}.assignment-text-action{width:100%}.assignment-save-row{align-items:stretch;flex-direction:column}.assignment-save-row button{width:100%}.entity-subsection>summary{grid-template-columns:minmax(0,1fr) 22px}.entity-subsection>summary .assignment-summary-count{grid-column:1;justify-self:start}.entity-subsection>summary>svg{grid-row:1;grid-column:2}.assignment-checkboxes{grid-template-columns:1fr}}
.exception-item.HOLIDAY,.exception-item.TRAINING{border-left-color:#f2b84b}

/* Doctor exception appointment-impact review */
.exception-review-helper{color:var(--muted);line-height:1.5}.exception-impact-open{overflow:hidden}.exception-impact-shell{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:24px}.exception-impact-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(4,15,25,.58);box-shadow:none;backdrop-filter:blur(3px);cursor:default}.exception-impact-backdrop:hover{background:rgba(4,15,25,.58);box-shadow:none}.exception-impact-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(780px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #d9e5e8;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(4,15,25,.28);animation:impact-modal-in .2s ease-out}.exception-impact-dialog:focus{outline:none}.exception-impact-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e5edef;background:#fbfdfd}.exception-impact-heading{display:flex;align-items:center;gap:13px}.exception-impact-heading .eyebrow{margin-bottom:2px}.exception-impact-symbol{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:#087b73;background:var(--teal-100)}.exception-impact-symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.exception-impact-body{min-height:0;overflow-y:auto;padding:22px}.exception-impact-summary{max-width:68ch;margin:0 0 17px;color:#526477}.exception-impact-loading{min-height:180px;display:grid;place-content:center;justify-items:center;gap:12px;color:#385566}.exception-impact-loading>span{width:32px;height:32px;border:3px solid #d2ebe8;border-top-color:var(--teal-600);border-radius:50%;animation:spin .8s linear infinite}.exception-impact-loading strong{font-size:12px}.exception-impact-error{padding:13px 14px;border:1px solid #f5aeb4;border-radius:11px;color:#991b1b;background:#fff1f2;font-weight:700}.exception-impact-error:focus{outline:3px solid rgba(220,38,38,.18);outline-offset:2px}.exception-impact-notice{display:grid;gap:3px;margin-bottom:16px;padding:13px 15px;border:1px solid #a9ddd7;border-radius:12px;color:#155e59;background:#effcf9}.exception-impact-notice.destructive{border-color:#f5aeb4;color:#991b1b;background:#fff1f2}.exception-impact-notice strong{font-size:13px}.exception-impact-notice span{font-size:11px;line-height:1.5}.exception-impact-list-wrap{overflow:hidden;border:1px solid #dce7ea;border-radius:13px}.exception-impact-columns,.exception-impact-item{display:grid;grid-template-columns:minmax(165px,1.15fr) minmax(145px,1fr) minmax(170px,1fr) 100px;gap:14px;align-items:center}.exception-impact-columns{padding:9px 14px;color:#64748b;background:#f7fafb;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.exception-impact-list{max-height:330px;margin:0;padding:0;overflow-y:auto;list-style:none}.exception-impact-item{padding:13px 14px;border-top:1px solid #edf2f4;background:#fff}.exception-impact-item:first-child{border-top:0}.exception-impact-item:hover{background:#f7fbfb}.exception-impact-item>div{min-width:0}.exception-impact-item>div>span:first-child{display:none}.exception-impact-item strong,.exception-impact-item small{display:block;overflow-wrap:anywhere}.exception-impact-item strong{color:#17394b;font-size:12px}.exception-impact-item small{margin-top:2px;color:#64748b;font-size:10px}.exception-impact-status .badge{white-space:nowrap}.exception-impact-empty{margin:0;padding:25px;border:1px dashed #cbdde0;border-radius:12px;color:#64748b;background:#f9fbfc;text-align:center}.exception-impact-footnote{margin:14px 0 0;color:#64748b;font-size:11px}.exception-impact-actions{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid #e5edef;background:#fbfdfd}.exception-impact-actions button{min-height:44px}.exception-impact-actions .secondary-link{min-width:140px}.impact-danger-action{color:#fff!important;background:#c62828!important;box-shadow:0 8px 20px rgba(198,40,40,.2)!important}.impact-danger-action:hover{background:#a91f27!important;box-shadow:0 10px 24px rgba(198,40,40,.25)!important}.exception-impact-shell :focus-visible{outline:3px solid rgba(25,187,174,.3);outline-offset:2px}.exception-impact-shell .impact-danger-action:focus-visible{outline-color:rgba(220,38,38,.3)}
@keyframes impact-modal-in{from{opacity:.65;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.exception-impact-dialog,.exception-impact-loading>span{animation:none}}
@media(max-width:700px){.exception-impact-shell{align-items:end;padding:0}.exception-impact-dialog{width:100%;max-height:calc(100dvh - 12px);border-radius:18px 18px 0 0}.exception-impact-head,.exception-impact-body{padding:16px}.exception-impact-heading{align-items:flex-start}.exception-impact-symbol{width:38px;height:38px;flex-basis:38px}.exception-impact-columns{display:none}.exception-impact-list{max-height:none}.exception-impact-item{grid-template-columns:1fr 1fr;gap:12px;padding:15px}.exception-impact-item>div>span:first-child{display:block;margin-bottom:3px;color:#71828e;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.exception-impact-status{align-self:start}.exception-impact-actions{display:grid;grid-template-columns:1fr;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.exception-impact-actions button{width:100%;min-height:48px}.exception-impact-actions .impact-danger-action{grid-row:1}.exception-impact-actions .secondary-link{grid-row:2}.exception-impact-summary{font-size:13px}}
@media(max-width:420px){.exception-impact-item{grid-template-columns:1fr}.exception-impact-head h2{font-size:16px}.exception-impact-heading .eyebrow{font-size:9px}}

/* Booking date filter */
.booking-date-picker-open .bookings-page-head{position:relative;z-index:12}.booking-date-filter{position:relative;z-index:9;flex:none}.booking-date-trigger{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #cbdde0;border-radius:11px;color:#315768;background:#fff;box-shadow:none;white-space:nowrap}.booking-date-trigger:hover,.booking-date-trigger.active{transform:none;border-color:#79cfc6;color:#075e59;background:#f0fcfa;box-shadow:0 0 0 3px rgba(25,187,174,.09)}.booking-date-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.booking-date-trigger i{display:none;width:7px;height:7px;border-radius:50%;background:#0f887f}.booking-date-trigger.active i{display:block}.booking-date-trigger:focus-visible{outline:3px solid rgba(25,187,174,.3);outline-offset:2px}
.booking-date-picker-shell{position:absolute;z-index:160;top:calc(100% + 9px);right:0;width:410px}.booking-date-backdrop{position:fixed;z-index:-1;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:default}.booking-date-backdrop:hover{transform:none;background:transparent;box-shadow:none}.booking-date-picker{position:relative;max-height:calc(100dvh - 235px);overflow-y:auto;border:1px solid #cfe0e3;border-radius:17px;background:#fff;box-shadow:0 24px 65px rgba(7,32,45,.2);animation:booking-picker-in .18s ease-out}.booking-date-picker:focus{outline:none}.booking-date-picker-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e5edef;background:#fbfdfd}.booking-date-picker-head h2{font-size:17px}.booking-date-picker-head p:not(.eyebrow){margin:3px 0 0;color:#64748b;font-size:10px}.booking-date-picker-head p span{color:#315768;font-weight:750}.booking-date-picker-head .icon-button{width:44px;height:44px;flex-basis:44px}.booking-date-picker-body{display:grid;gap:15px;padding:16px 18px}.booking-date-presets{display:flex;flex-wrap:wrap;gap:7px}.booking-date-presets button{min-height:36px;padding:7px 10px;border:1px solid #d7e4e6;border-radius:999px;color:#456574;background:#fff;box-shadow:none;font-size:10px}.booking-date-presets button:hover,.booking-date-presets button.active{transform:none;border-color:#83d2ca;color:#075e59;background:#e9fbf8;box-shadow:none}.booking-date-presets button.clear{margin-left:auto;color:#9f3038}.booking-date-presets button.clear:hover,.booking-date-presets button.clear.active{border-color:#fecaca;color:#991b1b;background:#fff1f2}.booking-calendar{padding:10px;border:1px solid #dce7e9;border-radius:14px;background:#fbfdfd}.booking-calendar-toolbar{min-height:44px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.booking-calendar-toolbar strong{color:#17394b;font-size:13px;text-align:center}.calendar-nav{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;color:#456574;background:transparent;box-shadow:none}.calendar-nav:hover{transform:none;color:#075e59;background:#e9fbf8;box-shadow:none}.calendar-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.booking-calendar-weekdays,.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.booking-calendar-weekdays span{padding:5px 0;color:#71828e;font-size:9px;font-weight:850;text-align:center;text-transform:uppercase}.booking-calendar-day{position:relative;width:100%;min-width:0;min-height:42px;padding:0;border:0;border-radius:9px;color:#294b5b;background:transparent;box-shadow:none;font-size:11px;font-weight:750}.booking-calendar-day:hover{transform:none;color:#075e59;background:#e9fbf8;box-shadow:none}.booking-calendar-day.outside-month{color:#a7b4bc}.booking-calendar-day.today::after{position:absolute;right:calc(50% - 2px);bottom:5px;width:4px;height:4px;border-radius:50%;background:#0f887f;content:""}.booking-calendar-day.in-range{border-radius:5px;background:#ccefeb}.booking-calendar-day.range-start,.booking-calendar-day.range-end{color:#fff;background:#0f887f;box-shadow:0 4px 10px rgba(15,136,127,.22)}.booking-calendar-day.range-start::after,.booking-calendar-day.range-end::after{background:#fff}.booking-calendar-day:focus-visible,.calendar-nav:focus-visible,.booking-date-presets button:focus-visible{position:relative;z-index:2;outline:3px solid rgba(25,187,174,.34);outline-offset:1px}.booking-date-selection{display:grid;gap:2px;padding:11px 12px;border:1px solid #cce6e2;border-radius:11px;background:#f0fcfa}.booking-date-selection span{color:#087b73;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.booking-date-selection strong{color:#17394b;font-size:12px}.booking-date-selection small{color:#64748b;font-size:9px}.booking-date-picker-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:9px;padding:12px 18px;border-top:1px solid #e5edef;background:#fbfdfd}.booking-date-picker-actions button{min-width:92px;min-height:44px}.booking-date-picker-actions button:focus-visible{outline:3px solid rgba(25,187,174,.3);outline-offset:2px}
.bookings-results{position:relative;min-height:130px}.bookings-results.loading table{opacity:.45}.bookings-filter-loading{position:absolute;z-index:3;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;color:#315768;background:rgba(255,255,255,.72);backdrop-filter:blur(1px)}.bookings-filter-loading span{width:28px;height:28px;border:3px solid #ccebe7;border-top-color:#0f887f;border-radius:50%;animation:spin .7s linear infinite}.bookings-filter-loading strong{font-size:11px}.bookings-empty-state strong{display:block;color:#456574;font-size:12px}.clear-date-filter-link{min-height:40px;margin-top:8px;padding:6px 10px;color:#087b73;background:transparent;box-shadow:none;font-size:11px}.clear-date-filter-link:hover{transform:none;background:#e9fbf8;box-shadow:none}.booking-filter-error{margin:0 0 14px}
@keyframes booking-picker-in{from{opacity:.6;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.booking-date-picker,.bookings-filter-loading span{animation:none}}
@media(max-width:720px){body.booking-date-picker-open{overflow:hidden}.booking-date-filter{width:100%}.booking-date-trigger{width:100%;justify-content:center}.booking-date-picker-shell{position:fixed;z-index:170;inset:0;width:auto;display:grid;align-items:end}.booking-date-backdrop{z-index:0;background:rgba(4,15,25,.58);backdrop-filter:blur(3px)}.booking-date-backdrop:hover{background:rgba(4,15,25,.58)}.booking-date-picker{z-index:1;width:100%;max-height:calc(100dvh - 10px);overflow-y:auto;border-radius:18px 18px 0 0;animation:booking-sheet-in .2s ease-out}.booking-date-picker-head{position:sticky;top:0;z-index:3}.booking-date-picker-body{padding:15px}.booking-date-presets button{min-height:44px;padding-inline:13px}.booking-date-presets button.clear{margin-left:0}.booking-calendar-day{min-height:44px}.booking-date-picker-actions{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:1fr 1fr;padding:12px 15px calc(12px + env(safe-area-inset-bottom))}.booking-date-picker-actions button{width:100%;min-height:48px}.bookings-page-head .bookings-head-actions{width:100%}}
@keyframes booking-sheet-in{from{opacity:.75;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:390px){.booking-date-picker-body{padding-inline:10px}.booking-calendar{padding:7px}.booking-calendar-grid,.booking-calendar-weekdays{gap:1px}.booking-date-presets{gap:5px}.booking-date-presets button{padding-inline:10px}}

/* Keep every interactive control comfortably tappable on compact dashboards. */
.icon-button{width:44px;height:44px;flex-basis:44px}
@media(max-width:700px){
  .sidebar .brand{width:44px;min-height:44px;justify-content:center}
  .filter-tabs a,.booking-complete,.booking-cancel,.patient-name,.file-link,.lead-signal-evidence a{min-width:44px;min-height:44px}
  .filter-tabs a,.patient-name,.file-link,.lead-signal-evidence a{display:inline-flex;align-items:center}
  .segmented-control button,.slot-button,.upload-button{min-height:44px}
  .section-link,.text-danger,.danger-action{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .insights-filter-grid input,.insights-filter-grid select,.insight-feedback button{min-height:44px}
  .template-management>summary,.insight-card-actions summary{min-height:44px;display:inline-flex;align-items:center}
  .shift-block{min-height:56px;padding-right:50px}
  .shift-block button{width:44px;height:44px;min-height:44px}
}

/* Keep staff invitations and row management compact, readable, and responsive. */
.invite-user-form{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.2fr) minmax(150px,.8fr) minmax(220px,1fr);align-items:start}
.invite-user-form>label>small,.invite-field-label small{color:#64748b;font-weight:500;line-height:1.45}.invite-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.invite-form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:3px;padding-top:15px;border-top:1px solid #e5edef}
.invite-form-footer .alert-toggle-field{grid-column:auto;max-width:580px;gap:4px}
.invite-form-footer button{min-height:44px;flex:0 0 auto;margin-left:auto}
.users-table{max-width:100%;overflow-x:auto}
.users-table table{min-width:1120px}
.users-table .booking-action-cell{min-width:220px;vertical-align:top}
.user-action-panel{display:grid;gap:9px;min-width:0}
.user-edit-disclosure{min-width:0;overflow:hidden;border:1px solid #d9e5e7;border-radius:10px;background:#fff}
.user-edit-disclosure>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;list-style:none;color:#087b73;background:#f7fcfb;font-size:11px;font-weight:800;cursor:pointer;transition:background-color .18s ease}
.user-edit-disclosure>summary::-webkit-details-marker{display:none}
.user-edit-disclosure>summary:hover{background:#ecfaf7}
.user-edit-disclosure>summary:focus-visible{outline:3px solid rgba(25,187,174,.28);outline-offset:-3px}
.user-edit-disclosure>summary svg{width:17px;height:17px;flex:0 0 17px;transition:transform .18s ease}
.user-edit-disclosure[open]>summary svg{transform:rotate(180deg)}
.user-edit-disclosure-body{padding:12px;border-top:1px solid #dfe9eb;background:#fff}
.users-table .user-edit-form{display:grid;grid-template-columns:1fr;gap:10px;align-items:end}
.users-table .user-edit-field{min-width:0;display:grid;gap:5px;color:#526777;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.users-table .user-edit-disclosure .user-edit-field>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
.users-table .user-edit-field input,.users-table .user-edit-field select{width:100%;min-width:0;min-height:44px}
.user-edit-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}
.user-edit-form-footer .compact-toggle{min-height:44px;flex:1 1 auto;justify-content:flex-start}
.user-edit-form-footer .booking-complete{min-height:44px;flex:0 0 auto}
.user-edit-disclosure+.user-access-actions{padding-top:9px;border-top:1px dashed #dbe5e8}
.users-table .user-access-actions{justify-content:flex-start}
.users-table .user-access-actions button{min-height:44px}

@media(max-width:1500px){
  .users-table{padding:12px;overflow:visible;border:0;background:transparent;box-shadow:none}
  .users-table table,.users-table thead,.users-table tbody,.users-table tr,.users-table td{display:block}
  .users-table table{min-width:0}
  .users-table thead{display:none}
  .users-table tbody{display:grid;gap:12px}
  .users-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
  .users-table td{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 0;border:0;white-space:normal}
  .users-table td::before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
  .users-table td>*{min-width:0}
  .users-table td strong,.users-table td:not(.booking-action-cell){overflow-wrap:anywhere}
  .users-table .booking-action-cell{grid-column:1/-1;grid-template-columns:112px minmax(0,1fr);align-items:start;min-width:0;margin-top:4px;padding-top:14px;border-top:1px solid #edf2f4;text-align:left}
  .users-table .user-edit-form{grid-template-columns:repeat(3,minmax(140px,1fr))}
  .users-table .user-edit-form-footer{grid-column:1/-1}
}

@media(max-width:960px){
  .invite-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .users-table .user-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .users-table .user-edit-form-footer{align-items:stretch;flex-direction:column}
  .users-table .user-edit-form-footer .compact-toggle,.users-table .user-edit-form-footer .booking-complete{width:100%}
}

@media(max-width:640px){
  .invite-user-form{grid-template-columns:1fr}
  .invite-form-footer{align-items:stretch;flex-direction:column}
  .invite-form-footer .alert-toggle-field{max-width:none}
  .invite-form-footer button{width:100%;margin-left:0}
}

@media(max-width:560px){
  .users-table tr{grid-template-columns:1fr;column-gap:0}
  .users-table td{grid-template-columns:96px minmax(0,1fr)}
  .users-table .booking-action-cell{display:block;grid-column:auto}
  .users-table .booking-action-cell::before{display:block;margin-bottom:10px}
  .users-table .user-edit-form{grid-template-columns:1fr}
  .users-table .user-access-actions{display:grid;grid-template-columns:1fr}
  .users-table .user-access-actions form,.users-table .user-access-actions button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .user-edit-disclosure>summary,.user-edit-disclosure>summary svg{transition:none}
}

/* Preserve readable shift names and times instead of squeezing all seven days. */
.week-grid{grid-template-columns:repeat(7,minmax(170px,1fr));overscroll-behavior-inline:contain;scrollbar-gutter:stable;padding-bottom:10px}
.day-column{min-width:0}
.shift-block{min-height:76px;padding:11px 44px 11px 11px}
.shift-block span{padding-right:0;line-height:1.35;overflow-wrap:normal}
.shift-block b{line-height:1.4;white-space:nowrap}

@media(max-width:700px){
  .week-grid{grid-template-columns:repeat(7,170px)}
  .shift-block{padding-right:56px}
}

.account-delete{min-height:44px;display:inline-flex;align-items:center;gap:7px}
.account-delete svg{width:16px;height:16px;flex:none}
