/* OptoToolkit - FHNW KOP Official Replica Vector Stylesheet */
/* EXACT VISUAL REPLICATION OF THE OFFICIAL FHNW PAPER DOSSIER */

@page {
    size: A4;
    margin: 0;
}

.kop-paper-container {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    color: #000000;
    background: #cbd5e1;
    padding: 20px;
    box-sizing: border-box;
}

/* Authentic Paper Page Simulation */
.kop-paper-page {
    position: relative;
    width: 210mm;
    height: 297mm;
    margin: 0 auto 30px auto;
    background: #ffffff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    padding: 10mm 12mm;
    box-sizing: border-box;
    page-break-after: always;
    font-size: 10px;
    line-height: 1.25;
    color: #000000;
}

.kop-paper-page-landscape {
    position: relative;
    width: 297mm;
    height: 210mm;
    margin: 0 auto 30px auto;
    background: #ffffff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    padding: 8mm 10mm;
    box-sizing: border-box;
    page-break-after: always;
    font-size: 10px;
    line-height: 1.25;
    color: #000000;
}

/* Paper Headers */
.kop-paper-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 8px;
}

.kop-paper-title {
    font-size: 16px;
    font-weight: 700;
    color: #000000;
}

.kop-paper-subtitle {
    font-size: 12px;
    font-weight: 700;
    margin-top: 4px;
    margin-bottom: 8px;
    color: #000000;
}

.kop-paper-meta {
    font-size: 11px;
    font-weight: 400;
    text-align: right;
    font-family: 'Courier New', Courier, monospace;
}

/* Section Titles */
.kop-section-title {
    font-size: 11px;
    font-weight: 700;
    margin-top: 6px;
    margin-bottom: 4px;
    color: #000000;
}

/* Line Underline Input Fields */
.kop-line-input {
    border: none;
    border-bottom: 1px solid #000000;
    background: transparent;
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: bold;
    color: #000000;
    padding: 0 2px;
    outline: none;
    box-sizing: border-box;
}

/* Tables with Authentic Black Grid Borders */
.kop-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 8px;
    font-size: 9.5px;
}

.kop-table th {
    border: 1px solid #000000;
    background: #ffffff;
    font-weight: 700;
    padding: 3px 4px;
    text-align: center;
}

.kop-table td {
    border: 1px solid #000000;
    padding: 3px 4px;
    vertical-align: middle;
}

.kop-table input[type="text"] {
    width: 100%;
    border: none;
    background: transparent;
    font-family: 'Courier New', Courier, monospace;
    font-size: 10px;
    font-weight: bold;
    color: #000000;
    outline: none;
    box-sizing: border-box;
}

/* Checkbox Brackets [ ] */
.kop-box-check {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 8px;
    font-size: 10px;
}

.kop-box-check input[type="checkbox"] {
    width: 11px;
    height: 11px;
    margin: 0;
    cursor: pointer;
}

/* Two-Column Division for Page 2 */
.kop-two-col-layout {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 16px;
    height: calc(100% - 40px);
}

.kop-col-left {
    border-right: 1px solid #000000;
    padding-right: 12px;
}

.kop-col-right {
    padding-left: 4px;
}

/* Lined Writing Area for Remarques */
.kop-lined-notes {
    width: 100%;
    height: 680px;
    border: none;
    background: repeating-linear-gradient(
        transparent,
        transparent 19px,
        #cbd5e1 20px
    );
    font-family: 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: bold;
    line-height: 20px;
    color: #000000;
    resize: none;
    outline: none;
    box-sizing: border-box;
}

/* Print Rules */
@media print {
    body {
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .kop-paper-container {
        padding: 0 !important;
        background: #ffffff !important;
    }

    .kop-paper-page, .kop-paper-page-landscape {
        box-shadow: none !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
        page-break-after: always !important;
        padding: 8mm 10mm !important;
    }

    .kop-no-print {
        display: none !important;
    }

    .kop-line-input {
        border-bottom: 1px solid #000000 !important;
    }

    .kop-lined-notes {
        background: none !important;
    }
}
