:root{--ink:#18282d;--muted:#64747b;--line:#d8e0e3;--soft:#f4f7f7;--surface:#fff;--teal:#087d78;--teal-dark:#08645f;--teal-soft:#e7f3f2;--danger:#963e37;--warn:#8a611a;--shadow:0 16px 45px rgba(25,46,53,.12);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:#eef2f3}
*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;min-width:320px;background:#eef2f3;color:var(--ink);line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(8,125,120,.14)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(8,125,120,.35);outline-offset:2px}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;padding:10px 14px;background:#fff;color:var(--teal-dark);border-radius:6px}.skip-link:focus{top:10px}.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}[hidden]{display:none!important}
.demo-strip{position:fixed;inset:0 0 auto 0;z-index:30;height:30px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;background:#163b3a;color:#fff;font-size:.75rem;letter-spacing:.02em}.demo-strip strong{text-transform:uppercase;letter-spacing:.08em}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh;padding-top:30px}.sidebar{position:fixed;left:0;top:30px;bottom:0;width:224px;z-index:20;display:flex;flex-direction:column;padding:20px 14px;background:#fff;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 24px;color:var(--ink);font-weight:700;text-decoration:none}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#173f3d;color:#fff;font-size:1.2rem}.primary-nav,.external-nav{display:grid;gap:3px}.primary-nav a,.external-nav a,.sidebar-footer>a{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:9px 11px;border-radius:6px;color:#35474d;text-decoration:none;font-size:.875rem;font-weight:600}.primary-nav a:hover,.external-nav a:hover,.sidebar-footer>a:hover{background:var(--soft)}.primary-nav a[aria-current="page"]{background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 3px 0 var(--teal)}.external-nav{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.external-nav>span{padding:0 11px 7px;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.external-nav a{font-weight:500}.sidebar-footer{display:grid;gap:7px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.sidebar-footer label{padding:0 10px;color:var(--muted);font-size:.75rem}.sidebar-footer select{width:100%;height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 8px;font-size:.8125rem}.workspace{grid-column:2;min-width:0}.mobile-header{display:none}main{max-width:1500px;margin:0 auto;padding:28px 30px 56px}.view{min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{margin:0;font-size:1.75rem;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.page-header p{margin:4px 0 0;color:var(--muted);font-size:.875rem}.timezone{font-variant-numeric:tabular-nums}.primary,.secondary,.danger,.segmented button,.pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border-radius:6px;font-size:.875rem;font-weight:650;text-decoration:none;cursor:pointer}.primary{border:1px solid var(--teal);background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.secondary:hover{border-color:#9fb7ba;background:var(--soft)}.danger{border:1px solid #dfb6b2;background:#fff5f4;color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.calendar-toolbar{display:flex;align-items:flex-end;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px}.segmented{display:flex}.segmented button{border:1px solid var(--line);border-radius:0;background:#fff}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0}.segmented button+button{margin-left:-1px}.segmented button[aria-pressed="true"]{position:relative;background:var(--teal-soft);border-color:#94c7c3;color:var(--teal-dark)}.date-jump{display:grid;gap:3px;margin-left:auto;color:var(--muted);font-size:.75rem}.date-jump input{height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px}.calendar-title-row{display:flex;align-items:baseline;justify-content:space-between;margin:22px 0 9px}.calendar-title-row h2{margin:0;font-size:1.1rem}.calendar-title-row p{margin:0;color:var(--muted);font-size:.8125rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));overflow-x:auto;background:var(--line);border:1px solid var(--line);border-radius:8px;gap:1px}.calendar-day{min-width:112px;min-height:590px;background:#fff}.calendar-day.today .day-heading{box-shadow:inset 0 3px var(--teal)}.day-heading{position:sticky;top:0;z-index:2;padding:11px 10px;background:#f8fafb;border-bottom:1px solid var(--line);font-size:.8125rem}.day-heading strong{display:block;font-size:.95rem}.day-body{display:grid;gap:5px;padding:7px}.slot-button{min-height:36px;padding:6px;border:1px dashed transparent;border-radius:5px;background:transparent;color:#8a979c;font-size:.7rem;text-align:left;cursor:pointer}.slot-button:hover,.slot-button:focus-visible{border-color:#9cc9c5;background:var(--teal-soft);color:var(--teal-dark)}.appointment{display:grid;gap:2px;width:100%;min-height:66px;padding:8px;border:1px solid #a8ceca;border-left:4px solid var(--teal);border-radius:6px;background:#edf7f6;color:var(--ink);text-align:left;cursor:pointer}.appointment:hover{background:#e1f1ef}.appointment.cancelled{border-color:#d9dfe1;border-left-color:#9ba7ac;background:#f5f6f6;color:#66757b}.appointment.completed{border-left-color:#526b77;background:#f0f4f5}.appointment strong{font-size:.75rem}.appointment span{font-size:.7rem;line-height:1.25}.agenda-list{grid-column:1/-1;background:#fff}.agenda-day{border-bottom:1px solid var(--line)}.agenda-day h3{margin:0;padding:12px;background:var(--soft);font-size:.9rem}.agenda-day>div{display:grid;gap:6px;padding:9px}
.patient-layout{display:grid;grid-template-columns:minmax(520px,.95fr) minmax(420px,1.05fr);gap:16px;align-items:start}.directory-panel,.chart-panel,.surface{background:#fff;border:1px solid var(--line);border-radius:8px}.directory-panel{overflow:hidden}.directory-controls{display:grid;grid-template-columns:minmax(180px,1fr) 170px 150px;gap:9px;padding:13px;border-bottom:1px solid var(--line)}label{display:grid;gap:5px;color:var(--muted);font-size:.8125rem;font-weight:550}input,select,textarea{width:100%;min-height:40px;border:1px solid #cbd6d9;border-radius:6px;background:#fff;padding:8px 10px;font-size:1rem}textarea{resize:vertical}.loading-state{padding:12px 14px;color:var(--muted);font-size:.8125rem}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f8fafb;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.055em}td{font-size:.8125rem}.directory-table tbody tr{cursor:pointer}.directory-table tbody tr:hover,.directory-table tbody tr.selected{background:var(--teal-soft)}.directory-table tbody tr:focus-visible{outline:3px solid rgba(8,125,120,.35);outline-offset:-3px}.patient-cell strong,.patient-cell span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.patient-cell span{color:var(--muted);font-size:.75rem}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px}.pagination button{min-height:36px;border:1px solid var(--line);background:#fff}.pagination span{color:var(--muted);font-size:.8rem}.chart-panel{min-height:560px;overflow:hidden}.chart-header{display:flex;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.chart-header h2{margin:0;font-size:1.3rem}.chart-header p{margin:4px 0 0;color:var(--muted);font-size:.8125rem}.chart-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.chart-tabs,.tab-list{display:flex;overflow-x:auto;padding:0 14px;border-bottom:1px solid var(--line);background:#fbfcfc}.chart-tabs button,.tab-list button{flex:0 0 auto;min-height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:650;cursor:pointer}.chart-tabs button[aria-selected="true"],.tab-list button[aria-selected="true"]{border-bottom-color:var(--teal);color:var(--teal-dark)}.chart-content{padding:18px}.overview-grid,.settings-grid,.billing-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric{padding:13px;border:1px solid var(--line);border-radius:7px}.metric span{display:block;color:var(--muted);font-size:.75rem}.metric strong{display:block;margin-top:3px;font-size:1.05rem}.timeline,.record-list{display:grid;gap:8px}.timeline-item,.record{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:6px}.timeline-item strong,.record strong{display:block;font-size:.8125rem}.timeline-item span,.record span{display:block;color:var(--muted);font-size:.75rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:30px;color:var(--muted);text-align:center}.empty-state strong{color:var(--ink)}
.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.summary-card{padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:7px}.summary-card span{display:block;color:var(--muted);font-size:.75rem}.summary-card strong{display:block;margin-top:5px;font-size:1.25rem}.surface{padding:16px;margin-bottom:16px}.surface h2{margin:0 0 14px;font-size:1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading>div{display:flex;gap:6px}.tab-list{margin-bottom:16px;border:1px solid var(--line);border-radius:7px}.form-stack,.dialog-body{display:grid;gap:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:8px;color:var(--ink)}.check input{width:18px;height:18px;min-height:0}.service-locations{border:0;padding:0;margin:0}.service-locations>legend{display:block;padding:0;margin:0 0 5px;color:var(--muted);font-size:.8125rem;font-weight:550}.check-list{display:flex;flex-wrap:wrap;gap:6px 16px}.superbill-layout{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(440px,1.3fr);gap:16px}.candidate-list{display:grid;gap:7px;margin:13px 0}.candidate{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:9px;border:1px solid var(--line);border-radius:6px}.candidate input{width:18px;height:18px;min-height:0}.candidate span span{color:var(--muted);font-size:.75rem}.candidate.excluded{opacity:.55}.visit-editor{display:grid;grid-template-columns:1.3fr .7fr .7fr .45fr;gap:7px;padding:9px 0;border-bottom:1px solid var(--line)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{display:grid;grid-template-columns:1fr auto;gap:15px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.service-card h2{margin:0;font-size:1rem}.service-card p{margin:5px 0 0;color:var(--muted);font-size:.8125rem}.source-note{max-width:760px;color:var(--muted);font-size:.75rem}.settings-grid dl{display:grid;gap:0;margin:0}.settings-grid dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.settings-grid dt{font-weight:650}.settings-grid dd{margin:0;color:var(--muted);text-align:right}.tag{display:inline-flex;min-height:24px;align-items:center;padding:3px 7px;border-radius:999px;background:#eef2f3;color:#53656c;font-size:.7rem;font-weight:700;text-transform:capitalize}.tag.confirmed,.tag.complete,.tag.issued,.tag.paid{background:#e4f2ea;color:#296a48}.tag.partial,.tag.sent{background:#fff3d9;color:var(--warn)}.tag.unpaid,.tag.missing{background:#fff0ed;color:var(--danger)}.money{font-variant-numeric:tabular-nums}.muted{margin:0;color:var(--muted);font-size:.8125rem}.notice{padding:11px;border:1px solid #e7cf99;border-radius:6px;background:#fff7e5;color:#76551a;font-size:.8125rem}
.header-actions{display:flex;gap:8px}.signed-in-as{padding:0 10px;color:var(--muted);font-size:.75rem}#login-form{gap:11px}#login-form h1{margin:0 0 6px;font-size:1.35rem}.service-card.archived{opacity:.6}
.patient-picker{position:relative}.patient-picker-results{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.patient-picker-results button{display:grid;width:100%;padding:9px 11px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.patient-picker-results button:hover,.patient-picker-results button:focus-visible{background:var(--teal-soft)}.patient-picker-results span{color:var(--muted);font-size:.75rem}
dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:10px;box-shadow:0 28px 80px rgba(18,40,46,.3)}dialog::backdrop{background:rgba(21,39,45,.48)}.dialog-shell{display:flex;flex-direction:column;max-height:calc(100vh - 28px)}.dialog-shell.wide{width:min(760px,calc(100vw - 28px))}.dialog-shell header,.dialog-shell footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line)}.dialog-shell footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.dialog-shell h2{margin:0;font-size:1.2rem}.dialog-body{padding:17px;overflow-y:auto;overscroll-behavior:contain}.dialog-body fieldset{border:1px solid var(--line);border-radius:7px}.eyebrow{margin:0 0 2px;color:var(--teal-dark);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:390px;padding:12px 15px;border-radius:7px;background:#173f3d;color:#fff;box-shadow:var(--shadow);font-size:.8125rem}.toast.error{background:#893830}.patient-link{display:grid;place-items:center;min-height:100vh;padding:20px}.patient-card{width:min(560px,100%);padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.document-card{width:min(920px,100%)}.pdf-preview{display:block;width:100%;height:min(62vh,680px);margin:18px 0;border:1px solid var(--line);border-radius:8px;background:#eef2f3}
@media(max-width:1120px){.patient-layout{grid-template-columns:1fr}.chart-panel{min-height:400px}.superbill-layout{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}}
@media(max-width:800px){.demo-strip{position:fixed;justify-content:flex-start;height:38px;padding-left:14px}.demo-strip span{display:none}.app-shell{display:block;padding-top:38px}.sidebar{top:38px;transform:translateX(-102%);transition:transform .18s ease;width:min(280px,86vw);box-shadow:var(--shadow)}body.nav-open .sidebar{transform:none}.workspace{grid-column:auto}.mobile-header{position:sticky;top:38px;z-index:15;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;height:54px;padding:6px 14px;background:#fff;border-bottom:1px solid var(--line)}main{padding:20px 14px 40px}.calendar-header{align-items:center}.calendar-toolbar{flex-wrap:wrap}.date-jump{order:3;width:100%;margin:0}.view-switch{margin-left:auto}.calendar-grid{display:block}.calendar-day{display:none;min-height:0}.calendar-day.mobile-active{display:block}.agenda-list{display:block}.patient-layout{display:block}.directory-panel{margin-bottom:14px}.directory-controls{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.summary-row{grid-template-columns:1fr 1fr}.billing-columns,.settings-grid{grid-template-columns:1fr}.service-card{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.page-header{align-items:flex-start}.page-header .primary{flex:0 0 auto}.chart-header{flex-direction:column}.chart-actions{justify-content:flex-start}.visit-editor{grid-template-columns:1fr 1fr}.visit-editor label:first-child{grid-column:1/-1}}
@media(max-width:460px){main{padding-inline:10px}.page-header{margin-bottom:16px}.page-header h1{font-size:1.45rem}.calendar-toolbar{gap:8px}.segmented{width:100%}.segmented button{flex:1;padding-inline:7px}.view-switch{width:auto}.view-switch button{min-width:72px}.directory-controls{grid-template-columns:1fr}.search-field{grid-column:auto}.form-row,.overview-grid{grid-template-columns:1fr}.summary-row{grid-template-columns:1fr 1fr}.surface{padding:13px}.chart-content{padding:13px}.dialog-shell footer{position:sticky;bottom:0;background:#fff}.toast{left:10px;right:10px;bottom:10px}.visit-editor{grid-template-columns:1fr}.visit-editor label:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
/* Calendar geometry and responsive chart workspace */
.calendar-grid{display:block;overflow-x:auto;background:#fff}.calendar-week-grid{display:grid;grid-template-columns:62px repeat(7,minmax(120px,1fr));min-width:980px;background:var(--line);gap:1px}.calendar-week-grid.day-mode{grid-template-columns:62px minmax(520px,1fr);min-width:620px}.calendar-day{min-width:120px;min-height:0;background:#fff}.day-heading,.axis-heading{position:static;height:59px;padding:11px 10px;background:#f8fafb;border-bottom:1px solid var(--line);font-size:.8125rem}.day-body{position:relative;display:block;height:704px;padding:0;background:repeating-linear-gradient(to bottom,#fff 0,#fff 63px,#e7ecee 63px,#e7ecee 64px)}.time-axis{background:#f8fafb;color:var(--muted);font-size:.68rem}.time-axis>div:last-child{position:relative;height:704px;background:repeating-linear-gradient(to bottom,#f8fafb 0,#f8fafb 63px,#e7ecee 63px,#e7ecee 64px)}.time-axis span{position:absolute;right:7px;transform:translateY(-50%);font-variant-numeric:tabular-nums}.calendar-week-grid .slot-button{position:absolute;left:4px;right:4px;z-index:1;width:calc(100% - 8px);min-height:32px;padding:5px}.calendar-week-grid .appointment{position:absolute;left:4px;right:4px;z-index:2;width:calc(100% - 8px);min-height:38px;padding:6px;overflow:hidden}.calendar-week-grid .appointment strong{font-size:.72rem}.calendar-week-grid .appointment span{font-size:.66rem}.agenda-list{display:none}.directory-panel{max-height:calc(100vh - 132px)}.directory-panel .table-scroll{max-height:calc(100vh - 325px);overflow:auto}.directory-table thead{position:sticky;top:0;z-index:1}.back-to-directory{display:none}
@media(max-width:1120px){.directory-panel{max-height:none}.directory-panel .table-scroll{max-height:none}}
@media(max-width:800px){.calendar-week-grid{display:none}.agenda-list{display:block}.agenda-day{display:none}.agenda-day.mobile-active{display:block}.calendar-day{display:block}}
.directory-table{min-width:0;table-layout:fixed}.directory-table th:nth-child(1){width:39%}.directory-table th:nth-child(2){width:22%}.directory-table th:nth-child(3){width:20%}.directory-table th:nth-child(4){width:19%}.directory-table th,.directory-table td{overflow-wrap:anywhere}
.calendar-week-grid .appointment{min-height:44px;padding:5px 6px;line-height:1.15}.calendar-week-grid .appointment strong,.calendar-week-grid .appointment span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-grid .appointment strong{line-height:1.2}.calendar-week-grid .appointment span{margin-top:2px;line-height:1.2}
dialog:has(.dialog-shell.wide){width:min(760px,calc(100vw - 28px))}.dialog-shell.wide{width:100%}.dialog-body,.form-row>label{min-width:0}.dialog-shell input,.dialog-shell select,.dialog-shell textarea{min-width:0;max-width:100%}

/* A client chart is its own workspace at every viewport width. */
.patient-layout{display:block}
.patient-layout:not(.chart-active) .chart-panel,.patient-layout.chart-active .directory-panel{display:none}
.patient-layout.chart-active .chart-panel{width:100%}
.patient-layout .back-to-directory{display:inline-flex}

/* Wrapped action groups must not stretch buttons to fill taller content. */
.chart-actions{align-items:center;align-content:flex-start;align-self:flex-start}

/* Keep payment with the amount due; consent controls have their own column. */
.directory-table th:last-child{text-align:right}
.client-balance{display:grid;justify-items:end;gap:6px}
.client-balance .money{white-space:nowrap}
.balance-due{font-weight:650}
.balance-settled{color:var(--muted)}
.directory-table .client-payment{min-height:44px;padding:9px 12px;border-radius:6px;white-space:nowrap}
.directory-table .patient-last-visit{display:none}
/* Client activity: compact, readable timeline within the existing chart shell. */
.activity-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px}.activity-filter{flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font-size:.8125rem;cursor:pointer}.activity-filter.active{border-color:#E16E37;background:#E16E37;color:#0A0A0A}.activity-coverage{display:flex;flex-wrap:wrap;gap:6px 14px;margin:5px 0 13px;color:var(--muted);font-size:.75rem}.activity-coverage.partial{color:#8a4b12}.activity-coverage.failed,.activity-coverage.unavailable{color:#8a301e}.activity-list{display:grid;gap:8px}.activity-event{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.activity-event-main,.activity-event-meta{display:grid;align-content:start;gap:3px;min-width:0}.activity-event-main strong{font-size:.875rem;overflow-wrap:anywhere}.activity-event-main>span,.activity-event-meta,.activity-status{color:var(--muted);font-size:.75rem}.activity-event-meta{text-align:right;white-space:nowrap}.activity-path,.activity-thread{font-size:.78rem}.activity-path code{overflow-wrap:anywhere;white-space:normal}.activity-status{text-transform:capitalize}.activity-pagination{display:flex;justify-content:center;padding:12px 0}.activity-error{margin:8px 0}
@media(max-width:560px){.activity-event{display:grid;grid-template-columns:1fr}.activity-event-meta{display:flex;justify-content:space-between;text-align:left;white-space:normal}.activity-coverage{display:grid;gap:4px}}
/* Keep source status compact; detailed per-source failures expand on demand. */
.activity-coverage{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px;color:var(--muted);font-size:.75rem}.activity-coverage-summary{min-width:0}.activity-coverage-details{flex:0 0 auto}.activity-coverage-details>summary{cursor:pointer;color:var(--muted);font-size:.75rem;text-decoration:underline;text-underline-offset:2px}.activity-coverage-list{display:grid;gap:0;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.activity-coverage-row{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(200px,1fr) minmax(180px,1fr);align-items:start;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem}.activity-coverage-row:last-child{border-bottom:0}.activity-coverage-row.partial{color:#8a4b12}.activity-coverage-row.unavailable{color:#8a301e}.activity-coverage-label{display:flex;gap:8px;min-width:0}.activity-coverage-row p{margin:0;overflow-wrap:anywhere}.activity-coverage-detail{color:var(--ink)}
@media(max-width:560px){.activity-coverage{align-items:flex-start;gap:4px;flex-direction:column}.activity-coverage-details{align-self:flex-start}.activity-coverage-row{grid-template-columns:1fr;gap:4px}.activity-coverage-label{justify-content:space-between}}
.activity-event{align-items:start}.activity-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:#fff1e9;color:#a94d20}.activity-icon svg{width:18px;height:18px;fill:currentColor}.activity-event-main{flex:1}.activity-appointment-detail,.activity-form-detail{display:block;color:#505a54;font-size:.8rem;line-height:1.5}

.activity-visit-pages,.activity-visit-actions{font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}.activity-visit-pages>span,.activity-visit-actions>span{color:var(--muted)}.activity-visit-pages .activity-path{font-size:inherit}.activity-visit-duration{margin-bottom:3px}
