/* Photoboo Web — Settings → Plan and AI photos (billing.js).
   Mesma escala do resto das configurações (docs/escrita-e-tipografia.md):
   12 rótulo · 15 valor · 13 ajuda. Hierarquia por peso e cor. O dourado da janela
   é o "Done" do rodapé; a ação daqui (começar o plano) é o botão claro. Números
   alinhados. */

.bill-now { display: flex; flex-direction: column; gap: 4px; margin-top: 14px; }
.bill-now b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-now span { font-size: 13px; line-height: 1.5; color: var(--muted); max-width: 64ch; }
.bill-now span.warn { color: var(--accent); }

.bill-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.bill-card { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px; border-radius: 12px; background: var(--bg); border: 1px solid var(--line); text-align: start; }
.bill-card:hover, .bill-card:focus-visible { border-color: var(--accent); outline: none; }
.bill-card.on { border-color: var(--accent); background: #1c1810; }
.bill-card small { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.bill-card.on small { color: var(--accent); }
.bill-card b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-card span { font-size: 13px; color: var(--muted); }
.bill-card strong { margin-top: 8px; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-card em { font-style: normal; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }

.bill-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.bill-grid > * { padding: 10px 14px; border-top: 1px solid var(--line); min-width: 0; font-size: 15px; }
.bill-grid > .bill-head { border-top: 0; padding-block: 9px; background: #151518; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.bill-grid > .bill-head:not(:first-child), .bill-num { text-align: end; }
.bill-num { font-variant-numeric: tabular-nums; }
.bill-grid > .bill-num:nth-child(3n) { color: var(--muted); }
.bill-grid > .bill-num:nth-child(3n + 2) { font-weight: 700; }
.bill-grid em { margin-inline-start: 8px; font-style: normal; font-size: 12px; color: var(--accent); }

.bill-go { margin-top: 14px; }
.bill-start { background: var(--ink); border-color: var(--ink); color: var(--bg); font-weight: 700; backdrop-filter: none; font-variant-numeric: tabular-nums; }
.bill-start:hover, .bill-start:focus-visible { background: #fff; outline: none; }
.bill-start[hidden] { display: none; }
.bill-pack { font-variant-numeric: tabular-nums; }
.bill-foot { margin-top: 18px; }

/* Aviso de saldo baixo no topo. */
.bill-chip { border-color: #4a3d1f; background: #1c1810; color: var(--accent); }
.mode-app .top-tools > #billing-chip { order: 5; }

@media (max-width: 720px) {
  .bill-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, 1fr); }
  .bill-grid > * { padding-inline: 10px; font-size: 13px; }
}
