.sra-pa-box {
    box-sizing: border-box;
    width: 100%;
    max-width: 520px;
    margin: 24px auto;
    padding: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.sra-pa-box *,
.sra-pa-box *::before,
.sra-pa-box *::after {
    box-sizing: border-box;
}

.sra-pa-form h3 {
    margin-top: 0;
}

.sra-pa-form label,
.sra-pa-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.sra-pa-form input[type="text"],
.sra-pa-form input[type="tel"],
.sra-pa-form input[type="password"],
.sra-pa-form input[type="file"],
.sra-pa-form textarea,
.sra-pa-form select {
    width: 100%;
    margin-bottom: 14px;
}

.sra-pa-form button {
    margin-top: 8px;
}

.sra-pa-form button + button {
    margin-right: 8px;
}

.sra-pa-form button[disabled] {
    cursor: wait;
    opacity: .65;
}

.sra-pa-rules-check label,
.sra-pa-options label {
    font-weight: 400;
}

.sra-pa-rules-check input,
.sra-pa-options input {
    margin-left: 6px;
}

.sra-pa-field {
    margin-bottom: 16px;
}

.sra-pa-options {
    display: grid;
    gap: 8px;
}

.sra-pa-help,
.sra-pa-field-error {
    display: block;
    margin-top: -8px;
    margin-bottom: 10px;
    font-size: .88em;
}

.sra-pa-required,
.sra-pa-field-error,
.sra-pa-message-error {
    color: #b42318;
}

.sra-pa-message {
    display: none;
    margin-bottom: 16px;
    padding: 10px 12px;
    border-radius: 8px;
}

.sra-pa-message:not(:empty) {
    display: block;
}

.sra-pa-message-success {
    background: #ecfdf3;
}

.sra-pa-message-error {
    background: #fef3f2;
}

.sra-pa-message-info {
    background: #eff8ff;
}
