:root {
    --primary: #D9EDF7;
    --primary-hover: #C3E3F3;
    --success: #DFF0D8;
    --success-hover: #D0E9C6;
    --secondary: #F5F5F5;
    --secondary-hover: #E8E8E8;
    --warning: #FCF8E3;
    --warning-hover: #FAF2CC;
    --danger: #F2DEDE;
    --danger-hover: #EBCCCC;
    --shadow: rgba(28, 28, 28, 0.2);
    --text-dark: #495057;
    --text-light: #ffffff;
  }
  
  /* Botones */
  .btn {
    box-shadow: 1px 2px 2px var(--shadow);
    transition: all 0.3s ease;
  }
  
  .btn-primary {
    background-color: var(--primary);
    color: var(--text-dark);
    border-color: var(--primary);
  }
  
  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary:active,
  .btn-primary.active,
  .show > .btn-primary.dropdown-toggle {
    background-color: var(--primary-hover);
    color: var(--text-dark);
    border-color: var(--primary-hover);
  }
  
  .btn-success {
    background-color: var(--success);
    color: var(--text-dark);
    border-color: var(--success);
  }
  
  .btn-success:hover,
  .btn-success:focus,
  .btn-success:active,
  .btn-success.active,
  .show > .btn-success.dropdown-toggle {
    background-color: var(--success-hover);
    color: var(--text-dark);
    border-color: var(--success-hover);
  }
  
  .btn-secondary {
    background-color: var(--secondary);
    color: var(--text-dark);
    border-color: var(--secondary);
  }
  
  .btn-secondary:hover,
  .btn-secondary:focus,
  .btn-secondary:active,
  .btn-secondary.active,
  .show > .btn-secondary.dropdown-toggle {
    background-color: var(--secondary-hover);
    color: var(--text-dark);
    border-color: var(--secondary-hover);
  }
  
  .btn-warning {
    background-color: var(--warning);
    color: var(--text-dark);
    border-color: var(--warning);
  }
  
  .btn-warning:hover,
  .btn-warning:focus,
  .btn-warning:active,
  .btn-warning.active,
  .show > .btn-warning.dropdown-toggle {
    background-color: var(--warning-hover);
    color: var(--text-dark);
    border-color: var(--warning-hover);
  }
  
  .btn-danger {
    background-color: var(--danger);
    color: var(--text-dark);
    border-color: var(--danger);
  }
  
  .btn-danger:hover,
  .btn-danger:focus,
  .btn-danger:active,
  .btn-danger.active,
  .show > .btn-danger.dropdown-toggle {
    background-color: var(--danger-hover);
    color: var(--text-dark);
    border-color: var(--danger-hover);
  }
  
  /* Alertas */
  .alert-primary {
    background-color: var(--primary);
    color: var(--text-dark);
    border-color: var(--primary-hover);
  }
  
  .alert-success {
    background-color: var(--success);
    color: var(--text-dark);
    border-color: var(--success-hover);
  }
  
  .alert-secondary {
    background-color: var(--secondary);
    color: var(--text-dark);
    border-color: var(--secondary-hover);
  }
  
  .alert-warning {
    background-color: var(--warning);
    color: var(--text-dark);
    border-color: var(--warning-hover);
  }
  
  .alert-danger {
    background-color: var(--danger);
    color: var(--text-dark);
    border-color: var(--danger-hover);
  }
  
  /* Badges */
  .badge-primary {
    background-color: var(--primary);
    color: var(--text-dark);
  }
  
  .badge-success {
    background-color: var(--success);
    color: var(--text-dark);
  }
  
  .badge-secondary {
    background-color: var(--secondary);
    color: var(--text-dark);
  }
  
  .badge-warning {
    background-color: var(--warning);
    color: var(--text-dark);
  }
  
  .badge-danger {
    background-color: var(--danger);
    color: var(--text-dark);
  }
  
  /* Cards */
  .card-primary {
    background-color: var(--primary);
    border-color: var(--primary-hover);
  }
  
  .card-success {
    background-color: var(--success);
    border-color: var(--success-hover);
  }
  
  .card-secondary {
    background-color: var(--secondary);
    border-color: var(--secondary-hover);
  }
  
  .card-warning {
    background-color: var(--warning);
    border-color: var(--warning-hover);
  }
  
  .card-danger {
    background-color: var(--danger);
    border-color: var(--danger-hover);
  }
  
  /* Navbar */
  .navbar-light {
    background-color: var(--primary);
  }
  
  .navbar-light .navbar-nav .nav-link {
    color: var(--text-dark);
  }
  
  .navbar-light .navbar-nav .nav-link:hover,
  .navbar-light .navbar-nav .nav-link:focus {
    color: var(--text-dark);
    background-color: var(--primary-hover);
  }
  
  /* List groups */
  .list-group-item-primary {
    background-color: var(--primary);
    color: var(--text-dark);
  }
  
  .list-group-item-success {
    background-color: var(--success);
    color: var(--text-dark);
  }
  
  .list-group-item-secondary {
    background-color: var(--secondary);
    color: var(--text-dark);
  }
  
  .list-group-item-warning {
    background-color: var(--warning);
    color: var(--text-dark);
  }
  
  .list-group-item-danger {
    background-color: var(--danger);
    color: var(--text-dark);
  }
  
  /* Progress bars */
  .progress-bar-primary {
    background-color: var(--primary);
  }
  
  .progress-bar-success {
    background-color: var(--success);
  }
  
  .progress-bar-secondary {
    background-color: var(--secondary);
  }
  
  .progress-bar-warning {
    background-color: var(--warning);
  }
  
  .progress-bar-danger {
    background-color: var(--danger);
  }
  
  /* Modals */
  .modal-header {
    background-color: var(--primary);
    color: var(--text-dark);
  }
  
  /* Pagination */
  .page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary-hover);
    color: var(--text-dark);
  }
  
  .page-link {
    color: var(--text-dark);
  }
  
  .page-link:hover {
    background-color: var(--primary-hover);
    color: var(--text-dark);
  }
  
  /* Forms */
  .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(217, 237, 247, 0.25);
  }
  
  /* Custom checkboxes and radios */
  .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--primary);
    border-color: var(--primary-hover);
  }
  
  /* Tooltips */
  .tooltip-inner {
    background-color: var(--primary);
    color: var(--text-dark);
  }
  
  .bs-tooltip-top .arrow::before,
  .bs-tooltip-auto[x-placement^="top"] .arrow::before {
    border-top-color: var(--primary);
  }
  
  /* Popovers */
  .popover {
    background-color: var(--primary);
  }
  
  .popover-header {
    background-color: var(--primary-hover);
  }
  
  .bs-popover-top .arrow::after,
  .bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: var(--primary);
  }
  
  /* Tables */
  .table-primary,
  .table-primary > th,
  .table-primary > td {
    background-color: var(--primary);
  }
  
  .table-success,
  .table-success > th,
  .table-success > td {
    background-color: var(--success);
  }
  
  .table-secondary,
  .table-secondary > th,
  .table-secondary > td {
    background-color: var(--secondary);
  }
  
  .table-warning,
  .table-warning > th,
  .table-warning > td {
    background-color: var(--warning);
  }
  
  .table-danger,
  .table-danger > th,
  .table-danger > td {
    background-color: var(--danger);
  }
  
  /* Dropdown */
  .dropdown-item:hover,
  .dropdown-item:focus {
    background-color: var(--primary);
    color: var(--text-dark);
  }