.drag-area,
.spinner {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-width: 3.75rem;
  min-height: 3.75rem;
  overflow: hidden;
}

.spinner {
  max-width: 100vw;
  max-height: 100vh;
  background-color: rgba(255, 255, 255, .6);
}
.spinner.small {
  position: initial!important;
  border-radius: 1rem;
}
.in-btn-pane .spinner.small {
  position: absolute!important;
  background-color: var(--white);
  left: -.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
}
#notifications-list .spinner.small {
  position: absolute!important;
}
.in-btn-pane .clearBtn + .spinner.small {
  left: -2rem;
}

.drag-area {
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.3ms;
  background-color: rgba(255, 255, 255, .8);
}

.drag-area.show,
.spinner.show {
  display: flex;
  opacity: 1;
}
.drag-area svg {
  width: 1.5rem;
  height: 1.5rem;
}
.drag-area .tab-ico.ico-in-circle {
  margin-right: 0;
}

.spinner::before {
  --spinner-width: 4rem;
  --spinner-height: 4rem;
  --spinner-vertical-align: -0.25em;
  --spinner-border-width: 0.45em;
  --spinner-animation-speed: 1s;
  --spinner-animation-name: spinner-border;
}
.spinner.small::before {
  --spinner-width: 2rem;
  --spinner-height: 2rem;
  --spinner-vertical-align: -0.125em;
  --spinner-border-width: 0.375em;
  --spinner-animation-speed: 0.75s;
}
.in-btn-pane .spinner.small::before {
  --spinner-width: 1.5rem;
  --spinner-height: 1.5rem;
  --spinner-vertical-align: -0.1em;
  --spinner-border-width: 0.3em;
}
.spinner::before {
  content: ' ';
  display: inline-block;
  border: var(--spinner-border-width) solid var(--indigo);
  border-right-color: transparent;
  width: var(--spinner-width);
  height: var(--spinner-height);
  vertical-align: var(--spinner-vertical-align);
  border-radius: 50%;
  animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

/* tabs */

ul.tabs {
  display: flex;
  flex-direction: row;
  /*user-select: none;*/
}

ul.tabs li {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: .875rem;
/*  line-height: 1rem;*/
  list-style: none;
}

ul.tabs li .tab-cnt {
  display: flex;
}

ul.tabs li .tab-cnt:has(.circle[data-val="0"]) {
  display: none;
}
ul.tabs#toolbar li .tab-cnt {
  position: relative;
  left: -1.4375rem;
  top: -.9375rem;
  width: 0;
}

ul.tabs#toolbar .cnt-sm li .tab-cnt {
  left: -.25rem;
  top: -.5rem;
}

ul.tabs li .tab-ico {
  margin-right: 1rem;
}
ul.tabs li:last-child .tab-ico:only-child {
  margin-right: 0;
}

ul.tabs li .tab-ico svg {
  width: 1.5rem;
  height: 1.5rem;
}
ul.tabs li:hover .tab-ico svg * {
  fill: var(--indigo);
}

.context_list ul.tabs li .tab-ico {
  margin-right: .625rem;
}

[aria-expanded="true"] ul.tabs li .tab-ico.ico-right {
  margin-right: 0;
  margin-left: 2.5rem;
  justify-content: end;
}
ul.tabs li .tab-ico.ico-right svg * {
  fill: var(--primary)!important;
}

.ico-in-circle,
.ico-in-square {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ico-in-square {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--border-radius-lg);
  background-color: var(--secondary);
}
.ico-in-circle svg,
.ico-in-square svg {
  width: 1.5rem;
  height: 1.5rem;
}
.tab-ico {
  display: flex;
}
/*ul.tabs li */.tab-ico.ico-in-circle {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  border-radius: 50%;
  background-color: var(--secondary);
  margin-right: 1rem;
}
.tpl_block .tab-ico.ico-in-circle {
  margin-right: 0;
}
[role=tab]:hover .tab-ico.ico-in-circle {
  background-color: var(--hover);
}
[role=tab][aria-expanded=true] .tab-ico.ico-in-circle {
  background-color: var(--select)!important;
}

ul.tabs li .tab-ico.ico-in-circle svg {
  margin-right: 0;
}

ul.tabs li .circle {
  align-self: center;
  color: var(--white);
  background-color: var(--red);
  margin-left: .375rem;
  /*margin-right: .125rem;*/
  padding: 0 .25rem;
  border-radius: var(--border-radius);
  font-size: .75rem;
  line-height: 1rem;
  height: 1rem;
}

ul.tabs.cnt-sm li .circle {
  border-radius: .1875rem;
  line-height: .375rem;
  height: .375rem;
  padding: 0 .1875rem;
}

ul.tabs li .circle:before {
  content: attr(data-val);
}

ul.tabs.cnt-sm li .circle:before {
  content: '';
}

ul.tabs li[aria-disabled] {
  color: var(--gray-450)!important;
}
ul.tabs li[aria-disabled] svg * {
  fill: var(--gray-450)!important;
}

ul.tabs li[name=stub] {
  /*  align-self: stretch;
    flex-grow: 1;*/
  pointer-events: none;
}

ul.tabs.navTabs {
  column-gap: 3.75rem;
}

ul.tabs.scrTabs,
ul.tabs.formTabs {
  column-gap: 2.625rem;
  border-top: .125rem solid var(--gray-300);
  box-shadow: inset 0 -.125rem var(--gray-300);
}

ul.tabs.scrTabs li,
ul.tabs.formTabs li {
  padding: .625rem .25rem;
  color: var(--gray);
  font-size: .75rem;
  font-weight: 500;
  border-bottom: .125rem solid var(--gray-300);
}

h1 ul.tabs li {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}
h1 ul.tabs li[name=stub] {
  min-width: 3.75rem!important;
}

ul.tabs.scrTabs li:has(svg) {
  padding: 0;
}

ul.tabs.scrTabs li[name=stub]:not(:last-child),
ul.tabs.formTabs li[name=stub]:not(:last-child){
  min-width: 2.5rem;
}

ul.tabs.scrTabs li[aria-selected=true],
ul.tabs.formTabs li[aria-selected=true] {
  --c: var(--primary);
  color: var(--c);
  box-shadow: 0 -.125rem 0 0 var(--c) inset;
  border-bottom-color: var(--c);
}

h1 ul.tabs li:not([aria-selected=true]){
  color: var(--gray-450);
}

ul.tabs.scrActs li {
  font-weight: 500;
  font-size: .75rem;
  line-height: 1rem;
  color: var(--primary);
  cursor: pointer;
  padding-left: 1rem;
  padding-right: 0;
  text-transform: uppercase;
}
ul.tabs.scrActs li.last-child,
ul.tabs.scrActs li:last-child {
  padding-right: 0;
}
ul.tabs.scrActs div[role=menu] li,
ul.tabs.scrActs li:first-child {
  padding-left: 0;
}
ul.tabs.scrActs li svg {
  margin-right: .25rem;
}

*[role=tabpanel][hidden=true] {
  display: none;
}

.draggable .grab {
  cursor: grab;
  color: transparent;
  user-select: none;
  visibility: hidden;
}

.draggable:hover .grab {
  visibility: visible;
}
/* and tabs */

/* datepicker */
.ui-datepicker.ui-corner-all {
  border-radius: .75rem;
  box-shadow: 0 .25rem .625rem .125rem rgba(111, 111, 111, 0.1);
}
.ui-datepicker .ui-datepicker-header {
  padding: 0 !important;
  margin: .75rem .75rem 0;
  border: 1px solid var(--gray-300);
  border-radius: .5rem;
}
.ui-datepicker-calendar {
/*  width: calc(100% - 1.5rem);*/
  margin: 0 auto/*.75rem*/ .75rem;
  border: 0;
  border-collapse: collapse;
}

.ui-widget-header .ui-state-hover {
  border: 0!important;
  background: inherit!important;
  font-weight: inherit!important;
  /*color: #2b2b2b;*/
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 0!important;
  width: 1rem;
  height: 1rem;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 0;
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  /*top: inherit!important;*/
  top: 50%;
  opacity: .8;
}
.ui-widget-header /*.ui-state-hover */.ui-datepicker-prev .ui-icon,
.ui-widget-header .ui-datepicker-prev .ui-icon {
  background: url("../img/left.svg");
}

.ui-widget-header /*.ui-state-hover */.ui-datepicker-next .ui-icon,
.ui-widget-header .ui-datepicker-next .ui-icon {
  background: url("../img/right.svg");
}

.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  text-align: center;
  vertical-align: middle;
  font-size: .875rem;
  padding: .125rem .0625rem;
}
.ui-datepicker-calendar td .ui-state-default {
  display: inline-block;
  width: 2rem;
  height: 1.5rem;
  line-height: 1.5rem;
  border: 0;
  background-color: var(--white);
  text-decoration: none;
}
.ui-datepicker-calendar td.ui-datepicker-today a.ui-state-highlight {
  border: 1px solid var(--purple);
  border-radius: .5rem;
  font-weight: 500;
  color: inherit;
}
.ui-datepicker-calendar td .ui-state-default.ui-state-active,
.ui-datepicker-calendar td.ui-datepicker-today a.ui-state-default.ui-state-active {
  border-radius: .5rem;/*1875*/
}

.ui-datepicker-trigger {
  position: relative;
  /*top: .1875rem;*/
  left: -1.6875rem;
  margin-right: -1.25rem;
  height: 1.5625rem;
  width: 1.5625rem;
  padding: 0;
  border-width: 0;
  background-color: transparent;
}

.ui-datepicker-clear {
  position: relative;
  top: .1875rem;
  left: -2.8125rem;
  margin-right: -1.25rem;
/*  height: 1.5625rem;
  width: 1.5625rem;*/
  padding: 0;
  border-width: 0;
  background-color: transparent;
  visibility: hidden;
}

input.hasDatepicker:hover ~ .ui-datepicker-clear,
input.hasDatepicker:active ~ .ui-datepicker-clear,
input.hasDatepicker:hover ~ .in-btn-pane .ui-datepicker-clear,
input.hasDatepicker:active ~ .in-btn-pane .ui-datepicker-clear,
.ui-datepicker-clear:hover,
.ui-datepicker-clear:active {
  visibility: visible;
}

.ui-datepicker table th {
  padding: .5rem 0 .5rem .0625rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--gray-dark);
/*  border-top: var(--gray-300) .0625rem solid;*/
  border-bottom: var(--gray-300) .0625rem solid;
}

.ui-datepicker .ui-datepicker-header {
  background-color: var(--white);
}

.ui-datepicker .ui-datepicker-month,
.ui-datepicker .ui-datepicker-year {
  color: var(--gray-dark);
  font-size: .75rem;
  font-weight: 500;
}

.ui-widget-content .ui-datepicker-week-end,
.ui-widget-content .ui-datepicker-week-end .ui-state-default {
  color: var(--red);
}
/* end datepicker */


/* grid */
.row input,
.row select,
.row textarea {
  width: 100%
}
.row hr {
  opacity: 0.2;
  margin-block-start: 0;
  margin-block-end: 0;
}

.row .ui-datepicker-trigger,
.row .ui-datepicker-clear {
  left: 0;
  margin-right: 0;
}


/*modal*/
.modal-body:has(.modalMsg) + .modal-footer button:only-child {
  width: 20rem!important;
}
.modal-footer button:first-child {
  margin-left: 0;
}
