.document-preview-scroll {
    width: 100%;
    max-height: 58vh;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-block: 1rem;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    scrollbar-color: #f6c31e rgba(12, 29, 101, 0.28);
}

/* Mise en page documentaire commune : sobre, académique et stable à l'export. */
.preview-a4,
[data-generated-by="gemini"],
#pdf-preview {
    font-family: "STIX Two Text", "Latin Modern Roman", "Times New Roman", Georgia, serif;
    font-size: 11pt;
    line-height: 1.58;
    font-kerning: normal;
    font-variant-ligatures: common-ligatures;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.005em;
    color: #111827;
    background: #fff;
    hyphens: auto;
}

.gemini-result {
    max-width: 100%;
    overflow: visible;
}

.gemini-result h1,
.gemini-result h2,
.gemini-result h3,
.gemini-result h4,
#pdf-preview h1,
#pdf-preview h2,
#pdf-preview h3 {
    font-family: "STIX Two Text", "Latin Modern Roman", "Times New Roman", Georgia, serif;
    color: #111827;
    line-height: 1.2;
    break-after: avoid;
    page-break-after: avoid;
    orphans: 3;
    widows: 3;
}

.gemini-result h1,
#pdf-preview h1 {
    font-size: 18pt;
    text-align: center;
    letter-spacing: 0.035em;
}

.gemini-result h2,
#pdf-preview h2 {
    margin: 1.1em 0 0.45em;
    padding-bottom: 0.18em;
    border-bottom: 1px solid #9ca3af;
    font-size: 14pt;
}

.gemini-result h3,
#pdf-preview h3 {
    margin: 0.9em 0 0.35em;
    font-size: 12pt;
}

.gemini-result p,
.gemini-result li,
#pdf-preview p,
#pdf-preview li {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
    orphans: 3;
    widows: 3;
}

.gemini-result p,
#pdf-preview p {
    text-align: justify;
}

.gemini-result mjx-container,
#pdf-preview mjx-container {
    max-width: 100%;
    color: #111827;
    break-inside: avoid;
    page-break-inside: avoid;
}

.gemini-result mjx-container[display="true"],
#pdf-preview mjx-container[display="true"] {
    margin: 0.75em auto !important;
    overflow-x: auto;
    overflow-y: hidden;
    text-align: center;
}

.academic-figure {
    box-sizing: border-box;
    width: min(100%, 620px);
    margin: 1em auto;
    padding: 0.6em;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    break-inside: avoid;
    page-break-inside: avoid;
}

.statement-figure-pair {
    break-inside: avoid;
    page-break-inside: avoid;
}

.academic-figure svg {
    display: block;
    width: 100%;
    height: auto;
    max-height: 95mm;
}

.academic-figure figcaption {
    margin-top: 0.45em;
    color: #374151;
    font-size: 9.5pt;
    font-style: italic;
    text-align: center;
}

.document-preview-scroll::-webkit-scrollbar {
    width: 10px;
}

.document-preview-scroll::-webkit-scrollbar-track {
    background: rgba(12, 29, 101, 0.28);
    border-radius: 999px;
}

.document-preview-scroll::-webkit-scrollbar-thumb {
    background: #f6c31e;
    border: 2px solid rgba(12, 29, 101, 0.28);
    border-radius: 999px;
}

@media (min-width: 640px) {
    .document-preview-scroll {
        max-height: 66vh;
    }
}

@media (min-width: 1024px) {
    .document-preview-scroll {
        max-height: min(72vh, 900px);
    }
}

@media print {
    .document-preview-scroll {
        max-height: none;
        overflow: visible;
    }
}

.preview-a4 table,
[data-native-lesson-template] table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

.preview-a4 th,
.preview-a4 td,
[data-native-lesson-template] th,
[data-native-lesson-template] td,
#pdf-preview th,
#pdf-preview td {
    border-color: #9ca3af;
    padding: 0.45em 0.55em;
}

.preview-a4 th,
[data-native-lesson-template] th,
#pdf-preview th {
    background: #eef2f7;
    color: #111827;
    font-weight: 700;
}

[data-lesson-stage-table] {
    table-layout: fixed;
}

[data-lesson-stage-table] th,
[data-lesson-stage-table] td {
    box-sizing: border-box;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
}

[data-lesson-stage-table] thead {
    display: table-header-group;
}

[data-lesson-stage-table] tr {
    break-inside: avoid;
    page-break-inside: avoid;
}

[data-native-lesson-template="primaire"] .primary-admin-grid {
    table-layout: fixed;
}

[data-native-lesson-template="primaire"] .primary-admin-grid th,
[data-native-lesson-template="primaire"] .primary-admin-grid td {
    border: 1px solid #b8b8b8;
    box-sizing: border-box;
    padding: 6px 8px;
    text-align: left;
    vertical-align: top;
    overflow-wrap: break-word;
    word-break: normal;
}

[data-native-lesson-template="primaire"] .primary-admin-grid th {
    width: 18%;
    background: #eef2ff;
    font-weight: 700;
}

[data-native-lesson-template="primaire"] [data-lesson-stage-table] .gemini-result {
    width: 100%;
    max-width: 100%;
    overflow: visible;
    white-space: normal;
}

[data-native-lesson-template="primaire"] [data-lesson-stage-table],
[data-native-lesson-template="primaire"] [data-lesson-stage-table] tbody,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] tr,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] th,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] td {
    max-width: 100%;
}

[data-native-lesson-template="primaire"] [data-lesson-stage-table] th,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] td,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] p,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] li {
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
}

[data-native-lesson-template="primaire"] [data-lesson-stage-table] ul,
[data-native-lesson-template="primaire"] [data-lesson-stage-table] ol {
    box-sizing: border-box;
    max-width: 100%;
    margin: 0.35em 0;
    padding-left: 1.25em;
}

[data-native-lesson-template="primaire"] [data-lesson-stage-table] mjx-container {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    vertical-align: middle;
}

.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] td {
    padding: 8px !important;
}

.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] tr {
    break-inside: auto;
    page-break-inside: auto;
}

.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] p,
.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] li,
.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] mjx-container {
    break-inside: avoid;
    page-break-inside: avoid;
    orphans: 3;
    widows: 3;
}

.lesson-pdf-export[data-native-lesson-template="primaire"] [data-lesson-stage-table] mjx-container {
    display: inline-block;
    max-width: 100%;
    overflow: visible;
    font-size: 0.92em;
    vertical-align: middle;
}

.lesson-pdf-export,
.lesson-pdf-export * {
    max-height: none !important;
}

.lesson-pdf-export {
    overflow: visible !important;
}

.lesson-pdf-export p,
.lesson-pdf-export li,
.lesson-pdf-export h1,
.lesson-pdf-export h2,
.lesson-pdf-export h3,
.lesson-pdf-export mjx-container,
.lesson-pdf-export .academic-figure {
    break-inside: avoid;
    page-break-inside: avoid;
}