#billing-area[hidden],#billing-area [hidden]{display:none!important}
.billing-legacy-hidden{display:none!important}
#billing-dialog button:disabled,#billing-area button:disabled{opacity:.5;cursor:not-allowed}
.billing-area{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.billing-area>*{min-width:0}
.billing-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px}
.billing-card{padding:18px;border:1px solid var(--line);border-left:5px solid var(--green2);border-radius:13px;background:#fbfdfc}
.billing-card h3{margin:0 0 10px}
.billing-card dl{display:grid;gap:6px;margin:0}
.billing-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:5px}
.billing-row dt{color:var(--muted)}.billing-row dd{margin:0;font-weight:600;text-align:right}
.contract-past_due{border-left-color:#c0392b}.contract-pending_authorization{border-left-color:#d4a017}.contract-canceled,.contract-cancel_at_period_end{border-left-color:#8a8f98}
.billing-link{display:inline-flex;align-items:center;text-decoration:none;padding:10px 16px;border-radius:10px}
.billing-table-wrap{overflow-x:auto}
.billing-table{width:100%;border-collapse:collapse;font-size:.88rem}
.billing-table th,.billing-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top}
.billing-table td:nth-child(2),.billing-table td.charge-confirmation,.billing-table th:nth-child(5){white-space:normal}
.billing-table td.charge-confirmation{min-width:12rem}
@media(max-width:720px){.billing-table thead{display:none}.billing-table,.billing-table tbody,.billing-table tr,.billing-table td{display:block;width:100%}.billing-table tr{border:1px solid var(--line);border-radius:12px;padding:6px 10px;margin-bottom:10px}.billing-table td{border:0;padding:4px 0;white-space:normal;display:flex;justify-content:space-between;gap:12px}.billing-table td::before{content:attr(data-label);color:var(--muted);font-weight:600}.billing-table td.charge-confirmation{min-width:0}}
.billing-table th{color:var(--muted);font-weight:600}
.charge-paid{color:#1d7a46;font-weight:700}.charge-failed{color:#b3261e;font-weight:700}.charge-pending{color:#8a6d00;font-weight:700}.charge-refunded,.charge-canceled{color:#6b7280}
@media(max-width:800px){.billing-summary{grid-template-columns:1fr}}
/* Ciclo de vida: avisos de vencimento, tolerância, suspensão e cancelamento. */
.lifecycle-banner{margin:0 0 16px}.lifecycle-banner[hidden]{display:none!important}
.lifecycle-notice{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:13px;border:1px solid var(--line);border-left:5px solid var(--green2);background:#f4faf8}
.lifecycle-notice strong{display:block;font-size:1rem}.lifecycle-notice p{margin:4px 0 0;color:var(--text)}
.lifecycle-notice.tone-warn{border-left-color:#d4a017;background:#fff8e6}
.lifecycle-notice.tone-bad{border-left-color:#c0392b;background:#fdf1ef}
.lifecycle-notice.tone-muted{border-left-color:#8a8f98;background:#f6f7f8}
.lifecycle-actions{display:flex;gap:8px;flex-wrap:wrap}.lifecycle-actions a{text-decoration:none;display:inline-flex;align-items:center}
.contract-suspended{border-left-color:#c0392b}
body[data-view="assinatura"] .lifecycle-banner{display:none!important}
.annual-saving{display:block;color:#1d7a46;font-weight:600;font-size:.86rem;margin:-2px 0 4px}
/* Comercial V1: trial e motivo do cancelamento. */
.trial-note{margin:4px 0 8px;color:#1d7a46;font-weight:600;font-size:.88rem}
.cancel-reasons{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;display:grid;gap:6px}
.cancel-reasons legend{font-weight:600;padding:0 4px}.required-mark{color:var(--muted);font-weight:400;font-size:.85rem}
#billing-cancel-reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 14px}
.reason-option{display:flex;align-items:center;gap:6px;font-weight:400}
#billing-review{grid-template-columns:minmax(0,1fr)}#billing-review .billing-row dd{overflow-wrap:anywhere}
/* E2 — "Desistir desta assinatura" (achado E2-VIS-001, 30/09/2026): secundária e destrutiva, mas fácil de achar.
   Usa o botão de perigo já existente (danger-btn), no mesmo tamanho do "Ir para o pagamento", sem fundo cheio. */
.subscription-actions .billing-desistir{padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:700;border:1.5px solid var(--red);background:#fff7f7;color:var(--red)}
.subscription-actions .billing-desistir:hover{background:#fbe6e6}
.subscription-actions .billing-desistir:focus-visible{outline:3px solid rgba(184,58,58,.35);outline-offset:2px}

