/* A4 Page Setup for Print - WIDE LAYOUT */
@page {
    size: A4;
    margin: 15mm 10mm 15mm 10mm;
}

@media print {
    body { margin: 0; }
    .page-break { page-break-before: always; }
    .no-break { page-break-inside: avoid; }
}

/* Typography and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Arial';
    font-size: 11pt;
    line-height: 1.4;
    color: #000;
    background: #fff;
    padding: 0 10mm;
}

a {
    color: #000000;
    text-decoration: none;
}

.image-hero {
	text-align: center;
	margin: 2rem 0;
}

.image-hero img {
	max-width: 100%;
	height: auto;
	width: auto;
	display: inline-block;
}

/* Header Styles */
.document-header {
    text-align: center;
    margin-bottom: 30mm;
    padding-top: 15mm;
}

.title-border {
    width: 100%;
    height: 2pt;
    background: #000;
    margin: 12mm 0;
}

.main-title {
    font-size: 24pt;
    font-weight: bold;
    margin: 6mm 0;
    line-height: 1.2;
}

.subtitle {
    font-size: 18pt;
    font-weight: bold;
    margin: 4mm 0;
}

.version-info {
    font-size: 14pt;
    font-variant: small-caps;
    margin: 8mm 0;
}

.author-info {
    font-size: 12pt;
    margin: 6mm 0;
    line-height: 1.5;
}

/* Section Headers */
h1 {
    font-size: 16pt;
    font-weight: bold;
    margin: 12mm 0 6mm 0;
    border-bottom: 1pt solid #000;
    padding-bottom: 2mm;
    counter-increment: section;
}

h1::before {
    content: counter(section) ". ";
}

h2 {
    font-size: 14pt;
    font-weight: bold;
    margin: 8mm 0 4mm 0;
    counter-increment: subsection;
    counter-reset: subsubsection;
}

h2::before {
    content: counter(section) "." counter(subsection) " ";
}

h3 {
    font-size: 12pt;
    font-weight: bold;
    margin: 6mm 0 3mm 0;
    counter-increment: subsubsection;
}

h3::before {
    content: counter(section) "." counter(subsection) "." counter(subsubsection) " ";
}

/* Counter Reset */
body {
    counter-reset: section;
}

h1 {
    counter-reset: subsection;
}

/* Paragraph Styles */
p {
    margin: 3mm 0;
    text-align: justify;
}

/* Table Styles */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 4mm 0;
    font-size: 10pt;
}

.overview-table {
    margin: 6mm 0;
}

.overview-table th,
.overview-table td {
    border: 1pt solid #000;
    padding: 2.5mm;
    text-align: left;
    vertical-align: top;
}

.overview-table th {
    background: #f0f0f0;
    font-weight: bold;
}

/* Assessment Matrix Tables */
.assessment-matrix {
    margin: 5mm 0;
    font-size: 11.5pt;
}

.assessment-matrix th {
    background: #e8e8e8;
    border: 1pt solid #000;
    padding: 3mm;
    text-align: center;
    font-weight: bold;
}

.assessment-matrix td {
    border: 1pt solid #000;
    padding: 3.5mm;
    vertical-align: top;
    line-height: 1.3;
}

.indicator-code {
    font-weight: bold;
    width: 12%;
    background: #f8f8f8;
}

.red-cell {
    background: #ffebee;
    width: 29%;
}

.yellow-cell {
    background: #fff9c4;
    width: 29%;
}

.green-cell {
    background: #e8f5e8;
    width: 30%;
}

/* Color Indicators */
.color-legend {
    margin: 4mm 0;
    display: flex;
    justify-content: center;
    gap: 8mm;
}

.legend-item {
    padding: 2mm 4mm;
    border: 1pt solid #000;
    font-weight: bold;
    font-size: 10pt;
}

.legend-red { background: #ffebee; }
.legend-yellow { background: #fff9c4; }
.legend-green { background: #e8f5e8; }

/* Lists */
ul, ol {
    margin: 3mm 0 3mm 6mm;
}

li {
    margin: 1.5mm 0;
}

/* Special Sections */
.executive-summary {
    background: #f9f9f9;
    border: 1pt solid #ccc;
    padding: 5mm;
    margin: 6mm 0;
    font-style: italic;
}

.methodology-box {
    border: 1pt solid #000;
    padding: 4mm;
    margin: 5mm 0;
    background: #fafafa;
}

.category-header {
    background: #e0e0e0;
    padding: 3mm;
    margin: 6mm 0 4mm 0;
    border: 1pt solid #000;
    font-weight: bold;
    font-size: 12pt;
}

.introduction-section {
    margin: 8mm 0;
}

.appendix-section {
    margin-top: 12mm;
    border-top: 2pt solid #000;
    padding-top: 6mm;
}