/* Capa final de modernización: compacta, responsive y fácil de personalizar. */
:root {
  --school-primary: #1f4b99;
  --school-primary-strong: #163b7c;
  --school-accent: #f4b400;
  --school-bg: #f5f7fb;
  --school-surface: #ffffff;
  --school-text: #1f2937;
  --school-muted: #667085;
  --school-border: #e4e7ec;
  --school-radius: 14px;
  --school-shadow: 0 4px 14px rgba(16,24,40,.07);
}
html, body { background: var(--school-bg); color: var(--school-text); }
button, input, select, textarea { font: inherit; }
.module-card, .dashboard-card, .card, .panel, .content-card {
  border-radius: var(--school-radius) !important;
  box-shadow: var(--school-shadow) !important;
  border-color: var(--school-border) !important;
}
.module-card, .dashboard-card { padding: 14px !important; }
.module-grid, .dashboard-grid { gap: 12px !important; }
.btn, button, [role="button"] { min-height: 38px; }
.table-responsive, .table-wrap, .data-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { max-width: 100%; }
input, select, textarea { max-width: 100%; }
@media (max-width: 768px) {
  .module-grid, .dashboard-grid { grid-template-columns: 1fr !important; }
  .module-card, .dashboard-card, .card, .panel, .content-card { padding: 12px !important; }
  .toolbar, .actions, .button-row { gap: 8px !important; flex-wrap: wrap !important; }
  .toolbar > *, .actions > *, .button-row > * { max-width: 100%; }
}
@media (max-width: 430px) {
  body { font-size: 14px; }
  .module-card, .dashboard-card, .card, .panel, .content-card { border-radius: 10px !important; }
  .btn, button, [role="button"] { min-height: 42px; }
}
