/* Dashboard geometry from dashboard-observed.json (1528px CSS viewport); colours approximate the Dark Reader reference. */
.dashboard{padding:6px 8px 24px;display:flex;flex-direction:column;gap:8px;--dash-card:var(--panel);--dash-page:var(--sunken);background:var(--dash-page);min-height:100%}
.dashboard svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dash-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.dash-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;height:34px;color:var(--text);text-decoration:none;font-size:15px;border-radius:4px}
.dash-tabs a[aria-current]{background:var(--dash-card);font-weight:700}.dash-tabs a:hover{background:var(--dash-card)}
.dash-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.dash-field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px}
.dash-field select,.dash-filters>select{height:32px;min-width:200px;background:var(--dash-card);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:0 10px}
.dash-range{display:flex;align-items:stretch;height:32px;border:1px solid var(--border);border-radius:4px;background:var(--dash-card)}
.dash-range>button{width:44px;background:none;border:0;color:var(--text);justify-content:center}
.dash-range>button:first-child{border-right:1px solid var(--border)}.dash-range>button:last-child{border-left:1px solid var(--border)}
.dash-date{position:relative;display:flex;align-items:center;padding:0 12px;font-size:15px;font-weight:700;min-width:150px}
.dash-date input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.dash-date input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.dash-arrow,.dash-cal-icon{display:flex;align-items:center;color:var(--muted);padding:0 6px}
.dash-clock{margin-left:auto;align-self:center;background:var(--accent-soft);color:var(--title);font-weight:700;font-size:17px;padding:8px 20px;border-radius:4px;font-variant-numeric:tabular-nums}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.dash-card{background:var(--dash-card);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column}
.dash-card>header{display:flex;align-items:center;gap:12px;height:47px;padding:0 16px;border-bottom:1px solid var(--line)}
.dash-card>header h2{font-size:16px;margin:0;flex:1}.dash-card-icon svg{width:24px;height:24px}
.dash-card>header a{color:var(--link);font-size:13px;font-weight:700;text-decoration:none}
.dash-card-body{padding:6px;min-height:150px}
.dash-card>footer{display:flex;align-items:center;gap:12px;padding:10px 16px 14px}
.dash-refresh{width:56px;height:38px;justify-content:center;border-radius:4px}.dash-refresh svg{width:18px;height:18px}
.dash-chip-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.dash-chip-row.dash-right{justify-content:flex-end}
.dash-chips{display:flex;flex-wrap:wrap;gap:2px;max-width:610px}
.dash-chip{height:22px;padding:0 7px;border:0;border-radius:3px;background:var(--chip);--ink-on:var(--chip);color:oklch(from var(--ink-on) calc(clamp(0,(.68 - l)*999,1)*.84 + .16) .02 280);font-size:13px;font-weight:700}
.dash-chip[aria-pressed=false]{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--border);text-decoration:line-through}
.dash-check{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap;cursor:pointer}.dash-check input{width:16px;height:16px;accent-color:var(--accent-line)}
.dash-appt{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;background:color-mix(in srgb,var(--status) 85%,#3a3fa0);color:#fff;border-radius:4px;padding:12px 8px 10px;margin-bottom:4px;min-height:102px}
.dash-appt-dot{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px var(--status)}
.dash-appt-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.dash-appt-name{background:none;border:0;padding:0;color:#fff;font-size:16px;font-weight:700;text-align:left}.dash-appt-name:hover{text-decoration:underline}
.dash-appt-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.dash-appt-side>div:first-child{display:flex;align-items:center;gap:8px}
.dash-appt-time{font-size:17px}.dash-appt-time strong{margin-left:6px}
.dash-tag{--fill:#1989c7;display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:3px;font-size:14px;font-weight:700;background:var(--fill);--ink-on:var(--fill);color:oklch(from var(--ink-on) calc(clamp(0,(.68 - l)*999,1)*.84 + .16) .02 280);border:1px solid #fff4}
.dash-tag-doctor{--fill:#939da2}.dash-tag-overdue{--fill:var(--danger-fill)}
.dash-icon-button{background:none;border:0;color:#fff;padding:2px}.dash-icon-button svg{width:18px;height:18px}
.dash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;color:var(--muted);font-size:16px}.dash-empty svg{width:56px;height:56px;stroke-width:1.2}
.dash-pager{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:15px}
.dash-pager button{background:none;border:0;color:var(--text)}.dash-pager button:disabled{opacity:.35}
.dash-pager input{width:54px;height:30px;text-align:center;background:var(--dash-card);color:var(--text);border:1px solid var(--border);border-radius:4px}
.dash-pager select{height:30px;width:250px;background:var(--dash-card);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:0 8px}
.dash-card-body>.dash-pager{padding:10px}
.dash-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}
.dash-row span{display:flex;flex-direction:column;font-size:14px}.dash-row small{color:var(--muted);font-size:12px}.dash-row .dash-appt-name{color:var(--link);font-size:14px}
.dash-money small{font-size:.7em;font-weight:700;vertical-align:.35em}.dash-money sup{font-size:.6em;margin-left:2px}
.dash-collapse>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 20px;font-size:15px;cursor:pointer}.dash-collapse>summary::-webkit-details-marker{display:none}
.dash-collapse[open]>summary svg{transform:rotate(90deg)}
.dash-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}.dash-charts-single{grid-template-columns:1fr;padding:0}
.dash-chart-card{background:var(--dash-card);border-radius:6px;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px 6px 6px;position:relative}
.dash-donut{position:relative;margin:0;width:260px;height:260px}.dash-donut>svg{width:100%;height:100%}
.dash-donut circle{fill:none;stroke-width:26}
.dash-donut figcaption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.dash-donut figcaption strong{font-size:14px}.dash-donut figcaption b{font-size:22px}
.dash-change{font-weight:700;font-size:18px;color:var(--text)}.dash-change.down,.dash-change.up{color:var(--danger)}
.dash-chart-card .dash-change.up{color:var(--danger)}
.dash-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:13px}
.dash-legend li:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--dot);margin-right:8px;vertical-align:middle}
.dash-chart-foot{align-self:stretch;border:1px solid var(--border);border-radius:4px;padding:8px;text-align:center;font-size:18px;margin-top:auto}
.dash-note{color:var(--muted);font-size:12px;margin:4px 16px}
.dash-inv-top{display:flex;align-items:flex-start;justify-content:space-between;padding-top:30px}
.dash-value-card{display:grid;grid-template-columns:1fr 1fr;width:650px;max-width:100%;background:var(--dash-card);border-radius:4px;padding:20px 0;text-align:center}
.dash-value-card span{color:var(--muted);font-size:15px}.dash-value-card h4{margin:12px 0 0;font-size:21px}
.dash-panel{background:var(--dash-card);border-radius:4px;padding:16px 16px 24px}
.dash-panel>header{display:flex;align-items:center;gap:12px}.dash-panel h3,.dash-notifications h3{flex:1;margin:0;font-size:16px;line-height:22px;border:0;padding-left:0;color:var(--text)}
.dash-panel>header select{width:200px;height:32px;background:var(--dash-card);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:0 10px}
.dash-panel hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.dash-round{display:flex;width:32px;height:32px;border-radius:50%;background:var(--dash-page);align-items:center;justify-content:center}
.dash-health{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:200px}.dash-health .dash-donut{width:180px;height:180px;justify-self:center}
.dash-health .dash-donut circle{stroke-width:22}
.dash-legend-strong{flex-direction:column;gap:12px;font-size:15px;color:var(--text);font-weight:700;padding-left:24px}
.dash-stock{display:flex;flex-direction:column;gap:12px;padding:16px 24px}.dash-stock-option{color:var(--danger);font-size:15px;font-weight:700}
.dash-stock-actions{display:flex;justify-content:center;gap:10px}
.dash-round-button{width:40px;height:40px;border-radius:50%;justify-content:center;background:none;border:1px solid var(--border);color:var(--text)}.dash-round-button:disabled{opacity:.5;cursor:not-allowed}
.dash-alerts{display:grid;grid-template-columns:1fr 1fr;width:740px;max-width:100%;margin:40px auto 0;text-align:center}
.dash-alerts span{display:block;color:var(--muted);font-size:15px}.dash-alerts b{display:block;color:var(--danger);font-size:21px;margin-top:12px}
.dash-summary-filters{align-items:center}
.dash-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dash-tile{background:var(--dash-card);border-radius:4px;display:flex;flex-direction:column;align-items:center;padding:16px 8px 12px;min-height:165px}
.dash-tile-icon{width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px}.dash-tile-icon svg{width:22px;height:22px}
.dash-tile>b{font-size:24px}.dash-tile h5{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:16px;color:var(--link);font-weight:700}
.dash-tile h5.muted{color:var(--muted)}
.dash-trend{width:32px;height:32px;border-radius:50%;justify-content:center;background:none;border:1px solid var(--border);color:var(--text)}.dash-trend:disabled{cursor:not-allowed}
.dash-split{display:grid;grid-template-columns:1fr 1fr;align-self:stretch;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.dash-split b{display:block;font-size:24px}.dash-split span{display:block;margin-top:12px;color:var(--link);font-size:14px}
.dash-green{color:var(--ok)}.dash-red{color:var(--danger)}
.dash-unavailable{opacity:.55}.dash-unavailable-note{color:var(--muted);font-size:12px;margin-top:8px;text-align:center}
.dash-notifications h3{font-size:16px;font-weight:400;margin:12px 0 0;padding:0 92px 8px;border-bottom:1px solid var(--line)}
.dash-notification{display:flex;align-items:center;gap:12px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--link)}
.dash-notification>span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.dash-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.dash-notification-text{font-size:15px}
@media (max-width:900px){.dash-grid,.dash-charts,.dash-tiles{grid-template-columns:1fr}.dash-clock{margin-left:0}.dash-health{grid-template-columns:1fr;gap:16px}.dash-pager select{width:auto}.dash-row{grid-template-columns:1fr 1fr}.dash-value-card{width:100%}.dash-chips{max-width:none}.dash-chip-row{flex-direction:column}.dash-date{min-width:0;font-size:13px}
 .dashboard{min-width:0;overflow-x:hidden}.dash-tabs{grid-template-columns:repeat(2,1fr)}.dash-range{height:auto;flex-wrap:wrap}.dash-field,.dash-field select{min-width:0;width:100%}
 .dash-pager{flex-wrap:wrap;margin-left:0}.dash-card>footer{flex-wrap:wrap}.dash-appt{grid-template-columns:20px 1fr}.dash-appt-side{grid-column:2;align-items:flex-start}.dash-donut{width:200px;height:200px}.dash-alerts{grid-template-columns:1fr;gap:16px}}
