﻿/* step102d fixed close and funnel positions */

#sqlReportBg .sqlReportModal{
  position:relative!important;
  --sql102d-filter-width:320px;
  --sql102d-close-width:112px;
}

/* Штатная кнопка закрытия вынесена из панели фильтров */
#sqlReportBg #sqlReportClose.sql102dCloseButton{
  position:absolute!important;
  top:14px!important;
  right:16px!important;
  z-index:10030!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  height:44px!important;
  min-height:44px!important;
  padding:0 20px!important;
  margin:0!important;

  border-radius:14px!important;
  white-space:nowrap!important;
}

/* Заголовок фильтров не заходит под кнопку Закрыть */
#sqlReportBg .sqlFilterHead{
  padding-right:118px!important;
}

/* Круглая кнопка-воронка */
#sqlReportBg #sql102dFilterToggle{
  position:absolute!important;
  top:14px!important;

  /*
    Фильтры открыты:
    кнопка находится левее всей панели фильтров.
  */
  right:calc(
    var(--sql102d-filter-width) + 14px
  )!important;

  z-index:10020!important;

  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;

  padding:0!important;
  margin:0!important;

  display:none!important;
  align-items:center!important;
  justify-content:center!important;

  border-radius:50%!important;
  border:2px solid #f68e1e!important;

  background:
    linear-gradient(
      180deg,
      #101c29 0%,
      #07111b 100%
    )!important;

  color:#f68e1e!important;

  box-shadow:
    0 0 0 3px rgba(246,142,30,.10),
    0 8px 22px rgba(0,0,0,.38)!important;

  cursor:pointer!important;

  transition:
    right .18s ease,
    transform .15s ease,
    background .15s ease,
    box-shadow .15s ease!important;
}

#sqlReportBg:not(.hidden) #sql102dFilterToggle{
  display:inline-flex!important;
}

#sqlReportBg #sql102dFilterToggle svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  fill:currentColor!important;
  pointer-events:none!important;
}

#sqlReportBg #sql102dFilterToggle:hover{
  transform:
    translateY(-1px)
    scale(1.04)!important;

  background:
    linear-gradient(
      180deg,
      #172638 0%,
      #0b1825 100%
    )!important;

  box-shadow:
    0 0 0 4px rgba(246,142,30,.14),
    0 10px 26px rgba(0,0,0,.44)!important;
}

#sqlReportBg #sql102dFilterToggle:active{
  transform:scale(.96)!important;
}

#sqlReportBg #sql102dFilterToggle.is-active{
  background:
    linear-gradient(
      180deg,
      #f9a43d 0%,
      #f68e1e 100%
    )!important;

  color:#101820!important;
}

/*
  Фильтры скрыты:
  воронка находится непосредственно слева
  от кнопки Закрыть.
*/
#sqlReportBg.sql102dFiltersHidden #sql102dFilterToggle{
  right:calc(
    16px +
    var(--sql102d-close-width) +
    10px
  )!important;
}

#sqlReportBg.sql102dFiltersHidden .sqlReportFilters{
  display:none!important;
}

#sqlReportBg.sql102dFiltersHidden .sqlReportShell{
  grid-template-columns:
    minmax(0,1fr)!important;
}

#sqlReportBg .sqlReportMain{
  min-width:0!important;
}


/* step102f funnel 44px */

#sqlReportBg #sql102dFilterToggle{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
}

#sqlReportBg #sql102dFilterToggle svg{
  width:23px!important;
  height:23px!important;
}

/* step102g funnel 4px left when filters are open */

#sqlReportBg:not(.sql102dFiltersHidden) #sql102dFilterToggle{
  right:calc(
    var(--sql102d-filter-width) + 18px
  )!important;
}

/* step103h2 small top loader */

#sqlReportBg .v56u-top > .v7-spin{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

#sqlReportBg .v56u-top > .v7-spin .v7-loader-gif{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* step103k patient card wide layout */

/*
  Было 760px.
  760 x 1.5 = 1140px.
*/
#v56pmodalback .v56pmodal{
  width:min(1140px,96vw)!important;
  max-width:min(1140px,96vw)!important;
}

/*
  Сетка из 30 условных колонок:

  1 строка:
  ФИО         21/30 = 70%
  Номер карты  9/30 = 30%

  2 строка:
  три поля по 10/30.
*/
#v56pmodalback .v56pcardgrid.sql103kProfileGrid{
  display:grid!important;
  grid-template-columns:repeat(30,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:12px!important;
}

#v56pmodalback .sql103kFieldFio{
  grid-column:span 21!important;
}

#v56pmodalback .sql103kFieldCard{
  grid-column:span 9!important;
}

#v56pmodalback .sql103kFieldTypes,
#v56pmodalback .sql103kFieldTotal,
#v56pmodalback .sql103kFieldLast{
  grid-column:span 10!important;
}

#v56pmodalback .v56pcell{
  min-width:0!important;
}

#v56pmodalback .v56pcell b{
  display:block!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Таблица исследований использует всю новую ширину */

#v56pmodalback .v56pstudiesWrap{
  width:100%!important;
}

#v56pmodalback .v56pstudiesTable{
  width:100%!important;
  min-width:980px!important;
  table-layout:auto!important;
}

/* Дата */

#v56pmodalback .v56pstudiesTable th:nth-child(1),
#v56pmodalback .v56pstudiesTable td:nth-child(1){
  width:105px!important;
  min-width:105px!important;
}

/* Тип исследования */

#v56pmodalback .v56pstudiesTable th:nth-child(2),
#v56pmodalback .v56pstudiesTable td:nth-child(2){
  min-width:145px!important;
}

/* Приём */

#v56pmodalback .v56pstudiesTable th:nth-child(3),
#v56pmodalback .v56pstudiesTable td:nth-child(3){
  min-width:115px!important;
}

/* Сессия — разрешаем нормальный перенос текста */

#v56pmodalback .v56pstudiesTable th:nth-child(4){
  min-width:230px!important;
}

#v56pmodalback .v56pstudiesTable td:nth-child(4){
  min-width:230px!important;
  max-width:340px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.35!important;
}

/* Числовые столбцы */

#v56pmodalback .v56pstudiesTable th:nth-child(n+5),
#v56pmodalback .v56pstudiesTable td:nth-child(n+5){
  text-align:center!important;
  min-width:82px!important;
}

@media (max-width:900px){

  #v56pmodalback .v56pcardgrid.sql103kProfileGrid{
    grid-template-columns:1fr!important;
  }

  #v56pmodalback .sql103kFieldFio,
  #v56pmodalback .sql103kFieldCard,
  #v56pmodalback .sql103kFieldTypes,
  #v56pmodalback .sql103kFieldTotal,
  #v56pmodalback .sql103kFieldLast{
    grid-column:1!important;
  }
}

/* step103k2 patient card tuning */

#v56pmodalback .v56pcardgrid.sql103kProfileGrid{
  display:grid!important;
  grid-template-columns:repeat(30,minmax(0,1fr))!important;
  gap:10px!important;
}

/* 1 строка */
#v56pmodalback .sql103kFieldFio{
  grid-column:span 21!important; /* 70% */
}

#v56pmodalback .sql103kFieldCard{
  grid-column:span 9!important;  /* 30% */
}

/* 2 строка */
#v56pmodalback .sql103kFieldTypes{
  grid-column:span 15!important; /* остаток слева */
}

#v56pmodalback .sql103kFieldTotal{
  grid-column:span 6!important;  /* компактнее */
}

#v56pmodalback .sql103kFieldLast{
  grid-column:span 9!important;  /* как номер карты */
}

#v56pmodalback .sql103kFieldTypes b,
#v56pmodalback .sql103kFieldFio b,
#v56pmodalback .sql103kFieldCard b,
#v56pmodalback .sql103kFieldLast b,
#v56pmodalback .sql103kFieldTotal b{
  display:block!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

#v56pmodalback .sql103kFieldTotal{
  min-width:0!important;
}

#v56pmodalback .sql103kFieldLast{
  min-width:0!important;
}

#v56pmodalback .sql103kFieldCard{
  min-width:0!important;
}

@media (max-width:900px){
  #v56pmodalback .v56pcardgrid.sql103kProfileGrid{
    grid-template-columns:1fr!important;
  }

  #v56pmodalback .sql103kFieldFio,
  #v56pmodalback .sql103kFieldCard,
  #v56pmodalback .sql103kFieldTypes,
  #v56pmodalback .sql103kFieldTotal,
  #v56pmodalback .sql103kFieldLast{
    grid-column:1!important;
  }
}

/* step103t2 current patient loader */

#v56pmodalback .v56pstudiesLoader{
  min-height:170px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:26px!important;

  border:1px solid rgba(255,157,35,.38)!important;
  border-radius:14px!important;

  background:
    radial-gradient(
      circle at center,
      rgba(255,145,24,.07),
      rgba(6,16,26,.96) 65%
    )!important;

  color:#f4f7fb!important;
  font-size:16px!important;
  font-weight:950!important;
  text-align:center!important;
  pointer-events:none!important;
}

#v56pmodalback .v56pstudiesLoader::before{
  content:""!important;
  display:block!important;
  width:54px!important;
  height:54px!important;

  border-radius:50%!important;
  border:4px solid rgba(255,151,31,.18)!important;
  border-top-color:#ff981f!important;
  border-right-color:#ffb04d!important;

  box-shadow:
    0 0 22px rgba(255,145,24,.18)!important;

  animation:
    step103t2PatientLoaderSpin
    .75s
    linear
    infinite!important;
}

#v56pmodalback .v56pstudiesLoader::after{
  content:"Формируется полный список исследований. ожалуйста, подождите…" !important;
  display:block!important;
  max-width:520px!important;

  color:#9facbd!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:750!important;
}

#v56pmodalback .v56pmodalhead{
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
}

#v56pmodalback .v56pclose{
  pointer-events:auto!important;
  cursor:pointer!important;
}

@keyframes step103t2PatientLoaderSpin{
  to{
    transform:rotate(360deg);
  }
}

/* step103t2 web client blue color */

.uname.webClientOnline,
.uname.webClientOnline.nameText,
.nameText.webClientOnline{
  color:#68ceff!important;

  text-shadow:
    0 0 12px
    rgba(70,190,255,.30)!important;
}
