
	/* Reserve a stable footprint so the dashboard never jumps while loading. */
	.ds.svelte-1fdeytt { margin: 0 0 24px 0; }

	.ds__head.svelte-1fdeytt { display: flex; align-items: center; gap: 12px; margin: 0 0 16px 0; }
	.ds__title.svelte-1fdeytt { margin: 0; flex: 1; }
	.ds__window.svelte-1fdeytt { display: flex; gap: 4px; }
	.ds__window-btn.svelte-1fdeytt { appearance: none; border: 1px solid var(--border, #e5e5e5); background: #fff; color: #666; font: inherit; font-size: 0.8em; padding: 4px 10px; border-radius: 6px; cursor: pointer; }
	.ds__window-btn.svelte-1fdeytt:hover { color: #222; }
	.ds__window-btn--active.svelte-1fdeytt { background: var(--primary); border-color: var(--primary); color: #fff; }

	/* KPI strip — fixed 4-up grid, fixed card height. */
	.ds__kpis.svelte-1fdeytt { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 16px 0; }
	.ds__kpi.svelte-1fdeytt { min-height: 96px; background: var(--background-light, #f6f6f6); border-radius: 8px; padding: 12px 14px; display: flex; flex-direction: column; }
	.ds__kpi-label.svelte-1fdeytt { font-size: 0.8em; color: #999; margin-bottom: 6px; }
	.ds__kpi-n.svelte-1fdeytt { font-size: 1.9em; font-weight: 700; color: #222; font-variant-numeric: tabular-nums; line-height: 1.1; }
	.ds__kpi-n--muted.svelte-1fdeytt { color: #ccc; }
	.ds__delta.svelte-1fdeytt { margin-top: auto; font-size: 0.8em; font-weight: 600; font-variant-numeric: tabular-nums; }
	.ds__delta--up.svelte-1fdeytt { color: #1a8f3c; }
	.ds__delta--down.svelte-1fdeytt { color: #c0392b; }
	.ds__delta--none.svelte-1fdeytt { color: #bbb; font-weight: normal; }

	.ds__grid.svelte-1fdeytt { display: grid; grid-template-columns: 3fr 2fr; gap: 12px; margin: 0 0 12px 0; }

	/* Visitors-per-day: its own compact full-width row — keep it short so it
	   doesn't push the rows below down much. */
	.ds__panel--trend.svelte-1fdeytt { min-height: 0; margin: 0 0 12px 0; padding: 12px 14px 10px; }
	.ds__panel--trend.svelte-1fdeytt .ds__state:where(.svelte-1fdeytt) { padding: 8px 0; }

	.ds__panel.svelte-1fdeytt { background: var(--background-light, #f6f6f6); border-radius: 8px; padding: 14px; min-height: 140px; }
	.ds__panel-label.svelte-1fdeytt { font-weight: 600; font-size: 0.9em; margin: 0 0 10px 0; }

	.ds__state.svelte-1fdeytt { color: #999; font-size: 0.9em; padding: 24px 0; text-align: center; }

	/* Insights */
	.ds__insights.svelte-1fdeytt { display: flex; flex-direction: column; gap: 12px; }
	.ds__insight.svelte-1fdeytt { background: #fff; border: 1px solid var(--border, #e9e9e9); border-radius: 8px; padding: 10px 12px; }
	.ds__insight--hint.svelte-1fdeytt { color: #888; font-size: 0.85em; background: transparent; border-style: dashed; }
	.ds__insight-head.svelte-1fdeytt { display: flex; align-items: baseline; gap: 6px; }
	.ds__insight-n.svelte-1fdeytt { font-size: 1.2em; font-weight: 700; color: var(--primary); font-variant-numeric: tabular-nums; }
	.ds__insight-t.svelte-1fdeytt { font-weight: 600; font-size: 0.9em; }
	.ds__insight-sub.svelte-1fdeytt { color: #999; font-size: 0.78em; margin: 3px 0 7px 0; }
	.ds__insight-list.svelte-1fdeytt { list-style: none; margin: 0; padding: 0; }
	.ds__insight-list.svelte-1fdeytt li:where(.svelte-1fdeytt) { display: flex; justify-content: space-between; gap: 10px; font-size: 0.82em; padding: 2px 0; }
	.ds__insight-name.svelte-1fdeytt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.ds__insight-meta.svelte-1fdeytt { color: #999; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.ds__insight-more.svelte-1fdeytt { color: #999; font-style: italic; }

	/* Skeletons — same dimensions as the real content. */
	.ds__skel.svelte-1fdeytt { border-radius: 6px; background: linear-gradient(90deg, #ececec 25%, #f5f5f5 37%, #ececec 63%); background-size: 400% 100%; animation: svelte-1fdeytt-ds-shimmer 1.4s ease infinite; }
	.ds__skel--n.svelte-1fdeytt { height: 34px; width: 70%; margin-top: 2px; }
	.ds__skel--chart.svelte-1fdeytt { height: 52px; width: 100%; }
	.ds__skel--list.svelte-1fdeytt { height: 96px; width: 100%; }
	@keyframes svelte-1fdeytt-ds-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

	@media (max-width: 900px) {
		.ds__kpis.svelte-1fdeytt { grid-template-columns: repeat(2, 1fr); }
		.ds__grid.svelte-1fdeytt { grid-template-columns: 1fr; }
	}

	/* Three equal blocks in a row; stacks when the viewport gets narrow. */
	.da.svelte-1bpiwft { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 24px 0; }
	.da__block.svelte-1bpiwft h3:where(.svelte-1bpiwft) { margin: 0 0 14px 0; }

	.da__list.svelte-1bpiwft { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
	/* Override the global `ul li { margin: 0 0 .5em 20px }` (dashboard.css) so
	   rows aren't indented and spacing is governed by each row's own padding. */
	.da__list.svelte-1bpiwft li:where(.svelte-1bpiwft) { margin: 0; }

	.da__update.svelte-1bpiwft { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-top: 1px solid var(--border, #eee); }
	.da__update.svelte-1bpiwft:first-child { border-top: none; }
	.da__update-link.svelte-1bpiwft { font-size: 0.88em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.da__update-meta.svelte-1bpiwft { font-size: 0.76em; color: #999; }

	.da__state.svelte-1bpiwft { color: #999; font-size: 0.88em; padding: 8px 0; }

	/* Skeletons */
	.da__skel-list.svelte-1bpiwft { display: flex; flex-direction: column; gap: 12px; }
	.da__skel-row.svelte-1bpiwft { display: flex; align-items: center; gap: 10px; }
	.da__skel.svelte-1bpiwft { border-radius: 6px; background: linear-gradient(90deg, #ececec 25%, #f5f5f5 37%, #ececec 63%); background-size: 400% 100%; animation: svelte-1bpiwft-da-shimmer 1.4s ease infinite; }
	.da__skel--line.svelte-1bpiwft { flex: 1; height: 14px; }
	@keyframes svelte-1bpiwft-da-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

	@media (max-width: 1100px) {
		.da.svelte-1bpiwft { grid-template-columns: 1fr; }
	}

	.dashboard-header.svelte-1z10xln { margin: 0 0 24px 0; }
	.dashboard-header__top.svelte-1z10xln { display: flex; align-items: center; gap: 16px; }
	.dashboard-header__top.svelte-1z10xln h1:where(.svelte-1z10xln) { flex: 1; margin: 0; }
	.dashboard-meta.svelte-1z10xln { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 12px; }
	.dashboard-meta__item.svelte-1z10xln { display: flex; flex-direction: column; gap: 2px; }
	.dashboard-meta__label.svelte-1z10xln { font-size: 0.66em; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.05em; }
	.dashboard-meta__value.svelte-1z10xln { font-size: 0.85em; color: #555; }
	.dashboard-meta__value--mono.svelte-1z10xln { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8em; }

	.dashboard-meta__copy.svelte-1z10xln { display: inline-flex; align-items: center; gap: 6px; padding: 2px 6px; margin: -2px -6px; border: none; background: none; cursor: pointer; border-radius: 4px; color: inherit; }
	.dashboard-meta__copy.svelte-1z10xln:hover { background: var(--background-light, #f6f6f6); }
	.dashboard-meta__copy-icon.svelte-1z10xln { width: 13px; height: 13px; opacity: 0.45; flex: none; }
	.dashboard-meta__copy.svelte-1z10xln:hover .dashboard-meta__copy-icon:where(.svelte-1z10xln) { opacity: 0.85; }
	.dashboard-meta__copied.svelte-1z10xln { font-size: 0.78em; font-weight: 600; color: var(--success, #1a8f3c); }

	/* Keep list text consistent across every dashboard block. */
	.block.svelte-1z10xln ul:where(.svelte-1z10xln) li:where(.svelte-1z10xln) { font-size: 14px; }

	/* Bottom blocks row: CMS Content stays compact on the left, the PatientEngage
	   block flexes to fill the rest. Both stretch to equal height. */
	.dashboard-blocks.svelte-1z10xln { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
	.dashboard-blocks.svelte-1z10xln > .block:where(.svelte-1z10xln) { min-width: 0; }
	.block--cms.svelte-1z10xln { flex: 0 1 280px; }
	.block--pe.svelte-1z10xln { flex: 4 1 600px; }
	/* Once the row wraps and CMS Content drops to its own line, let it span full
	   width instead of sitting at its compact 280px. */
	@media (max-width: 960px) { .block--cms.svelte-1z10xln { flex-basis: 100%; } }

	/* PatientEngage: three columns (External Links / Account / Locations & Team).
	   grid-auto-flow:column sizes only the columns actually rendered, so a site
	   without account data doesn't leave empty tracks. Stacks when narrow. */
	.dashboard-split--3.svelte-1z10xln { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 30px; }
	.pe-col__heading.svelte-1z10xln { font-weight: 600; font-size: 0.95em; margin: 0 0 10px 0; padding-bottom: 6px; border-bottom: 1px dotted var(--border, #e5e5e5); }
	.dashboard-split__col.svelte-1z10xln h3:where(.svelte-1z10xln) { font-size: 1em; margin: 14px 0 6px 0; }
	@media (max-width: 800px) { .dashboard-split--3.svelte-1z10xln { grid-auto-flow: row; grid-auto-columns: auto; } }
