/* 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;
}

/* Table of Contents */
.toc {
    margin: 15mm 0;
}

.toc h2 {
    font-size: 18pt;
    font-weight: bold;
    margin-bottom: 8mm;
    border-bottom: 1pt solid #000;
    padding-bottom: 3mm;
}

.toc-entry {
    margin: 2mm 0;
    display: flex;
    justify-content: space-between;
}

.toc-entry a {
    color: #0066cc;
    text-decoration: none;
}

.toc-entry a:hover {
    text-decoration: underline;
}

.toc-level-1 {
    font-weight: bold;
    margin: 4mm 0 2mm 0;
}

.toc-level-2 {
    margin-left: 8mm;
    font-size: 10pt;
}

.toc-level-3 {
    margin-left: 16mm;
    font-size: 10pt;
    color: #666;
}

/* 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;
}

/* Indicator Detail Tables */
.indicator-table {
    margin: 5mm 0;
    font-size: 11pt;
}

.indicator-table th {
    background: #e8e8e8;
    border: 1pt solid #000;
    padding: 2mm;
    text-align: center;
    font-weight: bold;
}

.indicator-table td {
    border: 1pt solid #000;
    padding: 2.5mm;
    vertical-align: top;
    line-height: 1.3;
}

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

.indicator-desc {
    width: 35%;
}

.level-1 {
    background: #ffebee;
    width: 11%;
}

.level-2 {
    background: #fff3e0;
    width: 11%;
}

.level-3 {
    background: #fff9c4;
    width: 11%;
}

.level-4 {
    background: #f3e5f5;
    width: 11%;
}

.level-5 {
    background: #e8f5e8;
    width: 11%;
}

/* Assessment Worksheet Tables */
.worksheet-table {
    margin: 5mm 0;
    font-size: 9pt;
    page-break-inside: avoid;
}

.worksheet-table th {
    background: #d0d0d0;
    border: 1pt solid #000;
    padding: 2mm;
    text-align: center;
    font-weight: bold;
    font-size: 9pt;
}

.worksheet-table td {
    border: 1pt solid #000;
    padding: 2mm;
    vertical-align: top;
    line-height: 1.2;
}

.indicator-cell {
    width: 20%;
    font-weight: bold;
    background: #f8f8f8;
}

.current-cell {
    width: 15%;
    background: #fff9c4;
}

.target-cell {
    width: 15%;
    background: #e8f5e8;
}

.evidence-cell {
    width: 25%;
}

.actions-cell {
    width: 25%;
}

/* Maturity Level Indicators */
.maturity-legend {
    margin: 4mm 0;
    display: flex;
    justify-content: center;
    gap: 6mm;
    flex-wrap: wrap;
}

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

.legend-level-1 { background: #ffebee; }
.legend-level-2 { background: #fff3e0; }
.legend-level-3 { background: #fff9c4; }
.legend-level-4 { background: #f3e5f5; }
.legend-level-5 { 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;
}

.maturity-domain-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;
}

/* Worksheet Section */
.worksheet-header {
    background: #d4d4d4;
    padding: 4mm;
    margin: 8mm 0 4mm 0;
    border: 2pt solid #000;
    font-weight: bold;
    font-size: 14pt;
    text-align: center;
}

.worksheet-instructions {
    background: #f0f8ff;
    border: 1pt solid #4a90e2;
    padding: 4mm;
    margin: 4mm 0;
    font-size: 10pt;
}
