
/* ============================================================
   PDF PRINT STYLES
   ============================================================ */

.pdf-plan {
  display: none;
}

@media print {
  body > *:not(.pdf-print-root) {
    display: none !important;
  }

  .pdf-print-root {
    display: block !important;
  }

  .pdf-plan {
    display: block;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 10pt;
    color: #1e293b;
    background: #fff;
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .pdf-header {
    background: #0f172a;
    color: #fff;
    padding: 32pt 40pt 24pt;
    margin-bottom: 24pt;
  }

  .pdf-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12pt;
  }

  .pdf-business-name {
    font-size: 22pt;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4pt;
    line-height: 1.2;
  }

  .pdf-location {
    font-size: 9pt;
    color: #94a3b8;
    margin: 0;
  }

  .pdf-badge {
    background: #0d9488;
    color: #fff;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 5pt 12pt;
    border-radius: 20pt;
    white-space: nowrap;
  }

  .pdf-divider {
    border: none;
    border-top: 1px solid #334155;
    margin: 0 0 10pt;
  }

  .pdf-tagline {
    font-size: 8pt;
    color: #64748b;
    margin: 0;
  }

  .pdf-section {
    padding: 0 40pt 20pt;
    page-break-inside: avoid;
  }

  .pdf-section-title {
    font-size: 11pt;
    font-weight: 700;
    color: #0f172a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 10pt;
    padding-bottom: 6pt;
    border-bottom: 2px solid #e2e8f0;
  }

  /* Score block */
  .pdf-score-block {
    display: flex;
    gap: 32pt;
    align-items: flex-start;
  }

  .pdf-score-left {
    flex-shrink: 0;
    width: 100pt;
    text-align: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8pt;
    padding: 14pt 10pt;
  }

  .pdf-score-label {
    font-size: 7pt;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
    margin: 0 0 4pt;
    font-weight: 600;
  }

  .pdf-score-number {
    font-size: 36pt;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 4pt;
  }

  .pdf-score-denom {
    font-size: 14pt;
    font-weight: 400;
    color: #94a3b8;
  }

  .pdf-score-tag {
    font-size: 8pt;
    font-weight: 700;
  }

  .pdf-score-bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8pt;
    padding-top: 4pt;
  }

  .pdf-bar-row {
    display: flex;
    flex-direction: column;
    gap: 2pt;
  }

  .pdf-bar-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .pdf-bar-label {
    font-size: 8.5pt;
    color: #334155;
    font-weight: 500;
  }

  .pdf-bar-value {
    font-size: 8.5pt;
    font-weight: 700;
  }

  .pdf-bar-track {
    height: 5pt;
    background: #e2e8f0;
    border-radius: 99pt;
    overflow: hidden;
  }

  .pdf-bar-fill {
    height: 100%;
    border-radius: 99pt;
  }

  /* Opportunity */
  .pdf-opportunity-block {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8pt;
    padding: 14pt 16pt;
  }

  .pdf-opportunity-text {
    font-size: 10pt;
    color: #166534;
    line-height: 1.5;
    margin: 0;
    font-weight: 500;
  }

  .pdf-opportunity-block .pdf-section-title {
    color: #166534;
    border-bottom-color: #bbf7d0;
    margin-bottom: 8pt;
  }

  /* Recommendations */
  .pdf-rec {
    border: 1px solid #e2e8f0;
    border-radius: 6pt;
    margin-bottom: 10pt;
    overflow: hidden;
    page-break-inside: avoid;
  }

  .pdf-rec-header {
    display: flex;
    align-items: center;
    gap: 8pt;
    padding: 8pt 12pt;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
  }

  .pdf-rec-num {
    width: 16pt;
    height: 16pt;
    border-radius: 50%;
    background: #e2e8f0;
    color: #475569;
    font-size: 8pt;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-align: center;
    line-height: 16pt;
  }

  .pdf-rec-title {
    flex: 1;
    font-size: 9.5pt;
    font-weight: 700;
    color: #0f172a;
  }

  .pdf-rec-priority {
    font-size: 7pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2pt 7pt;
    border-radius: 20pt;
  }

  .pdf-priority-critical { background: #fee2e2; color: #b91c1c; }
  .pdf-priority-high { background: #ffedd5; color: #c2410c; }
  .pdf-priority-medium { background: #fef3c7; color: #b45309; }
  .pdf-priority-low { background: #f1f5f9; color: #475569; }

  .pdf-rec-reason {
    padding: 8pt 12pt;
    font-size: 9pt;
    color: #475569;
    line-height: 1.5;
    margin: 0;
    border-bottom: 1px solid #f1f5f9;
  }

  .pdf-rec-meta {
    padding: 8pt 12pt;
    display: flex;
    flex-direction: column;
    gap: 4pt;
  }

  .pdf-rec-meta-item {
    display: flex;
    gap: 4pt;
    align-items: flex-start;
  }

  .pdf-meta-label {
    font-size: 8pt;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .pdf-meta-value {
    font-size: 8pt;
    color: #64748b;
    line-height: 1.4;
  }

  /* Roadmap */
  .pdf-roadmap {
    display: flex;
    flex-direction: column;
    gap: 10pt;
  }

  .pdf-phase {
    border-radius: 6pt;
    padding: 12pt;
    page-break-inside: avoid;
  }

  .pdf-phase-0 { background: #eff6ff; border: 1px solid #bfdbfe; }
  .pdf-phase-1 { background: #f0fdfa; border: 1px solid #99f6e4; }
  .pdf-phase-2 { background: #ecfdf5; border: 1px solid #a7f3d0; }

  .pdf-phase-header {
    display: flex;
    align-items: flex-start;
    gap: 10pt;
    margin-bottom: 8pt;
  }

  .pdf-phase-num {
    width: 18pt;
    height: 18pt;
    border-radius: 4pt;
    font-size: 9pt;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 18pt;
    flex-shrink: 0;
  }

  .pdf-phase-0 .pdf-phase-num { background: #3b82f6; }
  .pdf-phase-1 .pdf-phase-num { background: #14b8a6; }
  .pdf-phase-2 .pdf-phase-num { background: #10b981; }

  .pdf-phase-name {
    font-size: 9.5pt;
    font-weight: 700;
    margin: 0 0 1pt;
  }

  .pdf-phase-0 .pdf-phase-name { color: #1d4ed8; }
  .pdf-phase-1 .pdf-phase-name { color: #0f766e; }
  .pdf-phase-2 .pdf-phase-name { color: #065f46; }

  .pdf-phase-label {
    font-size: 8pt;
    color: #64748b;
    margin: 0;
  }

  .pdf-task-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4pt;
  }

  .pdf-task {
    font-size: 8.5pt;
    color: #334155;
    padding-left: 12pt;
    position: relative;
    line-height: 1.4;
  }

  .pdf-task::before {
    content: '✓';
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #0f766e;
  }

  /* Budget */
  .pdf-budget {
    display: flex;
    flex-direction: column;
    gap: 8pt;
  }

  .pdf-budget-row {
    display: flex;
    flex-direction: column;
    gap: 3pt;
  }

  .pdf-budget-meta {
    display: flex;
    justify-content: space-between;
  }

  .pdf-budget-category {
    font-size: 9pt;
    color: #334155;
    font-weight: 500;
  }

  .pdf-budget-amount {
    font-size: 9pt;
    font-weight: 700;
    color: #0f172a;
  }

  .pdf-budget-track {
    height: 6pt;
    background: #e2e8f0;
    border-radius: 99pt;
    overflow: hidden;
  }

  .pdf-budget-fill {
    height: 100%;
    border-radius: 99pt;
  }

  /* Footer */
  .pdf-footer {
    padding: 16pt 40pt;
    border-top: 1px solid #e2e8f0;
    margin-top: 8pt;
  }

  .pdf-footer p {
    font-size: 7.5pt;
    color: #94a3b8;
    margin: 0;
    text-align: center;
    line-height: 1.5;
  }

  @page {
    margin: 0.5in;
    size: A4;
  }
}