/* =========================================================
   보험한판 — scenario.css
   기존 통합 user.css에서 시나리오 관련 스타일만 분리
   로드 순서: home.css → scenario.css
========================================================= */

/* ── 시나리오 ── */
.sc-intro        { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin-bottom: 14px; }
.sc-intro-title  { font-size: 15px; font-weight: 950; margin-bottom: 6px; }
.sc-intro-desc   { font-size: 12px; color: #667085; line-height: 1.6; margin-bottom: 14px; }
.tag-sec         { margin-bottom: 14px; }
.tag-sec-label   { font-size: 12px; font-weight: 950; color: #475467; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.tag-cnt         { font-size: 11px; color: #94a3b8; }
.tag-grid        { display: flex; flex-wrap: wrap; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.tag-grid::-webkit-scrollbar { display: none; }
.tag-btn         { height: 30px; padding: 0 10px; border-radius: 999px; font-size: 11px; font-weight: 900; border: 1.5px solid var(--line); background: #fff; color: #475467; transition: .15s; }
.tag-btn.main-on { background: #00438F; border-color: #00438F; color: #fff; }
.tag-btn.sub-on  { background: #eef4ff; border-color: #b7d3f0; color: #00438F; }

/* ── 하단 고정 생성 바 ── */
#scenario { padding-bottom: 150px; }
.sc-bottom-bar   { position: fixed; left: 50%; bottom: 74px; transform: translateX(-50%); width: min(430px,100%); z-index: 40; padding: 0 12px 10px; pointer-events: none; }
.sc-bottom-inner { background: rgba(255,255,255,.97); backdrop-filter: blur(14px); border: 1px solid #e6e9ee; box-shadow: 0 14px 38px rgba(12,12,12,.12); border-radius: 20px; padding: 12px; pointer-events: auto; }
.selected-summary { min-height: 38px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; padding: 2px 2px 0; }
.selected-empty  { font-size: 11px; color: #94a3b8; font-weight: 850; }
.selected-reset  { margin-left: auto; height: 26px; padding: 0 10px; border-radius: 999px; background: #fff; border: 1px solid #e6e9ee; color: #667085; font-size: 11px; font-weight: 950; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.selected-chip   { height: 26px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border-radius: 999px; background: #eef4ff; border: 1px solid #d7e6f8; color: #00438F; font-size: 11px; font-weight: 900; line-height: 1; }
.selected-chip.main { background: #00438F; border-color: #00438F; color: #fff; }
.gen-btn {
  width: 100%; height: 54px; border-radius: 16px;
  background: linear-gradient(180deg,#0B5CAD,#00438F); color: #fff;
  font-size: 15px; font-weight: 1000; border: none; letter-spacing: -.03em;
  box-shadow: 0 12px 28px rgba(0,67,143,.20); transition: .15s;
}
.gen-btn:active   { transform: scale(.985); }
.gen-btn:disabled { background: #e5e7eb; color: #94a3b8; box-shadow: none; }

/* ── AI 시나리오 결과 ── */
.sc-result  { margin-top: 16px; }
.sc-card    { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: var(--shadow); }
.sc-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; gap: 12px; }
@keyframes spin { to { transform: rotate(360deg); } }
.spinner    { width: 32px; height: 32px; border: 3px solid #e6e9ee; border-top-color: #00438F; border-radius: 50%; animation: spin .8s linear infinite; }
.sc-mini-spinner { width: 20px; height: 20px; border: 3px solid #e6e9ee; border-top-color: #00438F; border-radius: 50%; animation: spin .8s linear infinite; }
.sc-title   { font-size: 17px; font-weight: 950; margin-bottom: 4px; }
.sc-hook    { font-size: 13px; color: #667085; line-height: 1.5; margin-bottom: 12px; }
.sc-sum     { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-bottom: 14px; }
.sc-sum div { text-align: center; padding: 11px 5px; border-right: 1px solid var(--line); }
.sc-sum div:last-child { border-right: 0; }
.sc-sum span   { display: block; font-size: 11px; color: #667085; font-weight: 800; margin-bottom: 4px; }
.sc-sum strong { font-size: 14px; font-weight: 950; }
.sc-sec     { font-size: 13px; font-weight: 950; margin-bottom: 8px; color: #00438F; }
.sc-flow    { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 14px; scrollbar-width: none; }
.sc-flow::-webkit-scrollbar { display: none; }
.sc-step    { flex: 0 0 auto; text-align: center; min-width: 56px; }
.sc-stepn   { width: 32px; height: 32px; border-radius: 50%; background: #f2f7ff; color: #00438F; display: flex; align-items: center; justify-content: center; margin: 0 auto 4px; font-size: 12px; font-weight: 950; }
.sc-stept   { font-size: 10px; color: #475467; font-weight: 800; }
.sc-analysis { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-bottom: 14px; }
.sc-arow    { display: grid; grid-template-columns: 1fr auto 22px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line); gap: 8px; font-size: 13px; }
.sc-arow:last-child { border-bottom: 0; }
.dot  { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px; font-weight: 900; }
.dok  { background: #007B45; }
.dwarn { background: #f59e0b; }
.dno  { background: #e5484d; }
.sc-msg { padding: 12px 14px; background: #fff1f0; border: 1px solid #fecaca; border-radius: 12px; font-size: 13px; font-weight: 900; color: #e3362d; line-height: 1.45; margin-bottom: 12px; }
.sc-story-box { font-size: 13px; color: #344054; line-height: 1.78; margin-bottom: 14px; background: #f8fafc; border: 1px solid #e6e9ee; border-radius: 12px; padding: 13px; }

/* ── 이미지/리포트 버튼 ── */
.sc-image-wrap   { margin: 0 0 14px; }
.sc-image-btn    { width: 100%; height: 46px; border-radius: 13px; background: #0C0C0C; color: #fff; font-size: 13px; font-weight: 950; display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 10px; }
.sc-image-btn:active    { transform: scale(.985); }
.sc-image-btn:disabled  { background: #e5e7eb; color: #98a2b3; }
.sc-image-box    { display: none; margin-top: 10px; }
.sc-image-box.open { display: block; }
.sc-image        { width: 100%; display: block; border-radius: 16px; border: 1px solid #e6e9ee; box-shadow: 0 10px 28px rgba(12,12,12,.10); background: #f8fafc; }

/* ── 시나리오 리포트 ── */
.sc-report-card  { width: 100%; overflow-x: auto; background: #eef4fb; border: 1px solid #d7e6f8; border-radius: 18px; padding: 10px; box-shadow: 0 10px 30px rgba(0,67,143,.10); }
.sc-report-shot  { width: 760px; background: #f6f9fc; border-radius: 10px; color: #0C0C0C; font-family: -apple-system, BlinkMacSystemFont, "Noto Sans KR", system-ui, sans-serif; overflow: hidden; border: 1px solid #e1e8f0; box-shadow: 0 18px 50px rgba(15,23,42,.10); }
.rpt-hero        { background: linear-gradient(135deg,#f0f6ff 0%,#e8f0fe 100%); position: relative; border-bottom: 1px solid #e6e9ee; padding: 24px 24px 20px; }
.rpt-hero-left   { position: relative; z-index: 2; }
.rpt-chip        { display: inline-flex; height: 28px; padding: 0 12px; border-radius: 9px; background: #00438F; color: #fff; font-size: 13px; font-weight: 950; align-items: center; margin-bottom: 12px; }
.rpt-title       { font-size: 20px; font-weight: 1000; letter-spacing: -.05em; line-height: 1.2; color: #073b7a; margin-bottom: 6px; }
.rpt-sub         { font-size: 12px; color: #475467; line-height: 1.55; font-weight: 800; }
.rpt-main-cover  { margin-top: 16px; background: rgba(255,255,255,.92); border: 1px solid #dbeafe; border-radius: 13px; padding: 13px 15px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; }
.rpt-shield      { width: 40px; height: 40px; border-radius: 12px; background: #00438F; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.rpt-main-cover-title { font-size: 13px; font-weight: 950; color: #344054; margin-bottom: 4px; }
.rpt-main-cover-lines { display: flex; flex-direction: column; gap: 4px; }
.rpt-main-line   { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 950; color: #0C0C0C; letter-spacing: -.03em; padding: 2px 0; }
.rpt-main-line b { color: #00438F; font-size: 14px; font-weight: 1000; }












.rpt-hint        { margin: 9px 28px 0; background: #edf5ff; border: 1px solid #d7e6f8; color: #64748b; border-radius: 8px; padding: 8px 12px; font-size: 11px; font-weight: 850; }
.rpt-body        { padding: 16px 22px 22px; background: #f6f9fc; }
.rpt-section     { background: #fff; border: 1px solid #e6e9ee; border-radius: 14px; margin-bottom: 14px; padding: 16px; box-shadow: 0 8px 20px rgba(15,23,42,.04); }
.rpt-head        { font-size: 15px; font-weight: 1000; color: #073b7a; margin-bottom: 12px; display: flex; align-items: center; gap: 7px; letter-spacing: -.04em; }
.rpt-flow        { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; align-items: stretch; }
.rpt-step        { background: #fff; border: 1px solid #dbeafe; border-radius: 15px; padding: 10px 6px; text-align: center; min-height: 108px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.rpt-step:not(:last-child)::after { content: '›'; position: absolute; right: -10px; top: 42px; color: #9bb7d8; font-size: 22px; font-weight: 1000; z-index: 2; }
.rpt-step-ico    { width: 42px; height: 42px; border-radius: 999px; background: #eef4ff; display: flex; align-items: center; justify-content: center; margin: 0 auto 6px; font-size: 23px; }
.rpt-step-no     { width: 24px; height: 24px; border-radius: 999px; background: #0b5cad; color: #fff; font-size: 11px; font-weight: 950; display: flex; align-items: center; justify-content: center; margin: 0 auto 6px; }
.rpt-step-t      { font-size: 11px; font-weight: 950; color: #344054; line-height: 1.25; word-break: keep-all; letter-spacing: -.04em; }
.rpt-two-col     { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rpt-list        { display: flex; flex-direction: column; gap: 8px; }
.rpt-row         { display: grid; grid-template-columns: 32px 1fr auto; gap: 9px; align-items: center; border-bottom: 1px solid #eef2f7; padding: 8px 0; }
.rpt-row:last-child { border-bottom: 0; }
.rpt-row-ico     { width: 30px; height: 30px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: #eef4ff; color: #00438F; font-size: 15px; font-weight: 950; }
.rpt-row-ico.ok   { background: #eaf7ef; color: #007B45; }
.rpt-row-ico.warn { background: #fff3e8; color: #f36500; }
.rpt-row-ico.no   { background: #fff1f0; color: #e5484d; }
.rpt-row-title   { font-size: 13px; font-weight: 1000; color: #101828; letter-spacing: -.04em; line-height: 1.25; }
.rpt-row-sub     { font-size: 10px; color: #667085; font-weight: 850; margin-top: 2px; letter-spacing: -.02em; }
.rpt-row-amt     { font-size: 14px; font-weight: 1000; color: #2457c5; white-space: nowrap; }
.rpt-ai-text     { font-size: 13px; line-height: 1.74; color: #344054; font-weight: 750; letter-spacing: -.035em; white-space: pre-line; }
.rpt-tip         { margin-top: 12px; background: #fff7df; border: 1px solid #fde68a; border-radius: 12px; padding: 13px 14px; display: grid; grid-template-columns: 34px 1fr; gap: 8px; align-items: start; }
.rpt-tip-ico     { font-size: 22px; }
.rpt-tip-title   { font-size: 13px; font-weight: 1000; color: #92400e; margin-bottom: 4px; }
.rpt-tip-txt     { font-size: 12px; line-height: 1.5; color: #7c4a03; font-weight: 800; }
.rpt-insight     { display: grid; grid-template-columns: 180px 1fr; gap: 14px; align-items: center; }
.rpt-donut       { width: 144px; height: 144px; border-radius: 999px; background: conic-gradient(#0b5cad 0 56%,#f36500 56% 82%,#e5e7eb 82% 100%); display: flex; align-items: center; justify-content: center; position: relative; margin: auto; }
.rpt-donut::after { content: ''; position: absolute; width: 92px; height: 92px; background: #fff; border-radius: 999px; }
.rpt-donut span  { position: relative; z-index: 1; font-size: 15px; font-weight: 1000; text-align: center; color: #073b7a; line-height: 1.25; }
.rpt-bullets     { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.rpt-bullet      { font-size: 12px; font-weight: 850; color: #475467; line-height: 1.5; display: flex; gap: 7px; align-items: flex-start; background: #f8fafc; border: 1px solid #eef2f7; border-radius: 12px; padding: 10px; }
.rpt-dot         { width: 19px; height: 19px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 10px; font-weight: 950; flex: 0 0 auto; }
.rpt-dot.ok      { background: #007B45; }
.rpt-dot.warn    { background: #F36500; }
.rpt-dot.blue    { background: #00438F; }
.rpt-next        { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.rpt-next-item   { background: #f8fafc; border: 1px solid #e6e9ee; border-radius: 13px; padding: 13px 12px; display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; min-height: 70px; }
.rpt-next-no     { width: 30px; height: 30px; border-radius: 999px; background: #00438F; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 950; }
.rpt-next-t      { font-size: 13px; font-weight: 950; color: #344054; line-height: 1.35; letter-spacing: -.04em; }
.rpt-note        { background: #edf5ff; color: #00438F; font-size: 11px; font-weight: 850; line-height: 1.6; padding: 12px 16px; border: 1px solid #d7e6f8; border-radius: 12px; }

/* ── 리포트 액션 ── */
.report-actions    { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0 0; }
.report-action-btn { height: 42px; border-radius: 12px; font-size: 12px; font-weight: 950; border: 1px solid #d7e6f8; background: #fff; color: #00438F; display: flex; align-items: center; justify-content: center; }
.report-action-btn.primary { background: #00438F; color: #fff; border-color: #00438F; }

/* ── 리포트 전체화면 모달 ── */
.report-modal-overlay { position: fixed; inset: 0; z-index: 9999; display: none; align-items: stretch; justify-content: stretch; background: #eef4fb; }
.report-modal-overlay.open { display: flex; }
.report-modal { width: 100vw; height: 100dvh; background: #fbfcfe; border-radius: 0; overflow: hidden; box-shadow: none; display: flex; flex-direction: column; }
.report-modal-head { height: 58px; flex: 0 0 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border-bottom: 1px solid #e6e9ee; background: rgba(255,255,255,.98); position: sticky; top: 0; z-index: 3; }
.report-modal-title { font-size: 16px; font-weight: 1000; color: #0C0C0C; letter-spacing: -.04em; }
.report-modal-close { width: 38px; height: 38px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 20px; font-weight: 1000; display: flex; align-items: center; justify-content: center; }
.report-modal-body  { flex: 1; overflow: auto; -webkit-overflow-scrolling: touch; padding: 18px 16px 96px; background: #eef4fb; }
.report-modal-body .sc-report-card { width: 100%; max-width: 920px; margin: 0 auto; box-shadow: none; }
.report-modal-foot  { position: fixed; left: 0; right: 0; bottom: 0; z-index: 4; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid #e6e9ee; box-shadow: 0 -8px 28px rgba(15,23,42,.08); }
.report-modal-foot .report-action-btn { height: 48px; font-size: 14px; border-radius: 14px; }
body.report-modal-open { overflow: hidden; }
@media (max-width: 780px) {
  .report-modal-body { padding: 14px 10px 96px; }
  .report-modal-body .sc-report-card { overflow-x: auto; }
  .report-modal-body .sc-report-shot { width: 760px; }
}
@media (max-width: 430px) {
  .sc-report-shot  { width: 760px; }
  .sc-report-card  { padding: 8px; }
}

/* ── 결과 카드 레이아웃 ── */
.scr-hero {
  background: linear-gradient(135deg, #00438F 0%, #0b5cad 100%);
  border-radius: 18px; padding: 20px;
  color: #fff; margin-bottom: 12px;
  position: relative; overflow: hidden;
}
.scr-hero::before {
  content: ''; position: absolute;
  right: -20px; top: -20px;
  width: 140px; height: 140px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
}
.scr-hero::after {
  content: ''; position: absolute;
  right: 30px; bottom: -30px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.scr-hero-tag {
  display: inline-flex; align-items: center;
  height: 24px; padding: 0 10px; border-radius: 999px;
  background: rgba(255,255,255,.18); backdrop-filter: blur(4px);
  font-size: 11px; font-weight: 900; color: rgba(255,255,255,.9);
  margin-bottom: 10px;
}
.scr-hero-title {
  font-size: 20px; font-weight: 1000; line-height: 1.2;
  letter-spacing: -.05em; margin-bottom: 6px;
}
.scr-hero-hook {
  font-size: 12px; color: rgba(255,255,255,.75);
  font-weight: 800; line-height: 1.5; margin-bottom: 16px;
}
.scr-hero-nums {
  display: grid; grid-template-columns: repeat(3,1fr);
  background: rgba(0,0,0,.15); border-radius: 12px;
  overflow: hidden; position: relative; z-index: 1;
}
.scr-hero-num { text-align: center; padding: 10px 4px; border-right: 1px solid rgba(255,255,255,.12); }
.scr-hero-num:last-child { border-right: 0; }
.scr-hero-num span  { display: block; font-size: 10px; color: rgba(255,255,255,.65); font-weight: 800; margin-bottom: 4px; }
.scr-hero-num strong { font-size: 15px; font-weight: 1000; color: #fff; letter-spacing: -.04em; }
.scr-hero-num strong.danger { color: #fca5a5; }

/* 섹션 카드 공통 */
.scr-card {
  background: #fff; border: 1px solid #e6e9ee;
  border-radius: 16px; padding: 16px;
  margin-bottom: 10px;
  box-shadow: 0 4px 12px rgba(0,67,143,.05);
}
.scr-card-title {
  font-size: 13px; font-weight: 950; color: #344054;
  margin-bottom: 12px; display: flex; align-items: center; gap: 6px;
}
.scr-card-title .scr-icon {
  width: 26px; height: 26px; border-radius: 8px;
  background: #eef4ff; display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex-shrink: 0;
}

/* 시나리오 스토리 */
.scr-story {
  font-size: 13px; color: #344054; line-height: 1.8;
  background: #f8fafc; border-left: 3px solid #00438F;
  border-radius: 0 12px 12px 0; padding: 13px 14px;
}

/* 흐름 단계 */
.scr-flow {
  display: flex; gap: 0; overflow-x: auto;
  scrollbar-width: none; margin: 0 -4px;
}
.scr-flow::-webkit-scrollbar { display: none; }
.scr-flow-step {
  flex: 0 0 auto; min-width: 68px; text-align: center;
  padding: 0 4px; position: relative;
}
.scr-flow-step:not(:last-child)::after {
  content: ''; position: absolute;
  right: -2px; top: 18px;
  width: 4px; height: 4px;
  background: #cbd5e1; border-radius: 50%;
}
.scr-flow-dot {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg,#eef4ff,#dbeafe);
  border: 2px solid #bfdbfe;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 6px; font-size: 16px;
}
.scr-flow-num {
  position: absolute; right: 10px; top: 0;
  width: 16px; height: 16px; border-radius: 50%;
  background: #00438F; color: #fff;
  font-size: 9px; font-weight: 950;
  display: flex; align-items: center; justify-content: center;
}
.scr-flow-label {
  font-size: 10px; font-weight: 850; color: #475467;
  line-height: 1.3; word-break: keep-all;
}

/* 내 보장 연결 */
.scr-cov-ok {
  display: flex; flex-direction: column; gap: 6px;
}
.scr-cov-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px; border-radius: 11px;
  background: #f0fdf4; border: 1px solid #bbf7d0;
}
.scr-cov-name { font-size: 13px; font-weight: 950; color: #065f46; }
.scr-cov-amt  { font-size: 14px; font-weight: 1000; color: #007B45; }
.scr-cov-empty {
  padding: 14px; border-radius: 12px;
  background: #f8fafc; border: 1px dashed #cbd5e1;
  text-align: center; font-size: 12px; color: #94a3b8; font-weight: 800;
}

/* 전체 분석 테이블 */
.scr-analysis { display: flex; flex-direction: column; gap: 0; border-radius: 12px; overflow: hidden; border: 1px solid #e6e9ee; }
.scr-arow {
  display: grid; grid-template-columns: 22px 1fr auto 28px;
  align-items: center; gap: 8px;
  padding: 10px 12px; border-bottom: 1px solid #f0f2f5;
  font-size: 12px;
}
.scr-arow:last-child { border-bottom: 0; }
.scr-arow-name  { font-weight: 850; color: #344054; }
.scr-arow-amt   { font-size: 11px; color: #94a3b8; font-weight: 800; }
.scr-dot {
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 10px; font-weight: 950; flex-shrink: 0;
}
.scr-dot.ok   { background: #007B45; }
.scr-dot.warn { background: #f59e0b; }
.scr-dot.no   { background: #94a3b8; }

/* 경고 메시지 */
.scr-warning {
  display: flex; gap: 10px; align-items: flex-start;
  background: #fff7ed; border: 1px solid #fed7aa;
  border-radius: 12px; padding: 12px 13px;
  margin-bottom: 10px;
}
.scr-warning-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.scr-warning-text { font-size: 12px; color: #92400e; font-weight: 850; line-height: 1.6; }

/* 로딩 */
.scr-loading {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 60px 20px; gap: 14px;
}
.scr-loading-ring {
  width: 44px; height: 44px;
  border: 3px solid #e6e9ee; border-top-color: #00438F;
  border-radius: 50%; animation: spin .8s linear infinite;
}
.scr-loading-text  { font-size: 14px; color: #475467; font-weight: 850; }
.scr-loading-sub   { font-size: 12px; color: #94a3b8; font-weight: 800; margin-top: -8px; }

/* ===================================================
   질병 흐름 UI
   - 시나리오 장문 대신 보장 흐름 카드 표시
   - 진단 / 실손 / 질병수술 / 재해수술 분리
   =================================================== */

.flow-title {
  margin: 18px 0 8px;
  font-size: 13px;
  font-weight: 950;
  color: #00438F;
  letter-spacing: -.03em;
}

.flow-card,
.sc-cov-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 12px;
  box-shadow: 0 6px 16px rgba(0,67,143,.045);
}

.flow-card.simple {
  display: block;
}

.flow-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.flow-name {
  font-size: 14px;
  font-weight: 950;
  color: #111827;
  line-height: 1.4;
  letter-spacing: -.035em;
}

.flow-sub {
  margin-top: 4px;
  font-size: 11px;
  color: #059669;
  font-weight: 900;
  line-height: 1.4;
}

.flow-sub.orange {
  color: #c2410c;
}

.flow-price {
  font-size: 17px;
  font-weight: 1000;
  color: #007B45;
  white-space: nowrap;
  letter-spacing: -.04em;
}

.flow-price.green {
  color: #007B45;
}

.flow-price.small {
  font-size: 14px;
  color: #00438F;
}

.flow-note,
.sc-cov-note {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.55;
  color: #92400e;
  font-weight: 850;
}

.flow-detail,
.sc-cov-detail {
  margin-top: 10px;
  background: #f9fafb;
  border-radius: 12px;
  padding: 12px;
  border: 1px solid #eef2f7;
}

.detail-row,
.flow-detail-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  font-size: 12px;
  color: #374151;
  font-weight: 800;
  line-height: 1.45;
}

.detail-row span,
.flow-detail-row span {
  min-width: 0;
}

.detail-row b,
.flow-detail-row b {
  white-space: nowrap;
  color: #111827;
  font-weight: 950;
}

.detail-total,
.flow-detail-total {
  border-top: 1px dashed #d1d5db;
  margin-top: 9px;
  padding-top: 9px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  font-weight: 950;
  color: #111827;
}

.flow-warning {
  margin-top: 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  padding: 12px 13px;
  font-size: 12px;
  color: #9a3412;
  line-height: 1.55;
  font-weight: 850;
}

.flow-detail-btn,
.sc-cov-detail-btn {
  margin-top: 10px;
  width: 100%;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: #f3f4f6;
  color: #374151;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.flow-detail-btn:active,
.sc-cov-detail-btn:active {
  transform: scale(.985);
}

.sc-cov-section-label {
  margin: 2px 0 8px;
  font-size: 12px;
  font-weight: 950;
  color: #00438F;
  letter-spacing: -.03em;
}

.sc-cov-mini-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  box-shadow: 0 6px 16px rgba(0,67,143,.045);
}

.sc-cov-mini-title {
  font-size: 14px;
  font-weight: 950;
  color: #111827;
  line-height: 1.4;
}

.sc-cov-mini-sub {
  font-size: 11px;
  color: #059669;
  margin-top: 4px;
  font-weight: 900;
}

.sc-cov-mini-value {
  font-size: 15px;
  font-weight: 950;
  color: #007B45;
  white-space: nowrap;
}

.sc-cov-card-title {
  font-size: 14px;
  font-weight: 950;
  color: #111827;
  line-height: 1.4;
  letter-spacing: -.035em;
}

.sc-cov-card-sub {
  font-size: 11px;
  color: #059669;
  margin-top: 4px;
  font-weight: 900;
}

.sc-cov-card-value {
  font-size: 17px;
  font-weight: 1000;
  color: #007B45;
  white-space: nowrap;
  letter-spacing: -.04em;
}

.sc-cov-card-value.confirm {
  font-size: 14px;
  color: #00438F;
}

.sc-cov-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.sc-cov-footnote {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  padding: 12px 13px;
  margin: 2px 0 14px;
  font-size: 12px;
  color: #9a3412;
  font-weight: 850;
  line-height: 1.55;
}


/* ===================================================
   시나리오 결과: 리포트 버튼만 표시
   =================================================== */
.report-only-wrap {
  padding: 4px 0 8px;
}

.report-only-card {
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 22px;
  padding: 26px 20px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,67,143,.08);
}

.report-only-badge {
  display: inline-flex;
  height: 28px;
  padding: 0 12px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef4ff;
  color: #00438F;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 14px;
}

.report-only-title {
  font-size: 20px;
  font-weight: 1000;
  color: #111827;
  line-height: 1.3;
  letter-spacing: -.05em;
}

.report-only-desc {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.65;
  color: #667085;
  font-weight: 750;
}

.report-open-btn {
  width: 100%;
  height: 56px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(180deg,#0B5CAD,#00438F);
  color: #fff;
  font-size: 15px;
  font-weight: 1000;
  margin-top: 20px;
  box-shadow: 0 12px 28px rgba(0,67,143,.20);
  cursor: pointer;
}

.report-open-btn:active {
  transform: scale(.985);
}
