/* gr-bs4-compat-base.css
 * Tree-shaken BS4-compat layer for Yii2 — replaces css/bootstrap4/base.css
 * (Bootstrap v4.1.3 artifact removed in W1b, ADR-001 variant B).
 *
 * Rules are the USED SUBSET of the removed overlay only (see
 * docs/ai/bs5-plan/50-deltas/W1b-bs4-removal.md): brand/semantic colours are
 * re-themed to the --gr-* tokens, neutral/structural colours are carried over
 * verbatim. Loaded at the same cascade position the overlay used to occupy
 * (after site.css/style.css); no new !important outside relocated ones.
 */
.table {
  width:100%;
  margin-bottom:1rem;
  color:var(--gr-text);
}
.table th, .table td {
  padding:.75rem;
  vertical-align:top;
  border-top:1px solid #dee2e6;
}
.table thead th {
  vertical-align:bottom;
  border-bottom:2px solid #dee2e6;
}
.table tbody+tbody {
  border-top:2px solid #dee2e6;
}
.table-bordered {
  border:1px solid #dee2e6;
}
.table-bordered th, .table-bordered td {
  border:1px solid #dee2e6;
}
.table-bordered thead th, .table-bordered thead td {
  border-bottom-width:2px;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color:rgba(0,0,0,0.05);
}
.table-hover tbody tr:hover {
  color:var(--gr-text);
  background-color:rgba(0,0,0,0.075);
}
.table-responsive {
  display:block;
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.table-responsive>.table-bordered {
  border:0;
}
.custom-control {
  position:relative;
  display:block;
  min-height:1.5rem;
  padding-left:1.5rem;
}
.custom-control-input {
  position:absolute;
  z-index:-1;
  opacity:0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color:#fff;
  border-color:var(--gr-primary);
  background-color:var(--gr-primary);
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow:0 0 0 var(--gr-focus-ring-width) var(--gr-focus-ring-color);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color:var(--gr-accent);
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color:#fff;
  background-color:#b3d0ea;
  border-color:#b3d0ea;
}
.custom-control-input:disabled ~ .custom-control-label {
  color:var(--gr-muted);
}
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color:#e9ecef;
}
.custom-control-label {
  position:relative;
  margin-bottom:0;
  vertical-align:top;
}
.custom-control-label::before {
  position:absolute;
  top:.25rem;
  left:-1.5rem;
  display:block;
  width:1rem;
  height:1rem;
  pointer-events:none;
  content:"";
  background-color:#fff;
  border:#adb5bd solid 1px;
}
.custom-control-label::after {
  position:absolute;
  top:.25rem;
  left:-1.5rem;
  display:block;
  width:1rem;
  height:1rem;
  content:"";
  background:no-repeat 50% / 50% 50%;
}
.custom-checkbox .custom-control-label::before {
  border-radius:.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color:var(--gr-primary);
  background-color:var(--gr-primary);
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color:rgba(25,135,84,0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color:rgba(25,135,84,0.5);
}
.custom-control-label::before {
  transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before {
    transition:none;
  }
}
.card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  word-wrap:break-word;
  background-color:#fff;
  background-clip:border-box;
  border:1px solid rgba(0,0,0,0.125);
  border-radius:.25rem;
}
.card>hr {
  margin-right:0;
  margin-left:0;
}
.card>.list-group:first-child .list-group-item:first-child {
  border-top-left-radius:.25rem;
  border-top-right-radius:.25rem;
}
.card>.list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius:.25rem;
  border-bottom-left-radius:.25rem;
}
.card-body {
  flex:1 1 auto;
  padding:1.25rem;
}
.card-header {
  padding:.75rem 1.25rem;
  margin-bottom:0;
  background-color:rgba(0,0,0,0.03);
  border-bottom:1px solid rgba(0,0,0,0.125);
}
.card-header:first-child {
  border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
}
.card-header+.list-group .list-group-item:first-child {
  border-top:0;
}
.badge {
  display:inline-block;
  padding:.25em .4em;
  font-size:75%;
  font-weight:700;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  vertical-align:baseline;
  border-radius:.25rem;
  transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition:none;
  }
}
a.badge:hover, a.badge:focus {
  text-decoration:none;
}
.badge:empty {
  display:none;
}
.btn .badge {
  position:relative;
  top:-1px;
}
.badge-success {
  color:#fff;
  background-color:var(--gr-success);
}
a.badge-success:hover, a.badge-success:focus {
  color:#fff;
  background-color:#1e7e34;
}
a.badge-success:focus, a.badge-success.focus {
  outline:0;
  box-shadow:0 0 0 .2rem rgba(40,167,69,0.5);
}
.badge-info {
  color:var(--gr-text);
  background-color:var(--gr-info);
}
a.badge-info:hover, a.badge-info:focus {
  color:var(--gr-text);
  background-color:var(--gr-info-hover);
}
a.badge-info:focus, a.badge-info.focus {
  outline:0;
  box-shadow:0 0 0 .2rem rgba(91,192,222,0.5);
}
.badge-warning {
  color:var(--gr-text);
  background-color:var(--gr-warning);
}
a.badge-warning:hover, a.badge-warning:focus {
  color:var(--gr-text);
  background-color:var(--gr-warning-hover);
}
a.badge-warning:focus, a.badge-warning.focus {
  outline:0;
  box-shadow:0 0 0 .2rem rgba(240,173,78,0.5);
}
.badge-danger {
  color:#fff;
  background-color:var(--gr-danger);
}
a.badge-danger:hover, a.badge-danger:focus {
  color:#fff;
  background-color:#bd2130;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline:0;
  box-shadow:0 0 0 .2rem rgba(220,53,69,0.5);
}
.alert {
  position:relative;
  padding:.75rem 1.25rem;
  margin-bottom:1rem;
  border:1px solid transparent;
  border-radius:.25rem;
}
.alert-dismissible {
  padding-right:4rem;
}
.alert-dismissible .close {
  position:absolute;
  top:0;
  right:0;
  padding:.75rem 1.25rem;
  color:inherit;
}
.alert-success {
  color:var(--gr-text);
  background-color:var(--gr-surface-alt);
  border-color:var(--gr-success);
}
.alert-success hr {
  border-top-color:#b1dfbb;
}
.alert-info {
  color:var(--gr-text);
  background-color:var(--gr-surface-alt);
  border-color:var(--gr-info);
}
.alert-info hr {
  border-top-color:#bce5f2;
}
.alert-warning {
  color:var(--gr-text);
  background-color:var(--gr-surface-alt);
  border-color:var(--gr-warning);
}
.alert-warning hr {
  border-top-color:#f9ddb5;
}
.alert-danger {
  color:var(--gr-text);
  background-color:var(--gr-surface-alt);
  border-color:var(--gr-danger);
}
.alert-danger hr {
  border-top-color:#f1b0b7;
}
.alert-gray-400 {
  color:var(--gr-text);
  background-color:var(--gr-surface-alt);
  border-color:var(--gr-muted);
}
.alert-gray-400 hr {
  border-top-color:#e2e6ea;
}
.progress {
  display:flex;
  height:1rem;
  overflow:hidden;
  font-size:.75rem;
  background-color:#e9ecef;
  border-radius:.25rem;
}
.progress-bar {
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
  text-align:center;
  white-space:nowrap;
  background-color:var(--gr-primary);
  transition:width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition:none;
  }
}
.progress-bar-striped {
  background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
  background-size:1rem 1rem;
}
.progress-bar-animated {
  animation:progress-bar-stripes 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation:none;
  }
}
.list-group {
  display:flex;
  flex-direction:column;
  padding-left:0;
  margin-bottom:0;
}
.list-group-item {
  position:relative;
  display:block;
  padding:.75rem 1.25rem;
  margin-bottom:-1px;
  background-color:#fff;
  border:1px solid rgba(0,0,0,0.125);
}
.list-group-item:first-child {
  border-top-left-radius:.25rem;
  border-top-right-radius:.25rem;
}
.list-group-item:last-child {
  margin-bottom:0;
  border-bottom-right-radius:.25rem;
  border-bottom-left-radius:.25rem;
}
.list-group-item.disabled, .list-group-item:disabled {
  color:var(--gr-muted);
  pointer-events:none;
  background-color:#fff;
}
.list-group-item.active {
  z-index:2;
  color:#fff;
  background-color:var(--gr-primary);
  border-color:var(--gr-primary);
}
.list-group-flush .list-group-item {
  border-right:0;
  border-left:0;
  border-radius:0;
}
.list-group-flush .list-group-item:last-child {
  margin-bottom:-1px;
}
.list-group-flush:first-child .list-group-item:first-child {
  border-top:0;
}
.list-group-flush:last-child .list-group-item:last-child {
  margin-bottom:0;
  border-bottom:0;
}
.align-middle {
  vertical-align:middle !important;
}
.bg-primary {
  background-color:var(--gr-primary) !important;
}
a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus {
  background-color:var(--gr-accent-hover) !important;
}
.bg-success {
  background-color:var(--gr-success) !important;
}
a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus {
  background-color:#1e7e34 !important;
}
.bg-warning {
  background-color:var(--gr-warning) !important;
}
a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus {
  background-color:var(--gr-warning-hover) !important;
}
.bg-light {
  background-color:#f8f9fa !important;
}
a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus {
  background-color:#dae0e5 !important;
}
.bg-gray-200 {
  background-color:#e9ecef !important;
}
a.bg-gray-200:hover, a.bg-gray-200:focus, button.bg-gray-200:hover, button.bg-gray-200:focus {
  background-color:#cbd3da !important;
}
.bg-gray-300 {
  background-color:#dee2e6 !important;
}
a.bg-gray-300:hover, a.bg-gray-300:focus, button.bg-gray-300:hover, button.bg-gray-300:focus {
  background-color:#c1c9d0 !important;
}
.bg-gray-400 {
  background-color:#ced4da !important;
}
a.bg-gray-400:hover, a.bg-gray-400:focus, button.bg-gray-400:hover, button.bg-gray-400:focus {
  background-color:#b1bbc4 !important;
}
.bg-dark {
  background-color:var(--gr-dark) !important;
}
a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus {
  background-color:#1d2124 !important;
}
.bg-white {
  background-color:#fff !important;
}
.border {
  border:1px solid #dee2e6;
}
.border-top {
  border-top:1px solid #dee2e6;
}
.border-bottom {
  border-bottom:1px solid #dee2e6;
}
.border-0 {
  border:0;
}
.border-right-0 {
  border-right:0;
}
.border-left-0 {
  border-left:0;
}
.border-primary {
  border-color:var(--gr-primary);
}
.border-success {
  border-color:var(--gr-success);
}
.border-info {
  border-color:var(--gr-info);
}
.border-warning {
  border-color:var(--gr-warning);
}
.border-danger {
  border-color:var(--gr-danger);
}
.border-gray-400 {
  border-color:#ced4da;
}
.border-dark {
  border-color:var(--gr-dark);
}
.border-black {
  border-color:#000;
}
.rounded-lg {
  border-radius:.3rem !important;
}
.rounded-0 {
  border-radius:0 !important;
}
.clearfix::after {
  display:block;
  clear:both;
  content:"";
}
.d-none {
  display:none !important;
}
.d-inline {
  display:inline !important;
}
.d-inline-block {
  display:inline-block !important;
}
.d-block {
  display:block !important;
}
.d-flex {
  display:flex !important;
}
.d-inline-flex {
  display:inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display:none !important;
  }
  .d-sm-block {
    display:block !important;
  }
  .d-sm-table-row {
    display:table-row !important;
  }
  /* Использованное подмножество дополнено (как M1 `.ml-n3/.mr-n3/.pr-3`).
   * Этот слой грузится ПОСЛЕ BS5, а выше объявлен безусловный
   * `.d-none{display:none!important}` (0,1,0, !important) — он перебивал BS5-утилиту
   * `.d-sm-flex` на ВСЕХ ширинах, пока в слое не было `.d-sm-flex`. Разметка
   * `d-none d-sm-flex` (header приглашений visa-view) из-за этого исчезала целиком:
   * `d-sm-block` не годится (обнуляет flex-раскладку `.row`/`.col-4`). Значение и
   * `!important` — как у соседних `.d-sm-*`, нового паттерна не вводим. */
  .d-sm-flex {
    display:flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display:none !important;
  }
  .d-md-inline {
    display:inline !important;
  }
  .d-md-block {
    display:block !important;
  }
  .d-md-flex {
    display:flex !important;
  }
}
.embed-responsive {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
}
.embed-responsive::before {
  display:block;
  content:"";
}
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  border:0;
}
.embed-responsive-16by9::before {
  padding-top:56.25%;
}
.flex-row {
  flex-direction:row !important;
}
.flex-column {
  flex-direction:column !important;
}
.flex-wrap {
  flex-wrap:wrap !important;
}
.flex-grow-1 {
  flex-grow:1 !important;
}
.justify-content-center {
  justify-content:center !important;
}
.justify-content-between {
  justify-content:space-between !important;
}
.align-items-end {
  align-items:flex-end !important;
}
.align-items-center {
  align-items:center !important;
}
.align-content-center {
  align-content:center !important;
}
.align-self-center {
  align-self:center !important;
}
.float-left {
  float:left !important;
}
.float-right {
  float:right !important;
}
.overflow-hidden {
  overflow:hidden !important;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
.w-100 {
  width:100% !important;
}
.h-100 {
  height:100% !important;
}
.m-0 {
  margin:0 !important;
}
.mt-0 {
  margin-top:0 !important;
}
.mt-1, .my-1 {
  margin-top:.25rem !important;
}
.mr-1 {
  margin-right:.25rem !important;
}
.mb-1, .my-1 {
  margin-bottom:.25rem !important;
}
.ml-1 {
  margin-left:.25rem !important;
}
.m-2 {
  margin:.5rem !important;
}
.mt-2, .my-2 {
  margin-top:.5rem !important;
}
.mr-2, .mx-2 {
  margin-right:.5rem !important;
}
.mb-2, .my-2 {
  margin-bottom:.5rem !important;
}
.ml-2, .mx-2 {
  margin-left:.5rem !important;
}
.mt-3, .my-3 {
  margin-top:1rem !important;
}
.mr-3, .mx-3 {
  margin-right:1rem !important;
}
.mb-3, .my-3 {
  margin-bottom:1rem !important;
}
.ml-3, .mx-3 {
  margin-left:1rem !important;
}
.m-4 {
  margin:1.5rem !important;
}
.mt-4, .my-4 {
  margin-top:1.5rem !important;
}
.mb-4, .my-4 {
  margin-bottom:1.5rem !important;
}
.mt-5, .my-5 {
  margin-top:3rem !important;
}
.my-5 {
  margin-bottom:3rem !important;
}
.p-0 {
  padding:0 !important;
}
.pt-0, .py-0 {
  padding-top:0 !important;
}
.pr-0 {
  padding-right:0 !important;
}
.pb-0, .py-0 {
  padding-bottom:0 !important;
}
.pl-0 {
  padding-left:0 !important;
}
.p-1 {
  padding:.25rem !important;
}
.pt-1, .py-1 {
  padding-top:.25rem !important;
}
.px-1 {
  padding-right:.25rem !important;
}
.pb-1, .py-1 {
  padding-bottom:.25rem !important;
}
.px-1 {
  padding-left:.25rem !important;
}
.p-2 {
  padding:.5rem !important;
}
.pt-2, .py-2 {
  padding-top:.5rem !important;
}
.pr-2, .px-2 {
  padding-right:.5rem !important;
}
.pb-2, .py-2 {
  padding-bottom:.5rem !important;
}
.pl-2, .px-2 {
  padding-left:.5rem !important;
}
.p-3 {
  padding:1rem !important;
}
.pt-3, .py-3 {
  padding-top:1rem !important;
}
.pr-3, .px-3 {
  padding-right:1rem !important;
}
.pb-3, .py-3 {
  padding-bottom:1rem !important;
}
.pl-3, .px-3 {
  padding-left:1rem !important;
}
.p-4 {
  padding:1.5rem !important;
}
.px-4 {
  padding-right:1.5rem !important;
}
.pb-4 {
  padding-bottom:1.5rem !important;
}
.pl-4, .px-4 {
  padding-left:1.5rem !important;
}
.p-5 {
  padding:3rem !important;
}
.px-5 {
  padding-right:3rem !important;
}
.px-5 {
  padding-left:3rem !important;
}
.mt-n2, .my-n2 {
  margin-top:-.5rem !important;
}
.my-n2 {
  margin-bottom:-.5rem !important;
}
.mt-n3 {
  margin-top:-1rem !important;
}
.mr-n3 {
  margin-right:-1rem !important;
}
.ml-n3 {
  margin-left:-1rem !important;
}
.ml-n4 {
  margin-left:-1.5rem !important;
}
.mr-auto {
  margin-right:auto !important;
}
.ml-auto {
  margin-left:auto !important;
}

@media (min-width: 576px) {
  .ml-sm-5 {
    margin-left:3rem !important;
  }
  .py-sm-2 {
    padding-top:.5rem !important;
  }
  .py-sm-2 {
    padding-bottom:.5rem !important;
  }
}

@media (min-width: 768px) {
  .mt-md-0 {
    margin-top:0 !important;
  }
  .py-md-4 {
    padding-top:1.5rem !important;
  }
  .py-md-4 {
    padding-bottom:1.5rem !important;
  }
  .pt-md-5 {
    padding-top:3rem !important;
  }
}

@media (min-width: 992px) {
  .p-lg-5 {
    padding:3rem !important;
  }
  .px-lg-5 {
    padding-right:3rem !important;
  }
  .px-lg-5 {
    padding-left:3rem !important;
  }
}
.text-nowrap {
  white-space:nowrap !important;
}
.text-left {
  text-align:left !important;
}
.text-right {
  text-align:right !important;
}
.text-center {
  text-align:center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align:left !important;
  }
}
.font-weight-normal {
  font-weight:400 !important;
}
.font-weight-bold {
  font-weight:700 !important;
}
.text-white {
  color:#fff !important;
}
.text-primary {
  color:var(--gr-primary) !important;
}
a.text-primary:hover, a.text-primary:focus {
  color:var(--gr-accent-hover) !important;
}
.text-success {
  color:var(--gr-success) !important;
}
a.text-success:hover, a.text-success:focus {
  color:#19692c !important;
}
.text-info {
  color:var(--gr-info) !important;
}
a.text-info:hover, a.text-info:focus {
  color:#28a1c5 !important;
}
.text-warning {
  color:var(--gr-warning) !important;
}
a.text-warning:hover, a.text-warning:focus {
  color:#df8a13 !important;
}
.text-danger {
  color:var(--gr-danger) !important;
}
a.text-danger:hover, a.text-danger:focus {
  color:#a71d2a !important;
}
.text-dark {
  color:var(--gr-dark) !important;
}
a.text-dark:hover, a.text-dark:focus {
  color:#121416 !important;
}
.text-black {
  color:#000 !important;
}
a.text-black:hover, a.text-black:focus {
  color:#000 !important;
}
.text-muted {
  color:var(--gr-muted) !important;
}

@media print {
  *, *::before, *::after {
    text-shadow:none !important;
    box-shadow:none !important;
  }
  a:not(.btn) {
    text-decoration:underline;
  }
  abbr[title]::after {
    content:" (" attr(title) ")";
  }
  pre {
    white-space:pre-wrap !important;
  }
  pre, blockquote {
    border:1px solid #adb5bd;
    page-break-inside:avoid;
  }
  thead {
    display:table-header-group;
  }
  tr, img {
    page-break-inside:avoid;
  }
  p, h2, h3 {
    orphans:3;
    widows:3;
  }
  h2, h3 {
    page-break-after:avoid;
  }
  body {
    min-width:992px !important;
  }
  .container {
    min-width:992px !important;
  }
  .navbar {
    display:none;
  }
  .badge {
    border:1px solid #000;
  }
  .table {
    border-collapse:collapse !important;
  }
  .table td, .table th {
    background-color:#fff !important;
  }
  .table-bordered th, .table-bordered td {
    border:1px solid #dee2e6 !important;
  }
}
