/* Revisão de guia: uma única rolagem, leitura mais compacta e decisão de saldo. */
html body .p2-billing-dialog.bgr-dialog>.p2-billing-dialog-body{
 background:#f5f8fa!important;
 padding:12px 16px 18px!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 scrollbar-gutter:stable;
}
html body .p2-billing-dialog.bgr-dialog .bgr-panel{
 background:transparent;
}
html body .p2-billing-dialog.bgr-dialog .p2-attending-professional small,
html body .p2-billing-dialog.bgr-dialog .bgr-procedure-intro p,
html body .p2-billing-dialog.bgr-dialog .p2-billing-guide-procedures fieldset>p:nth-of-type(2){
 display:none!important;
}
html body .p2-billing-dialog.bgr-dialog .bgr-data-heading,
html body .p2-billing-dialog.bgr-dialog .bgr-procedure-intro h3{
 color:#173f59;
 font-size:16px;
 margin:0 0 9px;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-top{
 margin-bottom:7px!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-grid{
 gap:7px 8px!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field{
 gap:3px!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field>span{
 font-size:10px!important;
 line-height:1.2;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field input,
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field select,
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field textarea{
 min-height:34px!important;
 padding:5px 8px!important;
 font-size:13px!important;
 border-color:#c7d8df!important;
 border-radius:9px!important;
 box-shadow:none!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-guide-exact-field textarea{
 min-height:44px!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-billing-guide-procedures fieldset{
 margin:0 0 10px!important;
 padding:10px 12px!important;
 border:1px solid #d8e3e8!important;
 border-radius:12px!important;
 box-shadow:0 1px 2px rgba(23,63,89,.04);
}
html body .p2-billing-dialog.bgr-dialog .p2-billing-guide-procedures fieldset>legend{
 padding:0 5px;
 color:#173f59;
 font-size:13px;
 font-weight:800;
 line-height:1.25;
}
html body .p2-billing-dialog.bgr-dialog .p2-billing-guide-procedures fieldset>p:first-of-type{
 margin:5px 0 7px!important;
 color:#4b6574!important;
 font-size:12px!important;
 line-height:1.35;
}
html body .p2-billing-dialog.bgr-dialog .p2-billing-filters{
 margin:5px 0 7px!important;
 padding:7px 8px!important;
 border-radius:10px!important;
 background:#f8fbfc!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-billing-filters p{
 font-size:12px!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-session-calendar{
 border-color:#d8e3e8!important;
 border-radius:12px!important;
 background:#fff!important;
 box-shadow:none!important;
}
html body .p2-billing-dialog.bgr-dialog .p2-calendar-days button{
 border-radius:8px!important;
}
html body .p2-billing-dialog.bgr-dialog .bgr-save-footer{
 padding:9px 18px!important;
 box-shadow:0 -5px 14px rgba(23,63,89,.05);
}

@media(min-width:1350px){
 html body .p2-billing-dialog.bgr-dialog>.p2-billing-dialog-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(470px,.82fr)!important;
  gap:18px!important;
  align-items:start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
 }
 html body .p2-billing-dialog.bgr-dialog .bgr-panel,
 html body .p2-billing-dialog.bgr-dialog .bgr-panel[hidden]{
  display:block!important;
  min-height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
 }
 html body .p2-billing-dialog.bgr-dialog [data-bgr-panel="procedures"]{
  position:sticky;
  top:0;
  align-self:start;
  border-left:1px solid #dbe5ea!important;
  padding-left:18px!important;
  background:#f5f8fa;
 }
 html body .p2-billing-dialog.bgr-dialog [data-calendar]{
  grid-template-columns:minmax(300px,1.35fr) minmax(160px,.65fr)!important;
  gap:9px!important;
  margin-top:7px!important;
 }
 html body .p2-billing-dialog.bgr-dialog .p2-calendar-sessions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}

@media(min-width:1350px) and (max-width:1550px){
 html body .p2-billing-dialog.bgr-dialog>.p2-billing-dialog-body{
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
 }
 html body .p2-billing-dialog.bgr-dialog [data-calendar]{
  grid-template-columns:minmax(275px,1fr) 150px!important;
 }
 html body .p2-billing-dialog.bgr-dialog .p2-calendar-sessions{
  grid-template-columns:1fr!important;
 }
}

.p2-guide-balance-dialog{
 width:min(520px,calc(100vw - 28px));
 max-width:calc(100vw - 28px);
 padding:0;
 border:0;
 border-radius:16px;
 overflow:hidden;
 background:#fff;
 color:#193c53;
 box-shadow:0 24px 70px rgba(13,42,58,.24);
}
.p2-guide-balance-dialog::backdrop{
 background:rgba(18,43,58,.48);
 backdrop-filter:blur(2px);
}
.p2-guide-balance-dialog>header{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:16px;
 padding:17px 20px 14px;
 border-bottom:1px solid #e1e8ec;
 background:#f8fafb;
}
.p2-guide-balance-dialog>header span{
 display:block;
 margin-bottom:4px;
 color:#6d183a;
 font-size:11px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.06em;
}
.p2-guide-balance-dialog>header h2{
 margin:0;
 color:#193c53;
 font-size:18px;
 line-height:1.3;
}
.p2-guide-balance-dialog>header [data-close]{
 appearance:none;
 border:0;
 background:transparent;
 color:#597281;
 font-size:26px;
 line-height:1;
 cursor:pointer;
}
.p2-guide-balance-body{
 padding:18px 20px 20px;
}
.p2-guide-balance-number{
 display:inline-flex;
 align-items:center;
 min-height:30px;
 margin-bottom:12px;
 padding:5px 10px;
 border-radius:999px;
 background:#e8f2ee;
 color:#176b58;
 font-size:12px;
 font-weight:800;
}
.p2-guide-balance-body p{
 margin:0 0 9px;
 line-height:1.45;
}
.p2-guide-balance-question{
 font-weight:800;
 color:#173f59;
}
.p2-guide-balance-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
 margin:17px 0 10px;
}
.p2-guide-balance-actions .p2-btn{
 min-height:44px;
 justify-content:center;
}
.p2-guide-balance-body>small{
 display:block;
 color:#637987;
 font-size:11px;
 line-height:1.4;
}
.p2-guide-balance-body [data-error]{
 margin:10px 0 0;
 color:#9b2f2f;
 font-size:12px;
 font-weight:700;
}
@media(max-width:560px){
 .p2-guide-balance-actions{grid-template-columns:1fr}
}
