.form-field { margin-bottom: 16px; }
.form-field label { display: block; font-weight: 500; margin-bottom: 4px; color: var(--text); }
.form-field--required label { font-weight: 600; }
.form-field--required label::after {
    content: ' *';
    color: var(--danger, #dc2626);
}
.form-field input, .form-field select, .form-field textarea {
    width: 100%; padding: 8px 12px; border: 1px solid var(--border, #d1d5db);
    border-radius: 6px; font-size: 14px; background: var(--input-bg, #fff);
    transition: border-color 150ms;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
    outline: none; border-color: var(--accent, #6366f1);
    box-shadow: 0 0 0 3px var(--accent-soft, rgba(99,102,241,0.15));
}
.form-field--invalid input, .form-field--invalid select, .form-field--invalid textarea {
    border-color: var(--danger, #dc2626);
    background: var(--danger-soft, #fef2f2);
}
.form-field-hint {
    font-size: 12px; color: var(--text-muted, #6b7280); margin-top: 4px;
}
.form-field-error {
    display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--danger, #dc2626);
    margin-top: 6px; padding: 6px 8px;
    background: var(--danger-soft, #fef2f2);
    border-radius: 4px; border-left: 3px solid var(--danger, #dc2626);
}
.form-field-error::before { content: '\26A0'; }

.cg-proprietario-card {
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    background: var(--card-bg, #fafafa);
}
.cg-proprietario-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px; font-weight: 600;
}
.cg-remove-proprietario {
    color: var(--danger, #dc2626); font-size: 20px; line-height: 1; padding: 0 8px;
}
.radio-inline { margin-right: 12px; cursor: pointer; }
.radio-inline input { margin-right: 4px; }
.hidden { display: none !important; }
