@import 'https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap';
:root {
  /* твои переменные... */
  --bs-gray-100: #f7f8fa;
  --bs-gray-200: #edf0f5;
  --bs-gray-300: #d9dfea;
  --bs-gray-400: #b9c2d3;
  --bs-gray-500: #8c97b2;
  --bs-gray-600: #6b7592;
  --bs-gray-700: #4a5575;
  --bs-gray-800: #2b3553;
  --bs-gray-900: #0f1a37;

  --bs-brand:          #ff6f1e;
  --bs-brand-active:   #e35c0f;
  --bs-brand-light:    #fff4ec;
  --bs-brand-clarity:  rgba(255, 111, 30, .16);
  --bs-brand-inverse:  #ffffff;

  --bs-primary:          #2563eb;
  --bs-primary-active:   #1d4ed8;
  --bs-primary-light:    #8fb2ff;
  --bs-primary-clarity:  rgba(37, 99, 235, .16);
  --bs-primary-inverse:  #ffffff;

  --bs-success:          #16a34a;
  --bs-success-active:   #15803d;
  --bs-success-light:    #ecfdf3;
  --bs-success-clarity:  rgba(22, 163, 74, .16);
  --bs-success-inverse:  #ffffff;

  --bs-info:             #6d28d9;
  --bs-info-active:      #5b21b6;
  --bs-info-light:       #c4b9ff;
  --bs-info-clarity:     rgba(109, 40, 217, .16);
  --bs-info-inverse:     #ffffff;

  --bs-danger:           #dc2626;
  --bs-danger-active:    #b91c1c;
  --bs-danger-light:     #ff8989;
  --bs-danger-clarity:   rgba(220, 38, 38, .16);
  --bs-danger-inverse:   #ffffff;

  --bs-warning:          #d97706;
  --bs-warning-active:   #b45309;
  --bs-warning-light:    #ffe786;
  --bs-warning-clarity:  rgba(217, 119, 6, .18);
  --bs-warning-inverse:  #1f2937;

  --bs-dark:            #111827;
  --bs-dark-active:     #0b1220;
  --bs-dark-light:      #f7f8fa;
  --bs-dark-clarity:    rgba(17, 24, 39, .16);
  --bs-dark-inverse:    #ffffff;

  --bs-light:           #ffffff;
  --bs-light-active:    #fcfcfc;
  --bs-light-light:     #ffffff;
  --bs-light-clarity:   rgba(255, 255, 255, .2);
  --bs-light-inverse:   var(--bs-gray-700);

  --bs-secondary:         var(--bs-gray-300);
  --bs-secondary-active:  var(--bs-gray-200);
  --bs-secondary-light:   var(--bs-gray-100);
  --bs-secondary-clarity: rgba(239, 242, 247, .6);
  --bs-secondary-inverse: var(--bs-gray-700);

  --bs-card-background-color:     #ffffff;
  --bs-tooltip-background-color:  #0f1014;
  --bs-popover-background-color:  #ffffff;
  --bs-modal-background-color:    #ffffff;
  --bs-drawer-background-color:   #ffffff;
  --bs-dropdown-background-color: #ffffff;
  --bs-backdrop-background-color: rgba(0, 0, 0, .72);

  --bs-table-head-background-color: #f3f6fb;

  --bs-card-border:     1px solid var(--bs-gray-300);
  --bs-table-border:    1px solid var(--bs-gray-300);
  --bs-dropdown-border: 1px solid var(--bs-gray-200);
  --bs-popover-border:  1px solid var(--bs-gray-200);
  --bs-tooltip-border:  0;

  --bs-card-box-shadow:    0 3px 4px rgba(2, 6, 23, .06);
  --bs-tooltip-box-shadow: 0 3px 4px rgba(2, 6, 23, .03);
  --bs-popover-box-shadow: 0 3px 4px rgba(2, 6, 23, .03);
  --bs-modal-box-shadow:   0 10px 14px rgba(15, 42, 81, .06);
  --bs-drawer-box-shadow:  0 3px 4px rgba(2, 6, 23, .03);
  --bs-dropdown-box-shadow:0 7px 18px rgba(2, 6, 23, .08);
  --bs-input-box-shadow:   0 0 10px rgba(2, 6, 23, .05);

  --bs-card-border-radius: .75rem;
  --bs-input-border-radius: .375rem;
  --bs-btn-border-radius:   .375rem;
  --bs-text-sm: .8rem;

  --bs-border-radius-sm:  .2rem;
  --bs-border-radius:     .25rem;
  --bs-border-radius-lg:  .3rem;
  --bs-border-radius-pill: 50rem;

  /* ====== ДОБАВЛЕННЫЕ, которых не хватало Tom Select ====== */
  --bs-body-bg: #ffffff;                            /* фон для .ts-control, dropdown и т.п. */
  --bs-body-color: var(--bs-gray-800);              /* основной текст */
  --bs-border-color: var(--bs-gray-300);            /* общий бордер */
  --bs-border-color-translucent: rgba(217,223,234,.7); /* полупрозрачный бордер */
  --bs-secondary-bg: var(--bs-gray-100);            /* фон для disabled-состояний */
  --bs-tertiary-bg: var(--bs-gray-200);             /* то, что у ts-dropdown .active */
  --bs-border-width: 1px;
  --bs-form-invalid-color: var(--bs-danger);        /* для валидации */
  --bs-form-valid-color: var(--bs-success);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(15, 26, 55, .08); /* чтобы не ругался */
}


.h-vh-minus-50 {
  height: calc(100vh - 50px);
}

.h-vh-minus-100 {
  height: calc(100vh - 100px);
}

.h-vh-minus-150 {
  height: calc(100vh - 150px);
}

.h-vh-minus-200 {
  height: calc(100vh - 200px);
}

.h-vh-minus-250 {
  height: calc(100vh - 250px);
}

.h-vh-minus-300 {
  height: calc(100vh - 300px);
}




body
{
  color: var(--bs-gray-700)!important;
}

body, .btn, input, textarea
{
  font-size: var(--bs-text-sm)!important;
  font-family: Inter, system-ui, sans-serif!important;
 
}


.card
{
  box-shadow: var(--bs-card-box-shadow);
  border:var(--bs-card-border);
  border-radius: var(--bs-card-border-radius);
  overflow: hidden;

}

.card-header
{
  background: var(--bs-gray-100);
  border-bottom:var(--bs-card-border);
}


.list-group-item
{
  border-bottom:var(--bs-card-border);
}


.nav-tabs .nav-link
{
  border-top-left-radius: var(--bs-card-border-radius);
  border-top-right-radius: var(--bs-card-border-radius);
  border-botton-left-radius: none;
   border-botton-right-radius: none;
}


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

.bg-secondary
{
  background: var(--bs-secondary)!important;
}

.bg-success,
{
   background: var(--bs-success-light)!important;
}

.bg-danger
{
  background: var(--bs-danger-light)!important;
}

.bg-warning
{
  background: var(--bs-warning-light)!important;
}

.bg-info
{
  background: var(--bs-info-light)!important;
}

.bg-light
{
  background: var(--bs-gray-100)!important;
}

.bg-dark
{
  background: var(--bs-gray-300)!important;
}



.border-primary
{
  border-color: var(--bs-primary)!important;
}

.border-secondary
{
  border-color: var(--bs-secondary)!important;
}

.border-success
{
   border-color: var(--bs-success)!important;
}

.border-danger
{
  border-color: var(--bs-danger)!important;
}

.border-warning
{
  border-color: var(--bs-warning)!important;
}

.border-info
{
  border-color: var(--bs-info)!important;
}

.border-light
{
  border-color: var(--bs-gray-200)!important;
}

.border-dark
{
  border-color: var(--bs-gray-400)!important;
}




.btn
{
  border-radius: var(--bs-btn-border-radius)
}



.btn-primary {
    color: #fff;
    background-color: var(--bs-primary);
    border-color:  var(--bs-primary);
}


.btn-primary.active, .btn-primary:active, .btn-primary:focus, .btn-primary:hover {
    background-color: var(--bs-primary-active);
    border-color:  var(--bs-primary-active);
    box-shadow: var(--bs-primary-box-shadow);
}


.btn-secondary {
    color: var(--bs-gray-700);
    border-color: var(--bs-gray-200);
    background-color: var(--bs-secondary);
}

.btn-secondary.active, .btn-secondary:active, .btn-secondary:focus, .btn-secondary:hover {
    border-color: var(--bs-gray-300);
    background-color: var(--bs-secondary-active);
    box-shadow: var(--bs-default-box-shadow);
    color: var(--bs-gray-800);
}


.btn-light {
    color: var(--bs-gray-700);
    border-color: var(--bs-gray-300);
    background-color: var(--bs-light);
}


.btn-light.active, .btn-light:active, .btn-light:focus, .btn-light:hover {
    border-color: var(--bs-gray-300);
    background-color: var(--bs-light-active);
    box-shadow: var(--bs-default-box-shadow);
    color: var(--bs-gray-800);
}


.btn-success {
    color: #fff;
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-success.active, .btn-success:active, .btn-success:focus, .btn-success:hover {
    background-color: var(--bs-success-active);
    box-shadow: var(--bs-success-box-shadow);
    border-color: var(--bs-success-active);
}


.btn-info {
    color: #fff;
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-info.active, .btn-info:active, .btn-info:focus, .btn-info:hover {
    background-color: var(--bs-info-active);
    box-shadow: var(--bs-info-box-shadow);
    border-color: var(--bs-info-active);
    color: #fff;
}


.btn-danger {
    color: #fff;
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}


.btn-danger.active, .btn-danger:active, .btn-danger:focus, .btn-danger:hover {
    background-color: var(--bs-danger-active);
    box-shadow: var(--bs-danger-box-shadow);
    border-color: var(--bs-danger-active);
}


.btn-warning {
    color: #fff;
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-warning.active, .btn-warning:active, .btn-warning:focus, .btn-warning:hover {
    color: #fff;
    background-color: var(--bs-warning-active);
    box-shadow: var(--bs-warning-box-shadow);
    border-color: var(--bs-warning-active);
}

.btn-dark {
    color: #fff;
    background-color: var(--bs-dark);
}


.btn-dark.active, .btn-dark:active, .btn-dark:focus, .btn-dark:hover {
    background-color: var(--bs-dark-active);
    box-shadow: var(--bs-dark-box-shadow);
}




/* Алиасы под Bootstrap 5 */
.badge-primary   { background-color: var(--bs-primary);   color: #fff; }
.badge-success   { background-color: var(--bs-success);   color: #fff; }
.badge-warning   { background-color: var(--bs-warning);   color: #000; }
.badge-danger    { background-color: var(--bs-danger);    color: #fff; }
.badge-info      { background-color: var(--bs-info);      color: #fff; }
.badge-secondary { background-color: var(--bs-secondary); color: #000; }
.badge-light     { background-color: var(--bs-light);     color: #000; }
.badge-dark      { background-color: var(--bs-dark);      color: #fff; }

.badge
{
    font-weight: normal!important;
}


input.form-control, select.form-control, optgroup.form-control, textarea.form-control
{
  border-color: var(--bs-gray-300)!important;
  background-color: var(--bs-light-active)!important;
  border-radius: var(--bs-input-border-radius)!important;
}


input:focus, select:focus, optgroup:focus, textarea:focus
{
  border-color: var(--bs-primary)!important;
}


input:disabled, input[readonly]
{
   background-color: var(--bs-gray-100)!important;
}



.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn {
    border-radius: var(--bs-input-border-radius)!important;
}


.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;
    border-top-left-radius: 0!important;
    border-bottom-left-radius: 0!important;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 0!important;
    border-bottom-right-radius: 0!important;
}






.table thead
{
  background-color: var(--bs-table-head-background-color);
  color: var(--bs-gray-700);
  z-index: 1;
  
}




.table th {
    border: var(--bs-table-border)!important;
    border-left: 0px!important;
    border-right: 0px!important;
    font-weight: normal!important;
}



.card .table tr:first-child th,.table tr:first-child td
{
    border-top: 0px!important;
}


.card .table tr td:first-child,.table tr th:first-child
{
    border-left: 0px!important;
}


.card .table tr td:last-child,.table tr th:last-child
{
    border-right: 0px!important;
}





.btn-group > *:not(:first-child) .btn,
.btn-group > .btn-group:not(:first-child) .btn {
  margin-left: -1px;
}

.btn-group > *:not(:last-child) .btn:not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > *:nth-child(n+3) .btn,
.btn-group > *:not(.btn-check) + * .btn,
.btn-group > .btn-group:not(:first-child) .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}





.fld_category_system_front
{
    position: relative;
}

.fld_category_system_front .branch_blank
{
    width: 20px;
    display: inline-block;
}

.fld_category_system_front .branch
{
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    width: 40px;
    height: 20px;
   display: inline-block;
}

.fld_category_system_front .branch:before
{
    content: "";
    border-left: 1px solid #000;
    width: 1px;
    height: 30px;
    position: absolute;
    margin-top: -30px;
    margin-left: -1px;
}

.type_fld_admin
{
    margin-bottom: 10px;
}

.field_title
{
    font-weight: bold;
    margin:0px;
}

.field_hint
{
    padding: 5px 0px;
    font-size: .875em;
    color: #6c757d;
}

.modal-fullscreen {
  width: 96vw;                     /* немного отступаем от краёв */
  max-width: 96vw;
  height: calc(100vh - 4rem);      /* сверху/снизу по 2rem */
  margin: 2rem auto;               /* отступы сверху/снизу и центр по горизонтали */
    border: var(--bs-card-border);
    border-radius: var(--bs-card-border-radius);
    overflow: hidden;
}



html, body {
  height: 100%;
  /* на всякий случай обнулим margin, если где-то не обнулили */
  margin: 0;
   display: flex;
  flex-direction: column;
  min-height: 100vh;
}





