/* estilos.css */
body { font-family: Arial, sans-serif; background-color: #f4f7f6; margin: 0; padding: 20px; }
.container { max-width: 900px; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
h2 { color: #030; border-bottom: 2px solid #030; padding-bottom: 10px; margin-top: 0;}
.row { display: flex; flex-wrap: wrap; margin-bottom: 15px; align-items: center; }
.col-25 { flex: 25%; font-weight: bold; color: #333; }
.col-75 { flex: 75%; }
input[type=text], input[type=email], input[type=password], input[type=number], select, textarea, input[type=date] {
  width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box;
}
input[type=submit], .btn {
  background-color: #030; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; width: 100%; font-size: 16px; text-decoration: none; text-align: center; display: inline-block;
}
input[type=submit]:hover, .btn:hover { background-color: #050; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 20px; margin-top: 20px; }
.card { background: #fff; border: 1px solid #ddd; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05);}
hr { border: 0; border-top: 1px solid #eee; margin: 20px 0; }

@media screen and (max-width: 768px) {
  .col-25, .col-75, .row { flex: 100%; flex-direction: column; align-items: flex-start; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .col-25 { margin-bottom: 5px; }
}