/* ============================================================
   estilos.css - Hoja de estilo común del sistema SSEN (etapa 7)
   ============================================================
   Estilos mínimos propios, sin framework ni CDN externo, coherentes
   con el HTML simple de las etapas anteriores (login, dominios,
   ejecutar, resultados): tipografía sans-serif, márgenes, tablas,
   formularios, avisos y navegación horizontal.
   ============================================================ */

/* Base: tipografía sans-serif y márgenes uniformes. */
body {
    font-family: sans-serif;
    margin: 2rem;
    color: #222;
    background-color: #ffffff;
    line-height: 1.5;
}

main {
    max-width: 60rem;
    margin: 0 auto;
}

/* Pantalla de acceso: caja más estrecha para el formulario de login. */
main.login {
    max-width: 24rem;
}

h1, h2, h3 {
    margin-top: 2rem;
    line-height: 1.3;
}

/* ------------------------------------------------------------
   Navegación horizontal (menú de Plantilla.php)
   ------------------------------------------------------------ */
header.cabecera {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
}

nav.navegacion ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
}

nav.navegacion li {
    margin: 0;
}

nav.navegacion li.cerrar-sesion {
    margin-left: auto;
}

nav.navegacion a {
    display: inline-block;
    padding: 0.35rem 0.6rem;
    color: #1a5276;
    text-decoration: none;
    border-radius: 0.2rem;
}

nav.navegacion a:hover,
nav.navegacion a:focus {
    background-color: #eaf2f8;
    text-decoration: underline;
}

/* Pie de página. */
footer.pie {
    max-width: 60rem;
    margin: 3rem auto 0;
    border-top: 1px solid #cccccc;
    padding-top: 0.5rem;
    font-size: 0.85em;
    color: #666666;
}

/* ------------------------------------------------------------
   Formularios
   ------------------------------------------------------------ */
label {
    display: block;
    margin-top: 1rem;
}

input[type="text"],
input[type="url"],
input[type="password"],
select {
    width: 100%;
    box-sizing: border-box;
    margin-top: 0.25rem;
    padding: 0.3rem 0.4rem;
}

button {
    margin-top: 1.5rem;
    padding: 0.4rem 1rem;
    cursor: pointer;
}

/* ------------------------------------------------------------
   Avisos: exito, error, info y aviso neutro (sección 6.7)
   ------------------------------------------------------------ */
p.error,
ul.error {
    color: #990000;
}

p.exito {
    color: #006600;
}

p.aviso {
    color: #996600;
}

p.info {
    color: #1a5276;
}

p.sugerencia {
    font-size: 0.85em;
    color: #555555;
}

/* ------------------------------------------------------------
   Tablas
   ------------------------------------------------------------ */
table {
    border-collapse: collapse;
    margin-top: 1rem;
    width: 100%;
}

th, td {
    border: 1px solid #999999;
    padding: 0.4rem 0.6rem;
    text-align: left;
    vertical-align: top;
}

th {
    background-color: #efefef;
}

/* ------------------------------------------------------------
   Elementos de código y listas plegables
   ------------------------------------------------------------ */
code,
span.clave {
    font-family: monospace;
    word-break: break-all;
}

details {
    margin-top: 0.5rem;
}

summary {
    cursor: pointer;
    font-size: 0.9em;
}

/* ------------------------------------------------------------
   Formularios de edición dentro de las tablas (dominios.php)
   ------------------------------------------------------------ */
form.editar {
    margin: 0;
}

form.editar select {
    width: auto;
    margin-top: 0.1rem;
}

form.editar button {
    margin-top: 0.4rem;
}
