/* Reference-inspired report dial; risk tone comes from the assessment rules. */
.dashboard.report-score {
  --score-color: #87cfff;
  --score-light: #c3e8ff;
  --score-mid: #5eb9f5;
  padding: 24px 30px 30px;
  gap: 0;
  background: radial-gradient(ellipse at 50% 35%, rgb(36 52 77 / .34), transparent 60%), #091522;
  border: 1px solid #293d52;
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgb(188 215 246 / .07), 0 18px 45px rgb(0 0 0 / .18);
}
.report-score[data-tone="danger"] { --score-color: #ff7275; --score-light: #ff9997; --score-mid: #ff505b; }
.report-score[data-tone="warn"] { --score-color: #ffcc76; --score-light: #ffe2ab; --score-mid: #f4b343; }
.report-score[data-tone="ok"] { --score-color: #72dfbc; --score-light: #b7f6df; --score-mid: #43c9a0; }
.dashboard.report-score > svg { width: min(440px, 100%); height: auto; flex: none; overflow: visible; }
.report-gauge { font-family: var(--font-sans); }
.score-track-start { stop-color: #152438; }
.score-track-end { stop-color: #344766; }
.score-track-outline { stroke: #7386a6; opacity: .25; fill: none; }
.score-face-start { stop-color: #202735; }
.score-face-end { stop-color: #0b1726; }
.score-face { stroke: #536380; stroke-width: .7; stroke-opacity: .28; }
.score-fill-light { stop-color: var(--score-light); }
.score-fill-mid { stop-color: var(--score-mid); }
.score-ring-glow { stroke: var(--score-color); opacity: .28; }
.score-ring-rim { stroke: var(--score-light); opacity: .6; }
.score-ring-highlight { stroke: #fff; opacity: .09; }
.score-scale-tick { stroke: #9cadc5; }
.score-scale-label { fill: #92a9ca; font-size: 13px; }
.score-number {
  font-family: var(--font-sans);
  font-size: 94px;
  font-weight: 750;
  letter-spacing: -3px;
  font-variant-numeric: tabular-nums;
  paint-order: stroke fill;
  stroke: var(--score-light);
  stroke-width: .4;
  filter: drop-shadow(0 4px 3px rgb(0 0 0 / .55));
}
.score-caption { fill: #a1b3ce; font-size: 19px; font-weight: 550; }
.score-label-dot { fill: var(--score-color); }
.score-label-dot-muted { fill: #4b6082; }
.report-score .dashboard-caption { width: min(660px, 100%); gap: 20px; }
.report-score .report-score-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid color-mix(in srgb, var(--score-color) 55%, transparent);
  border-radius: 18px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--score-color) 17%, #101a29), #101723);
  color: var(--score-color);
  font-size: 1.125rem;
  font-weight: 650;
  white-space: normal;
  text-align: left;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .07), 0 5px 22px rgb(0 0 0 / .22);
}
.report-score-status > svg { flex: none; filter: drop-shadow(0 0 5px color-mix(in srgb, var(--score-color) 35%, transparent)); }
.report-score-reason {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 16px 20px;
  border: 1px solid #31475f;
  border-radius: 20px;
  background: linear-gradient(135deg, #122236, #0b1725);
  text-align: left;
  color: #b4c5df;
  font-size: .875rem;
  line-height: 1.7;
}
.report-score-reason > svg { flex: none; width: 28px; height: 28px; color: #88a8d4; }
@media (max-width: 520px) {
  .dashboard.report-score { padding: 16px 12px 20px; border-radius: 18px; }
  .report-score .dashboard-caption { gap: 14px; }
  .report-score .report-score-status { padding: 10px 14px; font-size: 1rem; }
  .report-score-reason { gap: 10px; padding: 12px; font-size: .8125rem; border-radius: 14px; }
}
