/* ----- MENÚ LATERAL Y LAYOUT ----- */
body {
  font-family: 'Inter', sans-serif;
  background: #f8f8f5;
  color: #222;
  margin: 0;
  line-height: 1.6;
}

aside.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 140px;          
  height: 100vh;
  background: #edeac3;
  padding-top: 2rem;
  box-sizing: border-box;
  z-index: 100;
}

aside.menu .logo {
  width: 120px;
  margin: 0 auto 1.5rem auto;
  display: block;
}

aside.menu nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

aside.menu nav ul li a {
  display: block;
  padding: 0.8rem 1.2rem;
  font-weight: 700;
  color: #4a3b1d;
  border-left: 4px solid transparent;
  text-decoration: none;
  transition: background 0.3s, border-color 0.3s;
  font-family: 'Roboto Slab', Georgia, serif;
  letter-spacing: 0.02em;
}

aside.menu nav ul li a.active,
aside.menu nav ul li a:hover {
  background: #d9d7a3;
  border-left-color: #bdb304;
  color: #3a3012;
}

main {
  margin-left: 150px;   /* <-- Debe coincidir con el ancho del menú */
  padding: 2rem;
  max-width: 900px;
  box-sizing: border-box;
}

/* ----- TÍTULOS Y CUADROS ----- */
h1 {
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-bottom: 1rem;
  border-bottom: 4px solid #cfcf04;
  padding-bottom: 0.5rem;
  width: fit-content;
}

/* ----- ESTILO DE TABLAS ----- */
table {
  border-collapse: collapse;
  width: 100%;
  background: #fff;
  margin: 2rem 0 1rem 0;
  font-size: 1.05em;
}
th, td {
  border: 1px solid #ddd;
  padding: 0.5em 1em;
  text-align: left;
}
th {
  background-color: #f6f6ef;
  font-weight: bold;
  color: #53451b;
  font-family: 'Roboto Slab', serif;
  letter-spacing: 0.04em;
  font-size: 1.05em;
}
tr:nth-child(even) {
  background-color: #faf9f6;
}
tr.vendido {
  color: #999;
  font-style: italic;
  background-color: #f3f3f3;
}
tr:hover {
  background-color: #f0edd8;
  transition: background 0.2s;
}
main {
  margin-left: 150px;
  padding: 2rem;
  max-width: 800px;
  box-sizing: border-box;
}
