
:root{
  --bg:#f5f7fa;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#eef2f6;
  --text:#182230;
  --muted:#667085;
  --line:#e4e7ec;
  --line-strong:#d0d5dd;
  --primary:#2457d6;
  --primary-soft:#eef4ff;
  --success:#14804a;
  --success-soft:#ecfdf3;
  --warning:#b54708;
  --warning-soft:#fffaeb;
  --danger:#b42318;
  --danger-soft:#fef3f2;
  --info:#175cd3;
  --info-soft:#eff8ff;
  --shadow:0 1px 2px rgba(16,24,40,.05),0 3px 10px rgba(16,24,40,.04);
  --radius:14px;
  --sidebar:248px;
  --topbar:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.app-shell{min-height:100vh}
.sidebar{
  position:fixed; left:0; top:0; bottom:0; width:var(--sidebar);
  background:#101828; color:#d0d5dd; padding:20px 14px; z-index:30;
  display:flex; flex-direction:column; gap:18px;
}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{
  width:36px;height:36px;border-radius:10px;background:#fff;color:#101828;
  display:grid;place-items:center;font-weight:800;letter-spacing:-.03em
}
.brand-text strong{display:block;color:#fff;font-size:14px}
.brand-text span{font-size:11px;color:#98a2b3}
.nav{display:flex;flex-direction:column;gap:5px}
.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#667085;padding:13px 10px 5px}
.nav a{
  display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;font-size:13px;
}
.nav a:hover,.nav a.active{background:#1d2939;color:#fff}
.nav-icon{
  width:19px;height:19px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);
  border-radius:6px;font-size:10px
}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.user-mini{display:flex;gap:10px;align-items:center;padding:8px}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#e9f0ff;color:#2457d6}
.user-mini .avatar{background:#344054;color:#fff}
.user-mini strong{display:block;color:#fff;font-size:12px}.user-mini span{font-size:11px;color:#98a2b3}
.main{margin-left:var(--sidebar);min-height:100vh}
.topbar{
  position:sticky;top:0;height:var(--topbar);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:20;backdrop-filter:blur(10px)
}
.page-kicker{font-size:12px;color:var(--muted);margin-bottom:2px}
.topbar h1{margin:0;font-size:20px;letter-spacing:-.02em}
.top-actions{display:flex;gap:9px;align-items:center}
.icon-btn,.secondary-btn,.primary-btn,.ghost-btn{
  border:1px solid var(--line-strong);background:#fff;color:var(--text);border-radius:9px;min-height:38px;padding:0 13px;font-weight:600;font-size:12px
}
.icon-btn{width:38px;padding:0;display:grid;place-items:center}
.primary-btn{background:var(--primary);border-color:var(--primary);color:#fff}
.ghost-btn{background:transparent;border-color:transparent;color:var(--muted)}
.page{padding:24px 28px 42px;max-width:1600px;margin:0 auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.page-head h2{margin:0 0 4px;font-size:24px;letter-spacing:-.03em}
.page-head p{margin:0;color:var(--muted);font-size:13px}
.date-chip{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:12px;font-weight:600}
.grid{display:grid;gap:14px}
.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)
}
.kpi{padding:16px}
.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin-bottom:12px}
.kpi-value{font-size:27px;font-weight:750;letter-spacing:-.04em;margin-bottom:4px}
.kpi-meta{font-size:11px;color:var(--muted)}
.badge{
  display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;white-space:nowrap
}
.badge.success{background:var(--success-soft);color:var(--success)}
.badge.warning{background:var(--warning-soft);color:var(--warning)}
.badge.danger{background:var(--danger-soft);color:var(--danger)}
.badge.info{background:var(--info-soft);color:var(--info)}
.badge.neutral{background:#f2f4f7;color:#475467}
.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr)}
.card-head{padding:16px 18px 13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.card-head h3{font-size:14px;margin:0}.card-head p{font-size:11px;color:var(--muted);margin:3px 0 0}
.card-body{padding:16px 18px}
.link{font-size:11px;font-weight:700;color:var(--primary)}
.flow-list{display:flex;flex-direction:column}
.flow-row{
  display:grid;grid-template-columns:76px minmax(0,1.2fr) minmax(0,1fr) 120px;gap:10px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--line)
}
.flow-row:last-child{border-bottom:0}
.time{font-size:12px;font-weight:700}.patient strong,.provider strong{display:block;font-size:12px}
.patient span,.provider span{font-size:10px;color:var(--muted)}
.alert-list,.task-list{display:flex;flex-direction:column;gap:10px}
.alert-item,.task-item{
  border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;gap:10px;align-items:flex-start
}
.alert-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 auto}
.alert-dot.danger{background:var(--danger)}.alert-dot.warning{background:#f79009}.alert-dot.info{background:#2e90fa}
.alert-item strong,.task-item strong{font-size:11px;display:block;margin-bottom:3px}
.alert-item p,.task-item p{font-size:10px;color:var(--muted);margin:0;line-height:1.45}
.task-check{width:17px;height:17px;border:1px solid var(--line-strong);border-radius:5px;flex:0 0 auto;margin-top:1px}
.split-grid{grid-template-columns:1fr 1fr;margin-top:14px}
.progress-row{margin-bottom:14px}
.progress-row:last-child{margin-bottom:0}
.progress-meta{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}
.progress-meta span:last-child{font-weight:700}
.progress{height:8px;background:#eef2f6;border-radius:999px;overflow:hidden}
.progress > span{display:block;height:100%;background:#98a2b3;border-radius:999px}
.progress.primary > span{background:var(--primary)}
.progress.success > span{background:var(--success)}
.progress.warning > span{background:#f79009}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:11px}
th{text-align:left;color:var(--muted);font-weight:600;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
tr:last-child td{border-bottom:0}
.patient-cell{display:flex;align-items:center;gap:9px}.patient-cell .avatar{width:30px;height:30px;font-size:10px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search{position:relative}
.search input{
  width:230px;height:38px;border:1px solid var(--line-strong);border-radius:9px;padding:0 12px 0 34px;background:#fff;font-size:12px;outline:none
}
.search:before{content:"⌕";position:absolute;left:11px;top:7px;color:var(--muted);font-size:18px}
.filter-select{height:38px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:0 30px 0 10px;font-size:11px;color:#344054}
.status-board{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px}
.status-column{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:430px}
.status-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:750;margin-bottom:10px}
.count{background:#eaecf0;color:#475467;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:10px}
.patient-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:9px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.patient-card .row{display:flex;justify-content:space-between;gap:8px;align-items:start}
.patient-card strong{font-size:11px}.patient-card small{font-size:9px;color:var(--muted)}
.patient-card .meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;font-size:9px;color:var(--muted)}
.patient-card .mini-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:9px;color:#475467}
.notice{padding:12px 14px;border:1px solid #bfd5ff;background:#f5f8ff;border-radius:10px;font-size:11px;color:#344054;margin-bottom:14px}
.notice strong{color:#1849a9}
.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:14px}
.tab{padding:10px 12px;font-size:11px;color:var(--muted);font-weight:650;border-bottom:2px solid transparent}
.tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.panel-grid{display:grid;grid-template-columns:1fr 340px;gap:14px}
.detail-section{padding:16px 18px;border-bottom:1px solid var(--line)}
.detail-section:last-child{border-bottom:0}
.detail-section h4{margin:0 0 12px;font-size:12px}
.definition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.def span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.def strong{font-size:11px}
.timeline{display:flex;flex-direction:column;gap:12px}
.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:9px}
.timeline-marker{width:9px;height:9px;border-radius:50%;background:#d0d5dd;margin-top:4px}
.timeline-marker.done{background:var(--success)}.timeline-marker.current{background:var(--primary);box-shadow:0 0 0 4px #eef4ff}
.timeline-item strong{font-size:10px;display:block}.timeline-item span{font-size:9px;color:var(--muted)}
.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metric-box{border:1px solid var(--line);border-radius:10px;padding:12px}
.metric-box span{font-size:9px;color:var(--muted);display:block}.metric-box strong{font-size:20px;display:block;margin-top:4px}
.mobile-menu{display:none}
.overlay{display:none}
.drawer{
  position:fixed;top:0;right:-440px;width:420px;max-width:100%;height:100vh;background:#fff;border-left:1px solid var(--line);
  box-shadow:-10px 0 30px rgba(16,24,40,.08);z-index:60;transition:right .22s ease;display:flex;flex-direction:column
}
.drawer.open{right:0}
.drawer-head{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer-body{padding:18px;overflow:auto}
.drawer h3{margin:0;font-size:16px}
.drawer-close{border:0;background:#f2f4f7;width:32px;height:32px;border-radius:8px}
.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(16,24,40,.24);z-index:50}
.drawer-backdrop.show{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:9px;color:var(--muted);margin-bottom:5px;font-weight:650}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;font-size:11px;background:#fff}
.field textarea{min-height:80px;resize:vertical}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.demo-label{position:fixed;right:14px;bottom:14px;background:#101828;color:#fff;border-radius:999px;padding:7px 10px;font-size:9px;z-index:40;box-shadow:var(--shadow)}
.empty{padding:32px;text-align:center;color:var(--muted);font-size:11px}
@media (max-width:1200px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .content-grid,.panel-grid{grid-template-columns:1fr}
  .status-board{grid-template-columns:repeat(3,minmax(190px,1fr));overflow:auto}
}
@media (max-width:860px){
  :root{--sidebar:0px}
  .sidebar{transform:translateX(-100%);width:248px;transition:transform .2s ease}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .mobile-menu{display:grid}
  .topbar{padding:0 16px}
  .page{padding:18px 16px 34px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .split-grid{grid-template-columns:1fr}
  .definition-grid{grid-template-columns:1fr 1fr}
  .flow-row{grid-template-columns:62px 1fr 100px}.provider{display:none}
  .page-head{align-items:flex-start;flex-direction:column}
  .status-board{grid-template-columns:repeat(5,240px)}
}
@media (max-width:560px){
  .kpi-grid{grid-template-columns:1fr}
  .top-actions .secondary-btn{display:none}
  .definition-grid,.form-grid{grid-template-columns:1fr}
  .search input{width:100%}
  .toolbar{align-items:stretch}.toolbar > *{flex:1}.toolbar .search{flex-basis:100%}
}


/* ===== Phase 2: Scheduling & Appointments ===== */
.schedule-layout{display:grid;grid-template-columns:minmax(0,1.7fr) 340px;gap:14px}
.calendar-card{overflow:hidden}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.calendar-title{display:flex;align-items:center;gap:8px}
.calendar-title h3{margin:0;font-size:15px}
.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;background:#fff}
.segmented button{border:0;border-right:1px solid var(--line);background:#fff;padding:8px 11px;font-size:10px;font-weight:700;color:var(--muted)}
.segmented button:last-child{border-right:0}
.segmented button.active{background:var(--primary-soft);color:var(--primary)}
.week-grid{display:grid;grid-template-columns:72px repeat(5,minmax(150px,1fr));min-width:820px}
.week-head{display:contents}
.week-head > div{padding:10px 8px;background:var(--surface-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:10px;color:var(--muted);text-align:center}
.week-head .day strong{display:block;color:var(--text);font-size:11px;margin-top:2px}
.week-body{display:contents}
.time-slot{padding:8px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;color:var(--muted);text-align:right;background:#fbfcfe;min-height:58px}
.day-cell{position:relative;min-height:58px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;background:#fff}
.appt-block{border-left:3px solid #98a2b3;background:#f8fafc;border-radius:7px;padding:6px 7px;font-size:9px;line-height:1.35;cursor:pointer}
.appt-block strong{display:block;font-size:9px;color:#344054}
.appt-block span{color:var(--muted)}
.appt-block.confirmed{border-left-color:#2e90fa;background:#eff8ff}
.appt-block.checked{border-left-color:#12b76a;background:#ecfdf3}
.appt-block.warning{border-left-color:#f79009;background:#fffaeb}
.appt-block.cancelled{border-left-color:#d0d5dd;background:#f2f4f7;opacity:.7}
.mini-calendar{padding:14px}
.mini-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.mini-cal-head strong{font-size:12px}
.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.mini-cal-grid span{font-size:9px;color:var(--muted);padding:6px 0;border-radius:7px}
.mini-cal-grid .dow{font-weight:700;color:#475467}
.mini-cal-grid .today{background:var(--primary);color:#fff;font-weight:700}
.provider-list{display:flex;flex-direction:column;gap:9px}
.provider-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.provider-row:last-child{border-bottom:0}
.provider-meta{display:flex;align-items:center;gap:8px}
.provider-dot{width:9px;height:9px;border-radius:50%;background:#98a2b3}
.provider-row strong{font-size:10px;display:block}
.provider-row small{font-size:9px;color:var(--muted)}
.availability-list{display:flex;flex-direction:column;gap:8px}
.slot{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.slot strong{font-size:10px}.slot span{font-size:9px;color:var(--muted)}
.appointment-list{display:flex;flex-direction:column}
.appt-list-row{display:grid;grid-template-columns:80px minmax(180px,1.3fr) minmax(140px,1fr) 130px 120px 34px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}
.appt-list-row.header{background:var(--surface-2);font-size:9px;color:var(--muted);font-weight:700}
.appt-list-row:not(.header):hover{background:#fbfcfe}
.appt-list-row strong{font-size:10px}.appt-list-row span{font-size:9px;color:var(--muted)}
.kebab{border:0;background:transparent;font-size:16px;color:var(--muted)}
.detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line)}
.detail-hero h3{margin:0 0 5px;font-size:18px}
.detail-hero p{margin:0;color:var(--muted);font-size:10px}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.info-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px}
.info-chip span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.info-chip strong{font-size:10px}
.appointment-timeline{display:flex;align-items:center;gap:0;padding:16px 18px;border-bottom:1px solid var(--line);overflow:auto}
.step{display:flex;align-items:center;min-width:max-content}
.step-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#eaecf0;color:#667085;font-size:9px;font-weight:700}
.step.done .step-dot{background:var(--success);color:#fff}
.step.current .step-dot{background:var(--primary);color:#fff}
.step label{font-size:9px;font-weight:700;margin-left:6px}
.step-line{width:42px;height:2px;background:#e4e7ec;margin:0 7px}
.schedule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.summary-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}
.summary-card span{display:block;font-size:9px;color:var(--muted)}
.summary-card strong{display:block;font-size:18px;margin-top:3px}
@media (max-width:1200px){
  .schedule-layout{grid-template-columns:1fr}
  .info-strip,.schedule-summary{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .appt-list-row{grid-template-columns:70px 1fr 110px}
  .appt-list-row > :nth-child(3),.appt-list-row > :nth-child(5),.appt-list-row > :nth-child(6){display:none}
  .info-strip,.schedule-summary{grid-template-columns:1fr}
}


/* ===== Phase 3: Patients & Patient 360 ===== */
.patient-hero{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line)
}
.patient-identity{display:flex;gap:14px;align-items:center}
.patient-avatar-lg{
  width:54px;height:54px;border-radius:14px;background:#eef4ff;color:var(--primary);
  display:grid;place-items:center;font-weight:800;font-size:18px
}
.patient-identity h3{margin:0 0 4px;font-size:19px}
.patient-identity p{margin:0;color:var(--muted);font-size:10px}
.patient-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.patient-actions{display:flex;gap:8px;flex-wrap:wrap}
.patient-grid{display:grid;grid-template-columns:minmax(0,1.7fr) 360px;gap:14px}
.patient-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.summary-tile{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfcfe}
.summary-tile span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}
.summary-tile strong{font-size:11px}
.patient-nav{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 18px;overflow:auto}
.patient-nav a{font-size:10px;font-weight:700;color:var(--muted);padding:11px 9px;border-bottom:2px solid transparent;white-space:nowrap}
.patient-nav a.active{color:var(--primary);border-bottom-color:var(--primary)}
.patient-section{padding:16px 18px;border-bottom:1px solid var(--line)}
.patient-section:last-child{border-bottom:0}
.patient-section h4{margin:0 0 12px;font-size:12px}
.clinical-list{display:flex;flex-direction:column;gap:9px}
.clinical-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.clinical-item:last-child{border-bottom:0}
.clinical-item strong{display:block;font-size:10px}
.clinical-item span{font-size:9px;color:var(--muted)}
.value-list{display:flex;flex-wrap:wrap;gap:7px}
.value-chip{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:9px;background:#fff}
.value-chip.warn{border-color:#fedf89;background:#fffaeb;color:#b54708}
.record-timeline{display:flex;flex-direction:column}
.record-event{display:grid;grid-template-columns:90px 18px 1fr;gap:10px;align-items:start;padding:10px 0}
.record-date{font-size:9px;color:var(--muted);text-align:right;padding-top:2px}
.record-node{width:10px;height:10px;border-radius:50%;background:#98a2b3;margin-top:2px;position:relative}
.record-event:not(:last-child) .record-node:after{content:"";position:absolute;top:12px;left:4px;width:2px;height:38px;background:#e4e7ec}
.record-event strong{display:block;font-size:10px;margin-bottom:2px}
.record-event p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.insurance-card{
  border:1px solid var(--line);border-radius:12px;padding:14px;background:linear-gradient(180deg,#fff,#fafcff)
}
.insurance-card .ins-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}
.insurance-card strong{font-size:12px}
.insurance-card span{font-size:9px;color:var(--muted)}
.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px}
.doc-meta{display:flex;gap:9px;align-items:center}
.doc-icon{width:30px;height:30px;border-radius:8px;background:#f2f4f7;display:grid;place-items:center;font-size:11px}
.doc-meta strong{display:block;font-size:10px}.doc-meta span{font-size:9px;color:var(--muted)}
.risk-panel{border:1px solid #fedf89;background:#fffcf5;border-radius:10px;padding:12px}
.risk-panel strong{display:block;font-size:10px;color:#93370d;margin-bottom:4px}
.risk-panel p{margin:0;font-size:9px;color:#7a2e0e;line-height:1.45}
.directory-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.directory-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}
.directory-card span{font-size:9px;color:var(--muted);display:block}.directory-card strong{font-size:19px;display:block;margin-top:3px}
.patient-table-row{cursor:pointer}
.patient-table-row:hover{background:#fbfcfe}
.quick-filters{display:flex;gap:7px;flex-wrap:wrap}
.quick-filter{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:700;color:var(--muted)}
.quick-filter.active{background:var(--primary-soft);color:var(--primary);border-color:#b2ccff}
.patient-side-stack{display:flex;flex-direction:column;gap:14px}
.mini-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mini-kpi{border:1px solid var(--line);border-radius:10px;padding:10px}
.mini-kpi span{font-size:9px;color:var(--muted);display:block}.mini-kpi strong{font-size:16px;display:block;margin-top:3px}
@media (max-width:1200px){
  .patient-grid{grid-template-columns:1fr}
  .patient-summary-grid,.directory-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .patient-hero{flex-direction:column}
  .patient-summary-grid,.directory-stats{grid-template-columns:1fr}
  .patient-actions{width:100%}
  .patient-actions button{flex:1}
  .record-event{grid-template-columns:70px 16px 1fr}
}


/* ===== Phase 4: Intake & Check-In ===== */
.intake-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.intake-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.intake-kpi span{font-size:9px;color:var(--muted);display:block}
.intake-kpi strong{font-size:18px;display:block;margin-top:3px}
.intake-layout{display:grid;grid-template-columns:minmax(0,1.65fr) 360px;gap:14px}
.intake-row{display:grid;grid-template-columns:70px minmax(180px,1.3fr) 150px 135px 120px 110px 36px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}
.intake-row.header{background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700}
.intake-row:not(.header):hover{background:#fbfcfe}
.intake-row strong{font-size:10px}.intake-row span{font-size:9px;color:var(--muted)}
.readiness-meter{display:flex;align-items:center;gap:7px}
.readiness-bar{height:6px;width:62px;background:#eef2f6;border-radius:999px;overflow:hidden}
.readiness-bar > span{display:block;height:100%;background:var(--primary)}
.checkin-board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:12px}
.checkin-column{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:410px}
.checkin-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:9px}
.checkin-card .top{display:flex;justify-content:space-between;gap:8px}
.checkin-card strong{display:block;font-size:10px}.checkin-card small{font-size:9px;color:var(--muted)}
.checkin-card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:9px;color:var(--muted)}
.checkin-card .actions{display:flex;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
.checkin-card .actions button{flex:1}
.form-progress{display:flex;align-items:center;gap:8px;margin-top:8px}
.form-step{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}
.form-step span{width:18px;height:18px;border-radius:50%;background:#eaecf0;display:grid;place-items:center;font-size:8px;font-weight:700}
.form-step.done span{background:var(--success);color:#fff}
.form-step.current span{background:var(--primary);color:#fff}
.form-line{height:2px;background:#e4e7ec;width:28px}
.intake-form-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}
.intake-form-card h4{margin:0 0 10px;font-size:11px}
.intake-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.review-list{display:flex;flex-direction:column;gap:8px}
.review-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px}
.review-item strong{display:block;font-size:10px}.review-item span{font-size:9px;color:var(--muted)}
.verification-box{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}
.verification-box .head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.verification-box strong{font-size:11px}.verification-box span{font-size:9px;color:var(--muted)}
.checklist{display:flex;flex-direction:column;gap:8px}
.checkline{display:flex;gap:8px;align-items:flex-start}
.checkline .task-check{margin-top:0}
.arrival-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.arrival-strip .badge{font-size:9px}
@media (max-width:1200px){
  .intake-layout{grid-template-columns:1fr}
  .intake-summary{grid-template-columns:repeat(3,1fr)}
  .checkin-board{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .intake-summary{grid-template-columns:1fr 1fr}
  .checkin-board{grid-template-columns:1fr}
  .intake-row{grid-template-columns:70px 1fr 110px}
  .intake-row > :nth-child(3),.intake-row > :nth-child(5),.intake-row > :nth-child(7){display:none}
  .intake-form-grid{grid-template-columns:1fr}
}


/* ===== Phase 5: Clinical Visit / Encounter Workflow ===== */
.encounter-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.encounter-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.encounter-kpi span{display:block;font-size:9px;color:var(--muted)}
.encounter-kpi strong{display:block;font-size:18px;margin-top:3px}
.encounter-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}
.encounter-column{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:430px}
.encounter-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:9px}
.encounter-card .top{display:flex;justify-content:space-between;gap:8px}
.encounter-card strong{display:block;font-size:10px}
.encounter-card small{font-size:9px;color:var(--muted)}
.encounter-card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:9px;color:var(--muted)}
.encounter-card .actions{display:flex;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
.encounter-card .actions a,.encounter-card .actions button{flex:1;text-align:center}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.8fr) 360px;gap:14px}
.encounter-header{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.encounter-header h3{margin:0 0 4px;font-size:18px}
.encounter-header p{margin:0;font-size:10px;color:var(--muted)}
.encounter-actions{display:flex;gap:8px;flex-wrap:wrap}
.vitals-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.vital-box{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfcfe}
.vital-box span{display:block;font-size:9px;color:var(--muted)}
.vital-box strong{display:block;font-size:15px;margin-top:3px}
.vital-box small{font-size:8px;color:var(--muted)}
.note-block{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}
.note-block h4{margin:0 0 9px;font-size:11px}
.note-block textarea{width:100%;min-height:90px;border:1px solid var(--line-strong);border-radius:8px;padding:10px;font-size:10px;resize:vertical}
.soap-tabs{display:flex;gap:5px;margin-bottom:10px}
.soap-tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:700;color:var(--muted)}
.soap-tab.active{background:var(--primary-soft);border-color:#b2ccff;color:var(--primary)}
.order-list{display:flex;flex-direction:column;gap:8px}
.order-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px}
.order-row strong{display:block;font-size:10px}.order-row span{font-size:9px;color:var(--muted)}
.care-plan-list{display:flex;flex-direction:column;gap:8px}
.care-plan-item{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:start;border:1px solid var(--line);border-radius:9px;padding:10px}
.care-plan-item .num{width:22px;height:22px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:9px;font-weight:800}
.care-plan-item strong{display:block;font-size:10px}.care-plan-item p{margin:2px 0 0;font-size:9px;color:var(--muted)}
.checkout-panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}
.checkout-panel h4{margin:0 0 10px;font-size:11px}
.checkout-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.checkout-row:last-child{border-bottom:0}
.checkout-row strong{font-size:10px}.checkout-row span{font-size:9px;color:var(--muted)}
.rooming-checklist{display:flex;flex-direction:column;gap:8px}
.rooming-item{display:flex;gap:8px;align-items:flex-start}
.rooming-item strong{display:block;font-size:10px}.rooming-item span{font-size:9px;color:var(--muted)}
.med-list{display:flex;flex-direction:column;gap:8px}
.med-row{display:flex;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--line);border-radius:9px}
.med-row strong{font-size:10px}.med-row span{font-size:9px;color:var(--muted)}
@media (max-width:1200px){
  .encounter-summary{grid-template-columns:repeat(3,1fr)}
  .encounter-board{grid-template-columns:repeat(2,1fr)}
  .workspace-grid{grid-template-columns:1fr}
  .vitals-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .encounter-summary{grid-template-columns:1fr 1fr}
  .encounter-board{grid-template-columns:1fr}
  .vitals-grid{grid-template-columns:1fr 1fr}
  .encounter-header{flex-direction:column}
}


/* ===== Phase 6: Billing & Claims ===== */
.billing-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.billing-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.billing-kpi span{display:block;font-size:9px;color:var(--muted)}
.billing-kpi strong{display:block;font-size:18px;margin-top:3px}
.billing-kpi small{font-size:8px;color:var(--muted)}
.billing-layout{display:grid;grid-template-columns:minmax(0,1.7fr) 360px;gap:14px}
.claim-row{
  display:grid;
  grid-template-columns:92px minmax(170px,1.25fr) 120px 120px 110px 110px 36px;
  gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)
}
.claim-row.header{background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700}
.claim-row:not(.header):hover{background:#fbfcfe}
.claim-row strong{font-size:10px}.claim-row span{font-size:9px;color:var(--muted)}
.claim-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#475467}
.money{font-variant-numeric:tabular-nums;font-weight:700;font-size:10px}
.aging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.aging-box{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}
.aging-box span{display:block;font-size:8px;color:var(--muted)}
.aging-box strong{font-size:14px;display:block;margin-top:3px}
.billing-alert{border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;gap:9px;align-items:flex-start}
.billing-alert + .billing-alert{margin-top:8px}
.billing-alert strong{display:block;font-size:10px;margin-bottom:2px}
.billing-alert p{margin:0;font-size:9px;color:var(--muted);line-height:1.45}
.claim-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line)}
.claim-hero h3{margin:0 0 4px;font-size:18px}
.claim-hero p{margin:0;font-size:10px;color:var(--muted)}
.claim-meta-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.claim-meta{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:10px}
.claim-meta span{display:block;font-size:8px;color:var(--muted);margin-bottom:3px}
.claim-meta strong{font-size:10px}
.claim-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) 340px;gap:14px;padding:18px}
.claim-section{padding:15px 17px;border-bottom:1px solid var(--line)}
.claim-section:last-child{border-bottom:0}
.claim-section h4{font-size:11px;margin:0 0 11px}
.code-table{width:100%;border-collapse:collapse}
.code-table th,.code-table td{padding:9px 10px;font-size:9px;border-bottom:1px solid var(--line);text-align:left}
.code-table th{color:var(--muted);background:var(--surface-2)}
.payment-list{display:flex;flex-direction:column;gap:8px}
.payment-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px}
.payment-row strong{font-size:10px;display:block}.payment-row span{font-size:9px;color:var(--muted)}
.balance-row{
  display:grid;grid-template-columns:minmax(170px,1.3fr) 120px 105px 105px 110px 120px 36px;
  gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)
}
.balance-row.header{background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700}
.balance-row:not(.header):hover{background:#fbfcfe}
.balance-row strong{font-size:10px}.balance-row span{font-size:9px;color:var(--muted)}
.payment-method{display:flex;gap:8px;flex-wrap:wrap}
.payment-method button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:700}
.payment-method button.active{border-color:#b2ccff;background:var(--primary-soft);color:var(--primary)}
.billing-exception-list{display:flex;flex-direction:column;gap:8px}
.exception-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:10px}
.exception-row strong{display:block;font-size:10px}.exception-row p{font-size:9px;color:var(--muted);margin:2px 0 0}
.remit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.remit-box{border:1px solid var(--line);border-radius:9px;padding:10px}
.remit-box span{display:block;font-size:8px;color:var(--muted)}
.remit-box strong{display:block;font-size:12px;margin-top:3px}
@media (max-width:1200px){
  .billing-summary{grid-template-columns:repeat(3,1fr)}
  .billing-layout,.claim-workspace{grid-template-columns:1fr}
  .claim-meta-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .billing-summary{grid-template-columns:1fr 1fr}
  .claim-row{grid-template-columns:92px 1fr 105px}
  .claim-row > :nth-child(3),.claim-row > :nth-child(5),.claim-row > :nth-child(7){display:none}
  .balance-row{grid-template-columns:1fr 105px 110px}
  .balance-row > :nth-child(2),.balance-row > :nth-child(4),.balance-row > :nth-child(7){display:none}
  .claim-meta-grid,.aging-grid,.remit-grid{grid-template-columns:1fr 1fr}
}


/* ===== Global polish pass after Phase 6 ===== */
.badge{
  min-height:24px;
  padding:4px 9px;
  line-height:1;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
}
.status-title{min-height:28px}
.encounter-card .top,
.checkin-card .top,
.patient-card .row{
  align-items:center;
}
.encounter-card .top > div,
.checkin-card .top > div,
.patient-card .row > div{
  min-width:0;
}
.encounter-card .top .badge,
.checkin-card .top .badge{
  flex:0 0 auto;
  align-self:flex-start;
}
.encounter-card strong,
.checkin-card strong,
.patient-card strong{
  line-height:1.35;
}
.encounter-card small,
.checkin-card small,
.patient-card small{
  display:block;
  line-height:1.35;
  margin-top:2px;
}
.encounter-card .meta,
.checkin-card .meta,
.patient-card .meta{
  line-height:1.45;
}
.encounter-card .actions,
.checkin-card .actions{
  align-items:stretch;
}
.encounter-card .actions .secondary-btn,
.encounter-card .actions .primary-btn,
.checkin-card .actions .secondary-btn,
.checkin-card .actions .primary-btn{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
}
.encounter-column,
.checkin-column,
.status-column{
  min-width:0;
}
.card-head{
  min-height:58px;
}
.card-head > div:first-child{
  min-width:0;
}
.card-head h3{
  line-height:1.3;
}
.card-head p{
  line-height:1.4;
}
.kpi-value,
.billing-kpi strong,
.encounter-kpi strong,
.intake-kpi strong{
  line-height:1;
}
.info-chip,
.claim-meta,
.summary-tile,
.metric-box,
.mini-kpi{
  min-width:0;
}
.info-chip strong,
.claim-meta strong,
.summary-tile strong,
.metric-box strong,
.mini-kpi strong{
  overflow-wrap:anywhere;
}
.toolbar{
  row-gap:8px;
}
.secondary-btn,
.primary-btn,
.ghost-btn,
.icon-btn{
  line-height:1;
}
a.secondary-btn,
a.primary-btn,
a.ghost-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.table-wrap{
  scrollbar-width:thin;
}
input, select, textarea{
  color:var(--text);
}

/* ===== Phase 7: Communications, Tasks & Follow-Up ===== */
.communication-summary{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-bottom:14px
}
.comm-kpi{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px
}
.comm-kpi span{display:block;font-size:9px;color:var(--muted)}
.comm-kpi strong{display:block;font-size:18px;margin-top:3px;line-height:1}
.comm-kpi small{display:block;font-size:8px;color:var(--muted);margin-top:4px}
.communication-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1.3fr) 360px;
  gap:14px
}
.comm-sidebar,
.comm-thread,
.comm-context{
  min-height:620px
}
.comm-folders{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px
}
.comm-folder{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border-radius:8px;
  font-size:10px;
  font-weight:650;
  color:#475467
}
.comm-folder:hover,
.comm-folder.active{
  background:var(--primary-soft);
  color:var(--primary)
}
.comm-count{
  min-width:22px;height:22px;border-radius:999px;background:#eaecf0;
  display:grid;place-items:center;font-size:8px;font-weight:700
}
.comm-folder.active .comm-count{
  background:#dbe7ff;color:var(--primary)
}
.message-list{display:flex;flex-direction:column}
.message-item{
  padding:12px;
  border-bottom:1px solid var(--line);
  cursor:pointer
}
.message-item:hover,
.message-item.active{background:#f8faff}
.message-item .top{
  display:flex;justify-content:space-between;gap:10px;align-items:center
}
.message-item strong{font-size:10px}
.message-item time{font-size:8px;color:var(--muted)}
.message-item p{
  margin:4px 0 0;
  font-size:9px;
  color:var(--muted);
  line-height:1.45
}
.message-subject{
  font-weight:700!important;
  color:#344054!important
}
.thread-head{
  padding:16px 18px;
  border-bottom:1px solid var(--line)
}
.thread-head h3{margin:0 0 4px;font-size:15px}
.thread-head p{margin:0;font-size:9px;color:var(--muted)}
.thread-body{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:420px
}
.bubble{
  max-width:78%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:#fff
}
.bubble.outgoing{
  align-self:flex-end;
  background:var(--primary-soft);
  border-color:#c7d7fe
}
.bubble strong{display:block;font-size:9px;margin-bottom:4px}
.bubble p{margin:0;font-size:10px;line-height:1.5}
.bubble time{display:block;font-size:8px;color:var(--muted);margin-top:5px}
.composer{
  padding:12px 16px;
  border-top:1px solid var(--line);
  display:flex;
  gap:8px;
  align-items:flex-end
}
.composer textarea{
  flex:1;
  min-height:64px;
  border:1px solid var(--line-strong);
  border-radius:9px;
  padding:10px;
  font-size:10px;
  resize:vertical
}
.context-list{display:flex;flex-direction:column;gap:8px}
.context-item{
  border:1px solid var(--line);
  border-radius:9px;
  padding:10px
}
.context-item strong{display:block;font-size:10px;margin-bottom:2px}
.context-item span{font-size:9px;color:var(--muted)}
.followup-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) 360px;
  gap:14px
}
.followup-row{
  display:grid;
  grid-template-columns:minmax(170px,1.25fr) 125px 120px 120px 120px 36px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border-bottom:1px solid var(--line)
}
.followup-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:9px;
  font-weight:700
}
.followup-row:not(.header):hover{background:#fbfcfe}
.followup-row strong{font-size:10px}
.followup-row span{font-size:9px;color:var(--muted)}
.followup-type{
  display:inline-flex;
  align-items:center;
  gap:6px
}
.task-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(220px,1fr));
  gap:12px
}
.task-column{
  background:#f7f9fc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  min-height:420px
}
.task-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px;
  margin-bottom:9px
}
.task-card strong{display:block;font-size:10px;line-height:1.35}
.task-card p{margin:4px 0 0;font-size:9px;color:var(--muted);line-height:1.45}
.task-card .meta{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line)
}
.task-owner{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  color:var(--muted)
}
.avatar-xs{
  width:22px;height:22px;border-radius:50%;
  background:#eef2f6;
  display:grid;place-items:center;
  font-size:8px;font-weight:700;
  color:#475467
}
.automation-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff
}
.automation-card + .automation-card{margin-top:8px}
.automation-card .top{
  display:flex;justify-content:space-between;gap:8px;align-items:flex-start
}
.automation-card strong{font-size:10px}
.automation-card p{margin:4px 0 0;font-size:9px;color:var(--muted);line-height:1.45}
.automation-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px
}
.automation-stats div{
  background:var(--surface-2);
  border-radius:8px;
  padding:8px
}
.automation-stats span{display:block;font-size:8px;color:var(--muted)}
.automation-stats strong{font-size:12px}
@media (max-width:1280px){
  .communication-summary{grid-template-columns:repeat(3,1fr)}
  .communication-layout{grid-template-columns:240px 1fr}
  .comm-context{grid-column:1/-1;min-height:auto}
  .task-board{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .communication-layout,.followup-grid{grid-template-columns:1fr}
  .comm-sidebar,.comm-thread,.comm-context{min-height:auto}
  .task-board{grid-template-columns:1fr}
}
@media (max-width:700px){
  .communication-summary{grid-template-columns:1fr 1fr}
  .followup-row{grid-template-columns:1fr 110px 110px}
  .followup-row > :nth-child(2),
  .followup-row > :nth-child(4),
  .followup-row > :nth-child(6){display:none}
  .bubble{max-width:92%}
}


/* ===== Communication navigation refinement ===== */
.comm-folders{
  gap:6px;
  padding:12px;
}
.comm-folder{
  width:100%;
  border:1px solid transparent;
  background:transparent;
  color:#475467;
  box-shadow:none;
  min-height:40px;
  padding:9px 10px;
  border-radius:9px;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.comm-folder:hover{
  background:#f8fafc;
  border-color:var(--line);
  color:#344054;
}
.comm-folder.active{
  background:#eef4ff;
  border-color:#c7d7fe;
  color:#1849a9;
  box-shadow:none;
}
.comm-folder .folder-label{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.folder-icon{
  width:26px;
  height:26px;
  border-radius:7px;
  background:#f2f4f7;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:10px;
  color:#475467;
}
.comm-folder.active .folder-icon{
  background:#dbe7ff;
  color:#1849a9;
}
.comm-count{
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#f2f4f7;
  color:#667085;
  display:grid;
  place-items:center;
  font-size:8px;
  font-weight:800;
}
.comm-folder.active .comm-count{
  background:#dbe7ff;
  color:#1849a9;
}
.comm-divider{
  height:1px;
  background:var(--line);
  margin:2px 12px 0;
}

/* ===== Phase 8: Staff & Practice Management ===== */
.staff-summary{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-bottom:14px;
}
.staff-kpi{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
}
.staff-kpi span{display:block;font-size:9px;color:var(--muted)}
.staff-kpi strong{display:block;font-size:18px;margin-top:3px;line-height:1}
.staff-kpi small{display:block;font-size:8px;color:var(--muted);margin-top:4px}

.staff-layout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) 360px;
  gap:14px;
}
.staff-row{
  display:grid;
  grid-template-columns:minmax(190px,1.35fr) 130px 120px 110px 120px 110px 36px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.staff-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}
.staff-row:not(.header):hover{background:#fbfcfe}
.staff-row strong{font-size:10px}
.staff-row span{font-size:9px;color:var(--muted)}

.staff-person{
  display:flex;
  gap:9px;
  align-items:center;
}
.staff-person .avatar{
  width:32px;
  height:32px;
  font-size:9px;
}
.staff-person strong{display:block}
.staff-person span{display:block}

.schedule-strip{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.day-pill{
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
  font-size:8px;
  font-weight:700;
  color:var(--muted);
}
.day-pill.on{
  background:#eef4ff;
  border-color:#c7d7fe;
  color:#1849a9;
}
.provider-workload{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.workload-row{
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.workload-row:last-child{border-bottom:0;padding-bottom:0}
.workload-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:7px;
}
.workload-top strong{font-size:10px}
.workload-top span{font-size:9px;color:var(--muted)}

.role-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.role-card{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:12px;
}
.role-card .top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:8px;
}
.role-card strong{font-size:11px}
.role-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:0}
.role-perms{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.perm-chip{
  border:1px solid var(--line);
  background:#f8fafc;
  color:#475467;
  padding:5px 7px;
  border-radius:999px;
  font-size:8px;
}

.staff-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) 360px;
  gap:14px;
}
.staff-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:18px;
  border-bottom:1px solid var(--line);
}
.staff-identity{
  display:flex;
  gap:12px;
  align-items:center;
}
.staff-avatar-lg{
  width:52px;
  height:52px;
  border-radius:14px;
  background:#eef4ff;
  color:var(--primary);
  display:grid;
  place-items:center;
  font-weight:800;
}
.staff-identity h3{margin:0 0 4px;font-size:18px}
.staff-identity p{margin:0;font-size:9px;color:var(--muted)}

.practice-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.practice-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.practice-card span{display:block;font-size:8px;color:var(--muted)}
.practice-card strong{display:block;font-size:11px;margin-top:3px}

.location-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.location-card + .location-card{margin-top:8px}
.location-card .top{
  display:flex;justify-content:space-between;gap:8px;align-items:flex-start
}
.location-card strong{font-size:10px}
.location-card p{margin:3px 0 0;font-size:9px;color:var(--muted);line-height:1.45}

.permission-table{
  width:100%;
  border-collapse:collapse;
}
.permission-table th,
.permission-table td{
  padding:9px 10px;
  border-bottom:1px solid var(--line);
  font-size:9px;
  text-align:left;
}
.permission-table th{
  background:var(--surface-2);
  color:var(--muted);
}
.permission-toggle{
  width:30px;height:18px;border-radius:999px;background:#d0d5dd;position:relative;
}
.permission-toggle.on{background:#84adff}
.permission-toggle:after{
  content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;
}
.permission-toggle.on:after{left:14px}

@media (max-width:1280px){
  .staff-summary{grid-template-columns:repeat(3,1fr)}
  .staff-layout,.staff-detail-grid{grid-template-columns:1fr}
  .role-grid,.practice-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .staff-summary{grid-template-columns:1fr 1fr}
  .staff-row{grid-template-columns:1fr 110px 100px}
  .staff-row > :nth-child(2),
  .staff-row > :nth-child(4),
  .staff-row > :nth-child(6),
  .staff-row > :nth-child(7){display:none}
  .role-grid,.practice-card-grid{grid-template-columns:1fr}
  .staff-hero{flex-direction:column}
}


/* =========================================================
   GLOBAL READABILITY & USABILITY PASS — Phase 9 baseline
   ========================================================= */

/* Increase overall information legibility without making the portal feel oversized */
body{
  font-size:14px;
  line-height:1.45;
}
.page-kicker{font-size:12px;line-height:1.35}
.topbar h1{font-size:21px}
.page-head h2{font-size:25px}
.page-head p{font-size:13px;line-height:1.5}
.date-chip{font-size:12px}

.nav a{font-size:13px;min-height:40px}
.nav-section{font-size:10px}
.user-mini strong{font-size:12px}
.user-mini span{font-size:11px}

.card-head{padding:17px 18px;min-height:64px}
.card-head h3{font-size:14px}
.card-head p{font-size:11px;line-height:1.45}

.badge{
  min-height:25px;
  padding:5px 9px;
  font-size:10px;
  font-weight:750;
}

.kpi-top,
.kpi-meta,
.billing-kpi span,
.billing-kpi small,
.encounter-kpi span,
.intake-kpi span,
.comm-kpi span,
.comm-kpi small,
.staff-kpi span,
.staff-kpi small{
  font-size:10px;
}
.kpi-value{font-size:28px}

/* General buttons and controls */
.secondary-btn,.primary-btn,.ghost-btn{
  min-height:40px;
  font-size:12px;
  padding:0 14px;
}
.filter-select{
  min-height:40px;
  font-size:11px;
}
.search input{
  height:40px;
  font-size:12px;
}

/* Tables and data rows */
table{font-size:12px}
th{font-size:11px;padding:11px 12px}
td{font-size:12px;padding:12px}
.patient-cell .avatar{width:32px;height:32px}
.patient-cell strong{display:block;font-size:12px}
.patient-cell span{display:block;font-size:10px;color:var(--muted);margin-top:2px}

/* Make repeated labels readable */
.flow-row .time{font-size:12px}
.flow-row .patient strong,
.flow-row .provider strong{font-size:12px}
.flow-row .patient span,
.flow-row .provider span{font-size:10px;line-height:1.45}

.alert-item strong,.task-item strong{font-size:12px}
.alert-item p,.task-item p{font-size:10px;line-height:1.5}

.progress-meta{font-size:11px}

.definition-grid .def span,
.def span{font-size:10px;line-height:1.35}
.definition-grid .def strong,
.def strong{font-size:12px;line-height:1.45}

.context-item strong{font-size:11px}
.context-item span{font-size:10px;line-height:1.5}

/* Patient cards */
.patient-card{padding:12px}
.patient-card strong{font-size:11px}
.patient-card small{font-size:10px}
.patient-card .meta{font-size:10px}
.patient-card .mini-note{font-size:10px;line-height:1.45}

/* Scheduling */
.week-head > div{font-size:10px}
.week-head .day strong{font-size:11px}
.time-slot{font-size:10px}
.appt-block{font-size:10px}
.appt-block strong{font-size:10px}
.appt-list-row{min-height:54px}
.appt-list-row.header{font-size:10px}
.appt-list-row strong{font-size:11px}
.appt-list-row span{font-size:10px}

/* Patient 360 */
.patient-identity p{font-size:11px}
.summary-tile span{font-size:10px}
.summary-tile strong{font-size:11px}
.patient-nav a{font-size:11px}
.patient-section h4{font-size:12px}
.clinical-item strong{font-size:11px}
.clinical-item span{font-size:10px}
.value-chip{font-size:10px}
.record-date{font-size:10px}
.record-event strong{font-size:11px}
.record-event p{font-size:10px;line-height:1.5}
.doc-meta strong{font-size:11px}
.doc-meta span{font-size:10px}

/* Intake */
.intake-row{min-height:54px}
.intake-row.header{font-size:10px}
.intake-row strong{font-size:11px}
.intake-row span{font-size:10px}
.checkin-card strong{font-size:11px}
.checkin-card small{font-size:10px}
.checkin-card .meta{font-size:10px}
.intake-form-card h4{font-size:12px}
.review-item strong{font-size:11px}
.review-item span{font-size:10px}
.verification-box strong{font-size:11px}
.verification-box span{font-size:10px}

/* Clinical Visits */
.encounter-card{padding:12px}
.encounter-card strong{font-size:11px}
.encounter-card small{font-size:10px}
.encounter-card .meta{font-size:10px}
.vital-box span{font-size:10px}
.vital-box strong{font-size:16px}
.vital-box small{font-size:9px}
.note-block h4{font-size:12px}
.note-block textarea{font-size:11px;line-height:1.5}
.soap-tab{font-size:10px}
.order-row strong,.care-plan-item strong{font-size:11px}
.order-row span,.care-plan-item p{font-size:10px}
.checkout-row strong{font-size:11px}
.checkout-row span{font-size:10px}

/* Billing */
.billing-kpi strong{font-size:19px}
.claim-row{min-height:54px}
.claim-row.header{font-size:10px}
.claim-row strong{font-size:11px}
.claim-row span{font-size:10px}
.claim-id{font-size:10px}
.money{font-size:11px}
.aging-box span{font-size:9px}
.aging-box strong{font-size:15px}
.billing-alert strong{font-size:11px}
.billing-alert p{font-size:10px}
.claim-meta span{font-size:9px}
.claim-meta strong{font-size:11px}
.code-table th,.code-table td{font-size:10px}
.balance-row{min-height:54px}
.balance-row.header{font-size:10px}
.balance-row strong{font-size:11px}
.balance-row span{font-size:10px}

/* Communications — improve scanability */
.communication-layout{
  grid-template-columns:300px minmax(0,1.35fr) 370px;
}
.comm-folder{
  min-height:44px;
  font-size:11px;
}
.folder-icon{
  width:28px;height:28px;font-size:10px;
}
.comm-count{font-size:9px}
.message-item{padding:13px 12px}
.message-item strong{font-size:11px}
.message-item time{font-size:9px}
.message-item p{font-size:10px;line-height:1.5}
.message-subject{font-size:10px!important;margin-top:5px!important}
.thread-head h3{font-size:16px}
.thread-head p{font-size:10px}
.bubble strong{font-size:10px}
.bubble p{font-size:11px;line-height:1.55}
.bubble time{font-size:9px}
.composer textarea{font-size:11px;line-height:1.5}
.context-item{padding:11px}

/* Follow-Up — fix readability and concatenation */
.followup-row{
  grid-template-columns:minmax(240px,1.5fr) 120px 120px 110px 120px 36px;
  min-height:60px;
}
.followup-row.header{font-size:10px}
.followup-row > div:first-child strong{
  display:block;
  font-size:11px;
  line-height:1.35;
  margin-bottom:4px;
}
.followup-row > div:first-child span{
  display:block;
  font-size:10px;
  line-height:1.4;
  color:var(--muted);
}
.followup-row > div:not(:first-child){
  font-size:11px;
}
.followup-type{font-size:11px}
.task-card strong{font-size:11px}
.task-card p{font-size:10px;line-height:1.5}
.task-owner{font-size:10px}
.automation-card strong{font-size:11px}
.automation-card p{font-size:10px;line-height:1.5}
.automation-stats span{font-size:9px}
.automation-stats strong{font-size:13px}

/* Staff */
.staff-row{min-height:58px}
.staff-row.header{font-size:10px}
.staff-row strong{font-size:11px}
.staff-row span{font-size:10px}
.staff-person span{font-size:10px}
.role-card strong{font-size:12px}
.role-card p{font-size:10px;line-height:1.5}
.perm-chip{font-size:9px}
.location-card strong{font-size:11px}
.location-card p{font-size:10px;line-height:1.5}
.permission-table th,.permission-table td{font-size:10px}

/* Reduce excess empty vertical space in data modules */
.comm-sidebar,
.comm-thread,
.comm-context{
  min-height:560px;
}
.task-column,
.encounter-column,
.checkin-column,
.status-column{
  min-height:360px;
}

/* Keep dense modules comfortable on common laptop widths */
@media (max-width:1400px){
  .communication-layout{
    grid-template-columns:280px minmax(0,1fr) 330px;
  }
}
@media (max-width:1100px){
  .communication-layout{
    grid-template-columns:1fr;
  }
  .comm-sidebar,.comm-thread,.comm-context{min-height:auto}
}

/* =========================================================
   PHASE 9 — REPORTS & OPERATIONAL INTELLIGENCE
   ========================================================= */
.report-summary{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-bottom:14px;
}
.report-kpi{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px;
}
.report-kpi span{display:block;font-size:10px;color:var(--muted)}
.report-kpi strong{display:block;font-size:20px;line-height:1;margin-top:5px}
.report-kpi small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.4}

.report-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);
  gap:14px;
}
.report-chart{
  min-height:260px;
  display:flex;
  align-items:flex-end;
  gap:14px;
  padding:20px 12px 8px;
  border-top:1px solid var(--line);
}
.bar-group{
  flex:1;
  min-width:42px;
  text-align:center;
}
.bar{
  width:100%;
  max-width:54px;
  margin:0 auto;
  border-radius:8px 8px 3px 3px;
  background:#dbe7ff;
  border:1px solid #c7d7fe;
  min-height:18px;
}
.bar.warn{background:#fef0c7;border-color:#fedf89}
.bar.success{background:#d1fadf;border-color:#abefc6}
.bar-label{font-size:9px;color:var(--muted);margin-top:7px}
.bar-value{font-size:9px;font-weight:700;margin-bottom:5px}

.insight-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.insight-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.insight-card .top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.insight-card strong{
  display:block;
  font-size:11px;
  line-height:1.4;
}
.insight-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.insight-action{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--line);
  font-size:10px;
  color:#344054;
}
.insight-action b{color:var(--primary)}

.report-tabs{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.report-tab{
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  padding:8px 10px;
  font-size:10px;
  font-weight:700;
  color:var(--muted);
}
.report-tab.active{
  background:var(--primary-soft);
  color:var(--primary);
  border-color:#c7d7fe;
}

.metric-table-row{
  display:grid;
  grid-template-columns:minmax(170px,1.3fr) 110px 110px 110px 130px;
  gap:10px;
  align-items:center;
  min-height:56px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.metric-table-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.metric-table-row strong{
  display:block;
  font-size:11px;
}
.metric-table-row span{
  display:block;
  font-size:10px;
  color:var(--muted);
}
.delta-up{color:var(--success)!important;font-weight:700}
.delta-down{color:var(--danger)!important;font-weight:700}
.delta-warn{color:var(--warning)!important;font-weight:700}

.exception-center{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.exception-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.exception-card .head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:7px;
}
.exception-card strong{font-size:11px}
.exception-card p{margin:0;font-size:10px;color:var(--muted);line-height:1.5}
.exception-card .footer{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
}

.report-filter-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.report-filter-row .toolbar{margin-left:auto}

@media (max-width:1280px){
  .report-summary{grid-template-columns:repeat(3,1fr)}
  .report-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .report-summary{grid-template-columns:1fr 1fr}
  .exception-center{grid-template-columns:1fr}
  .metric-table-row{
    grid-template-columns:1fr 100px 110px;
  }
  .metric-table-row > :nth-child(3),
  .metric-table-row > :nth-child(5){display:none}
}


/* =========================================================
   PHASE 10 — AI & AUTOMATION LAYER
   ========================================================= */
.ai-summary{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-bottom:14px;
}
.ai-kpi{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px;
}
.ai-kpi span{display:block;font-size:10px;color:var(--muted)}
.ai-kpi strong{display:block;font-size:20px;line-height:1;margin-top:5px}
.ai-kpi small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.4}

.ai-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) 380px;
  gap:14px;
}
.ai-brief{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.brief-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.brief-card .head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.brief-card strong{
  display:block;
  font-size:12px;
  line-height:1.4;
}
.brief-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.brief-card .action{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
}
.ai-source{
  font-size:9px;
  color:var(--muted);
  margin-top:6px;
}
.ai-note{
  border:1px solid #c7d7fe;
  background:#f7f9ff;
  border-radius:10px;
  padding:12px;
}
.ai-note strong{font-size:11px}
.ai-note p{margin:4px 0 0;font-size:10px;color:#475467;line-height:1.5}

.automation-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.rule-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.rule-card .top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.rule-card strong{font-size:11px}
.rule-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.rule-flow{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.flow-chip{
  border:1px solid var(--line);
  background:#f8fafc;
  border-radius:8px;
  padding:6px 8px;
  font-size:9px;
  color:#475467;
}
.flow-arrow{font-size:10px;color:#98a2b3}
.rule-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:10px;
}
.rule-stat{
  background:var(--surface-2);
  border-radius:8px;
  padding:8px;
}
.rule-stat span{display:block;font-size:8px;color:var(--muted)}
.rule-stat strong{display:block;font-size:12px;margin-top:2px}

.assistant-shell{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.assistant-head{
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.assistant-head strong{font-size:12px}
.assistant-body{
  padding:16px;
  min-height:380px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.assistant-prompt{
  align-self:flex-end;
  max-width:80%;
  background:var(--primary-soft);
  border:1px solid #c7d7fe;
  border-radius:11px;
  padding:10px 12px;
  font-size:10px;
  line-height:1.5;
}
.assistant-response{
  max-width:88%;
  border:1px solid var(--line);
  border-radius:11px;
  padding:12px;
  background:#fff;
}
.assistant-response strong{display:block;font-size:11px;margin-bottom:6px}
.assistant-response p{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.55;
  color:#475467;
}
.assistant-response ul{
  margin:0;
  padding-left:18px;
  color:#475467;
}
.assistant-response li{
  font-size:10px;
  line-height:1.5;
  margin-bottom:4px;
}
.assistant-composer{
  padding:12px;
  border-top:1px solid var(--line);
  display:flex;
  gap:8px;
}
.assistant-composer input{
  flex:1;
  border:1px solid var(--line-strong);
  border-radius:9px;
  padding:0 11px;
  min-height:40px;
  font-size:11px;
}

.ai-context-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.ai-context-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.ai-context-card span{display:block;font-size:9px;color:var(--muted)}
.ai-context-card strong{display:block;font-size:11px;margin-top:4px}
.ai-context-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.45;
}

.automation-table-row{
  display:grid;
  grid-template-columns:minmax(200px,1.4fr) 130px 130px 110px 110px 36px;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.automation-table-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.automation-table-row strong{display:block;font-size:11px}
.automation-table-row span{display:block;font-size:10px;color:var(--muted)}

.toggle-pill{
  width:36px;height:20px;border-radius:999px;background:#d0d5dd;position:relative;display:inline-block
}
.toggle-pill.on{background:#84adff}
.toggle-pill:after{
  content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;
}
.toggle-pill.on:after{left:19px}

.recommendation-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.recommendation-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.recommendation-card .top{
  display:flex;justify-content:space-between;gap:10px;align-items:flex-start
}
.recommendation-card strong{font-size:11px}
.recommendation-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.recommendation-card .footer{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--line);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

@media (max-width:1280px){
  .ai-summary{grid-template-columns:repeat(3,1fr)}
  .ai-layout{grid-template-columns:1fr}
  .automation-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ai-summary{grid-template-columns:1fr 1fr}
  .ai-context-grid{grid-template-columns:1fr}
  .automation-table-row{
    grid-template-columns:1fr 120px 100px;
  }
  .automation-table-row > :nth-child(3),
  .automation-table-row > :nth-child(5),
  .automation-table-row > :nth-child(6){display:none}
}


/* =========================================================
   PHASE 11 — SETTINGS & ADMINISTRATION
   ========================================================= */

.settings-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:14px;
}
.settings-nav{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:10px;
  align-self:start;
  position:sticky;
  top:92px;
}
.settings-nav a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px;
  border-radius:8px;
  font-size:11px;
  color:#475467;
  font-weight:650;
}
.settings-nav a:hover,
.settings-nav a.active{
  background:var(--primary-soft);
  color:var(--primary);
}
.settings-nav .settings-icon{
  width:26px;height:26px;border-radius:7px;background:#f2f4f7;
  display:grid;place-items:center;font-size:9px;font-weight:800;
}
.settings-nav a.active .settings-icon{
  background:#dbe7ff;color:var(--primary);
}

.settings-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.settings-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.settings-section-head{
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.settings-section-head h3{
  margin:0 0 4px;
  font-size:14px;
}
.settings-section-head p{
  margin:0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.settings-section-body{
  padding:16px 18px;
}

.settings-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.settings-grid.three{
  grid-template-columns:repeat(3,1fr);
}
.setting-field label{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:6px;
  font-weight:700;
}
.setting-field input,
.setting-field select,
.setting-field textarea{
  width:100%;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:#fff;
  padding:10px 11px;
  font-size:11px;
}
.setting-field textarea{
  min-height:86px;
  resize:vertical;
}

.setting-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.setting-row:last-child{border-bottom:0}
.setting-copy{
  min-width:0;
}
.setting-copy strong{
  display:block;
  font-size:11px;
  margin-bottom:3px;
}
.setting-copy span{
  display:block;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}

.switch{
  width:38px;height:22px;border-radius:999px;background:#d0d5dd;position:relative;flex:0 0 auto;
  cursor:pointer;
}
.switch.on{background:#84adff}
.switch:after{
  content:"";
  position:absolute;
  top:3px;left:3px;
  width:16px;height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.12);
}
.switch.on:after{left:19px}

.appointment-type-row{
  display:grid;
  grid-template-columns:minmax(180px,1.4fr) 110px 130px 120px 110px 36px;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.appointment-type-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.appointment-type-row strong{display:block;font-size:11px}
.appointment-type-row span{display:block;font-size:10px;color:var(--muted)}

.integration-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.integration-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.integration-card .top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
}
.integration-icon{
  width:34px;height:34px;border-radius:9px;background:#f2f4f7;
  display:grid;place-items:center;
  font-size:10px;font-weight:800;
}
.integration-card strong{
  display:block;
  font-size:11px;
}
.integration-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.integration-card .footer{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

.user-row{
  display:grid;
  grid-template-columns:minmax(190px,1.4fr) 130px 120px 120px 110px 36px;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.user-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.user-row strong{display:block;font-size:11px}
.user-row span{display:block;font-size:10px;color:var(--muted)}

.security-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.security-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.security-card strong{
  display:block;
  font-size:11px;
}
.security-card p{
  margin:5px 0 0;
  font-size:10px;
  color:var(--muted);
  line-height:1.5;
}
.security-card .metric{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
}

.audit-row{
  display:grid;
  grid-template-columns:140px minmax(180px,1.3fr) 150px 140px;
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.audit-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.audit-row strong{display:block;font-size:11px}
.audit-row span{display:block;font-size:10px;color:var(--muted);line-height:1.45}

.workflow-rule-row{
  display:grid;
  grid-template-columns:minmax(200px,1.5fr) 140px 130px 120px 36px;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.workflow-rule-row.header{
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.workflow-rule-row strong{display:block;font-size:11px}
.workflow-rule-row span{display:block;font-size:10px;color:var(--muted)}

@media (max-width:1200px){
  .settings-layout{grid-template-columns:1fr}
  .settings-nav{
    position:static;
    display:flex;
    overflow:auto;
    gap:6px;
  }
  .settings-nav a{white-space:nowrap}
  .integration-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .settings-grid,.settings-grid.three,.security-grid,.integration-grid{
    grid-template-columns:1fr;
  }
  .appointment-type-row,
  .user-row,
  .workflow-rule-row{
    grid-template-columns:1fr 110px 100px;
  }
  .appointment-type-row > :nth-child(2),
  .appointment-type-row > :nth-child(4),
  .appointment-type-row > :nth-child(6),
  .user-row > :nth-child(2),
  .user-row > :nth-child(4),
  .user-row > :nth-child(6),
  .workflow-rule-row > :nth-child(2),
  .workflow-rule-row > :nth-child(4),
  .workflow-rule-row > :nth-child(5){
    display:none;
  }
  .audit-row{
    grid-template-columns:110px 1fr;
  }
  .audit-row > :nth-child(3),
  .audit-row > :nth-child(4){display:none}
}
