.dashboard-overview-grid { align-items: stretch; }
.dashboard-overview-grid > .panel { display: flex; flex-direction: column; height: 360px; overflow-y: auto; }
.dashboard-overview-grid > .panel > .panel-title { flex: 0 0 auto; }
.dashboard-project-title-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.dashboard-project-title-actions span { flex: 0 0 auto; }
.dashboard-project-title-actions .ghost-link-button { min-height: 30px; padding: 0 10px; }
.dashboard-site-list { display: grid; gap: 10px; flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-right: 6px; }
.dashboard-site-list::after { content: ""; position: sticky; bottom: -1px; height: 14px; margin-top: -14px; background: linear-gradient(180deg, transparent, rgba(13,24,20,.88)); pointer-events: none; }
.dashboard-site-list a { display: grid; gap: 4px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); text-decoration: none; }
.dashboard-site-list strong { color: var(--fb-dark-text); }
.dashboard-site-list span { color: #9eb0a6; font-size: 12px; }
.dashboard-readiness-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dashboard-readiness-summary div { padding: 10px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.dashboard-readiness-summary span,
.dashboard-readiness-summary strong { display: block; }
.dashboard-readiness-summary span { color: var(--fb-dark-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.dashboard-readiness-summary strong { margin-top: 3px; color: #eef7ef; font-size: 24px; line-height: 1; }
.dashboard-link-group { display: grid; gap: 10px; margin-top: 18px; }
.dashboard-link-group h3 { margin: 0; color: #f0d282; }
.dashboard-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dashboard-link-card { display: grid; grid-template-rows: auto auto 1fr auto auto auto; gap: 9px; min-height: 245px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.09); color: var(--fb-dark-text); transition: opacity .15s ease, transform .15s ease, border-color .15s ease; }
.dashboard-link-card:hover { transform: translateY(-1px); border-color: rgba(123,213,111,.32); }
.dashboard-link-card.is-hidden { opacity: .58; border-style: dashed; }
.dashboard-link-card-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dashboard-link-card strong { color: #f7fff8; font-size: 18px; line-height: 1.16; }
.dashboard-link-card p { margin: 0; color: #aebdb4; font-size: 12px; line-height: 1.42; }
.dashboard-link-card .ghost-link-button { justify-self: start; align-self: end; }
.dashboard-truth-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); color: var(--fb-dark-text); background: rgba(255,255,255,.06); font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.truth-live { color: #c8f7bd; background: rgba(123,213,111,.16); border-color: rgba(123,213,111,.38); }
.truth-imported { color: #f0d282; background: rgba(232,179,79,.16); border-color: rgba(232,179,79,.36); }
.truth-derived { color: #d8e5ff; background: rgba(122,167,255,.16); border-color: rgba(122,167,255,.36); }
.truth-sample { color: #ffc8f3; background: rgba(240,107,216,.14); border-color: rgba(240,107,216,.34); }
.truth-estimated { color: #c6f4fb; background: rgba(155,223,233,.13); border-color: rgba(155,223,233,.34); }
.dashboard-progress { height: 8px; border-radius: 999px; background: rgba(255,255,255,.07); overflow: hidden; border: 1px solid rgba(255,255,255,.06); }
.dashboard-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7bd56f, #e8b34f); }
.dashboard-link-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--fb-dark-muted); font-size: 11px; line-height: 1.25; }
.dashboard-link-meta span:last-child { color: #9bdfe9; text-align: right; overflow-wrap: anywhere; }
.dashboard-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dashboard-note-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.dashboard-note-grid strong { display: block; color: #eef7ef; margin-bottom: 6px; }
.dashboard-note-grid p { margin: 0; font-size: 13px; }
.dashboard-category-grid { display: block; columns: 2 420px; column-gap: 14px; margin-top: 14px; }
.dashboard-category-card { display: block; break-inside: avoid; overflow: visible; min-height: 178px; margin: 0 0 14px; }
.dashboard-category-card[open] { height: auto; }
.dashboard-category-summary { display: block; cursor: pointer; list-style: none; }
.dashboard-category-summary::-webkit-details-marker { display: none; }
.dashboard-category-summary .catalogue-category-header { margin-bottom: 8px; }
.dashboard-category-summary p { margin: 0 0 12px; color: #cbd8d0; line-height: 1.48; }
.dashboard-category-card:not([open]) .dashboard-category-summary p { margin-bottom: 0; }
.dashboard-category-card:not([open]) .catalogue-category-header { margin-bottom: 0; }
.dashboard-collapse-indicator { position: relative; width: 64px; height: 64px; flex: 0 0 64px; }
.dashboard-collapse-indicator::before { content: ""; width: 16px; height: 16px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(225deg) translate(-2px, -2px); transition: transform .16s ease; }
.dashboard-category-card:not([open]) .dashboard-collapse-indicator::before { transform: rotate(45deg) translate(-3px, -3px); }
.dashboard-tool-list { min-height: 0; overflow: visible; padding-top: 2px; padding-right: 0; }
.dashboard-tool-row { grid-template-columns: 34px minmax(0, 1fr) minmax(250px, auto); align-items: center; }
.dashboard-tool-row.is-disabled { opacity: .64; border-style: dashed; cursor: not-allowed; }
.dashboard-tool-row.is-disabled strong,
.dashboard-tool-row.is-disabled small { color: #8c9b92; }
.dashboard-tool-row .catalogue-check { width: 28px; height: 28px; border-radius: 999px; font-size: 15px; }
.dashboard-tool-tags { align-items: center; justify-content: flex-end; }
.dashboard-tool-tags em,
.dashboard-tool-tags .dashboard-truth-badge { min-height: 24px; padding: 0 8px; font-size: 10px; }
.primary-button.full { width: 100%; margin-top: 16px; }
.ghost-button.full { width: 100%; margin-top: 10px; }
.drawer-cta { margin-top: 10px; width: 100%; }
