
/* ============================================================
   AUTOCOMPLETE FISCAL DE SERVIÇOS
============================================================ */

.sf-autocomplete{
  position:relative;
  width:100%;
}


.sf-autocomplete > input{
  width:100% !important;
}


.sf-menu{
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  right:0;

  z-index:12000;

  max-height:320px;
  overflow:auto;

  border:1px solid #cbd5df;
  border-radius:5px;

  background:#fff;

  box-shadow:
    0 10px 25px
    rgba(16,24,40,.18);
}


.sf-menu-lista{
  max-height:270px;
  overflow:auto;
}


.sf-atividade-item,
.sf-nbs-item{
  width:100%;

  display:flex;
  flex-direction:column;
  align-items:flex-start;

  gap:4px;

  padding:10px 11px;

  border:0;
  border-bottom:1px solid #eaecf0;

  background:#fff;

  color:#344054;

  text-align:left;

  cursor:pointer;
}


.sf-atividade-item:hover,
.sf-nbs-item:hover{
  background:#eef6fc;
}


.sf-atividade-item strong{
  font-size:11px;
  line-height:1.35;
}


.sf-atividade-item small{
  color:#667085;
  font-size:9.5px;
  line-height:1.35;
}


.sf-nbs-item strong{
  color:#155a96;
  font-size:11px;
}


.sf-nbs-item span{
  color:#667085;
  font-size:9.5px;
}


.sf-adicionar{
  position:sticky;
  bottom:0;

  width:calc(100% - 12px);

  min-height:34px;

  margin:6px;

  border:1px solid #079447;
  border-radius:4px;

  background:#12b76a;

  color:#fff;

  font-size:10.5px;
  font-weight:600;

  cursor:pointer;
}


.sf-vazio,
.sf-menu-loading{
  padding:13px;

  color:#667085;

  font-size:10px;

  text-align:center;
}


.sf-help{
  display:block;

  margin-top:4px;

  color:#667085;

  font-size:8.5px;
  line-height:1.3;
}


/* ============================================================
   MODAL
============================================================ */

.sf-modal-backdrop{
  position:fixed;
  inset:0;

  z-index:99999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:20px;

  background:
    rgba(15,23,42,.42);
}


.sf-modal{
  width:min(820px,100%);
  max-height:90vh;

  overflow:auto;

  border-radius:7px;

  background:#fff;

  box-shadow:
    0 24px 60px
    rgba(0,0,0,.28);
}


.sf-modal > header{
  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:15px 18px;

  border-bottom:
    1px solid #d5dde5;
}


.sf-modal > header button{
  border:0;
  background:transparent;

  font-size:22px;

  cursor:pointer;
}


.sf-modal-body{
  padding:18px;
}


.sf-grid-3{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:14px 18px;

  margin-bottom:16px;
}


.sf-grid-4{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:14px;

  margin-top:16px;
}


.sf-field label{
  display:block;

  margin-bottom:5px;

  font-size:10px;
}


.sf-field label b{
  color:#d92d20;
}


.sf-field input,
.sf-field textarea{
  width:100%;

  box-sizing:border-box;

  border:1px solid #cbd5df;
  border-radius:4px;

  font:inherit;
}


.sf-field input{
  height:35px;

  padding:0 9px;
}


.sf-field textarea{
  min-height:95px;

  padding:8px;

  resize:vertical;
}


.sf-checks{
  display:flex;
  flex-wrap:wrap;

  gap:10px 18px;

  margin-top:18px;
}


.sf-check{
  display:flex;
  align-items:center;

  gap:7px;

  font-size:10px;
}


.sf-modal > footer{
  display:flex;
  justify-content:flex-end;

  gap:7px;

  padding:13px 18px;

  border-top:
    1px solid #d5dde5;
}


.sf-primario,
.sf-secundario{
  min-height:35px;

  padding:0 12px;

  border-radius:5px;

  font-weight:600;

  cursor:pointer;
}


.sf-primario{
  border:1px solid #155a96;
  background:#155a96;
  color:#fff;
}


.sf-secundario{
  border:1px solid #cbd5df;
  background:#fff;
  color:#475467;
}


@media(max-width:850px){

  .sf-grid-3,
  .sf-grid-4{
    grid-template-columns:1fr;
  }

}



/* ============================================================
   SERVIÇOS > FISCAL
   CORREÇÃO DO DROPDOWN DE ATIVIDADE / NBS
============================================================ */


/* ------------------------------------------------------------
   CARD NÃO PODE CORTAR O AUTOCOMPLETE
------------------------------------------------------------ */

.ic-card:has(#icAtividade),
.ic-card:has(#icNBS){

  position:relative !important;

  z-index:80 !important;

  overflow:visible !important;

}


.ic-card:has(#icAtividade) .ic-card-body,
.ic-card:has(#icNBS) .ic-card-body{

  overflow:visible !important;

}


.ic-editor-content{

  overflow:visible !important;

}


/* ------------------------------------------------------------
   AUTOCOMPLETE
------------------------------------------------------------ */

.sf-autocomplete{

  position:relative !important;

  width:100% !important;

  overflow:visible !important;

}


/* ------------------------------------------------------------
   MENU EXTERNO
   SEM BARRA DE ROLAGEM
------------------------------------------------------------ */

.sf-menu{

  top:calc(100% + 4px) !important;

  left:0 !important;

  right:auto !important;

  z-index:50000 !important;

  max-height:none !important;

  overflow:visible !important;

  border-radius:5px !important;

}


/* ------------------------------------------------------------
   ATIVIDADE DE SERVIÇO
   DEIXA O DROPDOWN MAIS LARGO
------------------------------------------------------------ */

.sf-atividade-menu{

  width:720px !important;

  max-width:
    calc(100vw - 390px) !important;

  min-width:100% !important;

}


/* ------------------------------------------------------------
   SOMENTE A LISTA TERÁ ROLAGEM
------------------------------------------------------------ */

.sf-menu-lista{

  width:100% !important;

  max-height:310px !important;

  overflow-y:auto !important;

  overflow-x:hidden !important;

  box-sizing:border-box !important;

}


/* ------------------------------------------------------------
   ITENS MAIS COMPACTOS
------------------------------------------------------------ */

.sf-atividade-item{

  padding:
    9px
    11px !important;

}


.sf-atividade-item strong{

  display:block !important;

  width:100% !important;

  font-size:10.5px !important;

  line-height:1.35 !important;

  white-space:normal !important;

  word-break:normal !important;

}


.sf-atividade-item small{

  display:block !important;

  margin-top:3px !important;

  font-size:9px !important;

  line-height:1.3 !important;

}


/* ------------------------------------------------------------
   BOTÃO ADICIONAR NOVO
------------------------------------------------------------ */

.sf-adicionar{

  position:static !important;

  width:calc(100% - 12px) !important;

  margin:6px !important;

}


/* ------------------------------------------------------------
   NBS
------------------------------------------------------------ */

.sf-nbs-menu{

  width:520px !important;

  max-width:
    calc(100vw - 390px) !important;

  min-width:100% !important;

  max-height:none !important;

  overflow:visible !important;

}


.sf-nbs-menu .sf-menu-lista{

  max-height:280px !important;

}


/* ------------------------------------------------------------
   UMA ÚNICA BARRA MAIS DISCRETA
------------------------------------------------------------ */

.sf-menu-lista::-webkit-scrollbar{

  width:7px;

}


.sf-menu-lista::-webkit-scrollbar-track{

  background:#f2f4f7;

}


.sf-menu-lista::-webkit-scrollbar-thumb{

  background:#98a2b3;

  border-radius:8px;

}


/* ------------------------------------------------------------
   EVITA O CARD DE BAIXO PASSAR POR CIMA
------------------------------------------------------------ */

.ic-card:has(#icAtividade) ~ .ic-card{

  position:relative;

  z-index:1;

}


/* ------------------------------------------------------------
   RESPONSIVO
------------------------------------------------------------ */

@media(max-width:1100px){

  .sf-atividade-menu,
  .sf-nbs-menu{

    width:100% !important;

    max-width:100% !important;

  }

}

