body {
    margin: 0;
    padding: 0;
    background: #dcdcdc;
    font-family: Arial, sans-serif;
}

.page {
    width: 230mm;
    min-height: 297mm;
    background: #fff;
    margin: 20px auto;
    padding: 15mm;
    box-sizing: border-box;
    page-break-after: always;
}
.page:last-child {
    page-break-after: auto;
}

.header {
    text-align: center;
    margin-bottom: 25px;
}

.header h2 {
    margin: 0;
    font-size: 25px;
    font-weight: 800;
}
.border-bottom-1{
    border-bottom: 2px solid #000;
}
.header p {
    margin: 3px 0;
    font-size: 15px;
    line-height: 17px;
}

.section {
    font-size: 15px;
    line-height: 1.8;
}
.mt-25{margin-top: 25px}
.mb-25{margin-bottom: 25px}
.pt-20{
    padding-top: 20px;
}
.pt-30{
    padding-top: 30px;
}
.pt-40{
    padding-top: 40px;
}
.pt-50{
    padding-top: 50px;
}
.form-row {
    margin-bottom: 15px;
}

.line-input {
    border: none;
    border: 1px solid #000;
    outline: none;
    width: 180px;
    margin: 0 15px 0 5px;
    padding: 4px 10px;
    font-size: 13px;
}
textarea{
    border: none;
    border: 1px solid #000;
    outline: none;
    width: 100%;
    margin: 0 15px 0 5px;
    font-size: 13px;
}
.lined-textarea{
    width:100%;
    border: 1px solid #000;
    outline:none;
    resize:none;
    font-size:14px;
    line-height:28px;
}
.line-input.small {
    width: 100px;
}
.bold{font-weight: 700}
.flex-col{flex-direction: column;}
.align-items-start{align-items: start !important;}
.align-items-center{align-items: center !important;}
.justify-content-center{
    justify-content: center;
}
.text-center{text-align: center;}
.text-left{text-align: left;}
.m-0{margin: 0}
.line-input.big {
    width: 300px;
}
.line-input.very-small {
    width: 40px;
}
.mb-0{margin-bottom: 0}
.d-flex{
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 15px;
    line-height: 30px;
}
.justify-content-between{
    justify-content: space-between;
}
.line-input.full {
    width: 100%;
}
.text-right{
    text-align: right;
}
.w-85 {
    width: 70%;
}
.w-100{width: 100%;}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 10px;
}
.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}
.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.w100{
    width: 100px;
}
.w150{
    width: 150px;
}
.w200{
    width: 200px;
}
.w250{
    width: 250px;
}

.alert-banner {
    width: 230mm;
    margin: 12px auto 0;
    padding: 10px 14px;
    box-sizing: border-box;
    border: 1px solid;
    background: #fff;
    font-size: 14px;
}
.alert-success {
    border-color: #70d59f;
}
.alert-error {
    border-color: #df6d6d;
}
.form-actions {
    width: 230mm;
    margin: 0 auto 20px;
    text-align: right;
}
.submit-btn {
    border: 1px solid #000;
    background: #fff;
    font-size: 16px;
    padding: 8px 18px;
    cursor: pointer;
}

@media print {
    body {
        background: none;
    }

    .page {
        width: auto;
        min-height: auto;
        margin: 0;
        box-shadow: none;
    }
    .page:last-child {
        page-break-after: auto;
    }

    .form-actions,
    .alert-banner {
        display: none;
    }
}
