/* RESET */
body {
    font-family: Arial, sans-serif;
    background-color: #f4f6f8;
    margin: 0;
}

/* SOLO PARA FORMULARIOS GRANDES */
.body-form {
    display: block;          /* clave: sacamos el centrado */
    padding-top: 40px;       /* baja el contenido */
}


/* CONTENEDOR CENTRAL */
.container {
    width: 90%;
    max-width: 500px;
    margin: 40px auto; /* 👈 CLAVE: centra horizontal */
    padding: 25px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 4px 12px rgba(0,0,0,0.15);
    text-align: center;
}

/* TITULOS */
h1 {
    color: #333;
    margin-bottom: 20px;
}

/* FORMULARIOS */
.login-form,
.menu-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* INPUTS */
input {
    width: 90%;
    padding: 10px;
    margin: 6px 0;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 14px;
}

/* BOTONES */
button {
    width: 95%;
    padding: 12px;
    margin: 8px 0;
    border: none;
    border-radius: 5px;
    background-color: #007BFF;
    color: white;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
}

button:hover {
    background-color: #0056b3;
}

/* BOTONES ESPECIALES */
.btn-secundario {
    background-color: #6c757d;
    color: white;
}

.btn-secundario:hover {
    background-color: #545b62;
}

.btn-danger {
    background-color: #c0392b;
    color: white;
}

.btn-danger:hover {
    background-color: #922b21;
}

/* MENSAJES */
.error {
    color: red;
    font-weight: bold;
}

/* TABLAS */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 14px;
}

th {
    background-color: #007BFF;
    color: white;
    padding: 10px;
}

td {
    padding: 8px;
    border-bottom: 1px solid #ddd;
}

/* FILAS */
tr:nth-child(even) {
    background-color: #f2f2f2;
}

/* LINKS */
a {
    text-decoration: none;
    color: #007BFF;
    font-weight: bold;
}

a:hover {
    text-decoration: underline;
}

.logo {
    position: absolute;
    top: 30px;     /* separación arriba */
    right: 60px;   /* separación derecha */
    width: 220px;  /* tamaño más equilibrado */
    height: auto;
}


@media (min-width: 768px) {
    .logo {
        width: 320px; /* tamaño en PC */
    }
}

img {
    max-width: 100%;
}

select.input-text {
    width: 95%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 14px;
    box-sizing: border-box;
}

/* =====================================
   FIX TITULOS (ALTAS / MODIFICAR / BAJA)
===================================== */

/* CONTENEDOR MÁS CONTROLADO */
.container-grande {
    max-width: 900px;
}

/* GRID MÁS AJUSTADO */
.form-secciones {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px; /* menos espacio */
}

/* BLOQUES MÁS CHICOS */
.bloque {
    background: #f9f9f9;
    padding: 12px;
    border-radius: 8px;
}

/* INPUTS MÁS COMPACTOS */
.bloque input {
    width: 95%;
    padding: 6px;
    margin-bottom: 6px;
    font-size: 13px;
}

/* TITULOS MÁS CHICOS */
.bloque h3 {
    margin-bottom: 8px;
    font-size: 14px;
}

/* BOTONES MÁS CORTOS */
.form-botones {
    grid-column: span 2;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.btn-inline {
    width: auto;       /* clave: que no ocupen todo */
    padding: 8px 20px; /* más chicos */
}