/* AGP 2.6: scoped presentation only for Portal > Pagamentos. */
.agp-pm-page{min-width:0;max-width:100%;overflow-x:clip;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.agp-pm-page *, .agp-pm-page *::before,.agp-pm-page *::after{box-sizing:border-box}
.agp-pm-focus{display:grid;gap:16px;min-width:0}
.agp-pm-title{font-size:clamp(19px,3.2vw,25px);font-weight:850;color:#fff;letter-spacing:-.03em;line-height:1.2}
.agp-pm-subtitle{font-size:12px;color:#a8b6cb;line-height:1.6;max-width:680px}
.agp-pm-group{display:grid;gap:11px;min-width:0}
.agp-pm-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f1f5f9;font-size:14px;font-weight:800;min-width:0}
.agp-pm-heading h3{font:inherit;min-width:0}
.agp-pm-heading>span{background:#283247;border:1px solid #43536e;padding:3px 9px;border-radius:999px;font-size:11px;color:#fff}
.agp-pm-contract-list{display:grid;gap:13px}.agp-pm-contract-group{display:grid;gap:7px;min-width:0}.agp-pm-contract-title{font-size:11px;color:#94a3b8;font-weight:750;overflow-wrap:anywhere}
.agp-pm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.agp-pm-card{display:grid;gap:11px;min-width:0;padding:15px;border-radius:16px;background:linear-gradient(165deg,#17223a,#0d1527);border:1px solid #374762;box-shadow:0 6px 16px #02061735;overflow-wrap:anywhere}
.agp-pm-card-top,.agp-pm-car,.agp-pm-amount{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;flex-wrap:wrap}
.agp-pm-type{font-size:10px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:#c4b5fd}
.agp-pm-chip-overdue,.agp-pm-chip-upcoming{font-size:10px;border-radius:999px;padding:4px 9px;font-weight:800;white-space:nowrap}
.agp-pm-chip-overdue{color:#fecdd3;background:#572237;border:1px solid #a94b67}
.agp-pm-chip-upcoming{color:#bbf7d0;background:#123c33;border:1px solid #287e68}
.agp-pm-car strong{font-size:13px;color:#f8fafc;min-width:0}.agp-pm-car span{font-size:11px;color:#aab9d5;font-weight:650}
.agp-pm-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;color:#aab9d5;font-size:11px}
.agp-pm-details strong{color:#e2e8f0;font-weight:750}
.agp-pm-amount{padding:10px;border-radius:11px;background:#060e20;border:1px solid #334155}
.agp-pm-amount span{font-size:10px;color:#cbd5e1}.agp-pm-amount strong{font-size:17px;color:#fff;font-weight:850;font-variant-numeric:tabular-nums}
.agp-pm-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.agp-pm-btn{min-height:44px;flex:1 1 145px;border-radius:11px;white-space:normal;word-break:normal;padding:9px 12px;cursor:pointer;font-size:12px;font-weight:800;transition:filter .14s ease;background:#34445e;color:#fff;border:1px solid #566981}
.agp-pm-btn:hover{filter:brightness(1.15)}.agp-pm-btn:focus-visible,.agp-pm-expand:focus-visible,.agp-pm-history-link:focus-visible{outline:3px solid #c4b5fd;outline-offset:2px}
.agp-pm-btn-pix{background:#087e65;border-color:#1ca88b;color:#fff}.agp-pm-btn-upload{background:#2d3d5c;color:#f8fafc}
.agp-pm-empty,.agp-pm-notice,.agp-pm-other-note{background:#101c32;border:1px solid #34455f;border-radius:12px;padding:12px;font-size:12px;color:#dbeafe;line-height:1.5}
.agp-pm-notice{border-color:#9b6c28;background:#342719;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#fde68a}
.agp-pm-notice>span{flex:1 1 200px}.agp-pm-notice button{flex:0 1 auto}
.agp-pm-other-note{border-color:#6a5429;background:#302719;color:#fde68a}
.agp-pm-history-link{justify-self:start;padding:9px 0;color:#c4b5fd;font-size:12px;font-weight:750;cursor:pointer;background:transparent;border:0;appearance:none;text-decoration:underline;text-underline-offset:3px}
.agp-pm-expand{display:block;width:100%;min-height:48px;cursor:pointer;border-radius:12px;padding:12px 14px;text-align:left;font-weight:800;font-size:13px;color:#f8fafc;background:#192b49;border:1px solid #51678b}
.agp-pm-expand::after{content:'⌄';float:right;color:#c4b5fd}.agp-pm-expand[aria-expanded='true']::after{content:'⌃'}
.agp-pm-history{min-width:0;max-width:100%;overflow-x:hidden}
.agp-pm-history .agp-et-panel{max-width:100%}.agp-pm-history .agp-et-table-wrap{overflow-x:auto}
/* The standalone obligation entry stays accessible but never covers Portal payment actions. */
@media(max-width:767px){
 .agp-pm-grid{grid-template-columns:1fr}.agp-pm-card{padding:13px}.agp-pm-details{grid-template-columns:repeat(2,minmax(0,1fr))}
 .agp-pm-page{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
 .agp-pm-page .agp-pm-amount strong{font-size:16px}
 /* The in-page obligation action is always rendered, including loading and errors. 
    Hide only the duplicate floating trigger while the Portal Payments tab is visible. */
 body:has(.agp-pm-page) #agp-oc-open:not(.agp-oc-sidebar-entry){display:none}
}
@media(max-width:359px){.agp-pm-details{grid-template-columns:1fr}.agp-pm-car{align-items:flex-start}.agp-pm-actions{flex-direction:column}.agp-pm-btn{width:100%;flex-basis:auto}.agp-pm-amount{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.agp-pm-btn{transition:none}}

/* Accessible obligation fallback independent of financial consultation state. */
.agp-pm-obligation-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #d89a35;border-radius:10px;background:#a95810;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.agp-pm-obligation-button:hover{background:#bd6617}
.agp-pm-obligation-button:focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}
.agp-pm-readonly{display:block;padding:10px;border:1px solid #9b6c28;background:#342719;color:#fde68a;border-radius:10px;font-size:12px;line-height:1.5}

/* QAPD-01/02: readable access/error state even if no financial rows can be confirmed. */
.agp-pm-obligations-error{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid #ef8090;background:#521b2d;color:#ffe4e6;font-size:12px;font-weight:650;line-height:1.5}
