body {
background: rgba(179,220,237,1);
background: -moz-linear-gradient(left, rgba(179,220,237,1) 0%, rgba(41,184,229,1) 44%, rgba(188,224,238,1) 100%);
background: -webkit-gradient(left top, right top, color-stop(0%, rgba(179,220,237,1)), color-stop(44%, rgba(41,184,229,1)), color-stop(100%, rgba(188,224,238,1)));
background: -webkit-linear-gradient(left, rgba(179,220,237,1) 0%, rgba(41,184,229,1) 44%, rgba(188,224,238,1) 100%);
background: -o-linear-gradient(left, rgba(179,220,237,1) 0%, rgba(41,184,229,1) 44%, rgba(188,224,238,1) 100%);
background: -ms-linear-gradient(left, rgba(179,220,237,1) 0%, rgba(41,184,229,1) 44%, rgba(188,224,238,1) 100%);
background: linear-gradient(to right, rgba(179,220,237,1) 0%, rgba(41,184,229,1) 44%, rgba(188,224,238,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3dced', endColorstr='#bce0ee', GradientType=1 );
}

/* Componentes administrativos compartidos */
.app-main__inner .content {
  background: #fff;
  border-color: #e4eaf2 !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 18px rgba(31, 45, 61, .04);
}
.modern-page-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  background: linear-gradient(135deg, #fff, #f5f8fc);
  border: 1px solid #e4eaf2;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(31, 45, 61, .06);
}
.modern-page-intro > div { display: flex; align-items: center; gap: 14px; }
.modern-page-intro h4 { margin: 0 0 3px; color: #202938; font-weight: 700; }
.modern-page-intro p { margin: 0; color: #6f7885; }
.modern-page-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #e8efff;
  color: #4169d8;
  font-size: 18px;
}
.modern-action-bar { display: flex; align-items: center; min-height: 58px; }
.modern-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.modern-stat-card {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 17px;
  background: #fff;
  border: 1px solid #e4eaf2;
  border-radius: 13px;
  box-shadow: 0 5px 16px rgba(31, 45, 61, .05);
}
.modern-stat-card small, .modern-stat-card strong { display: block; }
.modern-stat-card small { color: #7b8491; }
.modern-stat-card strong { color: #202938; font-size: 15px; }
.modern-stat-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; flex: 0 0 42px; }
.modern-stat-icon.primary { color: #4169d8; background: #e8efff; }
.modern-stat-icon.success { color: #1d9b60; background: #e7f8ef; }
.modern-stat-icon.info { color: #1687a7; background: #e4f6fb; }
.modern-stat-icon.warning { color: #bc7a00; background: #fff4d6; }
.modern-data-card { overflow: hidden; background: #fff; border: 1px solid #e4eaf2; border-radius: 14px; }
.modern-data-heading { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid #edf0f4; }
.modern-data-heading h5 { margin: 0 0 4px; font-weight: 700; }
.modern-data-heading p { margin: 0; color: #77808c; }
.modern-data-table thead th {
  padding: 13px;
  border: 0;
  background: #f7f9fc;
  color: #667085;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.modern-data-table td { padding: 15px 13px; vertical-align: middle; border-color: #edf0f4; }
.modern-currency-chip { display: inline-block; min-width: 44px; padding: 6px 10px; text-align: center; color: #2856c5; background: #edf2ff; border-radius: 8px; font-weight: 700; }
.modern-empty-state { padding: 52px 20px; text-align: center; background: #fff; border: 1px dashed #ccd5e2; border-radius: 14px; }
.modern-empty-state > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 14px; border-radius: 16px; background: #edf2ff; color: #4169d8; font-size: 22px; }
.modern-empty-state p { color: #77808c; }
.app-main__inner .btn { border-radius: 8px; }
.app-main__inner .form-control { border-color: #d8e0ea; border-radius: 8px; }
.app-main__inner .form-control:focus { border-color: #6f91e8; box-shadow: 0 0 0 .18rem rgba(65, 105, 216, .14); }
@media (max-width: 1100px) { .modern-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) {
  .modern-stat-grid { grid-template-columns: 1fr; }
  .modern-page-intro, .modern-data-heading { align-items: flex-start; flex-direction: column; }
}
