.stampa-documento { display: none; }

@media print {
    @page { size: A4; margin: 15mm 14mm; }
    body.stampa-in-corso {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        background: white !important;
        color: black !important;
    }
    body.stampa-in-corso::before, body.stampa-in-corso::after,
    body.stampa-in-corso > :not(.stampa-documento) { display: none !important; }
    body > .stampa-documento {
        display: block !important;
        font: 10pt/1.4 Arial, sans-serif;
        color: #000;
        background: #fff;
    }
    .stampa-documento * {
        box-sizing: border-box;
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
        overflow: visible !important;
        max-height: none !important;
        animation: none !important;
        overflow-wrap: anywhere;
    }
    .stampa-documento h1 { font: bold 17pt/1.2 Arial, sans-serif; margin: 0 0 12pt; }
    .stampa-documento h2 { font: bold 12pt/1.3 Arial, sans-serif; border-bottom: 1pt solid #333; margin: 12pt 0 7pt; padding-bottom: 3pt; }
    .stampa-documento h3 { font: bold 10.5pt/1.3 Arial, sans-serif; margin: 9pt 0 5pt; }
    .stampa-documento h1, .stampa-documento h2, .stampa-documento h3,
    .stampa-documento summary { break-after: avoid; }
    .stampa-documento .pfi-quadro, .stampa-documento .section,
    .stampa-documento .pfi-anno, .stampa-documento .pfi-uda-card {
        display: block; margin: 0 0 10pt; padding: 0;
        border: 0; border-radius: 0; break-inside: auto;
    }
    .stampa-documento .pfi-griglia { display: grid; gap: 6pt 10pt; margin-bottom: 6pt; }
    .stampa-documento .pfi-griglia-2,
    .stampa-documento .pfi-griglia-3,
    .stampa-documento .pfi-griglia-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stampa-documento .pfi-col-2 { grid-column: span 2; }
    .stampa-documento label { display: block; font-size: 9pt; font-weight: bold; margin: 4pt 0; }
    .stampa-documento .stampa-valore {
        display: block; min-height: 14pt; padding: 2pt 0; border-bottom: .5pt solid #aaa;
        white-space: pre-wrap; font: normal 10pt/1.4 Arial, sans-serif;
    }
    .stampa-documento .stampa-spunta { display: inline; border: 0; }
    .stampa-documento .pfi-checks { display: block; }
    .stampa-documento fieldset { border: .5pt solid #999; padding: 5pt 7pt; margin: 6pt 0; break-inside: avoid; }
    .stampa-documento .pfi-fonte, .stampa-documento .pfi-nota { font-size: 8pt; margin: 4pt 0 6pt; }
    .stampa-documento table { border-collapse: collapse; width: 100%; min-width: 0; table-layout: fixed; font-size: 8pt; margin: 6pt 0; }
    .stampa-documento th, .stampa-documento td { border: .5pt solid #777; padding: 3pt; vertical-align: top; }
    .stampa-documento thead { display: table-header-group; }
    .stampa-documento tr { break-inside: avoid; }
    .stampa-documento summary { font-weight: bold; padding: 5pt 0; margin-top: 7pt; }
    .stampa-documento .pfi-anno-corpo { padding: 0; }
    .stampa-documento .pfi-num { border: 0; padding: 0 4pt 0 0; font-size: inherit; }
    .stampa-documento .pfi-firme { display: flex; gap: 14pt; margin-top: 24pt; break-inside: avoid; }
    .stampa-documento .pfi-firma { flex: 1; border-top: .5pt solid #333; min-height: 35pt; font-size: 8pt; }
    .stampa-documento .risultato-finale { padding: 8pt 0; border-radius: 0; text-align: left; }
    .stampa-documento .voto-finale { font-size: 28pt; margin: 10pt 0; }
    .stampa-documento .giudizio-finale { font-size: 13pt; }
    .stampa-documento .dettaglio-calcolo { padding: 0; margin-top: 12pt; }
    .stampa-documento .dettaglio-row { break-inside: avoid; border-bottom: .5pt solid #aaa; padding: 5pt 0; }
    .stampa-documento .no-print, .stampa-documento button,
    .stampa-documento .button-group { display: none !important; }
}

/* Comandi disponibili anche quando le schede sono chiuse. */
.stampa-comandi, .stampa-scelta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; margin: 12px 0; border: 1px solid #b6cfca; border-radius: 10px; background: #f3f8f6; }
.stampa-comandi p { flex-basis: 100%; margin: 2px 0; font-size: .9rem; }
.stampa-bottone { background: #0b5f5a; color: white; border: 1px solid #0b5f5a; border-radius: 7px; padding: 9px 13px; font: inherit; cursor: pointer; }
.stampa-bottone:disabled { opacity: .55; cursor: default; }
.stampa-bottone:focus-visible { outline: 3px solid #d99b1a; outline-offset: 3px; }
.stampa-scelta { margin: 0; border-radius: 0; border-width: 1px 0 0; justify-content: space-between; }
.stampa-scelta label { display: flex; align-items: center; gap: 6px; font-size: .9rem; }
.stampa-scelta input { width: 18px; height: 18px; }

@media print {
    .stampa-comandi, .stampa-scelta { display: none !important; }
    html:has(body.stampa-in-corso), body.stampa-in-corso { height: auto !important; overflow: visible !important; }
    .stampa-documento > .container { max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .stampa-documento .uda-acc, .stampa-documento .gen-acc,
    .stampa-documento .group-container, .stampa-documento .competence-card,
    .stampa-documento .competence-axis, .stampa-documento .info-block {
        border: 0; border-radius: 0; margin: 0 0 12pt; padding: 0; break-inside: auto;
    }
    .stampa-documento > .uda-acc + .uda-acc { break-before: page; }
    .stampa-documento .stampa-scheda-titolo { display: block; margin-top: 8pt; font-size: 13pt; }
    .stampa-documento .stampa-scheda-titolo span { padding: 0; margin: 0 5pt 0 0; border: 0; border-radius: 0; }
    .stampa-documento .uda-acc-main, .stampa-documento .uda-acc-sub,
    .stampa-documento .uda-acc-pills, .stampa-documento .gen-acc-meta { display: block; font-size: 9pt; font-weight: normal; }
    .stampa-documento .uda-acc-title, .stampa-documento .gen-acc-title { font-size: 13pt; font-weight: bold; }
    .stampa-documento .uda-acc-body, .stampa-documento .gen-acc-body,
    .stampa-documento .group-content, .stampa-documento .item-grid,
    .stampa-documento .competence-layout, .stampa-documento .competence-axes,
    .stampa-documento .axis-columns, .stampa-documento .sin-grid,
    .stampa-documento .sin-row, .stampa-documento .sin-item { display: block !important; padding: 0; margin: 0 0 8pt; border: 0; }
    .stampa-documento .sin-label { font-weight: bold; margin: 7pt 0 3pt; break-after: avoid; }
    .stampa-documento .sin-value { padding: 0; }
    .stampa-documento ul, .stampa-documento ol { padding-left: 16pt; margin: 4pt 0; }
    .stampa-documento li { margin: 0 0 3pt; }
    .stampa-documento h4, .stampa-documento h5 { font-size: 10pt; margin: 8pt 0 4pt; break-after: avoid; }
    .stampa-documento .ins-chip, .stampa-documento .pill,
    .stampa-documento .asse-chip, .stampa-documento .uda-chip,
    .stampa-documento .knowledge-subjects span, .stampa-documento .axis-subjects span { display: inline; border: 0; padding: 0; font-size: 8pt; font-weight: normal; white-space: normal; }
    .stampa-documento .ins-chip::after, .stampa-documento .knowledge-subjects span::after,
    .stampa-documento .axis-subjects span::after { content: '; '; }
    .stampa-documento .uda-ore-box { margin: 8pt 0; padding: 0; border: 0; }
    .stampa-documento .uda-ore-metodo { font-size: 8pt; }
    .stampa-documento .uda-ore-tabella th:first-child { width: 55%; }
    .stampa-documento .stampa-piano { table-layout: fixed; }
    .stampa-documento .stampa-piano > thead th:nth-child(1) { width: 24%; }
    .stampa-documento .stampa-piano > thead th:nth-child(2) { width: 40%; }
    .stampa-documento .stampa-piano > tbody > tr { break-inside: auto; }
    .stampa-documento .stampa-piano table { font-size: 7pt; }
    .stampa-documento .stampa-piano .sin-label { font-size: 8pt; }
    .stampa-documento .stampa-piano h4 { font-size: 8pt; }
    .stampa-documento .stampa-piano p { margin: 4pt 0; }
    .stampa-documento img { max-width: 100% !important; height: auto !important; max-height: 65mm !important; object-fit: contain; }
    .stampa-documento .stats-grid, .stampa-documento .period-grid,
    .stampa-documento .ci-grid { display: block; }
    .stampa-documento .stat-card, .stampa-documento .period-card { padding: 5pt 0; margin: 4pt 0; break-inside: avoid; }
    .stampa-documento .stat-value { font-size: 14pt; }
    .stampa-documento .stat-icon, .stampa-documento .period-progress { display: none; }
    .stampa-documento a::after { content: none !important; }
}

@media print {
    .stampa-documento .ci-section, .stampa-documento .ci-intro,
    .stampa-documento .ci-path, .stampa-documento .ci-stage,
    .stampa-documento .ci-copy, .stampa-documento .ci-intro-title,
    .stampa-documento .ci-intro-copy { display: block; padding: 0; margin: 0 0 10pt; border: 0; width: auto; }
    .stampa-documento .ci-section::before, .stampa-documento .ci-path::before,
    .stampa-documento .ci-stage::before, .stampa-documento .ci-number { display: none; }
    .stampa-documento .ci-path { list-style: none; }
    .stampa-documento .ci-stage { break-inside: avoid; }
    .stampa-documento .ci-visual { border: 0; border-radius: 0; margin: 8pt 0; }
    .stampa-documento .ci-visual img { display: block; width: auto; max-width: 100%; height: 45mm !important; }
    .stampa-documento .ci-visual figcaption { padding: 3pt 0; border: 0; font-size: 8pt; }
    .stampa-documento .ci-kicker, .stampa-documento .ci-period { font-size: 8pt; letter-spacing: normal; margin: 4pt 0; }
    .stampa-documento .ci-copy h3, .stampa-documento .ci-intro h2 { max-width: none; width: auto; font-size: 12pt; }
    .stampa-documento .ci-actions, .stampa-documento .ci-trace { margin: 5pt 0; }
    .stampa-documento .general-stats { display: block; }
    .stampa-documento .general-card { display: inline-block; width: 31%; padding: 5pt; border: .5pt solid #aaa; margin: 4pt 1%; border-radius: 0; vertical-align: top; }
    .stampa-documento .general-card .card-value { font-size: 14pt; }
    .stampa-documento .intro-panel, .stampa-documento .section-header,
    .stampa-documento .stats-table-header { border: 0; padding: 5pt 0; margin: 5pt 0; }
    .stampa-documento .period-card { border: .5pt solid #aaa; border-radius: 0; padding: 5pt; }
}
