/* Reset y configuración base */
* {margin: 0;padding: 0;box-sizing: border-box;}
body {font-family: sans-serif;background: #f5f5f5;padding: 0px;}
a {text-decoration: underline;}
/* Contenedor principal */
main {padding: 30px 0;}
main .container {max-width: 660px;margin: 0 auto;background: white;padding: 30px;border-radius: 5px;box-shadow: 0 2px 10px rgba(0,0,0,0.1);}
/* Títulos */
h1 {color: #333;margin-bottom: 10px;font-size: 24px;}
h2 {color: #666;margin-bottom: 20px;font-size: 15px;font-weight: normal;}
h3 {margin: 0 0 1rem;}
/* Mensajes de error */
.error-message {background: #ffebee;color: #c62828;padding: 10px;border-radius: 5px;margin-bottom: 20px;display: none;font-weight: bold;}
/* Formulario */
.form-group {margin-bottom: 20px;}
label {display: block;margin-bottom: 5px;color: #555;font-weight: bold;}
input[type="text"],
input[type="number"] {width: 100%;padding: 10px;border: 1px solid #ddd;border-radius: 5px;font-size: 16px;}
input[type="text"]:focus,
input[type="number"]:focus {outline: none;border-color: var(--azul);}
input[readonly] {background-color: #f0f0f0;cursor: default;}
input.input-disabled {pointer-events: none;background: #f0f0f0;}
small {text-align: center;display: block;}
button+small {margin: 10px 0 0;}
/* Info de persona encontrada */
.persona-info {background: #e8f5e9;padding: 15px;border-radius: 5px;margin-top: 10px;display: none;}
.persona-info.error {background: #fff3cd;}
.persona-info p {margin: 5px 0;color: #333;}
/* Datos adicionales ocultos */
.hidden {display: none;}
/* Opciones de monto */
.monto-options {display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;margin-bottom: 15px;}
.monto-btn {padding: 15px;color: var(--azul);border: 2px solid;background: #fafafa;border-radius: 0.2em;cursor: pointer;font-size: 16px;font-weight: bold;transition: background 0.3s;}
.monto-btn:hover {background: #2f41a5;color: white;}
.monto-btn:active {background: #1f3195;}
.monto-btn.selected {background: #1f3195;color: white;box-shadow: 0 0 0 3px rgba(63, 81, 181, 0.3);}
/* Monto personalizado */
.custom-monto {display: none;}
.custom-monto.show {display: block;}
/* Botón de submit */
.btn-submit {width: 100%;padding: 0.7em 1em;background: var(--azul);color: white;border: 0;border-radius: 0.2em;cursor: pointer;font-size: 18px;font-weight: bold;transition: background 0.3s;}
.btn-submit:hover {background: #2f41a5;}
.btn-submit:active {background: #1f3195;}
.btn-submit:disabled {background: grey;opacity: 0.5;cursor: not-allowed;}
/* Loading */
.loading {display: none;text-align: center;color: #666;padding: 1em;}
/* Tablas */
table {border-collapse: collapse;width: 100%;font-size: 14px;}
table td {padding: 5px;border: 1px solid #ccc;}
table th {padding: 5px;border: 1px solid #ccc;background-color: #eee;}
table tr.estudianteEpav td {color: #4CAF50;}
table tr.estudianteEpav td.esEstudianteEpav {font-weight: bold;}
/* Responsive */
@media screen and (max-width: 768px) {
    body {/* padding: 10px; */}
    main {padding: 0;}
    main .container {padding: 20px 20px 40px;}
    h1 {font-size: 20px;}
    h2 {font-size: 13px;}
    .monto-options {/*grid-template-columns: 1fr;*/gap: 8px;}
    .monto-btn {padding: 12px;font-size: 14px;}
    input[type="text"],
    input[type="number"] {font-size: 16px;}
    table {font-size: 12px;}
}