/* SuperfÃ­cies e estados de assinatura reutilizados nos dois painÃ©is. */
.billing-invoices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
.invoice-card { margin:0; min-width:0; }
.invoice-heading { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; }
.invoice-heading h3 { font-size:18px; overflow-wrap:anywhere; }
.invoice-amount { display:block; color:var(--accent); font-size:30px; margin:18px 0 6px; }
.invoice-card .detail-actions { margin-top:16px; }
.invoice-card .detail-actions .button { flex:1 1 150px; }
.billing-status { white-space:normal; }
.billing-paga,.billing-em_dia,.billing-aprovado { color:var(--green); background:color-mix(in srgb,var(--green) 12%,var(--surface)); }
.billing-atrasada,.billing-rejeitado { color:var(--red); background:color-mix(in srgb,var(--red) 12%,var(--surface)); }
.billing-em_teste,.billing-em_analise,.billing-pendente,.billing-aberta,.billing-em_aberto { color:var(--accent); background:var(--accent-soft); }
.billing-cancelada,.billing-cancelado,.billing-arquivado,.billing-pausado { color:var(--muted); background:var(--panel); }
.subscription-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:center; }
.subscription-hero h3 { font-size:26px; }
.subscription-price { display:flex; flex-direction:column; gap:12px; }
.subscription-price strong { font-size:32px; color:var(--accent); }
.receipt-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--border-soft); }
.receipt-row strong { overflow-wrap:anywhere; }
.receipt-row>div { min-width:0; }
.receipt-row>div:last-child { display:flex; flex-direction:column; align-items:flex-end; gap:12px; flex-shrink:0; }
.info-dialog .billing-pix-qr { display:block; width:min(100%,320px); height:auto; max-height:none; margin:20px auto; background:var(--text); }

.contract-values { width:100%; table-layout:fixed; border-collapse:collapse; margin:12px 0; }
.contract-values th,.contract-values td { padding:9px 10px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--border-soft); white-space:normal; overflow-wrap:anywhere; }
.contract-values thead th { font-size:var(--fonte-12); color:var(--muted); font-weight:500; background:var(--panel); }
.contract-values thead th:first-child { width:56%; }
.contract-values tbody th { font-size:var(--fonte-13); font-weight:500; }
.contract-values td { font-size:var(--fonte-14); font-weight:600; }
.contract-values small { display:block; margin-top:3px; font-size:var(--fonte-11); font-weight:400; color:var(--muted); line-height:1.4; }
.contract-edit-table thead th:first-child { width:44%; }
.contract-edit-value { display:flex; align-items:center; gap:12px; }
.contract-edit-table .check-row { flex:none; margin:0; font-size:var(--fonte-12); font-weight:400; align-items:center; gap:7px; }
.contract-edit-table .field { flex:1; min-width:0; margin:0; }
.contract-edit-table input[type=text] { height:38px; min-height:38px; padding:7px 9px; font-size:var(--fonte-13); }
.contract-edit-table input:disabled { color:var(--muted); }
.contract-charge-editor>.subtle { font-size:var(--fonte-12); line-height:1.4; margin:8px 0; }
.contract-terms h3 { font-size:var(--fonte-16); margin:0 0 10px; }
.contract-terms>.subtle { margin:8px 0; font-size:var(--fonte-11); line-height:1.45; }
.contract-inclusions,.contract-extra { margin-top:12px; }
.contract-inclusions summary,.contract-extra summary { font-size:var(--fonte-12); cursor:pointer; color:var(--accent); margin-bottom:8px; }
.contract-inclusions p { margin:0; overflow-wrap:anywhere; }
.contract-editor { margin:16px 0; }
.contract-editor summary { cursor:pointer; color:var(--accent); margin-bottom:10px; font-weight:600; }
.subscription-overview { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:28px; margin-bottom:22px; }
.subscription-plan-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:18px; }
.subscription-plan-name { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.subscription-plan-heading h3 { font-size:20px; line-height:1.3; margin:0; }
.subscription-plan .subscription-price { display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; }
.subscription-plan .subscription-price>span { display:block; margin:0; color:var(--muted); font-size:var(--fonte-12); line-height:1.3; }
.subscription-plan .subscription-price>strong { display:block; margin:0; color:var(--accent); font-size:30px; line-height:1.15; white-space:nowrap; }
.subscription-period { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:16px 0 20px; font-size:var(--fonte-12); color:var(--muted); }
.subscription-period strong { color:var(--text); font-weight:500; }
.subscription-support h3 { font-size:var(--fonte-16); margin:0 0 8px; }
.subscription-support .detail-actions { gap:8px; margin-top:12px; }
.subscription-support .button { flex:1 1 auto; min-height:40px; padding:9px 12px; }
.subscription-records { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; }
@media(min-width:851px){
 #view-subscription .subscription-records>.admin-panel { padding:0; margin:0; border:0; background:none; border-radius:0; }
 #view-subscription .panel-heading { margin-bottom:8px; }
 #view-subscription .panel-heading h3 { font-size:var(--fonte-16); }
 #view-subscription .empty { padding:8px 0; text-align:left; }
 #view-subscription .invoice-card { padding:16px; }
 #view-subscription .invoice-amount { margin:10px 0 4px; font-size:26px; }
 #view-subscription .invoice-card h3 { font-size:var(--fonte-15); }
 #view-subscription .invoice-card p { margin:8px 0; }
 #view-subscription .invoice-card .detail-actions { margin-top:12px; }
}
@media(min-width:851px) and (max-width:1150px){
 .subscription-overview { grid-template-columns:minmax(0,1fr); gap:18px; }
 .subscription-support { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
 .subscription-support .detail-actions,.subscription-support>.subtle { margin:0; }
}
@media(min-width:1151px) and (max-height:800px){
 .admin-body:has(#view-subscription:not([hidden])) .admin-header { min-height:84px; padding-top:12px; padding-bottom:12px; }
 #admin-main:has(>#view-subscription:not([hidden])) { padding-top:16px; padding-bottom:12px; }
 .subscription-period { margin:12px 0 16px; }
 #view-subscription .contract-values th,#view-subscription .contract-values td { padding:7px 10px; }
}
@media(max-width:850px){
 .subscription-overview,.subscription-records { grid-template-columns:minmax(0,1fr); gap:16px; }
 .subscription-plan,.subscription-support { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius-panel); padding:18px 15px; }
 .subscription-plan-heading { align-items:start; gap:12px; }
 .subscription-plan-heading h3 { font-size:18px; }
 .subscription-plan .subscription-price>strong { font-size:25px; }
 .subscription-plan .subscription-price>span { font-size:var(--fonte-11); }
 .subscription-period { margin:14px 0 18px; gap:4px; flex-direction:column; align-items:flex-start; }
 .contract-values th,.contract-values td { padding:9px 8px; }
 .contract-edit-value { gap:8px; }
 .contract-edit-table thead th:first-child { width:43%; }
 .contract-edit-table .check-row { font-size:var(--fonte-11); }
 .contract-edit-table input[type=text] { font-size:var(--fonte-12); padding:7px; }
 .subscription-records { gap:0; }
}
@media(max-width:380px){
 .subscription-plan-heading { grid-template-columns:minmax(0,1fr); gap:14px; }
 .subscription-plan .subscription-price { gap:3px; }
 .contract-edit-value { flex-wrap:wrap; gap:6px; }
 .contract-edit-table .field { flex-basis:100%; }
}
