body { font-family: 'Inter', sans-serif; }

.input-field {
    width: 100%; padding: 12px 16px; border-radius: 12px;
    border: 1.5px solid #e2e8f0; background: #f8fafc;
    font-size: 15px; font-weight: 500; outline: none;
    transition: border-color 0.15s, box-shadow 0.15s; color: #1e293b;
}
.input-field:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79,70,229,0.1);
    background: white;
}
.input-field.has-error {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

.btn-primary {
    width: 100%; padding: 13px; border-radius: 12px;
    color: white; font-weight: 700; font-size: 15px;
    border: none; cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.btn-primary:hover:not(:disabled)  { filter: brightness(0.9); }
.btn-primary:active:not(:disabled) { transform: scale(0.98); }
.btn-primary:disabled              { background: #94a3b8 !important; cursor: not-allowed; }

/* Variantes de cor */
.btn-dark   { background: #1e293b; }
.btn-indigo { background: #4f46e5; }
.btn-dark:hover:not(:disabled)   { background: #0f172a; }
.btn-indigo:hover:not(:disabled) { background: #4338ca; }
