/* ============================================================
   forms.css — Inputs, botones, modales, toasts.
   ============================================================ */
.field{margin-bottom:14px}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:5px;color:var(--text-soft)}
input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:var(--font);font-size:.92rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,107,26,.15)}
textarea{resize:vertical;min-height:80px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-weight:600;font-size:.9rem;cursor:pointer;background:var(--surface-2);color:var(--text)}
.btn:hover{filter:brightness(.96)}
.btn-primary{background:var(--naranja);color:#fff}
.btn-primary:hover{background:var(--naranja-dark)}
.btn-danger{background:var(--bad);color:#fff}
.btn-ghost{background:transparent;border:1px solid var(--border)}
.btn-sm{padding:5px 10px;font-size:.82rem}
.actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal{background:var(--surface);border-radius:var(--radius);max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.modal-body{padding:20px}
.toast-wrap{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200}
.toast{background:var(--negro);color:#fff;padding:12px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow);animation:slidein .25s ease;font-size:.9rem}
.toast.ok{background:var(--ok)}.toast.bad{background:var(--bad)}.toast.warn{background:var(--warn)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
