body { 
  font-family: Arial, sans-serif; 
  margin: 40px; 
  background: #f9f9f9; 
}
h2 { color: #05601f; }
.resultado { margin-top: 20px; padding: 20px; border-radius: 8px; }
.valido { background: #e6ffed; border: 2px solid #05601f; color: #05601f; }
.vencido, .invalido { background: #ffe6e6; border: 2px solid #ff0000; color: #900; }

/* INPUT */
input { 
  padding: 12px; 
  margin-top: 10px; 
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  width: 250px;
  max-width: 100%;
}

/* TABLA */
.tabla-container {
  overflow-x: auto;
  margin-top: 15px;
}
table { width: 100%; border-collapse: collapse; min-width: 350px; }
td { padding: 8px; border-bottom: 1px solid #cfcfcf; }
td:first-child { font-weight: bold; width: 200px; }

/* Botón Volver elegante */
.volver {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #05601f, #0a802c);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 50px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
  margin-bottom: 20px;
  cursor: pointer;
  border: none;
}
.volver:hover {
  background: linear-gradient(135deg, #034d17, #05601f);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}
.volver:active { transform: scale(0.97); }
.volver span { transition: transform 0.3s ease; font-size: 18px; }
.volver:hover span { transform: translateX(-4px); }

/* Botón Validar elegante */
.validar {
  background: linear-gradient(135deg, #28a745, #218838);
  color: white;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
  margin-left: 10px;
}
.validar:hover {
  background: linear-gradient(135deg, #1e7e34, #28a745);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}
.validar:active { transform: scale(0.97); }

/* Adaptable a celulares */
@media (max-width: 768px) {
  body { margin: 20px; text-align: center; }
  input { width: 100%; margin-bottom: 10px; }
  .volver, .validar {
    width: 100%;
    font-size: 15px;
    padding: 14px;
    margin-left: 0;
    margin-top: 10px;
  }
  table td:first-child { width: 120px; }
}
