/* Unified inline validation styles for all portal forms */
:root {
    --uiv-warning-color: #b42318;
    --uiv-warning-bg: #fef3f2;
    --uiv-warning-border: #fecdca;
    --uiv-text-muted: #667085;
    --uiv-focus: #2e90fa;
}

.uiv-field-invalid,
input.uiv-field-invalid,
select.uiv-field-invalid,
textarea.uiv-field-invalid {
    border-color: var(--uiv-warning-color) !important;
    box-shadow: 0 0 0 1px rgba(180, 35, 24, 0.2) !important;
}

.uiv-field-valid,
input.uiv-field-valid,
select.uiv-field-valid,
textarea.uiv-field-valid {
    border-color: #12b76a;
}

.uiv-message {
    display: block;
    margin-top: 6px;
    margin-bottom: 0;
    color: var(--uiv-warning-color);
    background: var(--uiv-warning-bg);
    border: 1px solid var(--uiv-warning-border);
    border-radius: 6px;
    padding: 6px 8px;
    font-size: 0.85rem;
    line-height: 1.35;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.uiv-message[hidden] {
    display: none !important;
}

.uiv-field-wrap {
    min-width: 0;
}

.uiv-field-wrap input,
.uiv-field-wrap select,
.uiv-field-wrap textarea {
    max-width: 100%;
}

@media (max-width: 768px) {
    .uiv-message {
        font-size: 0.8rem;
        padding: 6px 7px;
    }
}
