/* BUTTONS */
.btn { width: 100%; background: var(--verde); color: white; border: none; border-radius: 30px; padding: 16px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; cursor: pointer; transition: all 0.2s; letter-spacing: 0.01em; box-shadow: 0 4px 16px rgba(27,107,58,0.3); }
.btn:active { transform: scale(0.97); box-shadow: 0 2px 8px rgba(27,107,58,0.2); }
.btn-outline { background: transparent; border: 2px solid var(--verde); color: var(--verde); box-shadow: none; }
.btn-outline:active { background: var(--verde3); }
.btn-amarillo { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color: white; box-shadow: 0 4px 16px rgba(245,158,11,0.35); }
.btn-rojo { background: var(--rojo); box-shadow: 0 4px 16px rgba(220,38,38,0.3); }
.btn-sm { padding: 10px 20px; font-size: 13px; width: auto; border-radius: 24px; }

/* FORMS */
.fgroup { margin-bottom: 16px; }
.flabel { font-size: 11px; font-weight: 800; color: var(--texto2); margin-bottom: 6px; display: block; text-transform: uppercase; letter-spacing: 0.06em; }
.finput { width: 100%; background: var(--blanco); border: 1.5px solid var(--gris2); border-radius: var(--radio-sm); padding: 13px 16px; font-size: 14px; font-family: 'Plus Jakarta Sans', sans-serif; color: var(--texto); outline: none; transition: border-color 0.2s, box-shadow 0.2s; font-weight: 500; }
.finput:focus { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(27,107,58,0.1); }
.fselect { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235C6B7A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }

