
.risk-page { max-width: 1280px; }
.risk-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr); gap: 28px; align-items: end; padding: 34px 0 22px; }
.risk-kicker { color: #0f766e; font-weight: 900; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; margin-bottom: 8px; }
.risk-hero h1 { font-family: var(--font-display); font-size: clamp(38px, 6vw, 70px); line-height: .98; letter-spacing: 0; color: #092c1b; max-width: 900px; }
.risk-hero .lead { max-width: 780px; margin-top: 18px; }
.risk-safety { display: grid; gap: 10px; }
.risk-safety-note { border: 1px solid #f5c26b; background: #fff8eb; border-radius: 8px; padding: 14px 16px; color: #6b4f00; font-weight: 700; }
.risk-safety-note strong { color: #8a3b12; }
.risk-privacy { border: 1px solid #b7d7ff; background: #eef6ff; border-radius: 8px; padding: 14px 16px; color: #1e3a5f; font-weight: 700; }
.risk-market { margin: 10px 0 26px; padding: 22px 0; border-top: 1px solid #dce8e0; border-bottom: 1px solid #dce8e0; }
.risk-market h2, .risk-tool h2, .risk-result h2, .risk-sources h2 { font-family: var(--font-display); color: #092c1b; font-size: 30px; margin: 0 0 8px; }
.risk-market p { color: #4b5a52; max-width: 920px; margin-bottom: 16px; }
.risk-source-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.risk-source-card { min-height: 128px; border: 1px solid #d6e4de; background: #fff; border-radius: 8px; padding: 14px; text-decoration: none; display: flex; flex-direction: column; gap: 8px; color: #374151; }
.risk-source-card:hover { border-color: #0f766e; color: #0f513c; }
.risk-source-card strong { color: #073b22; font-size: 16px; }
.risk-source-card span { font-size: 13px; line-height: 1.35; }
.risk-tool { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr); gap: 22px; align-items: start; }
.risk-panel { background: #fff; border: 1px solid #dbe7df; border-radius: 8px; padding: 18px; box-shadow: 0 16px 40px rgba(9, 44, 27, .07); }
.risk-form { display: grid; gap: 16px; }
.risk-fieldset { border: 1px solid #dbe7df; border-radius: 8px; padding: 14px; margin: 0; background: #fbfdfc; }
.risk-fieldset legend { padding: 0 8px; font-weight: 900; color: #073b22; }
.risk-fieldset .hint { color: #647067; font-size: 13px; margin-bottom: 10px; }
.risk-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.risk-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.risk-label { display: grid; gap: 5px; font-weight: 800; color: #28352d; font-size: 13px; }
.risk-label input, .risk-label select { width: 100%; min-height: 42px; border: 1px solid #cbd8d0; border-radius: 6px; padding: 8px 10px; font: 15px/1.2 var(--font-sans); background: #fff; }
.risk-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.risk-check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; border: 1px solid #e1e8e4; border-radius: 8px; padding: 10px; background: #fff; min-height: 54px; }
.risk-check input { margin-top: 3px; }
.risk-check span { font-size: 14px; line-height: 1.25; color: #2f3b35; }
.family-table { display: grid; gap: 8px; }
.family-row { display: grid; grid-template-columns: 1fr 1fr .7fr .9fr auto; gap: 8px; align-items: end; border: 1px solid #e1e8e4; border-radius: 8px; padding: 10px; background: #fff; }
.family-row label { font-size: 12px; color: #4b5a52; font-weight: 800; display: grid; gap: 4px; }
.family-row input, .family-row select { min-height: 38px; border: 1px solid #cbd8d0; border-radius: 6px; padding: 7px 8px; font: 14px/1.2 var(--font-sans); }
.family-remove { min-height: 38px; border: 1px solid #e7b6b6; background: #fff5f5; color: #9f1239; border-radius: 6px; padding: 0 10px; cursor: pointer; font-weight: 900; }
.risk-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.risk-actions .btn { min-height: 44px; }
.quick-scenarios { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.quick-scenarios button { border: 1px solid #cbd8d0; background: #f8fafc; color: #23372c; border-radius: 6px; padding: 8px 10px; cursor: pointer; font-weight: 800; }
.quick-scenarios button:hover { border-color: #0f766e; color: #0f513c; }
.risk-result { position: sticky; top: 14px; max-height: calc(100vh - 28px); overflow: auto; }
.risk-score-card { border: 1px solid #d6e4de; background: #f8fbf8; border-radius: 8px; padding: 16px; margin: 12px 0; }
.risk-level { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; font-weight: 900; margin-bottom: 10px; }
.risk-level.urgent { background: #fee2e2; color: #991b1b; }
.risk-level.high { background: #ffedd5; color: #9a3412; }
.risk-level.routine { background: #dbeafe; color: #1e3a8a; }
.risk-level.low { background: #dcfce7; color: #14532d; }
.risk-meter { height: 12px; border-radius: 999px; background: #e5e7eb; overflow: hidden; margin-top: 12px; }
.risk-meter-fill { height: 100%; width: var(--risk-score, 0%); border-radius: 999px; background: linear-gradient(90deg, #22c55e, #f59e0b, #ef4444); transition: width .18s ease; }
.result-list { display: grid; gap: 9px; margin: 12px 0; }
.result-item { border: 1px solid #e1e8e4; background: #fff; border-radius: 8px; padding: 11px 12px; }
.result-item strong { display: block; color: #073b22; margin-bottom: 3px; }
.result-item span { color: #4b5a52; font-size: 14px; }
.profile-box { background: #111827; color: #e5e7eb; border-radius: 8px; padding: 12px; overflow: auto; max-height: 260px; font: 12px/1.45 var(--font-mono); white-space: pre; }
.handoff-box { background: #f8fafc; border: 1px solid #dbe7df; color: #23372c; border-radius: 8px; padding: 12px; font-size: 14px; line-height: 1.45; margin: 10px 0; }
.pedigree-map { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pedigree-chip { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; border-radius: 999px; background: #eef6ff; color: #1e3a5f; padding: 4px 9px; font-size: 12px; font-weight: 800; }
.risk-sources { margin-top: 28px; padding-top: 20px; border-top: 1px solid #dce8e0; }
.risk-sources h3 { color: #073b22; margin: 14px 0 8px; }
@media (max-width: 1050px) {
  .risk-hero, .risk-tool { grid-template-columns: 1fr; }
  .risk-result { position: static; max-height: none; }
  .risk-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .risk-page { padding-left: 14px; padding-right: 14px; }
  .risk-grid-2, .risk-grid-3, .risk-check-grid { grid-template-columns: 1fr; }
  .family-row { grid-template-columns: 1fr; }
  .risk-source-grid { grid-template-columns: 1fr; }
}
@media print {
  .top-bar, .risk-market, .risk-form, .risk-sources, .quick-scenarios, .risk-actions, .risk-safety { display: none !important; }
  .risk-tool, .risk-hero { display: block; }
  .risk-result { position: static; max-height: none; overflow: visible; box-shadow: none; }
  body { background: #fff; }
}
