*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, sans-serif;
}

body{
    background:#f0f2f5;
    padding:30px;
}

.contenedor{
    max-width:1400px;
    margin:auto;
}

h1{
    text-align:center;
    margin-bottom:20px;
    color:#1e3a8a;
}

table{
    width:100%;
    border-collapse:collapse;
    background:white;
    box-shadow:0 0 10px rgba(0,0,0,.1);
}

th{
    background:#1e3a8a;
    color:white;
    padding:12px;
}

td{
    border:1px solid #ddd;
    padding:10px;
    text-align:center;
}

tr:nth-child(even){
    background:#f8f9fa;
}

pre{
    text-align:left;
    white-space:pre-wrap;
}

button{
    background:#2563eb;
    color:white;
    border:none;
    padding:8px 12px;
    cursor:pointer;
    border-radius:5px;
    margin-top:5px;
}

button:hover{
    background:#1d4ed8;
}

.demo-box{
    border:1px solid #ccc;
    padding:10px;
    margin-bottom:8px;
}

.activo{
    background:gold;
    font-weight:bold;
}

.panel{
    background:#dbeafe;
    padding:30px;
}
footer {
  background-color: #1e3a8a; 
  color: #ffffff; 
  padding: 40px 20px;
  text-align: center;
}

.footer-contenido {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-columna {
  margin-bottom: 20px;
}

.footer-columna h4 {
  margin-bottom: 15px;
  color: #ecf0f1;
}

.footer-columna a {
  color: #bdc3c7;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}

.footer-columna a:hover {
  color: #3498db;
}