.form-panel { background: var(--facilop-surface); border: 1px solid var(--facilop-border); border-radius: var(--facilop-radius); padding: 20px; }
.form-label { font-weight: 750; color: var(--facilop-text); }
.form-control, .form-select { border-color: #cbd5e1; border-radius: var(--facilop-radius-sm); min-height: 42px; }
.form-control:focus, .form-select:focus { border-color: var(--facilop-focus); box-shadow: 0 0 0 .2rem rgba(30,136,229,.18); }
.required-indicator { color: var(--facilop-danger); font-weight: 900; }
.error-summary { border: 1px solid #f0b8b8; border-inline-start: 4px solid var(--facilop-danger); background: #fff5f5; color: #7b1e1e; border-radius: var(--facilop-radius); padding: 12px; }
.input-action { position: relative; }
.input-action .password-toggle { position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--facilop-muted); font-weight: 700; }

.form-field { margin-bottom: 1rem; }
.form-error-summary { border: 1px solid #f0b8b8; border-inline-start: 4px solid var(--facilop-danger); background: #fff5f5; color: #7b1e1e; border-radius: var(--facilop-radius); padding: 12px; margin-bottom: 1rem; }
.form-label.required::after { content: " *"; color: var(--facilop-danger); }
