    /* -- 미리보기 전용 스타일 -- */
    .preview-wrap {
      background: #111827;
      min-height: 100vh;
      padding: 32px 0;
    }

    .report-viewer {
      max-width: 220mm;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* 각 페이지 카드 (A4 기본) */
    .report-page {
      background: #fff;
      color: #0a1628;
      width: 210mm;
      min-height: 297mm;
      border-radius: 4px;
      margin: 0 auto 24px;
      box-shadow: 0 4px 24px rgba(0,0,0,0.4);
      padding: 20mm 18mm 28mm;
      position: relative;
      box-sizing: border-box;
    }

    /* 페이지 번호 표시 */
    .page-label {
      position: absolute;
      top: -26px;
      left: 0;
      font-size: 11px;
      color: rgba(255,255,255,0.4);
      font-weight: 600;
    }

    /* -- 보고서 내부 스타일 (라이트) -- */
    .rpt-body {
      font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', -apple-system, sans-serif;
      font-size: 10.5pt;
      color: #0a1628;
      line-height: 1.6;
    }

    /* 커버 (풀 배경 모던 레이아웃) */
    .cover-page {
      background: #1a3669 !important;
      color: #ffffff;
      display: flex;
      flex-direction: column;
      padding: 0 !important;
      overflow: hidden;
      position: relative;
    }
    .cover-top {
      padding: 48px 48px 0;
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
    }
    .cover-doc-label {
      font-size: 10px;
      color: rgba(255,255,255,0.5);
      letter-spacing: 0.15em;
      font-weight: 500;
    }
    .cover-hero {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 48px;
    }
    .cover-glass {
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 20px;
      padding: 44px 48px;
      width: 100%;
      max-width: 520px;
    }
    .cover-accent-line {
      width: 48px;
      height: 3px;
      background: #4a90d9;
      border-radius: 2px;
      margin-bottom: 20px;
    }
    .cover-title {
      font-size: 34px;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: -0.03em;
      margin-bottom: 6px;
      line-height: 1.2;
    }
    .cover-subtitle {
      font-size: 13px;
      color: rgba(255,255,255,0.45);
      letter-spacing: 0.06em;
      font-weight: 400;
      margin-bottom: 24px;
    }
    .cover-address {
      font-size: 15px;
      color: rgba(255,255,255,0.85);
      font-weight: 500;
      margin-bottom: 32px;
      line-height: 1.6;
    }
    .cover-info-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
    }
    .cover-info-item {
      padding: 10px 0;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .cover-info-label {
      font-size: 9px;
      color: rgba(255,255,255,0.4);
      letter-spacing: 0.05em;
      margin-bottom: 2px;
    }
    .cover-info-value {
      font-size: 13px;
      font-weight: 600;
      color: #ffffff;
    }
    .cover-bottom {
      padding: 0 48px 36px;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
    }
    .cover-bottom-left {
      font-size: 9px;
      color: rgba(255,255,255,0.3);
      line-height: 1.6;
    }
    .cover-bottom-logo {
      height: 64px;
    }

    /* 간지 (섹션 구분 페이지) */
    .divider-page {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: #fff !important;
    }
    .divider-line { width: 40px; height: 3px; background: #4a90d9; margin-bottom: 24px; border-radius: 2px; }
    .divider-num { font-size: 13px; font-weight: 700; color: #4a90d9; letter-spacing: 0.1em; margin-bottom: 8px; }
    .divider-title { font-size: 22px; font-weight: 700; color: #1a3669; margin-bottom: 6px; }
    .divider-sub { font-size: 11px; color: #4a6a8a; }

    /* 판정 기준 테이블 */
    .criteria-table { width: 100%; border-collapse: collapse; font-size: 10px; margin-bottom: 16px; }
    .criteria-table th { background: #f4f7fb; padding: 6px 10px; text-align: left; font-weight: 600; color: #0a1628; border-bottom: 2px solid #d8e2ec; }
    .criteria-table td { padding: 5px 10px; border-bottom: 1px solid #eef2f7; vertical-align: top; }
    .criteria-badge { display: inline-block; padding: 2px 10px; border-radius: 9999px; font-size: 9px; font-weight: 700; }

    /* 각 페이지 헤더 */
    .rpt-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 2.5px solid #4a90d9;
      padding-bottom: 10px;
      margin-bottom: 20px;
    }

    .rpt-header-brand {
      font-size: 11px;
      font-weight: 700;
      color: #4a90d9;
    }

    .rpt-header-info {
      font-size: 10px;
      color: #4a6a8a;
    }

    .rpt-page-title {
      font-size: 17px;
      font-weight: 700;
      color: #0a1628;
      margin-bottom: 18px;
      letter-spacing: -0.02em;
    }

    .rpt-section-title {
      font-size: 12px;
      font-weight: 700;
      color: #4a90d9;
      margin-bottom: 10px;
      margin-top: 18px;
      padding-left: 10px;
      border-left: 3px solid #4a90d9;
    }

    /* 정보 테이블 */
    .info-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 10px;
    }

    .info-table th {
      background: #4a90d9;
      color: #fff;
      font-weight: 600;
      padding: 7px 10px;
      text-align: left;
      font-size: 9.5px;
    }

    .info-table td {
      padding: 7px 10px;
      border: 1px solid #d8e2ec;
      font-size: 10px;
    }

    .info-table tr:nth-child(even) td { background: #f4f7fb; }
    .info-table .label-cell { background: #f4f7fb; font-weight: 600; color: #4a6a8a; width: 120px; }

    /* 상태 뱃지 */
    .pb { display: inline-block; font-size: 9px; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
    .pb.good   { background: #f0fff4; color: #27ae60; }
    .pb.normal { background: #fff8e1; color: #e67e22; }
    .pb.bad    { background: #fff8e1; color: #d35400; }
    .pb.danger { background: #fff0f0; color: #c0392b; }
    .pb.na     { background: #f4f7fb; color: #4a6a8a; }
    .pb.none   { background: #f4f7fb; color: #4a6a8a; }

    /* 지표 그리드 */
    .indicator-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
      margin-bottom: 16px;
    }

    .indicator-card {
      border: 1px solid #d8e2ec;
      border-radius: 6px;
      padding: 10px;
      text-align: center;
    }

    .indicator-label { font-size: 9px; color: #4a6a8a; margin-bottom: 4px; }
    .indicator-value { font-size: 11px; font-weight: 700; }

    /* 내구연한 테이블 */
    .dur-table-print {
      width: 100%;
      border-collapse: collapse;
      font-size: 9.5px;
    }

    .dur-table-print th {
      background: #4a90d9;
      color: #fff;
      padding: 6px 8px;
      text-align: center;
      font-size: 9px;
    }

    .dur-table-print td {
      padding: 6px 8px;
      border: 1px solid #d8e2ec;
      text-align: center;
    }

    .dur-table-print tr:nth-child(even) td { background: #f4f7fb; }
    .dur-table-print .item-name { text-align: left; font-weight: 600; }

    /* 체크리스트 테이블 */
    .checklist-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 9.5px;
      margin-bottom: 12px;
    }
    .checklist-table th {
      background: #f4f7fb;
      color: #4a6a8a;
      padding: 5px 8px;
      text-align: left;
      font-size: 9px;
      border-bottom: 1px solid #d8e2ec;
    }
    .checklist-table td {
      padding: 5px 8px;
      border-bottom: 1px solid #f0f2f5;
      font-size: 9.5px;
    }
    .checklist-table .sub-name { font-weight: 600; color: #0a1628; }

    /* 측정 테이블 (미리보기용) */
    .meas-table-print {
      width: 100%;
      border-collapse: collapse;
      font-size: 9.5px;
      margin-bottom: 12px;
    }
    .meas-table-print th {
      background: #4a90d9;
      color: #fff;
      padding: 5px 8px;
      text-align: left;
      font-size: 9px;
    }
    .meas-table-print td {
      padding: 5px 8px;
      border: 1px solid #d8e2ec;
      font-size: 9.5px;
    }
    .meas-table-print tr:nth-child(even) td { background: #f4f7fb; }
    .measure-cell { min-width: 66px; }
    .measure-value {
      display: block;
      color: #0a1628;
      font-weight: 600;
      line-height: 1.35;
    }
    .measure-badge {
      display: inline-block;
      margin-top: 3px;
      padding: 1px 6px;
      border-radius: 9999px;
      border: 1px solid transparent;
      font-size: 7.5px;
      font-weight: 700;
      line-height: 1.35;
      white-space: nowrap;
    }
    .measure-badge.good { color: #1f7a3a; background: #eefaf1; border-color: #bfe8c8; }
    .measure-badge.warn { color: #a85a00; background: #fff8e1; border-color: #f0d39a; }
    .measure-badge.bad { color: #a23325; background: #fff0f0; border-color: #efb7af; }
    .measure-badge.neutral { color: #4a6a8a; background: #f4f7fb; border-color: #d8e2ec; }
    .meas-table-title {
      font-size: 10px;
      font-weight: 700;
      color: #4a90d9;
      margin: 12px 0 6px;
      padding-left: 8px;
      border-left: 2px solid #4a90d9;
    }

    /* PR-PrecheckQualityRestore §9 — verdict 배지 + 범례 CSS (Option A 로 제거).
       표 하단 안내 박스 (.measurement-guide) 만 유지. */
    .meas-table-header {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-top: 8px;
      margin-bottom: 4px;
    }
    .meas-table-header .meas-table-title { margin: 0; }

    .measurement-guide {
      margin-top: 6px;
      padding: 8px 12px;
      background: #f4f7fb;
      border-left: 3px solid #4a90d9;
      border-radius: 4px;
      font-size: 9px;
      color: #4a6a8a;
      line-height: 1.55;
      page-break-inside: avoid;
    }
    .measurement-guide-title {
      font-weight: 700;
      color: #1a3669;
      margin-bottom: 3px;
    }
    .measurement-guide-body { white-space: pre-line; }

    /* 2026-04-26 Phase 3 (옵션 B): 표 직속 메모 영역 (사진은 .photo-grid 재사용) */
    .tbl-memo-list {
      margin: 6px 0 8px;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .tbl-memo-item {
      font-size: 10px;
      line-height: 1.5;
      color: #0a1628;
      padding: 6px 8px;
      background: #f4f7fb;
      border-left: 2px solid #4a90d9;
      border-radius: 3px;
      white-space: pre-wrap;
    }
    .tbl-memo-loc {
      font-size: 10px;
      font-weight: 700;
      color: #4a90d9;
      margin-right: 6px;
    }

    /* 세부진단 카드 */
    .diag-card {
      border: 1px solid #d8e2ec;
      border-radius: 6px;
      margin-bottom: 12px;
      overflow: hidden;
    }

    .diag-card-header {
      background: #f4f7fb;
      padding: 8px 12px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid #d8e2ec;
    }

    .diag-card-title { font-size: 10.5px; font-weight: 700; color: #0a1628; }

    .diag-card-body { padding: 10px 12px; }

    .diag-label { font-size: 9px; color: #4a6a8a; font-weight: 600; margin-bottom: 2px; }
    .diag-text { font-size: 10px; color: #4a6a8a; margin-bottom: 8px; white-space: pre-wrap; line-height: 1.6; }

    /* 사진 */
    .photo-grid {
      display: grid;
      gap: 8px;
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .photo-grid[data-cols="1"] { grid-template-columns: 1fr; }
    .photo-grid[data-cols="2"] { grid-template-columns: 1fr 1fr; }
    .photo-grid[data-cols="3"] { grid-template-columns: 1fr 1fr 1fr; }
    .photo-grid[data-cols="4"] { grid-template-columns: 1fr 1fr; }
    .photo-grid[data-cols="6"] { grid-template-columns: 1fr 1fr 1fr; }
    .photo-grid[data-cols="8"] { grid-template-columns: 1fr 1fr 1fr 1fr; }

    .photo-cell img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      border-radius: 4px;
      border: 1px solid #d8e2ec;
      display: block;
    }

    .photo-cell-caption {
      font-size: 8px;
      color: #4a6a8a;
      text-align: center;
      margin-top: 2px;
      background: #f4f7fb;
      padding: 2px 4px;
      border-radius: 2px;
    }

    /* 세부 판정 */
    .sj-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 9px;
      margin-bottom: 8px;
    }
    .sj-table th {
      background: #f4f7fb;
      padding: 4px 8px;
      text-align: left;
      color: #4a6a8a;
      font-size: 8.5px;
    }
    .sj-table td {
      padding: 4px 8px;
      border-bottom: 1px solid #f0f2f5;
    }
    .bathroom-slope-group-table, .electrical-group-table { margin-top: 6px; }
    .bathroom-slope-group-table th, .electrical-group-table th,
    .bathroom-slope-group-table td, .electrical-group-table td {
      font-size: 8.5px;
      vertical-align: top;
    }
    .photo-omitted-note {
      margin-top: 5px;
      color: #7a8fa3;
      font-size: 8.5px;
      line-height: 1.45;
    }

    /* 전문가 의견 */
    .expert-box {
      border: 1px solid #d8e2ec;
      border-radius: 6px;
      padding: 14px;
      margin-bottom: 12px;
    }

    .expert-box-title {
      font-size: 10.5px;
      font-weight: 700;
      color: #4a90d9;
      margin-bottom: 6px;
    }

    .expert-box-text {
      font-size: 10px;
      color: #4a6a8a;
      white-space: pre-wrap;
      line-height: 1.7;
    }

    /* 종합판단 요약 */
    .summary-overall {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px;
      border: 1px solid #d8e2ec;
      border-radius: 6px;
      margin-bottom: 14px;
      background: #f4f7fb;
    }

    .overall-label { font-size: 11px; font-weight: 700; color: #0a1628; }

    .priority-list {
      border: 1px solid #d8e2ec;
      border-radius: 6px;
      overflow: hidden;
    }

    .priority-item {
      display: flex;
      align-items: baseline;
      gap: 8px;
      padding: 7px 12px;
      font-size: 10px;
      border-bottom: 1px solid #f4f7fb;
    }

    .priority-item:last-child { border-bottom: none; }
    .priority-num { font-weight: 700; color: #4a90d9; min-width: 20px; }

    /* 페이지 풋터 (하단 고정) */
    .rpt-footer {
      position: absolute;
      bottom: 18mm;
      left: 18mm;
      right: 18mm;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid #d8e2ec;
      padding-top: 6px;
      font-size: 9px;
      color: #4a6a8a;
    }

    /* 없음 표시 */
    .empty-text {
      font-size: 10px;
      color: #aab8c2;
      font-style: italic;
    }

    /* -- 상단 컨트롤 바 (웹전용) -- */
    .preview-controls {
      background: rgba(10,22,40,0.95);
      border-bottom: 1px solid rgba(255,255,255,0.08);
      padding: 12px 32px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .preview-controls-left {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .preview-back {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: var(--text-secondary);
      text-decoration: none;
      transition: color 0.2s;
    }

    .preview-back:hover { color: var(--text-primary); }

    .preview-title {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-primary);
    }

    .print-hint {
      font-size: 11px;
      color: var(--text-muted);
    }

    /* 글자 크기 토글 */
    .text-size-toggle {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      padding: 3px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.10);
      border-radius: 8px;
    }
    .text-size-label {
      font-size: 10.5px;
      color: rgba(255,255,255,0.55);
      padding: 0 8px 0 6px;
      letter-spacing: 0.02em;
    }
    .text-size-btn {
      appearance: none;
      border: 0;
      background: transparent;
      color: rgba(255,255,255,0.65);
      font-size: 11.5px;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 6px;
      cursor: pointer;
      line-height: 1;
      transition: background 0.15s, color 0.15s;
    }
    .text-size-btn:hover { color: #ffffff; background: rgba(255,255,255,0.06); }
    .text-size-btn.active {
      background: #4a90d9;
      color: #ffffff;
    }

    /* ── 글자 크기 — 중 (text-md) ── */
    /* 가독성 위주: 본문·표·제목·뱃지 등 주요 텍스트 클래스에 선택적 상향 */
    body.text-md .rpt-body { font-size: 12pt !important; line-height: 1.7 !important; }
    body.text-md .rpt-page-title { font-size: 19px !important; }
    body.text-md .rpt-section-title { font-size: 13.5px !important; }
    body.text-md .rpt-header-brand { font-size: 12.5px !important; }
    body.text-md .rpt-header-info { font-size: 11.5px !important; }
    body.text-md .rpt-footer,
    body.text-md .rpt-footer * { font-size: 10.5px !important; }
    body.text-md .info-table,
    body.text-md .info-table th,
    body.text-md .info-table td { font-size: 11.5px !important; }
    body.text-md .criteria-table,
    body.text-md .criteria-table th,
    body.text-md .criteria-table td { font-size: 11px !important; }
    body.text-md .criteria-badge { font-size: 10px !important; }
    body.text-md .pb { font-size: 10.5px !important; padding: 3px 10px !important; }
    body.text-md .status-badge { font-size: 10.5px !important; }
    body.text-md .indicator-label { font-size: 10.5px !important; }
    body.text-md .indicator-value { font-size: 12.5px !important; }
    body.text-md .meas-table-print,
    body.text-md .meas-table-print th,
    body.text-md .meas-table-print td { font-size: 11px !important; }
    body.text-md .meas-table-title { font-size: 12px !important; }
    body.text-md .divider-num { font-size: 14px !important; }
    body.text-md .divider-title { font-size: 24px !important; }
    body.text-md .divider-sub { font-size: 12.5px !important; }
    body.text-md .empty-text { font-size: 11.5px !important; }
    body.text-md .expert-box,
    body.text-md .expert-box * { font-size: 12px !important; line-height: 1.75 !important; }
    body.text-md .expert-box-title { font-size: 13px !important; font-weight: 700 !important; }
    body.text-md .summary-overall,
    body.text-md .summary-overall * { font-size: 12px !important; }
    body.text-md .overall-label { font-size: 11.5px !important; }

    /* ── 글자 크기 — 대 (text-lg) ── */
    body.text-lg .rpt-body { font-size: 13.5pt !important; line-height: 1.75 !important; }
    body.text-lg .rpt-page-title { font-size: 21px !important; }
    body.text-lg .rpt-section-title { font-size: 15px !important; }
    body.text-lg .rpt-header-brand { font-size: 13.5px !important; }
    body.text-lg .rpt-header-info { font-size: 12.5px !important; }
    body.text-lg .rpt-footer,
    body.text-lg .rpt-footer * { font-size: 11.5px !important; }
    body.text-lg .info-table,
    body.text-lg .info-table th,
    body.text-lg .info-table td { font-size: 13px !important; }
    body.text-lg .criteria-table,
    body.text-lg .criteria-table th,
    body.text-lg .criteria-table td { font-size: 12.5px !important; }
    body.text-lg .criteria-badge { font-size: 11px !important; }
    body.text-lg .pb { font-size: 11.5px !important; padding: 3px 11px !important; }
    body.text-lg .status-badge { font-size: 11.5px !important; }
    body.text-lg .indicator-label { font-size: 11.5px !important; }
    body.text-lg .indicator-value { font-size: 14px !important; }
    body.text-lg .meas-table-print,
    body.text-lg .meas-table-print th,
    body.text-lg .meas-table-print td { font-size: 12.5px !important; }
    body.text-lg .meas-table-title { font-size: 13px !important; }
    body.text-lg .divider-num { font-size: 15px !important; }
    body.text-lg .divider-title { font-size: 26px !important; }
    body.text-lg .divider-sub { font-size: 13.5px !important; }
    body.text-lg .empty-text { font-size: 12.5px !important; }
    body.text-lg .expert-box,
    body.text-lg .expert-box * { font-size: 13.5px !important; line-height: 1.8 !important; }
    body.text-lg .expert-box-title { font-size: 14.5px !important; font-weight: 700 !important; }
    body.text-lg .summary-overall,
    body.text-lg .summary-overall * { font-size: 13.5px !important; }
    body.text-lg .overall-label { font-size: 13px !important; }

    /* 인쇄 시 안내 문구(준비용 — 글자 크기 클래스는 유지) */
    @media print {
      .text-size-toggle { display: none !important; }
    }

    /* 평면도 라벨 오버레이 (field-app 저장 좌표 그대로 사용) */
    .pdf-bp-label-layer {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
    .pdf-bp-label {
      position: absolute;
      transform: translate(-50%, -50%);
      padding: 2px 7px;
      background: rgba(26, 54, 105, 0.92);
      color: #fff;
      border-radius: 9999px;
      font-size: 9px;
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: -0.01em;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
      white-space: nowrap;
      max-width: 45%;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
    .pdf-bp-label-text {
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 140px;
      display: inline-block;
    }

    /* 평면도 인쇄 크기 축소 — p.2 의뢰인/보고서번호까지 A4 한 페이지에 들어오도록 */
    @media print {
      #preview-floorplan { max-height: 88mm !important; }
      #preview-floorplan img { max-height: 88mm !important; }
      .pdf-bp-label { font-size: 7px; padding: 1px 5px; }

      /* ──────────────────────────────────────────────
       * 표지 PDF 출력 수리 (Chrome/Edge 인쇄 엔진 대응)
       *
       * 문제:
       *  1. backdrop-filter: blur()는 print 미지원 → cover-glass 박스가 사실상 사라짐
       *  2. Chrome이 흰 텍스트에 color-adjust: economy 적용 시 텍스트가 날아감
       *  3. rgba 반투명 배경이 기기에 따라 완전히 투명으로 렌더될 수 있음
       *
       * 해결:
       *  - print-color-adjust: exact 강제 (잉크 절약 방지)
       *  - backdrop-filter 제거
       *  - 박스 배경을 solid 색으로 대체 (Brand Deep보다 약간 밝은 톤)
       *  - 모든 텍스트 색상 solid 지정
       * ────────────────────────────────────────────── */
      .cover-page,
      .cover-page * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
      }
      .cover-page {
        background: #1a3669 !important;
      }
      .cover-page .cover-glass {
        background: #223d72 !important;            /* Brand Deep 위에 올라간 반투명 흰색 대체 solid */
        border: 0.4mm solid #3d5a8e !important;    /* 원본 rgba(255,255,255,0.12) 대체 */
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: 0 2mm 8mm rgba(0,0,0,0.18) !important;
      }
      .cover-page .cover-accent-line {
        background: #4a90d9 !important;
      }
      .cover-page .cover-doc-label {
        color: #c5d4e8 !important;
      }
      .cover-page .cover-title {
        color: #ffffff !important;
      }
      .cover-page .cover-subtitle {
        color: #a5bad4 !important;
      }
      .cover-page .cover-address {
        color: #e4ecf7 !important;
      }
      .cover-page .cover-info-item {
        border-bottom: 0.2mm solid #3d5a8e !important;
      }
      .cover-page .cover-info-label {
        color: #a5bad4 !important;
      }
      .cover-page .cover-info-value {
        color: #ffffff !important;
      }
      .cover-page .cover-bottom-left {
        color: #8fa5c0 !important;
      }
    }

/* 2026-06-25 건설사 제출용 표지(요청서) — 흰 배경 격식 서식 */
.builder-cover-page { background:#ffffff; color:#0a1628; }
.builder-cover-page .bcov-wrap { padding:64px 56px; max-width:560px; margin:0 auto; }
.builder-cover-page .bcov-title { font-size:30px; font-weight:700; color:#1a3669; letter-spacing:0.06em; text-align:center; border-bottom:3px solid #1a3669; padding-bottom:16px; margin-bottom:8px; }
.builder-cover-page .bcov-sub { font-size:14px; color:#4a6a8a; text-align:center; margin-bottom:40px; }
.builder-cover-page .bcov-table { width:100%; border-collapse:collapse; font-size:15px; margin-bottom:32px; }
.builder-cover-page .bcov-table th { width:96px; text-align:left; color:#4a6a8a; font-weight:600; padding:12px 8px; border-bottom:1px solid #e3ebf4; vertical-align:top; }
.builder-cover-page .bcov-table td { padding:12px 8px; border-bottom:1px solid #e3ebf4; color:#0a1628; }
.builder-cover-page .bcov-body { font-size:15px; line-height:1.7; margin:24px 0 56px; }
.builder-cover-page .bcov-sign { text-align:center; }
.builder-cover-page .bcov-date { font-size:15px; margin-bottom:16px; }
.builder-cover-page .bcov-applicant { font-size:16px; font-weight:600; }
