.project-dashboard {
  --panel-ink: var(--ictus-blue);
  --panel-muted: var(--project-muted);
  --panel-green: var(--ictus-healthy-fill);
  --panel-red: var(--ictus-critical-text);
  --panel-purple: #7752bd;
  padding: 24px;
  color: var(--panel-ink);
}
body.theme-dark .project-dashboard { --panel-ink: var(--ictus-screen); --panel-red: var(--ictus-critical-on-dark); --panel-purple: #b29ade; }
.project-panel-heading, .project-panel-mini-summary, .project-panel-pagination, .project-panel-pagination > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-panel-heading { margin-bottom: 20px; }
.project-dashboard .project-panel-heading h4 { margin: 3px 0 5px; font-size: 1.2rem; font-weight: 800; color: var(--panel-ink); }
.project-dashboard .project-panel-heading p { margin: 0; color: var(--panel-muted); font-size: .78rem; }
.project-dashboard .visitors-dashboard__eyebrow { color: var(--panel-muted); }
.project-panel-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.project-dashboard button.project-panel-kpi, body.theme-dark .project-dashboard button.project-panel-kpi {
  position: relative; overflow: hidden; padding: 17px 16px; border: 1px solid var(--project-line); border-radius: 10px;
  background: var(--project-panel); box-shadow: 0 3px 10px rgba(0, 25, 52, .035); text-align: left; color: var(--panel-ink);
}
.project-panel-kpi::before { position: absolute; inset: 0 0 auto; height: 3px; content: ''; background: var(--panel-accent); }
.project-panel-kpi.tone-navy { --panel-accent: var(--panel-ink); }
.project-panel-kpi.tone-healthy { --panel-accent: var(--panel-green); }
.project-panel-kpi.tone-cyan { --panel-accent: var(--ictus-cyan); }
.project-panel-kpi.tone-critical { --panel-accent: var(--panel-red); }
.project-panel-kpi.tone-attention { --panel-accent: var(--ictus-attention-fill); }
.project-dashboard .project-panel-kpi > span { display: flex; justify-content: space-between; gap: 8px; font-size: .7rem; font-weight: 800; text-transform: uppercase; color: var(--panel-muted); min-height: 34px; }
.project-dashboard .project-panel-kpi > strong { display: block; margin: 8px 0 5px; font-size: 2rem; font-weight: 850; line-height: 1; color: var(--panel-accent); font-variant-numeric: tabular-nums; }
.project-dashboard .project-panel-kpi.tone-cyan > strong { color: var(--ictus-ocean); }
.project-dashboard .project-panel-kpi.tone-healthy > strong { color: var(--ictus-healthy-text); }
.project-dashboard .project-panel-kpi.tone-attention > strong { color: var(--ictus-attention-text); }
body.theme-dark .project-dashboard .project-panel-kpi.tone-cyan > strong { color: var(--ictus-cyan); }
body.theme-dark .project-dashboard .project-panel-kpi.tone-healthy > strong { color: var(--ictus-healthy-on-dark); }
body.theme-dark .project-dashboard .project-panel-kpi.tone-attention > strong { color: var(--ictus-attention-on-dark); }
.project-dashboard .project-panel-kpi > small { display: block; font-size: .7rem; line-height: 1.4; color: var(--panel-muted); }
.project-dashboard .project-panel-kpi > span i { color: var(--panel-accent); font-size: 1rem; }
.project-panel-insight { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid var(--project-line); border-left: 4px solid var(--ictus-cyan); border-radius: 10px; background: rgba(var(--ictus-cyan-rgb), .07); margin-bottom: 18px; }
.project-panel-insight.tone-critical { border-left-color: var(--panel-red); }
.project-panel-insight.tone-attention { border-left-color: var(--ictus-attention-fill); }
.project-panel-insight.tone-healthy { border-left-color: var(--panel-green); }
.project-panel-insight > div { flex: 1; }
.project-dashboard .project-panel-insight h5 { margin: 4px 0; color: var(--panel-ink); font-size: .94rem; font-weight: 800; }
.project-dashboard .project-panel-insight p { margin: 0; color: var(--panel-muted); font-size: .8rem; line-height: 1.5; }
.project-panel-insight > .btn { flex-shrink: 0; }
.project-panel-insight-icon, .project-panel-section-icon, .project-panel-task-icon, .project-panel-avatar, .project-panel-empty-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgba(var(--ictus-cyan-rgb), .1); color: var(--panel-ink); }
.project-panel-insight-icon { width: 42px; height: 42px; border-radius: 12px; font-size: 1.25rem; }
.project-panel-section-icon { width: 34px; height: 34px; border-radius: 10px; font-size: 1rem; }
.project-dashboard :is(.project-panel-insight-icon,.project-panel-section-icon,.project-panel-task-icon,.project-panel-avatar,.project-panel-empty-icon) > i { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; line-height: 1; }
.project-dashboard :is(.project-panel-insight-icon,.project-panel-section-icon,.project-panel-task-icon,.project-panel-avatar,.project-panel-empty-icon) > i::before { display: block; line-height: 1; }
.project-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.project-dashboard .project-panel-card { margin: 0; padding: 20px; border: 1px solid var(--project-line); border-radius: 10px; background: var(--project-panel); box-shadow: 0 3px 10px rgba(0, 25, 52, .035); min-width: 0; }
.project-dashboard .visitors-dashboard__panel-header { margin-bottom: 18px; }
.project-dashboard .visitors-dashboard__panel-header h5 { color: var(--panel-ink); font-size: .93rem; font-weight: 800; }
.project-dashboard .visitors-dashboard__panel-header p { margin-top: 5px; color: var(--panel-muted); font-size: .74rem; line-height: 1.5; font-weight: 400; }
.project-panel-progress { display: flex; align-items: center; gap: 30px; padding: 10px 0 18px; }
.project-panel-ring { display: grid; place-items: center; width: 150px; height: 150px; flex-shrink: 0; border-radius: 50%; }
.project-panel-ring > div { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 125px; height: 125px; border-radius: 50%; background: var(--project-panel); }
.project-dashboard .project-panel-ring strong { font-size: 2rem; line-height: 1.2; color: var(--panel-ink); }
.project-dashboard .project-panel-ring small { font-size: 1rem; }
.project-dashboard .project-panel-ring span { color: var(--panel-muted); font-size: .7rem; }
.project-panel-statuses { flex: 1; min-width: 0; }
.project-panel-statuses > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--project-line); font-size: .8rem; }
.project-panel-statuses > div:last-child { border: 0; }
.project-panel-statuses span, .project-panel-row-name, .project-panel-legend > span, .project-panel-task-status, .project-panel-mini-summary > span { display: flex; align-items: center; gap: 8px; }
.project-panel-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.project-dashboard .status-pendente { background: var(--ictus-lead); }
.project-dashboard .status-andamento { background: var(--ictus-cyan); }
.project-dashboard .status-bloqueada { background: var(--panel-purple); }
.project-dashboard .status-concluida { background: var(--panel-green); }
.project-panel-footnote { display: flex; align-items: flex-start; gap: 7px; padding-top: 12px; margin-top: 10px; border-top: 1px solid var(--project-line); color: var(--panel-muted); font-size: .7rem; line-height: 1.5; }
.project-panel-health { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.project-dashboard .project-panel-health button, body.theme-dark .project-dashboard .project-panel-health button { display: grid; grid-template-columns: 1fr auto; gap: 5px; padding: 12px; border: 1px solid var(--project-line); border-radius: 8px; background: var(--project-canvas); text-align: left; color: var(--panel-ink); }
.project-dashboard .project-panel-health strong { font-size: 1.4rem; line-height: 1; }
.project-dashboard .project-panel-health span { grid-column: 1 / -1; font-size: .73rem; color: var(--panel-muted); }
.project-dashboard .project-panel-health i { font-size: 1.1rem; color: var(--panel-muted); }
.project-panel-distribution { max-height: 345px; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(100, 116, 139, .35) transparent; }
.project-dashboard .project-panel-distribution-row, body.theme-dark .project-dashboard .project-panel-distribution-row { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--project-line); border-radius: 0; background: transparent; color: var(--panel-ink); padding: 14px 4px; text-align: left; }
.project-panel-row-heading, .project-panel-row-caption { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.project-panel-row-name { font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
.project-dashboard .project-panel-row-heading > strong { font-size: .85rem; }
.project-panel-stack, .project-panel-stack-load > span { display: flex; height: 7px; border-radius: 6px; overflow: hidden; }
.project-panel-stack { background: var(--project-canvas); margin: 10px 0 7px; }
.project-panel-stack > i, .project-panel-stack-load > span > i { display: block; height: 100%; }
.project-panel-row-caption { color: var(--panel-muted); font-size: .69rem; flex-wrap: wrap; gap: 5px; }
.project-dashboard .project-panel-late { color: var(--panel-red); }
.project-panel-mini-summary { margin-top: 15px; font-size: .74rem; flex-wrap: wrap; }
.project-dashboard .project-panel-person-row, body.theme-dark .project-dashboard .project-panel-person-row { display: flex; align-items: center; gap: 12px; }
.project-panel-avatar { width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--project-panel); overflow: hidden; font-size: 1rem; }
.project-panel-avatar img { width: 100%; height: 100%; object-fit: cover; }
.project-panel-person-copy { flex: 1; min-width: 0; }
.project-panel-legend { display: flex; gap: 16px; flex-wrap: wrap; color: var(--panel-muted); font-size: .72rem; margin: 14px 0 22px; }
.project-panel-checklist { margin-left: auto; }
.project-dashboard .project-panel-queue { scroll-margin-top: 175px; }
.project-panel-queue .visitors-dashboard__panel-header { align-items: center; flex-wrap: wrap; }
.project-panel-count { display: inline-flex; padding: 3px 8px; border-radius: 20px; background: var(--project-canvas); font-size: .75rem; margin-left: 5px; }
.project-dashboard .project-panel-queue .form-select { width: auto; max-width: 100%; font-size: .8rem; }
.project-panel-scope { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px; background: var(--project-canvas); border-radius: 8px; margin-bottom: 8px; font-size: .78rem; }
.project-dashboard .project-panel-task, body.theme-dark .project-dashboard .project-panel-task { display: grid; grid-template-columns: 36px minmax(0, 1fr) 115px 105px 115px 12px; gap: 14px; align-items: center; width: 100%; padding: 16px 5px; border: 0; border-bottom: 1px solid var(--project-line); border-radius: 0; background: transparent; color: var(--panel-ink); text-align: left; }
.project-panel-task-icon { width: 36px; height: 36px; border-radius: 10px; font-size: 1rem; }
.project-panel-task-icon.is-late { color: var(--panel-red); }
.project-dashboard .project-panel-task-copy strong { display: block; font-size: .85rem; line-height: 1.4; overflow-wrap: anywhere; }
.project-dashboard .project-panel-task-copy small, .project-dashboard .project-panel-task-date small { display: block; font-size: .7rem; color: var(--panel-muted); margin-top: 4px; }
.project-panel-task-status { font-size: .7rem; }
.project-panel-task-people { display: flex; align-items: center; gap: 0; }
.project-panel-task-people .project-panel-avatar + .project-panel-avatar { margin-left: -10px; }
.project-dashboard .project-panel-task-people small { font-size: .65rem; color: var(--panel-muted); margin-left: 4px; }
.project-panel-task-date { text-align: right; }
.project-dashboard .project-panel-task-date strong { font-size: .72rem; }
.project-panel-task-arrow { font-size: .7rem; color: var(--panel-muted); }
.project-panel-pagination { margin-top: 15px; font-size: .73rem; color: var(--panel-muted); flex-wrap: wrap; }
.project-panel-queue-empty, .project-panel-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 40px 20px; text-align: center; color: var(--panel-muted); }
.project-panel-empty-icon { width: 64px; height: 64px; border-radius: 20px; font-size: 1.8rem; }
.project-dashboard .project-panel-empty h5 { margin: 8px 0 0; color: var(--panel-ink); font-size: 1.05rem; }
.project-dashboard .project-panel-empty p { max-width: 440px; font-size: .85rem; }
.project-panel-queue-empty { font-size: .8rem; }
.project-panel-queue-empty > i { font-size: 1.5rem; color: var(--panel-green); }
.project-dashboard button:focus-visible, .project-panel-queue:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 3px; }
.project-dashboard :is(.project-panel-kpi, .project-panel-health button, .project-panel-distribution-row, .project-panel-task):hover { background: rgba(var(--ictus-cyan-rgb), .07); }
.project-dashboard button:disabled { opacity: .55; cursor: default; }
.project-dashboard .btn, body.theme-dark .project-dashboard .btn { font-size: .76rem; border-radius: 8px; }
body.theme-dark .project-dashboard .btn-outline-primary { color: var(--ictus-cyan); border-color: var(--ictus-cyan); }
body.theme-dark .project-dashboard .btn-outline-primary:hover { color: var(--ictus-blue); background: var(--ictus-cyan); }
@media (max-width: 1199px) {
  .project-panel-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .project-panel-progress { gap: 16px; flex-wrap: wrap; }
  .project-panel-insight { flex-wrap: wrap; }
  .project-panel-task-people { display: none; }
  .project-dashboard .project-panel-task, body.theme-dark .project-dashboard .project-panel-task { grid-template-columns: 36px minmax(0, 1fr) 100px 100px 12px; }
}
@media (max-width: 767px) {
  .project-dashboard { padding: 16px; }
  .project-panel-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .project-panel-kpis > :last-child { grid-column: 1 / -1; }
  .project-panel-grid { grid-template-columns: minmax(0, 1fr); }
  .project-dashboard .project-panel-card { padding: 16px; }
  .project-panel-insight { padding: 15px; gap: 12px; }
  .project-panel-insight > div { flex-basis: 100%; }
  .project-panel-insight-icon { display: none; }
  .project-panel-ring { width: 130px; height: 130px; }
  .project-panel-ring > div { width: 108px; height: 108px; }
  .project-panel-statuses { min-width: 125px; }
  .project-panel-checklist { margin-left: 0; }
  .project-dashboard .project-panel-task, body.theme-dark .project-dashboard .project-panel-task { grid-template-columns: 32px minmax(0, 1fr) 85px; gap: 8px; }
  .project-panel-task-status, .project-panel-task-arrow { display: none; }
  .project-panel-task-icon { width: 30px; height: 30px; }
  .project-panel-heading { align-items: flex-start; }
  .project-panel-heading > .btn { flex-shrink: 0; }
}
