/* One-page dashboard, using the application's existing surfaces and colors. */
[data-view="dashboard"] { gap:24px; }
.dashboard-project-view { display:grid; gap:inherit; min-width:0; }
.dashboard-portfolio-visible :is(#project-list-filter,#project-select,#project-access-note,#project-server-agent-status) { display:none; }
.dashboard-scope-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.dashboard-scope-tabs > button[aria-selected="true"] { border-color:var(--accent); background:var(--accent-soft); }
.dashboard-scope-tabs > button, .dashboard-portfolio-actions > button { min-height:44px; }
.dashboard-portfolio-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.dashboard-portfolio-metrics .metric { display:grid; gap:4px; padding:12px; }
.dashboard-portfolio-metrics .metric strong { font-size:25px; }
.dashboard-portfolio-metrics .metric span { margin:0; overflow-wrap:anywhere; }
.dashboard-portfolio-columns { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:16px; align-items:start; }
.dashboard-portfolio-columns h2 { font-size:17px; margin:0 0 8px; }
.dashboard-portfolio-project-head { flex-wrap:wrap; }
.dashboard-portfolio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.dashboard-portfolio-actions > button[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); }
#dashboard-portfolio-pages { justify-content:space-between; margin-top:12px; }
.dashboard-portfolio-value { font-size:13px; overflow-wrap:anywhere; }
.dashboard-portfolio-value[data-tone="warn"] { color:#f1bd67; }
.dashboard-portfolio-value[data-tone="ok"] { color:#63d4a3; }
.dashboard-portfolio-columns summary { min-height:36px; padding-top:8px; }
.dashboard-portfolio-columns p { margin:4px 0; }
@media(max-width:750px) {
  .dashboard-portfolio-columns { grid-template-columns:minmax(0,1fr); }
  .dashboard-portfolio-project-head { flex-direction:row; }
}
@media(max-width:360px) {
  .dashboard-portfolio-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-portfolio-metrics > :last-child { grid-column:1/-1; }
}
.dashboard-heading h1 { margin:0 0 6px; font-size:26px; }
.dashboard-heading p { margin:0; }
.dashboard-refresh { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; }
.dashboard-area { display:grid; gap:16px; min-width:0; }
.dashboard-area[hidden] { display:none; }
.dashboard-area > .section-head { margin-bottom:0; }
.dashboard-area > .section-head h2, .dashboard-sections > h2 { margin:0; }
.dashboard-area h3 { font-size:16px; margin:0; }
.dashboard-area h4 { font-size:13px; margin:0; color:var(--muted); }
.dashboard-sections { display:grid; gap:12px; min-width:0; border-top:1px solid var(--line); padding-top:16px; }
.dashboard-section-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.dashboard-section-tabs > .ghost-button { display:flex; justify-content:center; align-items:center; gap:5px; min-height:44px; min-width:0; padding:7px 4px; }
.dashboard-section-tabs > [aria-selected="true"] { border-color:var(--accent); background:var(--accent-soft); color:var(--text); }
.dashboard-section-badge { display:inline-grid; place-items:center; flex:none; min-width:18px; height:18px; padding:0 4px; border-radius:10px; background:var(--accent); color:var(--bg); font-size:11px; font-weight:700; }
.dashboard-section-badge[hidden] { display:none; }
.dashboard-section-dot { min-width:7px; height:7px; padding:0; }
.dashboard-section-alert { background:#f1bd67; }
.dashboard-project-area > .hero { order:0; margin:0; grid-template-columns:repeat(4,minmax(0,1fr)); }
.dashboard-area .panel { margin:0; min-width:0; }
.dashboard-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.dashboard-personal-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.dashboard-personal-metric { display:grid; gap:4px; padding:10px 12px; text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:8px; color:var(--text); min-width:0; }
.dashboard-personal-metric strong { font-size:24px; line-height:1.1; font-variant-numeric:tabular-nums; }
.dashboard-personal-metric span { color:var(--muted); font-size:13px; }
.dashboard-personal-metric[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); }
.dashboard-personal-metric.has-overdue strong { color:#f1bd67; }
.dashboard-area .dashboard-priorities { padding:12px 14px; }
.dashboard-priorities > .section-head, .dashboard-area > .dashboard-personal-head { flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
#dashboard-work-count { font-size:12px; }
.dashboard-priority-actions { display:flex; flex-wrap:wrap; gap:8px; }
.dashboard-priority-actions > button { font-size:12px; padding:7px 9px; margin-top:9px; }
.dashboard-priority-actions > [aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); }
.dashboard-list { display:grid; min-width:0; }
.dashboard-list > .empty { font-size:13px; }
.dashboard-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; padding:12px 0; border-bottom:1px solid var(--line); min-width:0; }
.dashboard-row-main { display:grid; gap:4px; min-width:0; flex:1 1 170px; }
.dashboard-row-main > strong { font-size:14px; overflow-wrap:anywhere; }
.dashboard-row-main > .muted { font-size:12px; overflow-wrap:anywhere; }
.dashboard-row-button { width:100%; text-align:left; border-top:0; border-left:0; border-right:0; border-radius:0; background:transparent; color:var(--text); font:inherit; }
.dashboard-row-button:hover { background:var(--accent-soft); }
.dashboard-list > .text-link { justify-self:start; margin-top:12px; }
.dashboard-message-group { min-width:0; }
.dashboard-message-group .section-head { font-size:13px; margin-bottom:0; }
.dashboard-new-count { display:inline-block; color:var(--accent); font-size:12px; margin-left:6px; }
.dashboard-transfer { display:grid; gap:6px; margin:12px 0; color:var(--muted); font-size:12px; }
.dashboard-warning { color:#f1bd67; font-size:12px; }
.dashboard-scope { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; white-space:nowrap; flex-shrink:0; }
.dashboard-department { display:grid; gap:8px; width:100%; padding:12px 0; background:transparent; border:0; border-bottom:1px solid var(--line); color:var(--text); text-align:left; font:inherit; }
.dashboard-department > span { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; }
.dashboard-department .muted { font-size:12px; }
.dashboard-department small { font-size:11px; }
.dashboard-department:hover { background:var(--accent-soft); }
.dashboard-area progress { width:100%; height:6px; border:0; border-radius:4px; overflow:hidden; background:var(--line); accent-color:var(--accent); }
.dashboard-area progress::-webkit-progress-bar { background:var(--line); }
.dashboard-area progress::-webkit-progress-value { background:var(--accent); border-radius:4px; }
.dashboard-area progress::-moz-progress-bar { background:var(--accent); border-radius:4px; }
.dashboard-recent-scenes > summary { font-weight:600; }
.dashboard-recent-scenes[open] > summary { margin-bottom:16px; }
.dashboard-agent-status { position:relative; font-size:12px; color:var(--muted); max-width:245px; flex-shrink:0; }
.dashboard-agent-status summary { display:flex; align-items:center; gap:6px; list-style:none; padding:8px 0; }
.dashboard-agent-status summary::-webkit-details-marker { display:none; }
.dashboard-agent-status[data-status="online"] summary { color:#63d4a3; }
.dashboard-agent-status[data-status="offline"] summary { color:#f1bd67; }
.dashboard-agent-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
.dashboard-agent-detail { position:absolute; top:100%; right:0; width:240px; max-width:80vw; z-index:50; padding:14px; background:var(--panel); border:1px solid var(--line); border-radius:8px; color:var(--text); box-shadow:var(--shadow); }
.dashboard-agent-detail p { margin:8px 0 0; font-size:12px; }
.dashboard-agent-status summary { white-space:nowrap; }
@media(min-width:1100px) { #dashboard-departments { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; } }
@media(max-width:900px) {
  .dashboard-project-area > .hero { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-agent-status { grid-column:1/-1; grid-row:3; justify-self:start; }
  .app-topbar .app-topbar-nav { grid-row:4; }
  .app-topbar .topbar-logout-button { grid-row:5; }
}
@media(max-width:650px) {
  [data-view="dashboard"] { gap:14px; }
  .dashboard-area { gap:10px; }
  .dashboard-columns { grid-template-columns:minmax(0,1fr); }
  .dashboard-sections { padding-top:12px; gap:10px; }
  .dashboard-section-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .dashboard-section-tabs > .ghost-button { font-size:13px; }
  .dashboard-personal-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .dashboard-heading h1 { font-size:23px; margin-bottom:0; }
  .dashboard-heading.section-head { gap:4px; }
  .dashboard-refresh > button { padding:5px 9px; }
  .dashboard-priorities .dashboard-row { padding:8px 0; }
  .dashboard-project-area .metric { padding:12px; }
  .dashboard-scope { flex-wrap:wrap; }
  .dashboard-scope select { width:100%; }
  .dashboard-agent-status { max-width:100%; }
  .dashboard-agent-status summary { padding:5px 0; }
  .dashboard-agent-detail { right:0; }
}
