:root {
    --app-bg: #d5dde6;
    --app-border: #b5b9bd;
}

body {
    background: var(--app-bg);
    color: #1f2933;
}

.card {
    border: 1px solid var(--app-border);
    border-radius: 1rem;
}

.card-header {
    border-radius: 1rem 1rem 0 0 !important;
}

.form-label {
    font-weight: 700;
}

.required::after {
    content: ' *';
    color: #dc3545;
}

.statement-box {
    max-height: 280px;
    overflow-y: auto;
    background: #f3f0f0;
    border: 1px solid var(--app-border);
    border-radius: .75rem;
    padding: 1rem;
    white-space: pre-wrap;
}

/* Προβολή / εκτύπωση δήλωσης */
.print-page {
    background: #fff;
    padding: 1.6rem;
    border: 1px solid var(--app-border);
    border-radius: 1rem;
    max-width: 1120px;
    margin: 0 auto;
}

.print-header {
    margin-bottom: 1rem;
}

.print-logo {
    width: 520px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    margin-bottom: .65rem;
}

.print-main-title {
    font-weight: 800;
    font-size: 1.1rem;
    line-height: 1.2;
}

.print-sub-title {
    font-weight: 700;
    margin-top: .25rem;
}

.print-note {
    font-size: .82rem;
    color: #6c757d;
    margin-top: .5rem;
}

.print-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.5rem;
    row-gap: .15rem;
    margin-bottom: .9rem;
}

.print-row {
    display: grid;
    grid-template-columns: 46% 54%;
    gap: .45rem;
    align-items: baseline;
    padding: .2rem 0;
    border-bottom: 1px solid #eef2f5;
    min-height: 1.55rem;
}

.print-label {
    font-weight: 800;
}

.print-value {
    overflow-wrap: anywhere;
}

.print-statement {
    border-top: 1px solid #dfe5eb;
    padding-top: .55rem;
    margin-top: .3rem;
}

.print-section-title {
    font-weight: 800;
    margin-bottom: .25rem;
}

.print-statement-text {
    white-space: pre-wrap;
    line-height: 1.25;
}

.print-footer-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: end;
    margin-top: .9rem;
}

.print-signature {
    text-align: right;
}

.signature-line {
    margin-top: 1.75rem;
}

@media (max-width: 768px) {
    .print-grid,
    .print-footer-row {
        grid-template-columns: 1fr;
    }
    .print-signature {
        text-align: left;
    }
}

/* Επίσημη κεφαλίδα / λογότυπα */
.app-navbar .navbar-brand {
    max-width: 720px;
}

.navbar-logo {
    width: 260px;
    max-width: 52vw;
    height: auto;
    object-fit: contain;
}

.navbar-title {
    white-space: normal;
    line-height: 1.2;
}

.login-card {
    overflow: hidden;
}

.login-logo {
    width: 100%;
    max-width: 520px;
    height: auto;
    object-fit: contain;
}

.dashboard-logo {
    width: 330px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.official-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

@media (max-width: 991.98px) {
    .app-navbar .navbar-brand {
        max-width: calc(100% - 64px);
    }
    .navbar-logo {
        width: 210px;
    }
    .navbar-title {
        display: none;
    }
}

@page {
    size: A4 portrait;
    margin: 12mm 12mm 10mm 12mm;
}

@media print {
    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }

    html,
    body {
        background: #fff !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body {
        font-size: 7.7pt !important;
        line-height: 1.08 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .no-print,
    .navbar,
    .footer,
    .alert {
        display: none !important;
    }

    main.container-lg {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .print-page {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 auto !important;
        max-width: 184mm !important;
        width: 184mm !important;
        font-size: 7.7pt !important;
        overflow: visible !important;
        page-break-after: avoid !important;
        break-after: avoid !important;
    }

    .print-header {
        margin-bottom: 3mm !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .print-logo {
        width: 64mm !important;
        max-width: 64mm !important;
        margin-bottom: 1.2mm !important;
    }

    .print-main-title {
        font-size: 9.4pt !important;
        line-height: 1.05 !important;
        margin: 0 !important;
    }

    .print-sub-title {
        font-size: 8pt !important;
        margin-top: .6mm !important;
        line-height: 1.05 !important;
    }

    .print-note {
        font-size: 6.9pt !important;
        margin-top: 1mm !important;
        color: #333 !important;
        line-height: 1.05 !important;
    }

    .print-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 7mm !important;
        row-gap: 0 !important;
        margin-bottom: 2.2mm !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .print-row {
        grid-template-columns: 47% 53% !important;
        gap: 1.5mm !important;
        padding: .55mm 0 !important;
        min-height: 0 !important;
        border-bottom: .18mm solid #e5e5e5 !important;
        line-height: 1.03 !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .print-label {
        font-weight: 800 !important;
        letter-spacing: -0.1pt !important;
    }

    .print-value {
        overflow-wrap: anywhere !important;
    }

    .print-statement {
        margin-top: 1.6mm !important;
        padding-top: 1.6mm !important;
        border-top: .22mm solid #d4d4d4 !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .print-section-title {
        font-size: 7.8pt !important;
        margin-bottom: 1mm !important;
        line-height: 1.05 !important;
    }

    .print-statement-text {
        font-size: 7.25pt !important;
        line-height: 1.1 !important;
        white-space: pre-wrap !important;
    }

    .print-footer-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 7mm !important;
        margin-top: 2.3mm !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .print-acceptance {
        font-size: 7.25pt !important;
        line-height: 1.08 !important;
    }

    .print-signature {
        text-align: right !important;
        font-size: 7.35pt !important;
        line-height: 1.08 !important;
    }

    .signature-line {
        margin-top: 6mm !important;
    }
}

.print-page-break {
    margin-bottom: 2rem;
}

@media print {
    .print-page.print-page-break {
        page-break-after: always !important;
        break-after: page !important;
    }
}
