

.application-paper {
    max-width: 1120px !important;
    margin: 0 auto 48px !important;
    padding: 32px 38px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(148, 163, 184, .35) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .16) !important;
}

.application-header {
    display: grid !important;
    grid-template-columns: 170px 1fr !important;
    align-items: center !important;
    gap: 22px !important;
    margin-bottom: 28px !important;
}

.application-logo-box {
    min-height: 74px !important;
    border: 1px dashed #94a3b8 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

.application-title {
    text-align: center !important;
    color: #0f172a !important;
}

.application-title .main {
    font-size: 30px !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
}

.application-title .sub {
    font-size: 17px !important;
    line-height: 1.15 !important;
}

.required-note {
    padding: 12px 16px !important;
    margin-bottom: 18px !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.application-date {
    margin-bottom: 18px !important;
    color: #334155 !important;
    font-weight: 600 !important;
}

.form-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    margin-bottom: 18px !important;
}

.form-table th.section {
    padding: 11px 14px !important;
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border: 0 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    font-size: 15px !important;
    letter-spacing: .04em !important;
}

.form-table td,
.form-table th {
    border: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.form-table tr:last-child td {
    border-bottom: 0 !important;
}

.label-cell {
    width: 36% !important;
    padding: 12px 14px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border-right: 1px solid #e2e8f0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.label-cell small {
    margin-top: 3px !important;
    color: #475569 !important;
    font-size: 12px !important;
}

.input-cell {
    background: #ffffff !important;
    padding: 0 !important;
}

.input-cell input,
.input-cell select,
.input-cell textarea,
.application-paper .form-control,
.application-paper .form-select {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.application-paper .form-control::placeholder,
.application-paper textarea::placeholder {
    color: #64748b !important;
}

.input-cell input:focus,
.input-cell select:focus,
.input-cell textarea:focus,
.application-paper .form-control:focus,
.application-paper .form-select:focus {
    outline: 2px solid rgba(37, 99, 235, .25) !important;
    outline-offset: -2px !important;
    background: #f8fbff !important;
}

.input-cell .row {
    margin: 0 !important;
}

.input-cell [class*="col-"] {
    padding: 0 !important;
    border-right: 1px solid #e2e8f0 !important;
}

.input-cell [class*="col-"]:last-child {
    border-right: 0 !important;
}

.large-row .label-cell,
.large-row .input-cell {
    height: auto !important;
    min-height: 84px !important;
}

.check-row {
    grid-template-columns: 1fr auto auto !important;
    gap: 18px !important;
    padding: 4px 0 !important;
    color: #0f172a !important;
}

.check-row label {
    color: #0f172a !important;
    font-weight: 600 !important;
}

.application-paper input[type="checkbox"],
.application-paper input[type="radio"] {
    width: 22px !important;
    height: 22px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    accent-color: #2563eb !important;
}

.choice-section {
    margin-top: 22px !important;
}

.choice-section .input-cell {
    padding: 14px !important;
}

.choice-section label,
.direction-selects label,
.application-paper .form-label {
    color: #0f172a !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

.direction-selects {
    padding: 14px !important;
}

.direction-selects .form-select {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
}

.form-actions {
    margin-top: 24px !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.form-actions .btn {
    min-height: 44px !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
}

body.dark-mode .application-paper {
    background: #111827 !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .5) !important;
}

body.dark-mode .application-logo-box {
    background: #0f172a !important;
    border-color: #475569 !important;
    color: #e5e7eb !important;
}

body.dark-mode .application-title,
body.dark-mode .application-title *,
body.dark-mode .required-note,
body.dark-mode .required-note *,
body.dark-mode .application-date {
    color: #f8fafc !important;
}

body.dark-mode .required-note {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.dark-mode .form-table {
    border-color: #334155 !important;
}

body.dark-mode .form-table th.section {
    background: #334155 !important;
    color: #ffffff !important;
    border-bottom-color: #475569 !important;
}

body.dark-mode .form-table td,
body.dark-mode .form-table th {
    border-bottom-color: #334155 !important;
}

body.dark-mode .label-cell {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-right-color: #334155 !important;
}

body.dark-mode .label-cell small {
    color: #93c5fd !important;
}

body.dark-mode .input-cell {
    background: #1e293b !important;
}

body.dark-mode .input-cell input,
body.dark-mode .input-cell select,
body.dark-mode .input-cell textarea,
body.dark-mode .application-paper .form-control,
body.dark-mode .application-paper .form-select {
    background: #1e293b !important;
    color: #f8fafc !important;
}

body.dark-mode .application-paper .form-control::placeholder,
body.dark-mode .application-paper textarea::placeholder {
    color: #cbd5e1 !important;
}

body.dark-mode .input-cell input:focus,
body.dark-mode .input-cell select:focus,
body.dark-mode .input-cell textarea:focus,
body.dark-mode .application-paper .form-control:focus,
body.dark-mode .application-paper .form-select:focus {
    background: #243449 !important;
    outline-color: rgba(96, 165, 250, .35) !important;
}

body.dark-mode .input-cell [class*="col-"] {
    border-right-color: #334155 !important;
}

body.dark-mode .check-row,
body.dark-mode .check-row label,
body.dark-mode .choice-section label,
body.dark-mode .direction-selects label,
body.dark-mode .application-paper .form-label {
    color: #f8fafc !important;
}

body.dark-mode .choice-section .input-cell {
    background: #111827 !important;
}

body.dark-mode .direction-selects .form-select {
    background: #1e293b !important;
    border-color: #475569 !important;
    color: #f8fafc !important;
}

body.dark-mode .application-paper select option {
    background: #1e293b !important;
    color: #f8fafc !important;
}

body.dark-mode .btn-outline-secondary,
body.dark-mode .btn-outline-dark {
    color: #f8fafc !important;
    border-color: #64748b !important;
}

body.dark-mode .btn-outline-secondary:hover,
body.dark-mode .btn-outline-dark:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .application-paper {
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .application-header {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .application-title .main {
        font-size: 24px !important;
    }

    .application-title .sub {
        font-size: 14px !important;
    }

    .label-cell {
        width: 42% !important;
        font-size: 13px !important;
        padding: 10px !important;
    }
}

@media print {
    .application-paper,
    .application-paper * {
        background: #ffffff !important;
        color: #000000 !important;
        box-shadow: none !important;
    }

    .application-paper {
        border: 0 !important;
        padding: 0 !important;
    }

    .form-table th.section {
        background: #d9d9d9 !important;
        color: #000000 !important;
    }

    .form-actions,
    aside,
    nav,
    header {
        display: none !important;
    }
}
