/* Integrar17 — padronização global de fundos
   Mantém a barra lateral e cabeçalhos escuros, mas usa o mesmo canvas suave
   nas telas administrativas, portal do profissional e superfícies públicas. */
:root{
  --prime-canvas-solid:#f2f6f7;
  --prime-canvas-bg:
    radial-gradient(circle at 8% 84%,rgba(66,177,178,.11),transparent 28%),
    radial-gradient(circle at 93% 14%,rgba(139,38,88,.09),transparent 30%),
    linear-gradient(135deg,#edf4f5 0%,#f7f8fa 54%,#fbf2f6 100%);
  --prime-surface:#fff;
}

html,body,#prime2-root{background:var(--prime-canvas-solid)}

/* Sistema administrativo */
.p2-shell-sidebar-only{background:var(--prime-canvas-bg)!important}
.p2-shell-sidebar-only>.p2-main{
  background:var(--prime-canvas-bg)!important;
  background-attachment:fixed!important;
}
#p2-outlet{
  min-height:calc(100vh - 62px);
  background:transparent!important;
}

/* Os módulos deixam de criar um segundo "fundo de página" sobre o canvas global. */
#p2-outlet>[class*="-page"],
#p2-outlet>[class$="-page"],
#p2-outlet>[class*="-directory"],
#p2-outlet>.p2-home{
  background:transparent!important;
}

/* Área do profissional */
.pp-shell{
  background:var(--prime-canvas-bg)!important;
  background-attachment:fixed!important;
}
.pp-main{background:transparent!important}

/* Solicitação pública / tela do paciente */
html.wait-public-mode,body.wait-public-mode{background:var(--prime-canvas-solid)!important}
.wait-public-page{
  background:var(--prime-canvas-bg)!important;
  background-attachment:fixed!important;
}

/* Atendimento virtual público: mesmo fundo externo; conversa continua com sua
   superfície própria para preservar leitura das mensagens. */
html.vc-public-mode,body.vc-public-mode{background:var(--prime-canvas-solid)!important}
.vc-public-page{background:var(--prime-canvas-bg)!important}

/* Evita faixas de outra cor nas bordas/áreas vazias em telas largas. */
@media(min-width:981px){
  .p2-shell-sidebar-only>.p2-main,
  .pp-shell,
  .wait-public-page,
  .vc-public-page{background-size:100% 100%!important}
}

/* Em telas pequenas o gradiente permanece suave e contínuo. */
@media(max-width:980px){
  .p2-shell-sidebar-only>.p2-main{background-attachment:scroll!important}
  .pp-shell,.wait-public-page{background-attachment:scroll!important}
}

/* Higher contrast across administrative surfaces. */
:root{--prime-canvas-solid:#d5e4ec;--prime-canvas-bg:linear-gradient(135deg,#d1e1ea,#e4ecf0);--prime-form-canvas:#dbe7ef}
#p2-outlet{color:#193c53;font-weight:500}
#p2-outlet :is(input,select,textarea),dialog :is(input,select,textarea){font-weight:600}
#p2-outlet label,dialog label{color:#25485c;font-weight:700}
:is(.p2-billing-dialog,.bgr-dialog),.bgr-dialog .p2-billing-dialog-body,.p2-guide-exact,.bgr-dialog [data-modal-feedback],.bgr-tabs{background:var(--prime-form-canvas)!important}
.bgr-dialog .p2-guide-exact-field>span{color:#345366}

/* Compact billing filters and preparation search. */
.p2-billing>.p2-billing-main-filters{padding:12px 16px;gap:14px;align-items:end}
.p2-billing>.p2-billing-main-filters>label{flex:0 1 320px;min-width:180px}
.p2-billing>.p2-billing-main-filters>label:first-child{flex-basis:210px}
.p2-billing>.p2-billing-main-filters>.p2-btn{margin-left:auto}
.p2-billing-available-search{display:flex;align-items:end;gap:10px;margin:12px 0 18px}
.p2-billing-available-search label{width:min(500px,100%)}
.p2-billing table details{max-width:400px}
.p2-billing table summary{cursor:pointer;font-weight:650;color:#825210}
@media(max-width:650px){.p2-billing>.p2-billing-main-filters>label{flex:1 1 100%}.p2-billing-available-search{flex-wrap:wrap}}

/* Empty PDF fields are visible immediately without changing validation. */
#gt-form .gt-pdf-missing{position:relative}
#gt-form .gt-pdf-missing:after{content:"Sem informação";display:block;color:#a5243d;font-size:11px;font-weight:750;line-height:1.3;margin-top:3px}
#gt-form .gt-pdf-missing :is(input:not([type=checkbox]),select,textarea){border:1.5px solid #c34359!important;background:#fff0f2!important;box-shadow:0 0 0 1px #c3435915}
#gt-form .gt-pdf-missing-summary{margin:10px 18px;padding:10px 14px;border-left:4px solid #b8324b;border-radius:7px;background:#fff0f2;color:#8b2437;font-size:13px;font-weight:600;flex-shrink:0}

/* Conversas entre operadores: launcher compacto em formato de balão. */
.p2-chat .p2-chat-launcher{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  padding:0!important;
  border-radius:50% 50% 50% 14px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  font-size:0!important;
  line-height:1!important;
}
.p2-chat .p2-chat-launcher::before{
  content:"💬";
  font-size:22px;
  line-height:1;
}
.p2-chat .p2-chat-launcher [data-unread]{
  position:absolute!important;
  top:-6px!important;
  right:-6px!important;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:10px!important;
  line-height:1!important;
}

/* Na Central de Chamados, o balão recolhido fica fora da faixa de resposta. */
.p2-shell:has(.p2tc-page)>.p2-chat:has(.p2-chat-launcher[aria-expanded="false"]){
  top:50%;
  bottom:auto;
  width:auto;
  transform:translateY(-50%);
}
