.evaluation-dashboard { width: 100%; max-width: 1640px; min-width: 0; }
.console-actions { display: flex; align-items: center; gap: .65rem; }
.console-link { display: inline-flex; align-items: center; min-height: 2.4rem; padding: .55rem .8rem; color: var(--text); background: #222a37; border: 1px solid var(--line); border-radius: 9px; text-decoration: none; font-size: .88rem; }
.console-link:hover { border-color: color-mix(in srgb, var(--accent) 70%, var(--line)); }
.primary-link { color: #07110e; background: var(--accent); border-color: var(--accent); font-weight: 750; }
.auth-gate { max-width: 640px; margin: 5rem auto; text-align: center; }
.auth-gate .console-link { margin-top: .5rem; }
.evaluation-tabs { position: sticky; top: .6rem; z-index: 3; display: flex; gap: .35rem; padding: .55rem; margin-bottom: .8rem; overflow-x: auto; background: color-mix(in srgb, var(--card) 94%, transparent); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 24px #0005; backdrop-filter: blur(12px); }
.evaluation-tabs button { flex: 0 0 auto; border-color: transparent; background: transparent; }
.evaluation-tabs button.active { color: #07110e; background: var(--accent); }
.evaluation-filters { position: static; justify-content: flex-start; }
.case-filter { display: flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .85rem; font-weight: 700; }
.case-filter input { min-width: min(32rem, 54vw); padding: .55rem .7rem; color: var(--text); background: var(--inner); border: 1px solid var(--line); border-radius: 9px; }
.evaluation-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.overview-groups { display: grid; grid-template-columns: .8fr 1.5fr 1fr; gap: .8rem; }
.compact-panel { margin-bottom: 0; }
.grouped-counts { display: grid; gap: .45rem; }
.grouped-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .65rem; background: var(--inner); border: 1px solid var(--line); border-radius: 9px; font-size: .8rem; }
.grouped-row span { overflow-wrap: anywhere; }
.table-panel { padding: 0; }
.table-panel table { min-width: 980px; }
.table-panel th, .table-panel td { padding: .75rem .65rem; }
.source-cell { max-width: 300px; white-space: normal; }
.source-cell a { color: var(--accent); text-decoration: none; }
.block { display: block; margin-top: .35rem; }
.mono { max-width: 260px; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .72rem; }
.restricted-cell { color: var(--muted); }
.badge.restricted { color: #ffd699; background: color-mix(in srgb, #ffd699 10%, var(--inner)); border-color: color-mix(in srgb, #ffd699 45%, var(--line)); }
.badge.annotating, .badge.submitted, .badge.comparison_available, .badge.unblinded, .badge.scored, .badge.complete { color: var(--accent); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); }
.badge.preparation_failed, .badge.preparation_interrupted { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, var(--inner)); border-color: color-mix(in srgb, var(--danger) 55%, var(--line)); }
.empty-state { color: var(--muted); text-align: center; }
.detail-section-title { margin-top: 1.35rem; }
.restricted-note { padding: .8rem .9rem; color: #ffd699; background: color-mix(in srgb, #ffd699 8%, var(--inner)); border: 1px solid color-mix(in srgb, #ffd699 30%, var(--line)); border-radius: 10px; }
.payload-json { max-height: 360px; overflow: auto; padding: 1rem; color: var(--text); background: var(--inner); border: 1px solid var(--line); border-radius: 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.score-block { padding: .8rem; margin: .7rem 0; background: var(--raised); border: 1px solid var(--line); border-radius: 12px; }

@media (max-width: 1050px) {
  .evaluation-kpis { grid-template-columns: repeat(2, 1fr); }
  .overview-groups { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .console-actions { flex-direction: column; align-items: stretch; }
  .console-link { justify-content: center; }
  .evaluation-tabs { position: static; }
  .evaluation-filters { align-items: stretch; }
  .account-filter, .case-filter { width: 100%; justify-content: space-between; }
  .account-filter select, .case-filter input { width: 62%; min-width: 0; }
}
