/* Dashboard shares the chat's theme tokens; charts contain only server result points. */
#dashboard-nav { display: flex; align-items: center; gap: 11px; min-height: 44px; width: 100%; margin-bottom: 8px; padding: 11px 13px; border: 1px solid transparent; border-radius: 12px; color: var(--sidebar-text); background: transparent; text-align: left; font-size: 13px; font-weight: 600; }
#dashboard-nav:hover, #dashboard-nav[aria-current="page"] { background: var(--sidebar-active); border-color: var(--sidebar-divider); }
#dashboard-nav svg { flex: none; color: var(--profile-icon); }
/* Palettes are scoped to Dashboard; chat, calculations and data are unchanged. */
#dashboard-view, .widget-attachment-dialog, #dashboard-calendar[data-scope="dashboard"] {
  --dashboard-bg: #f3f6fb; --dashboard-surface: #fff; --dashboard-border: #dce5ef;
  --dashboard-text: #24344a; --dashboard-muted: #5b6d83; --dashboard-grid: #dbe5ee;
  --dashboard-action: #1466b8; --dashboard-action-hover: #10549a; --dashboard-action-ink: #fff;
  --dashboard-soft: #e8f2fc; --dashboard-track: #eaf0f6; --dashboard-negative: #c4445b;
  --dashboard-color-0: #2166df; --dashboard-color-1: #c18a00;
  --dashboard-color-2: #d63b50; --dashboard-color-3: #8652cf;
  --dashboard-color-4: #13865c; --dashboard-color-5: #c45a17;
  --dashboard-color-6: #00849a; --dashboard-color-7: #b43e91;
  --dashboard-card-0: #176bb9; --dashboard-card-1: #087e76; --dashboard-card-2: #b55530;
  --dashboard-card-ink-0: #fff; --dashboard-card-ink-1: #fff; --dashboard-card-ink-2: #fff;
  --dashboard-shadow: 0 7px 24px #30496408;
}
#dashboard-view, .widget-attachment-dialog {
  flex: 1; min-height: 0; overflow: auto; padding: 24px clamp(16px,2vw,28px) 36px;
  background: var(--dashboard-bg); color: var(--dashboard-text);
}
html[data-theme="dark"] :is(#dashboard-view, .widget-attachment-dialog, #dashboard-calendar[data-scope="dashboard"]) {
  --dashboard-bg: #151e2d; --dashboard-surface: #202c3e; --dashboard-border: #3a4b63;
  --dashboard-text: #eff5ff; --dashboard-muted: #b1c0d6; --dashboard-grid: #3a4b63;
  --dashboard-action: #55c7ef; --dashboard-action-hover: #8bdbf6; --dashboard-action-ink: #102e3e;
  --dashboard-soft: #263d52; --dashboard-track: #334359; --dashboard-negative: #ff96a4;
  --dashboard-color-0: #4db4ff; --dashboard-color-1: #ffd24a;
  --dashboard-color-2: #ff6b78; --dashboard-color-3: #b397ff;
  --dashboard-color-4: #51d69a; --dashboard-color-5: #ff9d4d;
  --dashboard-color-6: #36d7e7; --dashboard-color-7: #ef86d6;
  --dashboard-card-0: #1871b1; --dashboard-card-1: #e9b94c; --dashboard-card-2: #4bc9c8;
  --dashboard-card-ink-0: #fff; --dashboard-card-ink-1: #34280e; --dashboard-card-ink-2: #12343c;
  --dashboard-shadow: 0 7px 26px #070d1626;
}
html[data-theme="yellow"] :is(#dashboard-view, .widget-attachment-dialog, #dashboard-calendar[data-scope="dashboard"]) {
  --dashboard-bg: #faf5e8; --dashboard-surface: #fffdf6; --dashboard-border: #e5dac0;
  --dashboard-text: #413720; --dashboard-muted: #736246; --dashboard-grid: #e8dec5;
  --dashboard-action: #89600f; --dashboard-action-hover: #704b09; --dashboard-action-ink: #fff;
  --dashboard-soft: #f6ebc7; --dashboard-track: #eee7d5; --dashboard-negative: #b74a43;
  --dashboard-color-0: #2563c9; --dashboard-color-1: #b98300;
  --dashboard-color-2: #d54445; --dashboard-color-3: #8f4fbf;
  --dashboard-color-4: #25835c; --dashboard-color-5: #c65f14;
  --dashboard-color-6: #087f96; --dashboard-color-7: #b43d80;
  --dashboard-card-0: #edc654; --dashboard-card-1: #27786c; --dashboard-card-2: #3c6ea0;
  --dashboard-card-ink-0: #40300c; --dashboard-card-ink-1: #fff; --dashboard-card-ink-2: #fff;
  --dashboard-shadow: 0 7px 24px #6750180a;
}
body[data-view="dashboard"] #messages, body[data-view="dashboard"] .compose, body[data-view="dashboard"] #scroll-bottom { display: none; }
.dashboard-shell { width: 100%; max-width: 1520px; margin: 0 auto; }
.dashboard-sync { display: inline-flex; align-items: center; justify-content: center; flex: none; gap: 9px; min-height: 42px; padding: 10px 16px; border: 1px solid var(--dashboard-action); border-radius: 11px; background: var(--dashboard-action); color: var(--dashboard-action-ink); font-weight: 600; }
.dashboard-sync:hover { background: var(--dashboard-action-hover); }
.dashboard-sync:disabled { opacity: .5; cursor: not-allowed; }
.dashboard-sync[aria-busy="true"] svg { animation: dashboard-spin 1.2s linear infinite; }
.dashboard-filters { padding: 18px; margin-bottom: 22px; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-surface); box-shadow: var(--dashboard-shadow); }
.dashboard-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.dashboard-filter-row + .dashboard-filter-row { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--dashboard-border); }
.dashboard-filter-row label { display: flex; align-items: center; gap: 9px; color: var(--dashboard-muted); font-size: 12px; }
.dashboard-filter-row input { min-width: 0; min-height: 36px; padding: 7px 10px; border: 1px solid var(--dashboard-border); border-radius: 8px; color: var(--dashboard-text); background: var(--dashboard-bg); font: inherit; }
.dashboard-topic-label { flex: 1; }
#dashboard-topic { flex: 1; width: 100%; }
.dashboard-presets { display: flex; gap: 3px; padding: 3px; border-radius: 9px; background: var(--dashboard-bg); }
.dashboard-presets button { min-height: 32px; padding: 6px 12px; border: 0; border-radius: 7px; color: var(--dashboard-muted); background: transparent; font-size: 12px; }
.dashboard-presets button[aria-pressed="true"] { background: var(--dashboard-surface); color: var(--dashboard-text); box-shadow: 0 1px 5px #00000010; }
#dashboard-organization-slot { min-width: 0; margin-right: auto; }
#dashboard-organization-slot .organization-control { max-width: 100%; }
#dashboard-organization-slot #organization-menu { bottom: auto; top: calc(100% + 8px); width: min(360px,calc(100vw - 64px)); }
.dashboard-state { margin: 0 0 20px; padding: 13px 16px; border: 1px solid color-mix(in srgb,var(--dashboard-action) 25%,var(--dashboard-border)); border-radius: 12px; background: var(--dashboard-soft); color: var(--dashboard-text); font-size: 13px; line-height: 1.6; white-space: pre-line; }
.dashboard-state[data-error="true"] { border-color: var(--danger); background: var(--danger-soft); color: var(--text); }
.dashboard-widget-context { margin: 0 0 20px; color: var(--dashboard-muted); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.dashboard-widget-context:empty { display: none; }
.dashboard-metrics { display: grid; gap: 32px; }
.dashboard-metric { min-width: 0; }
.dashboard-metric-heading { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 16px; padding: 2px 0 2px 14px; border-left: 3px solid var(--metric-accent); }
.dashboard-metric-name { flex: 1; min-width: 0; }
.dashboard-metric-title { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.025em; line-height: 1.4; overflow-wrap: anywhere; }
.dashboard-metric-unit { display: block; margin-top: 5px; font-size: 12px; color: var(--dashboard-muted); }
.dashboard-metric-value { font-size: clamp(24px,3vw,32px); font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.03em; overflow-wrap: anywhere; }
.dashboard-metric-value.unavailable { font-size: 12px; font-weight: 400; color: var(--dashboard-muted); letter-spacing: normal; }
.dashboard-metric-note { margin: 0; padding: 18px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); font-size: 13px; line-height: 1.6; color: var(--dashboard-muted); }
.dashboard-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 20px; }
.dashboard-grid > .dashboard-panel { grid-column: span 6; }
.dashboard-grid:has(> [data-visual="donut"]) > [data-visual="trend"] { grid-column: span 8; }
.dashboard-grid:has(> [data-visual="trend"]) > [data-visual="donut"] { grid-column: span 4; }
.dashboard-grid > .dashboard-panel:only-child, .dashboard-grid > [data-visual="ranking"] { grid-column: 1 / -1; }
.dashboard-panel { grid-column: span 6; }
.dashboard-panel { min-width: 0; padding: 22px; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-surface); box-shadow: var(--dashboard-shadow); }
.dashboard-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.dashboard-panel h3 { flex: 1; min-width: 0; overflow-wrap: anywhere; margin: 0; font-size: 15px; font-weight: 600; letter-spacing: -.02em; }
.dashboard-panel select { order: 3; width: 100%; max-width: 100%; padding: 7px; border: 1px solid var(--dashboard-border); border-radius: 7px; background: var(--dashboard-bg); color: var(--dashboard-text); font-size: 12px; }
.dashboard-panel-empty { display: grid; min-height: 180px; place-content: center; gap: 8px; text-align: center; color: var(--dashboard-muted); font-size: 12px; line-height: 1.6; }
.dashboard-panel-empty svg { width: 42px; height: 42px; margin: 0 auto 6px; color: var(--dashboard-border); }
.dashboard-chart { width: 100%; height: auto; max-height: 340px; display: block; overflow: visible; }
.dashboard-chart text { fill: var(--dashboard-muted); font-size: 11px; font-family: inherit; }
.dashboard-chart .chart-grid { stroke: var(--dashboard-grid); stroke-dasharray: 3 5; }
.dashboard-chart .chart-line { fill: none; stroke: var(--dashboard-color-0); stroke-width: 3; stroke-linejoin: round; }
.dashboard-chart .chart-baseline { stroke: var(--dashboard-muted); stroke-width: 1; }
/* The same blue/gold/red-first sequence is used by slices, legends and bars. */
.dashboard-chart .chart-column { fill: var(--dashboard-color-0); }
.dashboard-chart .chart-column:nth-of-type(8n+1) { fill: var(--dashboard-color-0); }
.dashboard-chart .chart-column:nth-of-type(8n+2) { fill: var(--dashboard-color-1); }
.dashboard-chart .chart-column:nth-of-type(8n+3) { fill: var(--dashboard-color-2); }
.dashboard-chart .chart-column:nth-of-type(8n+4) { fill: var(--dashboard-color-3); }
.dashboard-chart .chart-column:nth-of-type(8n+5) { fill: var(--dashboard-color-4); }
.dashboard-chart .chart-column:nth-of-type(8n+6) { fill: var(--dashboard-color-5); }
.dashboard-chart .chart-column:nth-of-type(8n+7) { fill: var(--dashboard-color-6); }
.dashboard-chart .chart-column:nth-of-type(8n+8) { fill: var(--dashboard-color-7); }
.dashboard-chart .chart-column.negative { fill: var(--dashboard-negative); }
.dashboard-chart circle { fill: var(--dashboard-surface); stroke: var(--dashboard-color-0); stroke-width: 2; }
.dashboard-donut-layout { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }
.dashboard-donut { display: block; width: 210px; max-width: 100%; flex: 0 1 210px; }
.dashboard-donut text { fill: var(--dashboard-muted); font-size: 12px; font-family: inherit; }
.dashboard-donut .donut-center { fill: var(--dashboard-color-0); font-size: 21px; font-weight: 600; }
.dashboard-legend { flex: 1 1 180px; min-width: 0; max-height: 280px; overflow: auto; list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.dashboard-legend li { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: baseline; gap: 4px 9px; font-size: 12px; }
.dashboard-swatch { width: 9px; height: 9px; border-radius: 3px; }
.dashboard-legend li > span:nth-child(2) { overflow-wrap: anywhere; }
.dashboard-legend strong { font-variant-numeric: tabular-nums; font-weight: 600; }
.dashboard-legend small { grid-column: 2 / -1; color: var(--dashboard-muted); font-variant-numeric: tabular-nums; }
.dashboard-bars { display: grid; gap: 15px; margin: 6px 0; padding: 0; list-style: none; }
.dashboard-bars li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 14px; }
.dashboard-bars .bar-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.dashboard-bars .bar-value { font-size: 12px; font-variant-numeric: tabular-nums; }
.dashboard-bar-track { grid-column: 1 / -1; height: 8px; overflow: hidden; border-radius: 5px; background: var(--dashboard-track); }
.dashboard-bar-track span { display: block; height: 100%; border-radius: inherit; background: var(--bar-color,var(--dashboard-color-0)); }
.dashboard-bars li:nth-child(8n+1) { --bar-color: var(--dashboard-color-0); }
.dashboard-legend li:nth-child(8n+1) strong { color: color-mix(in srgb,var(--dashboard-color-0) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+2) { --bar-color: var(--dashboard-color-1); }
.dashboard-legend li:nth-child(8n+2) strong { color: color-mix(in srgb,var(--dashboard-color-1) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+3) { --bar-color: var(--dashboard-color-2); }
.dashboard-legend li:nth-child(8n+3) strong { color: color-mix(in srgb,var(--dashboard-color-2) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+4) { --bar-color: var(--dashboard-color-3); }
.dashboard-legend li:nth-child(8n+4) strong { color: color-mix(in srgb,var(--dashboard-color-3) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+5) { --bar-color: var(--dashboard-color-4); }
.dashboard-legend li:nth-child(8n+5) strong { color: color-mix(in srgb,var(--dashboard-color-4) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+6) { --bar-color: var(--dashboard-color-5); }
.dashboard-legend li:nth-child(8n+6) strong { color: color-mix(in srgb,var(--dashboard-color-5) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+7) { --bar-color: var(--dashboard-color-6); }
.dashboard-legend li:nth-child(8n+7) strong { color: color-mix(in srgb,var(--dashboard-color-6) 70%,var(--dashboard-text)); }
.dashboard-bars li:nth-child(8n+8) { --bar-color: var(--dashboard-color-7); }
.dashboard-legend li:nth-child(8n+8) strong { color: color-mix(in srgb,var(--dashboard-color-7) 70%,var(--dashboard-text)); }
.dashboard-footnote { color: var(--dashboard-muted); font-size: 11px; line-height: 1.5; margin: 16px 0 0; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }
@media(min-width:981px) { body.sidebar-collapsed #dashboard-nav { justify-content: center; padding-inline: 0; } body.sidebar-collapsed #dashboard-nav span { display: none; } }
@media(max-width:760px) { #dashboard-view { padding-top: 16px; } .dashboard-grid { grid-template-columns: minmax(0,1fr); } .dashboard-metric .dashboard-grid > .dashboard-panel { grid-column: 1; } .dashboard-panel { padding: 17px; } .dashboard-filter-row { align-items: stretch; } .dashboard-filter-row label { flex-wrap: wrap; } .dashboard-topic-label { flex-basis: 100%; } .dashboard-presets { width: 100%; } .dashboard-presets button { flex: 1; } .dashboard-sync { width: 100%; } .dashboard-filter-row input[type="date"] { width: 125px; } #dashboard-organization-slot { width: 100%; } }
@media(prefers-reduced-motion:reduce) { .dashboard-sync[aria-busy="true"] svg { animation: none; } }

/* A quiet overview, with the full result in a native, keyboard-contained dialog. */
.dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin: 2px 0 22px; }
.dashboard-heading > div { min-width: 0; }
.dashboard-heading h1 { margin: 0; font-size: clamp(23px,2.3vw,32px); letter-spacing: -.035em; line-height: 1.2; text-wrap: balance; overflow-wrap: anywhere; }
.dashboard-heading p { max-width: 75ch; margin: 10px 0 0; color: var(--dashboard-muted); font-size: 13px; line-height: 1.6; }
.dashboard-status { flex: none; padding: 7px 10px; border: 1px solid var(--dashboard-border); border-radius: 6px; color: var(--dashboard-muted); background: var(--dashboard-surface); font-size: 12px; }
.dashboard-status[data-status="partial"] { color: var(--dashboard-text); border-color: var(--dashboard-color-2); }
.dashboard-details-button, .dashboard-detail-button { flex: none; min-height: 36px; padding: 6px 10px; border: 1px solid var(--dashboard-border); border-radius: 7px; background: var(--dashboard-surface); color: var(--dashboard-action); font: inherit; font-size: 12px; font-weight: 600; touch-action: manipulation; }
.dashboard-details-button:hover, .dashboard-detail-button:hover { background: var(--dashboard-soft); border-color: var(--dashboard-action); }
.dashboard-details-button:disabled, .dashboard-detail-button:disabled { opacity: .5; cursor: not-allowed; }
#dashboard-view :focus-visible { outline: 2px solid var(--dashboard-action); outline-offset: 3px; }
#dashboard-detail { box-sizing: border-box; position: fixed; inset: 12px 12px 12px auto; width: min(960px,calc(100vw - 24px)); height: calc(100dvh - 24px); max-width: none; max-height: none; margin: 0; padding: 28px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--dashboard-border); border-radius: 16px; background: var(--dashboard-surface); color: var(--dashboard-text); box-shadow: 0 16px 80px #0003; }
#dashboard-detail::backdrop { background: #0d172c80; }
.dashboard-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.dashboard-detail-heading > div { min-width: 0; }
.dashboard-detail-heading h2 { margin: 5px 0 0; font-size: clamp(22px,3vw,30px); letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
.dashboard-detail-eyebrow { margin: 0; color: var(--dashboard-muted); font-size: 12px; }
.dashboard-detail-context { margin: 18px 0 24px; color: var(--dashboard-muted); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.dashboard-detail-total { margin: 0 0 20px; font-size: clamp(26px,4vw,40px); letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dashboard-detail-note { margin: 18px 0; padding: 12px 14px; border-left: 3px solid var(--dashboard-border); color: var(--dashboard-muted); background: var(--dashboard-bg); font-size: 12px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.dashboard-detail-note:empty { display: none; }
.dashboard-detail-toolbar, .dashboard-detail-table-tools { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; margin: 22px 0; }
#dashboard-detail label { display: grid; min-width: 0; gap: 7px; color: var(--dashboard-muted); font-size: 12px; }
.dashboard-detail-toolbar label, .dashboard-detail-table-tools label:first-child { flex: 1 1 180px; }
#dashboard-detail select, #dashboard-detail input { box-sizing: border-box; width: 100%; min-height: 40px; min-width: 0; padding: 8px 10px; border: 1px solid var(--dashboard-border); border-radius: 7px; color: var(--dashboard-text); background: var(--dashboard-bg); font: inherit; font-size: 13px; }
.dashboard-detail-modes { display: flex; gap: 4px; padding: 3px; border-radius: 8px; background: var(--dashboard-bg); }
.dashboard-detail-modes button { min-height: 34px; padding: 6px 15px; border: 1px solid transparent; border-radius: 6px; color: var(--dashboard-muted); background: transparent; font: inherit; font-size: 13px; touch-action: manipulation; }
.dashboard-detail-modes button[aria-pressed="true"] { border-color: var(--dashboard-border); color: var(--dashboard-action); background: var(--dashboard-surface); }
.dashboard-detail-modes button:hover { color: var(--dashboard-action); }
.dashboard-detail-modes button:disabled { opacity: .5; cursor: not-allowed; }
#dashboard-detail-chart .dashboard-chart { max-height: none; }
#dashboard-detail-chart .dashboard-donut { width: 290px; flex-basis: 290px; }
#dashboard-detail-chart .dashboard-legend { max-height: none; }
#dashboard-detail-chart .bar-label { white-space: normal; overflow-wrap: anywhere; }
#dashboard-detail-chart .dashboard-bars { gap: 22px; }
#dashboard-detail-count { color: var(--dashboard-muted); font-size: 12px; }
.dashboard-detail-table-scroll { width: 100%; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--dashboard-border); border-radius: 8px; }
.dashboard-detail-table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.6; }
.dashboard-detail-table caption { padding: 12px 14px; text-align: left; color: var(--dashboard-muted); font-size: 12px; overflow-wrap: anywhere; }
.dashboard-detail-table th, .dashboard-detail-table td { padding: 12px 14px; border-top: 1px solid var(--dashboard-border); text-align: left; overflow-wrap: anywhere; }
.dashboard-detail-table th { background: var(--dashboard-bg); color: var(--dashboard-muted); font-weight: 550; }
.dashboard-detail-table td:nth-child(2), .dashboard-detail-table th:nth-child(2) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-detail-table td:first-child { min-width: 100px; max-width: 400px; }
.dashboard-detail-table tbody tr:nth-child(even) { background: var(--dashboard-bg); }
.dashboard-detail-table tbody tr { content-visibility: auto; contain-intrinsic-size: auto 48px; }
@media (max-width:760px) {
  .dashboard-heading { flex-direction: column; gap: 12px; }
  #dashboard-detail { inset: 0; width: 100%; height: 100dvh; border: 0; border-radius: 0; padding: max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  .dashboard-detail-table-tools > label, .dashboard-detail-table-tools > button { flex: 1 1 100%; }
  .dashboard-detail-heading { gap: 10px; }
}

/* Keep native selection semantics while theming the field and its top-layer picker. */
#dashboard-view select { min-height: 40px; padding: 9px 12px; cursor: pointer; font-family: inherit; text-align: start; }
#dashboard-view select:hover:not(:disabled) { border-color: var(--dashboard-action); }
#dashboard-view select:disabled { cursor: not-allowed; opacity: .55; }
#dashboard-view select option { background: var(--dashboard-surface); color: var(--dashboard-text); }
@supports (appearance: base-select) {
  #dashboard-view select, #dashboard-view select::picker(select) { appearance: base-select; }
  #dashboard-view select { align-items: center; gap: 12px; }
  #dashboard-view select:open { border-color: var(--dashboard-action); }
  #dashboard-view select::picker-icon { flex: none; color: var(--dashboard-muted); transition: rotate 140ms ease; }
  #dashboard-view select:open::picker-icon { rotate: 180deg; color: var(--dashboard-action); }
  #dashboard-view select::picker(select) {
    box-sizing: border-box; max-inline-size: calc(100vw - 32px); max-block-size: min(320px,60dvh);
    margin-block: 6px; padding: 5px; overflow: auto; overscroll-behavior: contain;
    border: 1px solid var(--dashboard-border); border-radius: 10px;
    background: var(--dashboard-surface); color: var(--dashboard-text);
    box-shadow: 0 10px 28px color-mix(in srgb,var(--dashboard-text) 16%,transparent);
    font-family: inherit; font-size: 13px; line-height: 1.5;
    scrollbar-color: var(--dashboard-border) var(--dashboard-surface);
  }
  #dashboard-view select option {
    display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 10px 12px;
    border: 0; border-radius: 6px; white-space: normal; overflow-wrap: anywhere;
  }
  #dashboard-view select option:checked { background: var(--dashboard-soft); color: var(--dashboard-action); font-weight: 600; }
  #dashboard-view select option:hover, #dashboard-view select option:focus-visible {
    background: var(--dashboard-soft); color: var(--dashboard-text);
    outline: 1px solid var(--dashboard-action); outline-offset: -1px;
  }
  #dashboard-view select option::checkmark { order: 1; margin-inline-start: auto; color: var(--dashboard-action); }
}
@media (prefers-reduced-motion: reduce) { #dashboard-view select::picker-icon { transition: none; } }

/* Inspection uses the same surface and ink tokens as each dashboard theme. */
.dashboard-plot { position: relative; min-width: 0; }
.dashboard-chart[tabindex] { cursor: crosshair; touch-action: pan-y; border-radius: 6px; }
.chart-crosshair { pointer-events: none; }
.chart-crosshair line { stroke: var(--dashboard-action); stroke-width: 1; stroke-dasharray: 4 4; opacity: .65; vector-effect: non-scaling-stroke; }
.dashboard-chart .chart-crosshair-marker { fill: var(--dashboard-surface); stroke: var(--dashboard-action); stroke-width: 2.5; }
.dashboard-chart-tooltip { position: absolute; z-index: 2; box-sizing: border-box; width: max-content; max-width: min(260px,calc(100% - 16px)); padding: 12px 14px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: var(--dashboard-surface); color: var(--dashboard-text); box-shadow: 0 8px 24px color-mix(in srgb,var(--dashboard-text) 15%,transparent); pointer-events: none; font-family: inherit; line-height: 1.5; overflow-wrap: anywhere; }
.chart-tooltip-metric, .chart-tooltip-label, .chart-tooltip-value { display: block; }
.chart-tooltip-metric { color: var(--dashboard-muted); font-size: 11px; }
.chart-tooltip-label { margin-top: 3px; font-size: 12px; }
.chart-tooltip-value { margin-top: 6px; font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.dashboard-bars li[tabindex], .dashboard-legend li[tabindex] { border-radius: 5px; }

/* Date selection stays inside the app palette instead of the browser calendar popup. */
.dashboard-date-filter { display: flex; align-items: center; gap: 8px; }
.dashboard-date-control { position: relative; display: inline-flex; min-width: 0; }
.dashboard-date-control input[type="date"] { width: 154px; padding-right: 35px; }
.dashboard-date-control input::-webkit-calendar-picker-indicator { display: none; }
.dashboard-date-control > button { position: absolute; inset: 2px 2px 2px auto; display: grid; place-items: center; width: 31px; padding: 0; border: 0; border-radius: 6px; color: var(--dashboard-action); background: transparent; }
.dashboard-date-control > button:hover { background: var(--dashboard-soft); }
#dashboard-calendar { box-sizing: border-box; position: fixed; inset: auto; width: 320px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); margin: 0; padding: 16px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--dashboard-border); border-radius: 12px; color: var(--dashboard-text); background: var(--dashboard-surface); box-shadow: 0 12px 40px color-mix(in srgb,var(--dashboard-text) 20%,transparent); font: inherit; }
#dashboard-calendar::backdrop { background: #0d172c29; }
.dashboard-calendar-heading { min-height: 0; padding: 0; border: 0; z-index: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.dashboard-calendar-heading h2 { margin: 0; font-size: 14px; font-weight: 600; }
#dashboard-calendar button { min-width: 0; font-family: inherit; touch-action: manipulation; }
.dashboard-calendar-heading button, .dashboard-calendar-navigation > button { display: grid; place-items: center; min-height: 36px; padding: 0; border: 1px solid transparent; border-radius: 7px; color: var(--dashboard-muted); background: transparent; font-size: 23px; }
.dashboard-calendar-heading button { width: 32px; }
.dashboard-calendar-heading button:hover, .dashboard-calendar-navigation > button:hover { color: var(--dashboard-action); background: var(--dashboard-soft); }
.dashboard-calendar-navigation { display: grid; grid-template-columns: 32px minmax(0,1fr) 32px; align-items: center; gap: 6px; margin-bottom: 14px; }
.dashboard-calendar-period { display: grid; grid-template-columns: minmax(0,1fr) 64px; gap: 6px; min-width: 0; }
#dashboard-calendar select, #dashboard-calendar-year { box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; padding: 7px; border: 1px solid var(--dashboard-border); border-radius: 7px; color: var(--dashboard-text); background: var(--dashboard-bg); font: inherit; font-size: 13px; }
#dashboard-calendar-year { appearance: textfield; text-align: center; font-variant-numeric: tabular-nums; }
#dashboard-calendar-year::-webkit-inner-spin-button { appearance: none; }
#dashboard-calendar-year[aria-invalid="true"] { border-color: var(--dashboard-negative); }
.dashboard-calendar-weekdays, .dashboard-calendar-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; }
.dashboard-calendar-weekdays { margin-bottom: 7px; color: var(--dashboard-muted); text-align: center; font-size: 11px; }
.dashboard-calendar-days button { min-height: 36px; padding: 5px 0; border: 1px solid transparent; border-radius: 7px; color: var(--dashboard-text); background: transparent; font-size: 13px; font-variant-numeric: tabular-nums; }
.dashboard-calendar-days button[data-outside="true"] { color: var(--dashboard-muted); }
.dashboard-calendar-days button[aria-current="date"] { border-color: var(--dashboard-action); }
.dashboard-calendar-days button:hover:not(:disabled) { background: var(--dashboard-soft); color: var(--dashboard-action); }
.dashboard-calendar-days button[aria-pressed="true"] { background: var(--dashboard-action); color: var(--dashboard-action-ink); font-weight: 650; }
.dashboard-calendar-days button[aria-pressed="true"]:hover { background: var(--dashboard-action-hover); color: var(--dashboard-action-ink); }
.dashboard-calendar-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dashboard-border); }
.dashboard-calendar-actions button { min-height: 36px; padding: 7px 10px; border: 1px solid transparent; border-radius: 7px; color: var(--dashboard-action); background: transparent; font-size: 12px; font-weight: 600; }
.dashboard-calendar-actions button:hover { background: var(--dashboard-soft); }
#dashboard-calendar-error { margin: 8px 0 0; color: var(--dashboard-negative); font-size: 12px; line-height: 1.5; }
#dashboard-calendar-error:empty { display: none; }
@media (max-width:600px) { #dashboard-calendar { width: min(356px,calc(100vw - 24px)); } .dashboard-calendar-days button { min-height: 40px; } }

@media (max-width:760px) { .dashboard-date-control input[type="date"] { width: 132px; } }

@media (max-width:1000px) {
  .dashboard-metric .dashboard-grid > .dashboard-panel { grid-column: 1 / -1; }
}
@media (max-width:600px) {
  .dashboard-metric-heading { gap: 12px; }
  .dashboard-metric-name { flex-basis: 100%; }
  .dashboard-metric-value { flex: 1; }
  .dashboard-metric-title { font-size: 18px; }
}

.dashboard-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 14px; margin-bottom: 28px; }
.dashboard-summary:empty { display: none; }
.dashboard-summary-card { display: grid; grid-template-rows: 1fr auto auto; min-width: 0; padding: 18px 20px; border: 1px solid var(--dashboard-border); border-top: 3px solid var(--metric-accent); border-radius: 12px; background: var(--dashboard-surface); }
.dashboard-summary-head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 18px; }
.dashboard-summary-title { flex: 1; min-width: 0; margin: 0; font-size: 13px; line-height: 1.6; font-weight: 550; overflow-wrap: anywhere; }
.dashboard-summary-card > strong { display: block; font-size: clamp(26px,3vw,34px); line-height: 1.2; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.03em; overflow-wrap: anywhere; }
.dashboard-summary-card > small { display: block; margin-top: 8px; color: var(--dashboard-muted); font-size: 12px; }

.dashboard-detail-ask { margin-top: 28px; padding: 20px; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-bg); }
.dashboard-detail-ask h3 { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
#dashboard-detail-ask-context { margin: 0 0 18px; font-size: 12px; line-height: 1.6; color: var(--dashboard-muted); overflow-wrap: anywhere; }
.dashboard-detail-ask label { display: block; margin-bottom: 8px; font-size: 13px; }
.dashboard-detail-ask textarea { box-sizing: border-box; width: 100%; min-height: 104px; max-height: 240px; resize: vertical; padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 8px; background: var(--dashboard-surface); color: var(--dashboard-text); font: inherit; line-height: 1.6; }
.dashboard-detail-ask-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; }
.dashboard-detail-ask-actions span { font-size: 11px; color: var(--dashboard-muted); }
#dashboard-detail-ask-submit { min-height: 44px; padding: 10px 16px; border: 1px solid var(--dashboard-action); border-radius: 8px; background: var(--dashboard-action); color: var(--dashboard-action-ink); font-weight: 600; }
#dashboard-detail-ask-submit:hover { background: var(--dashboard-action-hover); }
#dashboard-detail-ask-submit:disabled { opacity: .55; cursor: wait; }
#dashboard-detail-ask-status { margin: 12px 0 0; font-size: 12px; line-height: 1.6; }
#dashboard-detail-ask-status:empty { display: none; }
.widget-attachment-dialog { position: fixed; inset: 0; box-sizing: border-box; width: min(960px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid var(--dashboard-border); border-radius: 12px; overscroll-behavior: contain; }
.widget-attachment-dialog::backdrop { background: var(--overlay); }
.widget-attachment-heading { display: flex; align-items: flex-start; gap: 16px; }
.widget-attachment-heading h2 { flex: 1; min-width: 0; margin: 0; font-size: 22px; overflow-wrap: anywhere; }
.widget-attachment-heading button { min-height: 42px; border: 1px solid var(--dashboard-border); border-radius: 8px; padding: 8px 12px; color: var(--dashboard-action); background: var(--dashboard-surface); }
.widget-attachment-heading button:hover { background: var(--dashboard-soft); }
#widget-attachment-parameters, #widget-attachment-limits { color: var(--dashboard-muted); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
#widget-attachment-body { margin: 22px 0; overflow: auto; }
.widget-attachment-dialog :focus-visible { outline: 2px solid var(--dashboard-action); outline-offset: 3px; }
@media (max-width:600px) {
  .dashboard-detail-ask { padding: 16px; }
  #dashboard-detail-ask-submit { width: 100%; }
  .widget-attachment-dialog { width: 100vw; max-width: none; max-height: 100dvh; height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: 20px 16px; }
  .widget-attachment-heading { flex-wrap: wrap; }
}


/* Templates use the chat palette; Dashboard keeps its own calendar palette. */
#dashboard-calendar[data-scope="templates"] {
  --dashboard-bg: var(--canvas); --dashboard-surface: var(--surface-raised);
  --dashboard-border: var(--line-strong); --dashboard-text: var(--text);
  --dashboard-muted: var(--muted); --dashboard-action: var(--accent);
  --dashboard-action-hover: var(--accent-hover); --dashboard-action-ink: var(--accent-ink);
  --dashboard-soft: var(--accent-soft); --dashboard-negative: var(--danger);
}
.dashboard-calendar-time { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: end; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--dashboard-border); }
.dashboard-calendar-time[hidden], #dashboard-calendar-apply[hidden] { display: none; }
.dashboard-calendar-time label { display: grid; gap: 6px; min-width: 0; color: var(--dashboard-muted); font-size: 11px; }
.dashboard-calendar-time input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; padding: 8px; border: 1px solid var(--dashboard-border); border-radius: 7px; background: var(--dashboard-bg); color: var(--dashboard-text); text-align: center; font: inherit; font-size: 15px; font-variant-numeric: tabular-nums; }
.dashboard-calendar-time > span { padding-bottom: 11px; color: var(--dashboard-muted); }
#dashboard-calendar #dashboard-calendar-apply { background: var(--dashboard-action); color: var(--dashboard-action-ink); }
#dashboard-calendar #dashboard-calendar-apply:hover { background: var(--dashboard-action-hover); }
#dashboard-calendar :is(button, input, select):focus-visible { outline: 2px solid var(--dashboard-action); outline-offset: 2px; }
