/* ============================================================
   VINELAND - PRINT STYLESHEET v4
   A4 Portrait | Arabic RTL | Full Color | Balanced Layout
   ============================================================ */

@media print {

  /* ── Force exact color printing ── */
  *, *::before, *::after {
    box-sizing: border-box;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  /* ── A4 page setup: 10mm top/bottom, 14mm left/right ── */
  @page {
    size: A4 portrait;
    margin: 12mm 14mm 12mm 14mm;
  }
  @page :first {
    margin-top: 10mm;
  }

  /* ── Reset body for print ── */
  html, body {
    background: #FFFFFF !important;
    color: #1A1A1A !important;
    font-family: 'Cairo', 'Tahoma', 'Arial', sans-serif !important;
    font-size: 9pt !important;
    direction: rtl !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  /* ── Hide everything except dashboard ── */
  #splash-screen,
  .app-header,
  #page-info,
  #page-intro,
  #page-questionnaire,
  #page-history,
  .no-print,
  .copyright-bar,
  .dashboard-actions,
  .completion-overlay,
  .modal-overlay,
  .header-actions,
  .header-progress,
  .qr-modal-overlay { display: none !important; }

  /* ── Show only dashboard ── */
  #app                    { display: block !important; }
  #page-dashboard         { display: block !important; }
  #page-dashboard.page    { display: block !important; }

  /* ── Dashboard container: full width, no gaps ── */
  .dashboard-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    display: block !important;
    background: #fff !important;
  }

  /* ══════════════════════════════════════════════════
     PRINT PAGES — each one is exactly one A4 sheet
     ══════════════════════════════════════════════════ */
  .print-page {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 0 0 !important;
    page-break-after: always !important;
    break-after: page !important;
    overflow: visible !important;
    position: relative !important;
  }
  .print-page:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }
  .print-page-break {
    page-break-before: always !important;
    break-before: page !important;
  }

  /* ══════════════════════════════════════════════════
     PAGE 1 — HEADER + OVERALL + PROFILE CHART + DOMAINS
     ══════════════════════════════════════════════════ */

  /* ── HEADER ── */
  .dashboard-header {
    background: #FFFDE7 !important;
    border: 1.5pt solid rgba(230,184,0,.4) !important;
    border-top: 3.5pt solid #E6B800 !important;
    border-radius: 8pt !important;
    padding: 8pt 12pt !important;
    margin-bottom: 7pt !important;
    display: block !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .dash-logo-row {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    margin-bottom: 6pt !important;
  }
  .dash-logo-icon {
    width: 60pt !important;
    height: 38pt !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .dash-logo-icon img {
    width: 60pt !important;
    height: 38pt !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    mix-blend-mode: multiply !important;
  }
  .dash-title {
    font-size: 13pt !important;
    font-weight: 900 !important;
    color: #1A1A1A !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .dash-subtitle {
    font-size: 6.5pt !important;
    color: #888888 !important;
    letter-spacing: 1px !important;
    margin: 1pt 0 0 0 !important;
  }
  .dash-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 3.5pt !important;
  }
  .dash-info-item {
    background: rgba(230,184,0,.08) !important;
    border: 1pt solid rgba(230,184,0,.2) !important;
    border-radius: 4pt !important;
    padding: 3pt 6pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
  }
  .dash-info-item i { color: #E6B800 !important; font-size: 7pt !important; flex-shrink: 0 !important; }
  .dash-info-cell { display: flex !important; flex-direction: column !important; gap: 0.5pt !important; }
  .dash-info-label { font-size: 5.5pt !important; color: #999999 !important; font-weight: 500 !important; line-height: 1.1 !important; }
  .dash-info-val   { font-size: 7pt !important; color: #1A1A1A !important; font-weight: 800 !important; line-height: 1.2 !important; }

  /* ── OVERALL + PROFILE ROW ── */
  .overall-radar-row {
    display: grid !important;
    grid-template-columns: 130pt 1fr !important;
    gap: 7pt !important;
    align-items: stretch !important;
    margin-bottom: 7pt !important;
  }

  /* Overall Score Card */
  .overall-card {
    background: #FFFFFF !important;
    border: 1pt solid #E8E8E8 !important;
    border-top: 2.5pt solid #E6B800 !important;
    border-radius: 8pt !important;
    padding: 9pt 8pt !important;
    animation: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5pt !important;
    text-align: center !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .overall-card-title {
    color: #C49A00 !important;
    font-size: 7.5pt !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    gap: 3pt !important;
    justify-content: center !important;
  }
  .overall-card-title i { color: #E6B800 !important; }
  .overall-ring-wrap {
    width: 90pt !important;
    height: 90pt !important;
    position: relative !important;
  }
  .overall-ring {
    width: 100% !important;
    height: 100% !important;
    transform: rotate(-90deg) !important;
  }
  .ring-bg { fill: none !important; stroke: #E8E8E8 !important; stroke-width: 14 !important; }
  #overall-ring-fill {
    fill: none !important;
    stroke: #E6B800 !important;
    stroke-width: 14 !important;
    stroke-linecap: round !important;
  }
  .overall-score-inner {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .overall-score-num {
    font-size: 20pt !important;
    font-weight: 900 !important;
    color: #E6B800 !important;
    -webkit-text-fill-color: #E6B800 !important;
    line-height: 1 !important;
  }
  .overall-score-pct  { font-size: 8pt !important; color: #888888 !important; }
  .overall-score-label { font-size: 5.5pt !important; color: #888888 !important; }
  .overall-level {
    font-size: 6.5pt !important;
    font-weight: 700 !important;
    padding: 1.5pt 5pt !important;
    border-radius: 8pt !important;
    display: inline-block !important;
  }
  .overall-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 3pt !important;
    width: 100% !important;
  }
  .meta-item {
    background: rgba(230,184,0,.08) !important;
    border-radius: 4pt !important;
    padding: 2.5pt 5pt !important;
    font-size: 7pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
    color: #444444 !important;
  }
  .meta-item i     { color: #E6B800 !important; font-size: 6.5pt !important; width: 10pt !important; }
  .meta-item span  { color: #1A1A1A !important; font-weight: 700 !important; }

  /* Profile Chart (replaces Radar) */
  .radar-card,
  .profile-card {
    background: #FFFFFF !important;
    border: 1pt solid rgba(230,184,0,.3) !important;
    border-top: 2.5pt solid #E6B800 !important;
    border-radius: 8pt !important;
    padding: 8pt 10pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .chart-card-title {
    color: #C49A00 !important;
    font-size: 8pt !important;
    font-weight: 800 !important;
    margin-bottom: 5pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
  }
  .chart-card-title i { color: #E6B800 !important; }

  /* Profile chart canvas container */
  .radar-wrap,
  .profile-chart-wrap {
    height: 120pt !important;
    flex: 1 !important;
    position: relative !important;
  }
  .radar-wrap canvas,
  .profile-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
  }

  /* ── DOMAIN CARDS ── */
  .domains-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5pt !important;
  }
  .domain-card {
    background: #FFFFFF !important;
    border: 1pt solid #E8E8E8 !important;
    border-radius: 7pt !important;
    padding: 7pt 8pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    animation: none !important;
    position: relative !important;
    overflow: hidden !important;
    transition: none !important;
  }
  .domain-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 3pt !important;
    height: 100% !important;
    background: var(--domain-color) !important;
  }
  .domain-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 5pt !important;
    margin-bottom: 5pt !important;
  }
  .domain-card-icon {
    width: 22pt !important;
    height: 22pt !important;
    border-radius: 5pt !important;
    font-size: 9pt !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(230,184,0,.15) !important;
    flex-shrink: 0 !important;
  }
  .domain-card-name {
    font-size: 8pt !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    line-height: 1.2 !important;
  }
  .domain-card-sub { font-size: 5.5pt !important; color: #888888 !important; }
  .domain-score-val {
    font-size: 14pt !important;
    font-weight: 900 !important;
    color: var(--domain-color) !important;
    display: block !important;
    text-align: center !important;
    margin: 3pt 0 !important;
  }
  .domain-score-bar {
    height: 5pt !important;
    background: #F0F0F0 !important;
    border-radius: 3pt !important;
    margin: 3pt 0 !important;
    overflow: hidden !important;
  }
  .domain-score-fill {
    height: 100% !important;
    width: var(--fill-w, 0%) !important;
    background: var(--domain-color) !important;
    border-radius: 3pt !important;
  }
  .domain-score-row {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 6.5pt !important;
    color: #666666 !important;
    margin-top: 2pt !important;
  }
  .domain-level-badge {
    font-size: 5.5pt !important;
    font-weight: 700 !important;
    padding: 1pt 4pt !important;
    border-radius: 8pt !important;
    display: inline-block !important;
    margin-top: 3pt !important;
  }

  /* ══════════════════════════════════════════════════
     PAGE 2 — BAR CHART + SUBDOMAINS
     ══════════════════════════════════════════════════ */

  /* Bar chart section */
  .bar-card-full {
    background: #FFFFFF !important;
    border: 1pt solid rgba(230,184,0,.3) !important;
    border-top: 2.5pt solid #E6B800 !important;
    border-radius: 8pt !important;
    padding: 8pt 10pt !important;
    margin-bottom: 8pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .bar-wrap-full {
    height: 175pt !important;
    position: relative !important;
  }
  .bar-wrap-full canvas {
    width: 100% !important;
    height: 100% !important;
  }

  /* Subdomain section */
  .subdomain-section { margin-bottom: 6pt !important; }
  .section-title {
    font-size: 9.5pt !important;
    font-weight: 900 !important;
    color: #C49A00 !important;
    margin-bottom: 5pt !important;
    border-bottom: 1.5pt solid #E6B800 !important;
    padding-bottom: 3pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
  }
  .section-title i { color: #E6B800 !important; }
  .subdomain-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4pt !important;
    animation: none !important;
  }
  .subdomain-card {
    background: #FFFFFF !important;
    border: 1pt solid #E8E8E8 !important;
    border-radius: 6pt !important;
    padding: 6pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    animation: none !important;
  }
  .subdomain-card-title {
    font-size: 7pt !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin-bottom: 4pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 3pt !important;
  }
  .sd-dot {
    width: 6pt !important;
    height: 6pt !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
  }
  .subdomain-bar-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
  }
  .subdomain-bar {
    flex: 1 !important;
    height: 4pt !important;
    background: #F0F0F0 !important;
    border-radius: 2pt !important;
    overflow: hidden !important;
  }
  .subdomain-bar-fill {
    height: 100% !important;
    border-radius: 2pt !important;
  }
  .subdomain-pct {
    font-size: 6.5pt !important;
    font-weight: 700 !important;
    min-width: 22pt !important;
    text-align: left !important;
    color: #444444 !important;
  }
  .subdomain-progress > div:last-child {
    font-size: 6pt !important;
    color: #666666 !important;
    margin-top: 2pt !important;
  }

  /* ══════════════════════════════════════════════════
     PAGE 3 — RECOMMENDATIONS + FOOTER
     ══════════════════════════════════════════════════ */
  .recommendations-section {
    margin-bottom: 0 !important;
  }
  .rec-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6pt !important;
  }
  .rec-card {
    background: #FFFFFF !important;
    border: 1pt solid #E8E8E8 !important;
    border-radius: 7pt !important;
    padding: 8pt !important;
    border-right: 3pt solid var(--domain-color) !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .rec-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 5pt !important;
    margin-bottom: 5pt !important;
  }
  .rec-card-title {
    font-size: 8pt !important;
    font-weight: 800 !important;
    color: #1A1A1A !important;
  }
  .rec-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5pt !important;
  }
  .rec-list li {
    font-size: 7pt !important;
    color: #555555 !important;
    background: #F8F8F8 !important;
    border: 1pt solid #EEEEEE !important;
    border-radius: 4pt !important;
    padding: 2pt 5pt !important;
    line-height: 1.5 !important;
  }
  .rec-list li::before {
    content: '• ' !important;
    color: #E6B800 !important;
    font-weight: 900 !important;
  }

  /* ══════════════════════════════════════════════════
     PRINT FOOTER
     ══════════════════════════════════════════════════ */
  .print-footer {
    border-top: 1.5pt solid #E8E8E8 !important;
    padding-top: 6pt !important;
    margin-top: 10pt !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .print-footer-specialist-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12pt !important;
    background: #F8F8F8 !important;
    border-radius: 5pt !important;
    padding: 4pt 8pt !important;
    margin-bottom: 3pt !important;
  }
  .print-footer-specialist {
    display: flex !important;
    align-items: center !important;
    gap: 3pt !important;
    font-size: 7pt !important;
    color: #444444 !important;
  }
  .print-footer-specialist i { color: #C49A00 !important; }
  .print-footer-specialist span { color: #777777 !important; }
  .print-footer-specialist strong { color: #1A1A1A !important; font-weight: 800 !important; }
  .print-footer-divider {
    height: 0.5pt !important; background: #E8E8E8 !important;
  }
  .print-footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6pt !important;
  }
  .print-footer-logo {
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
    color: #C49A00 !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
  }
  .print-footer-logo img {
    width: 42pt !important;
    height: 26pt !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
  }
  .print-footer-note {
    color: #777777 !important; font-size: 6.5pt !important;
    max-width: 75% !important; line-height: 1.4 !important;
    text-align: center !important;
  }
  .print-footer-date { display: none !important; }

  /* ══════════════════════════════════════════════════
     LEVEL BADGE COLORS
     ══════════════════════════════════════════════════ */
  .level-excellent { color: #10B981 !important; background: rgba(16,185,129,.15) !important; }
  .level-good      { color: #06B6D4 !important; background: rgba(6,182,212,.15) !important; }
  .level-average   { color: #F59E0B !important; background: rgba(245,158,11,.15) !important; }
  .level-below     { color: #EF4444 !important; background: rgba(239,68,68,.15) !important; }
  .level-low       { color: #8B5CF6 !important; background: rgba(139,92,246,.15) !important; }

  /* ── Canvas elements need explicit sizing ── */
  canvas {
    max-width: 100% !important;
    display: block !important;
  }

  /* ── Images ── */
  img {
    max-width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ── Prevent inside breaks in key containers ── */
  .print-page,
  .domain-card,
  .subdomain-card,
  .rec-card,
  .bar-card-full,
  .overall-card,
  .radar-card,
  .profile-card,
  .dashboard-header,
  .print-footer {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* ══════════════════════════════════════════════════
     COMPASS MODULE PRINT STYLES
     ══════════════════════════════════════════════════ */

  /* Show compass print area when compass module is active */
  #compass-module { display: block !important; }
  #compass-page-dashboard { display: block !important; }
  #compass-page-intro, #compass-page-questionnaire { display: none !important; }

  /* Hide compass header, nav, action buttons in print */
  .compass-header,
  .compass-domain-sidebar,
  .cdash-actions,
  #compass-save-notif,
  .no-print { display: none !important; }

  /* Compass print area — full width */
  #compass-print-area {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #1A1A1A !important;
  }

  /* Compass dashboard header */
  .compass-dash-header {
    background: #F0F1FF !important;
    border: 1.5pt solid rgba(79,70,229,.3) !important;
    border-top: 3pt solid #4F46E5 !important;
    border-radius: 8pt !important;
    padding: 8pt 12pt !important;
    margin-bottom: 7pt !important;
    color: #1A1A1A !important;
  }

  .cdash-logo-row {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    margin-bottom: 6pt !important;
  }

  .cdash-report-title {
    font-size: 12pt !important;
    font-weight: 900 !important;
    color: #1A1A1A !important;
  }

  .cdash-report-sub {
    font-size: 6.5pt !important;
    color: #888 !important;
  }

  .cdash-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 3.5pt !important;
  }

  .cdash-info-item {
    background: rgba(79,70,229,.06) !important;
    border: 1pt solid rgba(79,70,229,.2) !important;
    border-radius: 4pt !important;
    padding: 3pt 6pt !important;
    display: flex !important;
    align-items: center !important;
    gap: 4pt !important;
    color: #1A1A1A !important;
  }

  .cdash-info-item i { color: #4F46E5 !important; font-size: 7pt !important; }
  .cdash-info-label { font-size: 5.5pt !important; color: #666 !important; }
  .cdash-info-val { font-size: 7pt !important; color: #1A1A1A !important; font-weight: 800 !important; }

  /* Classification banner */
  #cdash-classification-banner {
    border-radius: 8pt !important;
    padding: 8pt 12pt !important;
    margin-bottom: 7pt !important;
    background: #F8F8F8 !important;
    border: 1.5pt solid #ccc !important;
    color: #1A1A1A !important;
  }

  .ccb-top { display: flex !important; align-items: center !important; gap: 8pt !important; }
  .ccb-texts { flex: 1 !important; }
  .ccb-label { font-size: 11pt !important; font-weight: 800 !important; }
  .ccb-label-en { font-size: 7pt !important; color: #666 !important; }
  .ccb-score-badge {
    padding: 4pt 8pt !important;
    border-radius: 8pt !important;
    color: #fff !important;
    font-weight: 800 !important;
  }
  .ccb-score-num { font-size: 14pt !important; }
  .ccb-score-max { font-size: 8pt !important; opacity: .8 !important; }

  .ccb-bar-wrap {
    height: 5pt !important;
    background: #eee !important;
    border-radius: 3pt !important;
    margin: 5pt 0 3pt !important;
    overflow: hidden !important;
  }
  .ccb-bar { height: 100% !important; border-radius: 3pt !important; }
  .ccb-bar-label { font-size: 6pt !important; color: #666 !important; }
  .ccb-alert { font-size: 7pt !important; padding: 3pt 6pt !important; border-radius: 4pt !important; margin-top: 4pt !important; }

  /* Radar + clinical row */
  .cdash-radar-clinical-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7pt !important;
    margin-bottom: 7pt !important;
  }

  .cdash-chart-card, .cdash-clinical-card {
    background: #fff !important;
    border: 1pt solid #E0E0FF !important;
    border-radius: 8pt !important;
    padding: 8pt !important;
    color: #1A1A1A !important;
  }

  .cdash-chart-title, .cdash-section-title {
    font-size: 8pt !important;
    font-weight: 800 !important;
    color: #4F46E5 !important;
    margin-bottom: 5pt !important;
  }

  .cdash-clinical-card p {
    font-size: 7pt !important;
    color: #333 !important;
    line-height: 1.7 !important;
  }

  /* Domain cards grid */
  .cdash-domains-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 5pt !important;
    margin-bottom: 7pt !important;
  }

  .cdash-domain-card {
    background: #fff !important;
    border: 1pt solid #ddd !important;
    border-radius: 8pt !important;
    padding: 7pt !important;
    color: #1A1A1A !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .cdc-header { display: flex !important; align-items: center !important; gap: 5pt !important; margin-bottom: 4pt !important; }
  .cdc-name { font-size: 8pt !important; font-weight: 800 !important; color: #1A1A1A !important; }
  .cdc-name-en { font-size: 6pt !important; color: #888 !important; }
  .cdc-score { font-size: 12pt !important; font-weight: 900 !important; }
  .cdc-max { font-size: 7pt !important; color: #888 !important; font-weight: 400 !important; }
  .cdc-pct-badge { font-size: 7pt !important; font-weight: 800 !important; padding: 1pt 4pt !important; border-radius: 4pt !important; }
  .cdc-bar-wrap { height: 4pt !important; background: #eee !important; border-radius: 2pt !important; margin: 3pt 0 !important; overflow: hidden !important; }
  .cdc-bar { height: 100% !important; border-radius: 2pt !important; }
  .cdc-positive { font-size: 6.5pt !important; color: #666 !important; margin-bottom: 3pt !important; }
  .cdc-alert-label { font-size: 6.5pt !important; font-weight: 700 !important; }

  /* Recommendations */
  .cdash-recommendations {
    background: #F8F8FF !important;
    border: 1pt solid #E0E0FF !important;
    border-radius: 8pt !important;
    padding: 8pt !important;
    margin-bottom: 7pt !important;
    color: #1A1A1A !important;
  }

  .crec-title { font-size: 9pt !important; font-weight: 800 !important; color: #1A1A1A !important; margin-bottom: 5pt !important; }
  .crec-section-hdr { font-size: 7pt !important; color: #555 !important; margin-bottom: 4pt !important; }

  .crec-card {
    background: #fff !important;
    border: 1pt solid #ddd !important;
    border-radius: 5pt !important;
    padding: 4pt 7pt !important;
    margin-bottom: 3pt !important;
    color: #333 !important;
  }

  .crec-num {
    background: rgba(79,70,229,.15) !important;
    color: #4F46E5 !important;
    font-size: 6pt !important;
    font-weight: 800 !important;
    min-width: 16pt !important;
    height: 16pt !important;
  }

  .crec-text { font-size: 7pt !important; color: #333 !important; line-height: 1.6 !important; }

  /* ── Character SVG elements: hide decorative, show watermarks lightly ── */
  .splash-bg-char,
  .splash-char-strip,
  .empty-char,
  .loading-char,
  .loading-dots,
  .rec-section-char { display: none !important; }

  /* Domain card watermark: keep very faint in print */
  .domain-card-wm {
    display: block !important;
    opacity: .06 !important;
    position: absolute !important;
    bottom: -12px !important; left: -8px !important;
    width: 70pt !important; height: 70pt !important;
    pointer-events: none !important;
  }
  .domain-card-wm svg {
    width: 100% !important; height: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
