/* Relatório DISC — impressão premium A4 (desktop + mobile) */

@page {
    size: A4 portrait;
    margin: 16mm 14mm 18mm;
}

/* Capa em página cheia: evita margin negativo (causa página em branco no iOS/Android) */
@page :first {
    margin: 0;
}

@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Força cores DISC mesmo quando o motor tenta economizar tinta */
    .report-cover,
    .report-cover::after,
    .score-letter,
    .score-bar-fill,
    .report-profile-letter,
    .report-profile-heading-letter,
    .comm-card h3 span,
    [data-disc] {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    [data-disc="D"] {
        background-color: #c45c4a !important;
        color: #fff !important;
    }

    [data-disc="I"] {
        background-color: #d4a017 !important;
        color: #fff !important;
    }

    [data-disc="S"] {
        background-color: #4a7c59 !important;
        color: #fff !important;
    }

    [data-disc="C"] {
        background-color: #4a6fa5 !important;
        color: #fff !important;
    }

    .score-bar-fill[data-disc="D"] { background-color: #c45c4a !important; }
    .score-bar-fill[data-disc="I"] { background-color: #d4a017 !important; }
    .score-bar-fill[data-disc="S"] { background-color: #4a7c59 !important; }
    .score-bar-fill[data-disc="C"] { background-color: #4a6fa5 !important; }

    html {
        background: #fff !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    body {
        background: #fff !important;
        color: #2a2420 !important;
        font-family: "Inter", Georgia, "Times New Roman", serif !important;
        font-size: 9.75pt;
        line-height: 1.55;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: static !important;
    }

    .no-print,
    #intro-view,
    #quiz-view,
    #analyzing-view,
    .skip-link,
    .result-actions,
    .pdf-status {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    .main,
    .main-container,
    .result-view,
    .report,
    #result-content,
    .report-part {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
        background: transparent !important;
        position: static !important;
        float: none !important;
        transform: none !important;
    }

    /* ——— CAPA ——— */

    .report-cover {
        position: relative;
        break-after: page;
        page-break-after: always;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        height: 297mm;
        max-height: 297mm;
        border-radius: 0;
        background-color: #7a5c46 !important;
        background-image: none !important;
        color: #fff !important;
        overflow: hidden;
        box-sizing: border-box;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-cover::before {
        content: "";
        position: absolute;
        inset: 10mm;
        border: 0.6pt solid rgba(255, 255, 255, 0.28);
        pointer-events: none;
    }

    .report-cover::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 18mm;
        background-color: #6a4e3a !important;
        background-image: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-cover-inner {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        height: 100%;
        min-height: 0;
        padding: 28mm 18mm 32mm;
        box-sizing: border-box;
    }

    .report-brand {
        display: block !important;
        margin-bottom: 22mm;
        font-size: 8pt;
        font-weight: 600;
        letter-spacing: 0.35em;
        text-transform: uppercase;
        opacity: 0.7;
    }

    .report-kicker {
        font-size: 9pt;
        font-weight: 600;
        letter-spacing: 0.28em;
        text-transform: uppercase;
        opacity: 0.75;
        margin: 0 0 8pt;
    }

    .report-cover h1 {
        font-family: "Manrope", "Inter", sans-serif !important;
        font-size: 34pt;
        font-weight: 700;
        letter-spacing: -0.04em;
        line-height: 1.05;
        margin: 0 0 8pt;
        color: #fff !important;
    }

    .report-lead {
        font-size: 11pt;
        font-weight: 400;
        opacity: 0.88;
        margin: 0 0 16mm;
        max-width: 95mm;
    }

    .report-cover-rule {
        display: block !important;
        width: 28mm;
        height: 0.7pt;
        background: rgba(255, 255, 255, 0.55) !important;
        margin: 0 auto 14mm;
        border: 0;
    }

    .report-profiles {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 3.5mm;
        width: 140mm;
        max-width: 100%;
        margin: 0 auto;
    }

    .report-profile-card {
        display: flex !important;
        align-items: flex-start;
        gap: 3.5mm;
        text-align: left;
        background: rgba(255, 255, 255, 0.1) !important;
        border: 0.6pt solid rgba(255, 255, 255, 0.22) !important;
        border-radius: 0;
        padding: 4mm 4.5mm;
        max-width: none;
        margin: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .report-profile-card.is-secondary {
        background: rgba(255, 255, 255, 0.07) !important;
        border-color: rgba(255, 255, 255, 0.16) !important;
    }

    .report-profile-letter {
        width: 12mm;
        height: 12mm;
        border-radius: 0;
        font-family: "Manrope", sans-serif !important;
        font-size: 14pt;
        font-weight: 700;
        color: #fff !important;
    }

    .report-profile-label {
        font-size: 6.5pt;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        opacity: 0.65;
        margin: 0;
    }

    .report-profile-name {
        font-family: "Manrope", sans-serif !important;
        font-size: 12pt;
        font-weight: 700;
        margin: 1pt 0 1.5pt;
        color: #fff !important;
    }

    .report-profile-essence {
        font-size: 8pt;
        opacity: 0.85;
        margin: 0;
        line-height: 1.35;
    }

    .report-profile-score {
        margin: 2mm 0 0;
        font-size: 8pt;
        font-weight: 600;
        opacity: 0.9;
    }

    .report-meta {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        width: 110mm;
        margin: 14mm auto 0;
        padding: 6mm 0 0;
        border-top: 0.6pt solid rgba(255, 255, 255, 0.25);
    }

    .report-meta div {
        text-align: center;
        padding: 0 3mm;
        border-right: 0.5pt solid rgba(255, 255, 255, 0.2);
    }

    .report-meta div:last-child {
        border-right: 0;
    }

    .report-meta dt {
        font-size: 6.5pt;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        opacity: 0.6;
        margin: 0 0 2pt;
    }

    .report-meta dd {
        margin: 0;
        font-size: 9.5pt;
        font-weight: 600;
        color: #fff !important;
    }

    /* ——— SUMÁRIO ——— */

    .report-toc {
        break-after: page;
        page-break-after: always;
        padding: 4mm 0 8mm;
    }

    .report-toc-title {
        font-family: "Manrope", sans-serif !important;
        font-size: 18pt;
        font-weight: 700;
        color: #7a5c46 !important;
        letter-spacing: -0.02em;
        margin: 0 0 2mm;
    }

    .report-toc-sub {
        font-size: 9pt;
        color: #8a7a6c;
        margin: 0 0 8mm;
        padding-bottom: 4mm;
        border-bottom: 1pt solid #7a5c46;
    }

    .report-toc-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .report-toc-list li {
        display: flex;
        align-items: baseline;
        gap: 3mm;
        padding: 3.2mm 0;
        border-bottom: 0.4pt solid #ebe4dc;
        font-size: 10pt;
    }

    .report-toc-num {
        flex: 0 0 8mm;
        font-family: "Manrope", sans-serif !important;
        font-weight: 700;
        font-size: 9pt;
        color: #7a5c46;
        letter-spacing: 0.04em;
    }

    .report-toc-text {
        flex: 1;
        color: #2a2420;
    }

    .report-toc-group {
        margin-top: 6mm;
        margin-bottom: 2mm;
        font-size: 7.5pt;
        font-weight: 600;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #b08b67;
    }

    /* ——— CABEÇALHO DE PÁGINA ——— */

    .report-running-header {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        font-size: 7.5pt;
        color: #9a8b7c;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding: 0 0 3mm;
        margin: 0 0 8mm;
        border-bottom: 0.7pt solid #7a5c46;
    }

    .report-running-header strong {
        color: #7a5c46;
        font-weight: 600;
    }

    /* ——— CAPÍTULOS ——— */

    .report-part {
        display: block;
    }

    .report-part-label {
        display: block !important;
        font-size: 7.5pt;
        font-weight: 600;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: #b08b67;
        margin: 0 0 3mm;
        padding-top: 2mm;
    }

    .result-card,
    .report-section {
        break-inside: avoid;
        page-break-inside: avoid;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 0 7mm;
        margin: 0 0 7mm;
        border-bottom: 0.4pt solid #e8e0d8 !important;
        position: relative;
    }

    /* Dois perfis por tópico: a seção não cabe em uma página */
    .report-section.report-section--dual {
        break-inside: auto;
        page-break-inside: auto;
    }

    .report-section::before {
        content: "";
        position: absolute;
        left: -6mm;
        top: 1mm;
        bottom: 7mm;
        width: 1.2pt;
        background: #d4c4b4 !important;
    }

    .report-section.is-featured::before,
    .report-section.report-scores::before {
        background: #7a5c46 !important;
        width: 2pt;
    }

    .result-card h2 {
        display: flex;
        align-items: center;
        gap: 3mm;
        font-family: "Manrope", sans-serif !important;
        font-size: 12.5pt;
        font-weight: 700;
        color: #3d322a !important;
        margin: 0 0 3mm;
        padding: 0 0 3mm;
        border-bottom: 0.5pt solid #d9cfc4 !important;
        letter-spacing: -0.01em;
    }

    .section-art {
        display: block !important;
        margin: 0 0 4.5mm !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        break-inside: avoid;
        page-break-inside: avoid;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .section-art img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .result-card h2 span {
        min-width: 7mm;
        width: auto;
        height: auto;
        padding: 0;
        background: transparent !important;
        color: #7a5c46 !important;
        border-radius: 0;
        font-family: "Manrope", sans-serif !important;
        font-size: 10pt;
        font-weight: 700;
        letter-spacing: 0.06em;
    }

    .report-profile-slice {
        margin: 0 0 4.5mm;
        padding: 0 0 4mm;
        border-bottom: 0.35pt solid #efe9e2;
        break-inside: auto;
        page-break-inside: auto;
    }

    .report-profile-slice:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

    .report-profile-heading {
        display: flex !important;
        align-items: center;
        gap: 2.5mm;
        margin: 0 0 2.5mm;
        padding: 0;
        border: none;
        break-after: avoid;
        page-break-after: avoid;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-profile-heading-letter {
        width: 6.5mm;
        height: 6.5mm;
        border-radius: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: "Manrope", sans-serif !important;
        font-size: 8pt;
        font-weight: 700;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-profile-heading-copy {
        display: flex;
        flex-direction: column;
        gap: 0.4mm;
        min-width: 0;
    }

    .report-profile-heading-rank {
        display: block;
        font-size: 6.5pt;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #b08b67;
    }

    .report-profile-heading-name {
        display: block;
        font-family: "Manrope", sans-serif !important;
        font-size: 11pt;
        font-weight: 700;
        color: #3d322a !important;
    }

    .result-card p {
        font-size: 9.5pt;
        line-height: 1.6;
        color: #3a342f !important;
        margin: 0 0 2.8mm;
        text-align: justify;
        hyphens: auto;
        orphans: 3;
        widows: 3;
    }

    .result-subtitle {
        font-family: "Manrope", sans-serif !important;
        font-size: 11pt;
        font-weight: 600;
        color: #7a5c46 !important;
        margin: 0 0 3mm;
        letter-spacing: -0.01em;
    }

    .report-label,
    .comm-label {
        font-size: 7.5pt !important;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #7a5c46 !important;
        margin: 3mm 0 1.5mm !important;
    }

    .result-list {
        margin: 1mm 0 3mm;
        padding-left: 4.5mm;
    }

    .result-list li {
        font-size: 9.25pt;
        line-height: 1.45;
        margin-bottom: 1.4mm;
        color: #3a342f;
    }

    .result-list--titled {
        padding-left: 0;
    }

    .result-list--titled li {
        padding: 2.8mm 0;
        border-bottom: 0.35pt solid #efe9e2;
        break-inside: avoid;
    }

    .result-list--titled li:last-child {
        border-bottom: 0;
    }

    .result-list--titled strong {
        display: block;
        font-family: "Manrope", sans-serif !important;
        font-size: 9.5pt;
        color: #2a2420;
        margin-bottom: 0.8mm;
    }

    .result-list--titled span {
        font-size: 9pt;
        color: #5c534c;
        line-height: 1.45;
    }

    /* ——— SCORES ——— */

    .report-scores {
        break-before: auto;
    }

    .score-chart {
        display: flex;
        flex-direction: column;
        gap: 2.5mm;
        margin: 2mm 0 3mm;
        padding: 4mm;
        background-color: #faf7f3 !important;
        border: 0.5pt solid #e8e0d8 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .score-row {
        display: grid;
        grid-template-columns: 38mm 1fr 16mm;
        align-items: center;
        gap: 3mm;
        padding: 1.5mm 2mm;
        margin: 0;
        break-inside: avoid;
    }

    .score-row.is-predominant {
        background: #fff !important;
        border: 0.6pt solid #7a5c46 !important;
        border-radius: 0;
        padding: 2.2mm 2.5mm;
    }

    .score-row-label {
        font-size: 8.5pt;
        font-weight: 600;
        gap: 2mm;
    }

    .score-letter {
        width: 6mm;
        height: 6mm;
        border-radius: 0;
        font-size: 7pt;
        font-weight: 700;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .score-bar {
        height: 2.2mm;
        background-color: #ebe4dc !important;
        border-radius: 0;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .score-bar-fill {
        border-radius: 0;
        min-width: 1mm;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .score-value {
        font-size: 9pt;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        color: #2a2420;
    }

    .score-value small {
        font-weight: 500;
        color: #9a8b7c;
        font-size: 7pt;
    }

    .score-caption {
        font-size: 7.5pt;
        color: #9a8b7c;
        margin: 2mm 0 0;
        font-style: italic;
    }

    /* ——— COMUNICAÇÃO ——— */

    .comm-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3.5mm;
    }

    .comm-card {
        break-inside: avoid;
        page-break-inside: avoid;
        background: #faf7f3 !important;
        border: 0.5pt solid #e0d6cb !important;
        border-radius: 0;
        padding: 3.5mm 4mm;
        margin: 0;
    }

    .comm-card h3 {
        font-family: "Manrope", sans-serif !important;
        font-size: 9.5pt;
        margin: 0 0 2mm;
        padding-bottom: 2mm;
        border-bottom: 0.4pt solid #e0d6cb;
        gap: 2mm;
    }

    .comm-card h3 span {
        width: 5mm;
        height: 5mm;
        border-radius: 0;
        font-size: 7pt;
        color: #fff !important;
    }

    .comm-focus {
        font-size: 8.5pt !important;
        margin-bottom: 2.5mm !important;
    }

    .comm-cols {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5mm;
    }

    .comm-cols .result-list {
        margin: 0;
        padding-left: 3.5mm;
    }

    .comm-cols .result-list li {
        font-size: 8pt;
        margin-bottom: 1mm;
    }

    /* ——— ENCERRAMENTO ——— */

    .report-closing {
        break-before: page;
        page-break-before: always;
        border-bottom: none !important;
        padding-top: 8mm;
    }

    .report-closing::before {
        display: none;
    }

    .report-closing h2 {
        justify-content: center;
        text-align: center;
        border-bottom: none !important;
        margin-bottom: 6mm;
    }

    .report-closing h2 span {
        display: none;
    }

    .report-closing .result-subtitle {
        text-align: center;
        font-size: 13pt;
        margin-bottom: 5mm;
    }

    .report-closing p {
        text-align: center;
        max-width: 140mm;
        margin-left: auto;
        margin-right: auto;
        font-size: 10pt;
        line-height: 1.65;
    }

    .report-endorsement {
        margin-top: 14mm;
        padding: 5mm 8mm 0;
        border-top: 0.7pt solid #7a5c46;
        text-align: center;
    }

    .report-endorsement p {
        margin: 0 0 1.5mm;
        font-size: 7.5pt;
        color: #8a7a6c !important;
        line-height: 1.4;
        text-align: center;
    }

    .report-endorsement .report-seal {
        display: block !important;
        margin: 4mm auto 2mm;
        font-family: "Manrope", sans-serif !important;
        font-size: 8pt;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #7a5c46 !important;
    }
}
