body {
  font-family: "DM Sans", sans-serif;
}

:root {
  --bg-login: #D8E1F3;
  --bg-menu: #337ab7;
  --primary: #337ab7;
  --menu-text: #C2C7D0;
  --menu-text-active: #FFFFFF;
  --menu-bg-active: #24468E;
  --bg-btn-action: #FFFFFF;
  --border-btn-action: #D9D9D9;
  --bg-table: #FFFFFF;
  --brand-text: #FFFFFF;
  --bg-input: #F6F6F6;
  --bg-input-group: #FFFFFF;
  --border-input: #ABABAB;
  --input-text: #191919;
  --dashboard-title: #202020;
  --info-box-icon-bg: #E5EBF7;
  --header-card-bg: #757575;
  --header-card-color: #FFFFFF;
  --label-color: #000000;
  --submit-color: #FFFFFF;
  --table-border-color: #BEBEBE;
  --icon-color: #FFFFFF;
  --icon-hamburguer-color: #000000;
  --status-approved-border: #317418;
  --status-approved-bg: rgba(120, 200, 90, .25);
  --status-pending-border: #4C4C4C;
  --status-pending-bg: rgba(157, 157, 157, .25);
  --status-rejected-border: #EB5757;
  --btn-rejected-color: #EB5757;
  --status-rejected-bg: rgba(235, 87, 87, .25);
  --status-color: #000000;
  --download-csv-bg: #C7C7C7;
  --download-csv-text: #FFFFFF;
  --download-pdf-bg: #C7C7C7;
  --download-pdf-text: #000000;
  --textarea-border: #DEE2E6;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.btn-primary {
  background-color: var(--primary) !important;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 300;
  min-height: 44px;
  color: #fff !important;
}
.btn-login::before {
  content: "";
  background-image: url(/images/icons/box-arrow-in-down.svg);
  height: 16px;
  width: 16px;
  display: inline-block;
  transform: rotate(-90deg);
  vertical-align: middle;
  margin-right: 5px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.btn-inline {
  border: 1px solid var(--border-input);
  border-radius: 4px;
  font-size: 15px;
  height: 44px;
}
.btn-danger {
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-new::before {
  content: "";
  background-image: url(/images/icons/person-add.svg);
  height: 16px;
  width: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.btn-link-recover::before {
  content: "";
  background-image: url(/images/icons/link-recover.svg);
  height: 16px;
  width: 16px;
  display: inline-block;
  vertical-align: middle;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.btn-action {
  width: 30px;
  height: 32px;
  border-radius: 4px;
  display: inline-block;
  background-color: var(--bg-btn-action);
  border: 1px solid var(--border-btn-action);
}
.btn-action-restore::after {
  content: "";
  background-image: url(/images/icons/arrow-counterclockwise.svg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 16px;
  width: 16px;
  display: flex;
}
.btn-action-edit {
  display: inline-block;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-action-edit::after {
  content: "";
  background-image: url(/images/icons/icons.svg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 16px;
  width: 16px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  position: relative;
  top: 2px;
}
.btn-action-delete::after {
  content: "";
  background-image: url(/images/icons/delete.svg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 16px;
  width: 16px;
  display: flex;
}
.btn-action-view {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
}
.btn-action-view::after {
  content: "";
  background-image: url(/images/icons/eye.svg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 16px;
  width: 16px;
  display: flex;
}
.btn-action-download {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2px;
}
.btn-action-download::after {
  content: "";
  background-image: url(/images/icons/box-arrow-in-down-fill.svg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 16px;
  width: 16px;
  display: flex;
}
.btn.buttons-excel {
  margin-right: 10px;
  border-radius: 5px !important;
  background-color: var(--download-csv-bg);
  border: none;
}
.btn.buttons-html5 {
  margin-right: 10px;
  border-radius: 5px !important;
  border: none;
  font-size: 15px;
  font-weight: 400;
  padding: 10px 25px;
}
.btn.buttons-html5::before {
  content: "";
  height: 16px;
  width: 16px;
  display: inline-block;
  position: relative;
  margin-right: 5px;
  background-size: cover;
}
.btn.buttons-html5.buttons-pdf {
  background-color: #757575 !important;
  color: #fff;
}
.btn.buttons-html5.buttons-pdf::before {
  background-image: url(/images/icons/box-arrow-in-down.svg);
}
.btn.buttons-html5.buttons-excel {
  background-color: #c7c7c7;
  color: #000;
}
.btn.buttons-html5.buttons-excel::before {
  background-image: url(/images/icons/box-arrow-in-down-black.svg);
}

.action-btns.show {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.btn-action.dropdown-toggle {
  padding: 0;
}
.btn-action.dropdown-toggle::after {
  margin: 0;
}

.custom-file-label::after {
  content: "Examinar";
}

header,
footer {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 20px;
}

header {
  background-color: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: 1030;
  border-bottom: 1px solid rgba(52, 95, 185, 0.12);
  box-shadow: 0 2px 12px rgba(52, 95, 185, 0.06);
}

footer {
  background-color: rgba(199, 228, 233, 0.92);
  border-top: 1px solid rgba(46, 140, 154, 0.18);
}

.card-header.card-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.card-header.card-toggle .card-title {
  float: none;
}
.card-header.card-toggle .fa-chevron-up {
  margin-left: auto;
  transition: transform 0.2s ease;
}
.card-header.card-toggle.collapsed .fa-chevron-up {
  transform: rotate(180deg);
}

header .header-logo {
  height: 48px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
header small {
  font-size: 0.5em;
  color: #777;
}
header .navbar .nav-item.dropdown {
  position: relative;
}
header .navbar .dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  transform: none !important;
}
header .navbar .dropdown-menu .dropdown-item.active {
  background-color: #e9ecef;
  color: #000;
  font-weight: 600;
}

.public-body {
  overflow-x: hidden;
  min-height: 100vh;
  background: radial-gradient(circle at 12% 18%, rgba(51, 122, 183, 0.06), transparent 45%), radial-gradient(circle at 88% 8%, rgba(51, 122, 183, 0.05), transparent 40%), linear-gradient(160deg, #f7fafd 0%, #eef4fb 55%, #e6eef8 100%);
  background-attachment: fixed;
}
.public-body .card {
  border: 1px solid rgba(52, 95, 185, 0.1);
  border-radius: 0.6rem;
  box-shadow: 0 8px 24px rgba(52, 95, 185, 0.1);
  overflow: hidden;
}
.public-body .table tr td:last-child, .public-body .table tr th:last-child {
  text-align: left;
}
.public-body h5 {
  font-size: 0.95rem;
}
.public-body .alert {
  font-size: 0.9rem;
}
.public-body .alert-info {
  background-color: rgba(199, 228, 233, 0.92);
  border-color: rgba(199, 228, 233, 0.92);
  color: #15616d;
}
.public-body .main #loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.public-body .main #filterErrors {
  display: none;
}
.public-body .main .notices-list .notice-item {
  border-left: 3px solid #007bff;
}
.public-body #removeFilters {
  display: none;
}
.public-body #query-results .table {
  background-color: #fff;
  border-radius: 0.6rem;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(52, 95, 185, 0.1);
}

.login-page .login-box,
.login-page .register-box,
.register-page .login-box,
.register-page .register-box {
  width: 100%;
  max-width: 400px;
}
.login-page .login-logo a,
.register-page .login-logo a {
  font-size: 0;
}
.login-page .login-logo a img,
.register-page .login-logo a img {
  height: 110px;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.public-body .game-calendar-title {
  padding: 0.75rem 1.25rem;
  border-radius: 0.25rem;
  background-color: #e7f1fb;
  border: 1px solid rgba(52, 95, 185, 0.18);
  color: #2b6cb0;
  font-size: 0.95rem;
}
.public-body .alert-warning {
  background-color: #fcf8e3;
  border-color: #fcf8e3;
}
.public-body .acta-team-header {
  padding: 0.6rem 1rem;
  border-radius: 0.25rem;
  background-color: #d6ebf8;
  color: #2b6cb0;
}
.public-body .game-calendar-table {
  table-layout: fixed;
  min-width: 720px;
}
.public-body .game-calendar-table th:nth-child(1), .public-body .game-calendar-table td:nth-child(1) {
  width: 8%;
}
.public-body .game-calendar-table th:nth-child(2), .public-body .game-calendar-table td:nth-child(2) {
  width: 34%;
}
.public-body .game-calendar-table th:nth-child(3), .public-body .game-calendar-table td:nth-child(3) {
  width: 16%;
  white-space: nowrap;
}
.public-body .game-calendar-table th:nth-child(4), .public-body .game-calendar-table td:nth-child(4) {
  width: 42%;
}

.public-body .standings-table {
  min-width: 760px;
}
.public-body .standings-table tbody tr.standings-promote > td:first-child {
  background-color: #b8e6c1;
}
.public-body .standings-table tbody tr.standings-relegation > td:first-child {
  background-color: #f2889b;
}

.public-body .results-grid-table {
  min-width: 760px;
}
.public-body .results-grid-table th,
.public-body .results-grid-table td {
  white-space: nowrap;
}
.public-body .results-grid-table tbody td.results-grid-self {
  background-color: #cccccc;
}

.public-body .board-results-table {
  min-width: 760px;
}
.public-body .board-results-table th,
.public-body .board-results-table td {
  white-space: nowrap;
}
.public-body .board-results-table tbody tr.board-results-promoted > td {
  color: #d9534f;
}
.public-body .board-results-table tbody tr.board-results-promoted a {
  color: #d9534f;
}
