/* ============================================================
   print.css — Certificate & Export print styles
   Applied only via media="print" in base.html
   ============================================================ */

@media print {
  /* Hide non-content chrome */
  .no-print,
  .topbar,
  .nav-drawer,
  .footer,
  .toast-container,
  .workshop-banner,
  button,
  .button-primary,
  .button-ghost {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 12pt;
    margin: 0;
    padding: 0;
  }

  main.shell {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ── Certificate ── */
  .certificate {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 0;
    margin: 0;
  }

  .cert-border {
    border: 8px double #1a1a2e;
    padding: 3rem 4rem;
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    page-break-inside: avoid;
  }

  .cert-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    margin-bottom: 1.5rem;
  }

  .cert-mark {
    width: 56px !important;
    height: 56px !important;
    font-size: 1.5rem !important;
    background: #1a1a2e !important;
    color: #fff !important;
    border-radius: 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cert-issuer {
    font-size: 13pt;
    color: #555;
    margin: 0;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .cert-headline {
    font-size: 26pt;
    font-weight: 700;
    margin: 0 0 .5rem;
    color: #1a1a2e;
    letter-spacing: .02em;
  }

  .cert-presented {
    font-size: 11pt;
    color: #555;
    margin: 0 0 .25rem;
  }

  .cert-name {
    font-size: 22pt;
    font-weight: 700;
    color: #4361EE;
    margin: 0 0 1rem;
  }

  .cert-body {
    font-size: 11pt;
    line-height: 1.7;
    color: #333;
    margin: 0 0 1.5rem;
  }

  .cert-stats {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin: 1.5rem 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 1rem 0;
  }

  .cert-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .1rem;
  }

  .cert-stat-val {
    font-size: 18pt;
    font-weight: 700;
    color: #4361EE;
  }

  .cert-stat-label {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #777;
  }

  .cert-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 2rem;
  }

  .cert-sig-line {
    text-align: center;
  }

  .cert-sig {
    font-size: 10pt;
    color: #999;
  }

  .cert-sig-label {
    font-size: 9pt;
    color: #777;
    margin-top: .25rem;
  }

  .cert-date {
    font-size: 10pt;
    color: #777;
  }

  .cert-seal {
    font-size: 2.5rem;
    position: absolute;
    top: 1.5rem;
    right: 2rem;
    opacity: .85;
  }

  /* ── Export / Progress report ── */
  .export-page {
    max-width: 720px;
    margin: 0 auto;
    padding: 2rem;
    font-family: Arial, sans-serif;
    font-size: 10pt;
    color: #000;
  }

  .export-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 2px solid #1a1a2e;
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
  }

  .export-stats {
    display: flex;
    gap: 2rem;
    background: #f5f5f5;
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
  }

  .export-stat {
    display: flex;
    flex-direction: column;
    gap: .1rem;
  }

  .export-stat strong {
    font-size: 16pt;
    color: #4361EE;
  }

  .export-stat span {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #777;
  }

  .export-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
  }

  .export-list li {
    padding: .3rem 0;
    border-bottom: 1px solid #eee;
    font-size: 10pt;
  }

  .export-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
    margin-top: .5rem;
  }

  .export-table th {
    background: #1a1a2e;
    color: #fff;
    padding: .4rem .6rem;
    text-align: left;
  }

  .export-table td {
    padding: .35rem .6rem;
    border-bottom: 1px solid #eee;
  }

  .export-table tr:nth-child(even) td {
    background: #f9f9f9;
  }

  .export-footer {
    margin-top: 2rem;
    padding-top: .75rem;
    border-top: 1px solid #ddd;
    font-size: 8pt;
    color: #aaa;
    text-align: center;
  }

  /* Page setup */
  @page {
    size: A4 landscape;
    margin: 1cm;
  }

  @page :first {
    size: A4 landscape;
  }
}
