/* ── Field states ────────────────────────────────────────────────────────── */

.field--focused {
    border-color: var(--field-border-focus);
    box-shadow: 0 0 0 3px var(--field-shadow-focus);
}
.field--focused .field__label {
    color: var(--field-border-focus);
}

.field--filled .field__label {
    color: var(--field-label-filled);
}

/* Invalid */
.field--invalid {
    border-color: var(--field-border-invalid);
    box-shadow: 0 0 0 3px var(--field-shadow-invalid);
}
.field--invalid .field__label {
    color: var(--field-border-invalid);
}
.field--invalid .field__feedback {
    display:      block;
    color:        var(--field-border-invalid);
    border-top:   1px solid rgba(239, 68, 68, 0.2);
    margin-top:   10px;
    padding-top:  8px;
}

/* Valid */
.field--valid {
    border-color: var(--field-border-valid);
}
.field--valid .field__label {
    color: var(--field-border-valid);
}

/* Disabled */
.field--disabled {
    opacity: 0.55;
    pointer-events: none;
}

/* Readonly */
.field--readonly {
    background: #f9fafb;
    cursor: default;
}
.field--readonly .field__label {
    background: #f9fafb;
}

/* Заключено поле (FormRenderer::disabled()) — видимо, но неактивно. */
.field--disabled { opacity: .55; cursor: not-allowed; }
.field--disabled * { cursor: not-allowed; }
