/* #region zone:finance.portfolio-risk-style — การ์ดความเสี่ยงพอร์ตตามสีและพื้นที่ของ Finance */
.pr-card {
  margin-block: var(--sp-4);
  min-width: 0;
}
.pr-card h3 {
  font-size: 1rem;
  margin-block: var(--sp-4) var(--sp-2);
}
.pr-card p,
.pr-card li,
.pr-card small {
  overflow-wrap: anywhere;
}
.pr-card summary {
  cursor: pointer;
  padding-block: 10px;
  font-weight: 600;
}
.pr-card details {
  border-bottom: 1px solid var(--line);
}
.pr-tabs {
  display: flex;
  flex-wrap: wrap;
  margin-block: var(--sp-4);
}
.pr-tabs button {
  flex: 1;
  min-width: 100px;
}
.pr-tabs [aria-selected='true'] {
  background: var(--accent);
  color: var(--on-accent);
}
.pr-stress-grid,
.pr-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
}
.pr-stress,
.pr-metrics > div {
  padding: 14px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.pr-stress strong {
  display: block;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  overflow-wrap: anywhere;
}
.pr-stress small {
  display: block;
}
.pr-metrics b,
.pr-metrics small {
  display: block;
}
.pr-metrics b {
  font-size: 1.35rem;
  margin-top: var(--sp-1);
}
.pr-warning {
  color: var(--danger);
  font-weight: 600;
}
.pr-scroll {
  max-height: 300px;
  overflow: auto;
}
.pr-bar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-1) var(--sp-3);
  padding-block: var(--sp-2);
}
.pr-bar-row progress {
  grid-column: 1 / -1;
  width: 100%;
  height: 9px;
  accent-color: var(--accent);
}
.pr-bar-row span {
  overflow-wrap: anywhere;
}
.pr-card li {
  margin-block: var(--sp-2);
}
.pr-card ul {
  padding-inline-start: var(--sp-5);
}
.pr-answer {
  white-space: pre-wrap;
  line-height: 1.8;
}
.pr-hedge {
  border-bottom: 1px solid var(--line);
  padding-block: 6px;
}
.pr-card #pr-explain {
  margin-block: var(--sp-4) var(--sp-2);
}
.pr-card > small {
  display: block;
}
.pr-card [role='tabpanel'][hidden] {
  display: none;
}
@media (max-width: 550px) {
  .pr-stress-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .pr-card .panel-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .pr-tabs button {
    font-size: 0.85rem;
  }
}
/* #endregion */
