/* Extend the existing region panel across the map card for readable item amounts. */
.dashboard-charts { align-items:start; }
.dashboard-map-body > .dashboard-region-panel { display:contents; }
.dashboard-region-summary { display:flex; flex-direction:column; min-width:0; gap:16px; padding:22px 19px; border-left:1px solid var(--bd); background:#fff; }
.dashboard-region-actions { display:grid; gap:8px; margin-top:auto; }
.dashboard-region-actions .btn { width:100%; white-space:normal; min-height:36px; font-size:10.5px; }
.dashboard-item-panel { grid-column:1 / -1; min-width:0; padding:20px 22px 18px; border-top:1px solid var(--bd); background:#fff; border-radius:0 0 13px 13px; }
.dashboard-item-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; flex-wrap:wrap; margin-bottom:14px; }
.dashboard-item-heading h3 { margin:0; color:var(--ink); font-size:15px; }
.dashboard-item-heading p { margin-top:5px; max-width:510px; font-size:11px; color:var(--ink-m); line-height:1.6; }
.dashboard-item-heading > span { padding:5px 8px; background:var(--sunken); border-radius:6px; color:var(--ink-s); font-size:10px; white-space:nowrap; }
.dashboard-items { min-width:0; }
.dashboard-item-scroll { max-height:410px; overflow:auto; border:1px solid var(--bd); border-radius:9px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.dashboard-item-scroll:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.dashboard-items .dashboard-item-table { width:100%; min-width:620px; border-collapse:separate; border-spacing:0; font-size:11px; }
.dashboard-items .dashboard-item-table th,.dashboard-items .dashboard-item-table td { padding:10px 11px; border-bottom:1px solid var(--bd); background:#fff; vertical-align:middle; }
.dashboard-items .dashboard-item-table thead th { position:sticky; top:0; z-index:2; padding:0; background:#f0f5f4; }
.dashboard-item-table thead button { display:block; width:100%; border:0; padding:12px 11px; background:transparent; text-align:right; color:var(--ink-s); font-size:9px; font-weight:800; white-space:nowrap; }
.dashboard-item-table thead th:first-child button { text-align:left; }
.dashboard-item-table thead button:hover,.dashboard-item-table thead button:focus-visible { color:var(--primary); background:#e3f1ed; }
.dashboard-item-table thead th[aria-sort="ascending"] button,.dashboard-item-table thead th[aria-sort="descending"] button { color:var(--primary); }
.dashboard-items .dashboard-item-table tbody th { text-align:left; text-transform:none; letter-spacing:normal; min-width:125px; max-width:210px; white-space:normal; }
.dashboard-item-table tbody th strong { font-size:11px; }
.dashboard-item-table tbody th small { display:block; margin-top:5px; color:var(--ink-m); font-size:10px; line-height:1.6; font-weight:400; }
.dashboard-items .dashboard-item-table td,.dashboard-items .dashboard-item-table tfoot td { text-align:right; font-family:Consolas,"Courier New",monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dashboard-items .dashboard-item-table tfoot th,.dashboard-items .dashboard-item-table tfoot td { background:#edf5f1; font-weight:800; border-bottom:0; }
.dashboard-items .dashboard-item-table tfoot th { text-align:left; text-transform:none; font-size:10px; letter-spacing:0; }
.dashboard-item-table tbody tr.complete > th strong { color:var(--ink-m); }
.dashboard-item-table .remaining.available { color:var(--amb); font-weight:700; }
.dashboard-item-table .remaining.complete { color:var(--grn); font-weight:700; }
.dashboard-item-table .remaining.over,.dashboard-item-coverage.over { color:var(--red); font-weight:800; }
.dashboard-item-coverage { display:flex; align-items:center; gap:8px; min-width:105px; font-family:inherit; font-variant-numeric:tabular-nums; font-size:10px; }
.dashboard-item-track { display:block; flex:1; min-width:43px; height:6px; overflow:hidden; border-radius:6px; background:#e8eeeb; }
.dashboard-item-track i { display:block; height:100%; border-radius:inherit; }
.dashboard-item-muted { color:var(--ink-m); }
.dashboard-item-method { margin:10px 0 0; color:var(--ink-m); font-size:10px; line-height:1.6; }
.dashboard-item-loading { display:flex; align-items:center; justify-content:center; gap:8px; min-height:110px; color:var(--ink-m); font-size:12px; }
.dashboard-item-error { padding:20px 0; color:var(--ink-s); font-size:12px; line-height:1.7; }
.dashboard-item-error .btn { margin-left:8px; }
.dashboard-region-expand { display:inline-grid; place-items:center; width:27px; height:27px; margin-right:8px; border:1px solid var(--bd); border-radius:6px; background:#f5f9f7; color:var(--primary); font-size:14px; vertical-align:middle; }
.dashboard-region-expand:hover,.dashboard-region-expand[aria-expanded="true"] { background:#dff0e9; border-color:#b8d9cd; }
.dashboard-region-table .dashboard-item-expanded > td { padding:18px 22px; background:#f4f8f6; }
.dashboard-item-expanded h3 { margin:0 0 12px; color:var(--ink); font-size:14px; }
.dashboard-item-expanded .dashboard-item-scroll { max-height:350px; }
.dashboard-item-table .sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:720px) { .dashboard-region-summary { padding:18px 14px; } .dashboard-item-panel { padding:18px 14px; } .dashboard-region-table .dashboard-item-expanded > td { padding:15px 12px; } }
@media(max-width:480px) { .dashboard-region-summary { border-left:0; border-top:1px solid var(--bd); } .dashboard-item-scroll { max-height:360px; } .dashboard-region-actions .btn { min-height:40px; } }
