/* ===== Estilos generales ===== */
body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #eef2f5; /* fondo suave */
    margin: 0;
    padding: 0 20px;
    color: #2e3a46; /* texto principal */
}

h1, h2, h3 {
    text-align: center;
    color: #34495e; /* azul grisáceo elegante */
    margin-top: 20px;
}

p {
    text-align: center;
    font-size: 16px;
    color: #555;
}

p.error {
    color: #e74c3c; /* rojo suave para errores */
    font-weight: bold;
    text-align: center;
}

/* ===== Enlaces ===== */
a {
    text-decoration: none;
    color: #16a085; /* verde azulado */
}

a:hover {
    text-decoration: underline;
}

/* ===== Botones ===== */
button {
    padding: 10px 20px;
    background-color: #16a085;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

button:hover {
    background-color: #13876f;
}

/* ===== Formularios ===== */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"],
select {
    padding: 10px;
    margin: 5px 0 15px 0;
    width: 100%;
    max-width: 350px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
}

form {
    max-width: 450px;
    margin: 30px auto;
    background-color: #ffffff;
    padding: 25px 30px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0,0,0,0.1);
}

/* ===== Tablas ===== */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px auto;
    background-color: #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.08);
}

th, td {
    padding: 12px 15px;
    text-align: left;
    font-size: 14px;
}

th {
    background-color: #16a085; /* verde azulado */
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

tr:nth-child(even) {
    background-color: #f7f9fa; /* gris muy claro */
}

tr:hover {
    background-color: #d1f0eb; /* verde azulado claro al pasar */
    transition: background-color 0.3s ease;
}

/* ===== Encabezados de secciones ===== */
h2 {
    margin-top: 40px;
}

/* ===== Iconos y enlaces de logout ===== */
header {
    text-align: right;
    margin-top: 10px;
}

header a {
    font-weight: bold;
    margin-right: 20px;
}

/* ===== Mensajes de confirmación ===== */
p.success {
    color: #27ae60; /* verde para éxito */
    font-weight: bold;
    text-align: center;
}

/* ===== Ajustes responsive ===== */
@media screen and (max-width: 600px) {
    table, th, td {
        font-size: 12px;
    }

    form {
        width: 95%;
        padding: 20px;
    }

    input, select {
        max-width: 100%;
    }
}
