/* mock-plan: Consumo and Cobrança pages, matched to AppPlan.dc.html. Every rule is scoped to pages that render the billing tabs. Colors come from theme tokens, so light and dark both apply. */

main:has(.billing-tabs){
  max-width:1160px}

/* Tabs: underline style from the mock */
main:has(.billing-tabs) .billing-tabs{
  display:flex;
  gap:6px;
  margin:0 0 24px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap}
main:has(.billing-tabs) .billing-tabs button{
  min-height:44px;
  padding:10px 16px;
  margin-bottom:-1px;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-family:inherit;
  font-size:15px;
  font-weight:500;
  box-shadow:none;
  cursor:pointer}
main:has(.billing-tabs) .billing-tabs button:hover{
  background:transparent;
  color:var(--ink)}
main:has(.billing-tabs) .billing-tabs button[aria-current=page]{
  color:var(--ink);
  border-bottom-color:var(--accent);
  font-weight:600}
main:has(.billing-tabs) .billing-tabs button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px}

/* Cards */
main:has(.billing-tabs) .card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
  box-shadow:none}
main:has(.billing-tabs) .card h2{
  font-size:18px;
  font-weight:600;
  letter-spacing:-.01em}
main:has(.billing-tabs) .card-header{
  margin-bottom:16px}
main:has(.billing-tabs) .section-space{
  margin-top:20px}
main:has(.billing-tabs) .card-header .tag{
  flex:none}

/* Usage meters */
main:has(.billing-tabs) .customer-usage>p{
  margin-top:16px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
  font-size:14px;
  color:var(--muted)}
main:has(.billing-tabs) .usage-box{
  padding:18px 0}
main:has(.billing-tabs) .usage-box .usage-line:first-child strong,
main:has(.billing-tabs) .usage-box .usage-line:first-child span{
  font-size:15px;
  font-weight:600;
  color:var(--ink)}
main:has(.billing-tabs) .usage-box .usage-line:first-child span{
  font-weight:400;
  color:var(--muted)}
main:has(.billing-tabs) .usage-box progress{
  height:10px;
  margin:12px 0;
  border:0;
  background:var(--surface-soft)}
main:has(.billing-tabs) .usage-box progress::-webkit-progress-bar{
  background:var(--surface-soft)}
main:has(.billing-tabs) .usage-box progress::-webkit-progress-value{
  background:var(--accent)}
main:has(.billing-tabs) .usage-box .usage-line:last-child{
  font-size:13px}

/* Plans */
main:has(.billing-tabs) .plans{
  gap:16px}
main:has(.billing-tabs) .plan{
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  gap:10px;
  box-shadow:none}
main:has(.billing-tabs) .plan.current-plan{
  border-color:var(--accent);
  border-width:2px;
  padding:21px}
main:has(.billing-tabs) .plan.featured{
  background:var(--white);
  color:var(--ink)}
main:has(.billing-tabs) .plan .eyebrow,
main:has(.billing-tabs) .plan.featured .eyebrow{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.06em}
main:has(.billing-tabs) .plan h3{
  font-size:18px;
  font-weight:600;
  margin:0}
main:has(.billing-tabs) .plan .price{
  font-size:26px;
  font-weight:600;
  letter-spacing:-.02em;
  margin:4px 0 8px}
main:has(.billing-tabs) .plan .price small{
  font-size:14px;
  font-weight:400;
  color:var(--muted)}
main:has(.billing-tabs) .plan ul{
  list-style:none;
  padding:0;
  margin:0 0 6px;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
  flex:1}
main:has(.billing-tabs) .plan li{
  padding:4px 0}
main:has(.billing-tabs) .plan li:empty{
  display:none}
main:has(.billing-tabs) .plan .tag{
  align-self:flex-start;
  background:var(--accent);
  color:var(--on-accent);
  font-weight:600}
main:has(.billing-tabs) .plan .button,
main:has(.billing-tabs) .plan button{
  margin-top:auto;
  width:100%;
  min-height:44px;
  border:1px solid var(--control-line);
  border-radius:10px;
  background:transparent;
  color:var(--ink);
  font-weight:600;
  white-space:normal}
main:has(.billing-tabs) .plan .button:hover,
main:has(.billing-tabs) .plan button:hover{
  background:var(--surface-soft)}
main:has(.billing-tabs) .plan .field-help{
  margin-top:auto;
  font-size:13px;
  color:var(--muted)}

/* Notes and empty states */
main:has(.billing-tabs) .card>p.field-help:last-of-type{
  margin-top:14px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
  font-size:14px;
  color:var(--muted)}
main:has(.billing-tabs) .empty{
  border:1.5px dashed var(--control-line);
  border-radius:16px;
  padding:28px;
  color:var(--muted)}

@media(max-width:1100px){
  main:has(.billing-tabs) .plans{
    grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  main:has(.billing-tabs) .plans{
    grid-template-columns:minmax(0,1fr)}
  main:has(.billing-tabs) .card{
    padding:20px;
    border-radius:14px}
  main:has(.billing-tabs) .billing-tabs{
    gap:0}
  main:has(.billing-tabs) .billing-tabs button{
    flex:1;
    padding:10px 8px}
}

/* Two-column layout: main content left, plan/billing data right (mock Consumo view). */
main:has(.billing-tabs) [hidden]{
  display:none!important}
main:has(.billing-tabs) .billing-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:20px;
  align-items:start}
main:has(.billing-tabs) .billing-main,
main:has(.billing-tabs) .billing-side{
  display:grid;
  gap:20px;
  align-content:start;
  min-width:0}
main:has(.billing-tabs) .billing-main .plans{
  grid-template-columns:repeat(2,minmax(0,1fr))}
main:has(.billing-tabs) .billing-layout .section-space{
  margin-top:0}
main:has(.billing-tabs) .billing-side-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px}
main:has(.billing-tabs) .billing-side-actions button{
  flex:1 1 140px;
  min-height:44px}
main:has(.billing-tabs) .billing-layout p.field-help{
  font-size:13px}

/* CTA hierarchy: lime primary for the upgrade action, outlined for the rest. */
main:has(.billing-tabs) .plan button.primary,
main:has(.billing-tabs) .billing-side-actions button.primary{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--on-accent)}
main:has(.billing-tabs) .plan button.primary:hover,
main:has(.billing-tabs) .billing-side-actions button.primary:hover{
  background:var(--accent);
  filter:brightness(1.08)}
main:has(.billing-tabs) .plan button.secondary,
main:has(.billing-tabs) .billing-side-actions button.secondary{
  background:transparent;
  border-color:var(--control-line);
  color:var(--ink)}

@media(max-width:900px){
  main:has(.billing-tabs) .billing-layout{
    grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  main:has(.billing-tabs) .billing-main .plans{
    grid-template-columns:minmax(0,1fr)}
}

/* Fixes after visual check: keep the list glyph's left padding, card the plan sections, stack side buttons, collapse earlier. */
main:has(.billing-tabs) .plan li{
  padding:4px 0 4px 26px}
main:has(.billing-tabs) .billing-main>section{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px}
main:has(.billing-tabs) .billing-main>section>h2{
  font-size:18px;
  font-weight:600;
  margin:0 0 16px}
main:has(.billing-tabs) .billing-side-actions button{
  flex:1 1 100%}
@media(max-width:1100px){
  main:has(.billing-tabs) .billing-layout{
    grid-template-columns:minmax(0,1fr)}
  /* Subscription controls stay above the sales plans once the columns stack. */
  main:has(.billing-tabs) .billing-side{order:-1}
  main:has(.billing-tabs) .billing-main .plans{
    grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  main:has(.billing-tabs) .billing-main .plans{
    grid-template-columns:minmax(0,1fr)}
}

/* Plan cards: the featured rule rebinds --ink/--surface-soft for accent backgrounds; pin the theme values on the page so text stays readable in light and dark. */
main:has(.billing-tabs){
  --plan-ink:var(--ink);
  --plan-muted:var(--muted);
  --plan-soft:var(--surface-soft)}
main:has(.billing-tabs) .plan,
main:has(.billing-tabs) .plan.featured{
  --ink:var(--plan-ink);
  --muted:var(--plan-muted);
  --surface-soft:var(--plan-soft);
  color:var(--plan-ink)}
main:has(.billing-tabs) .billing-actions{flex-wrap:wrap;min-width:0}
main:has(.billing-tabs) .billing-actions>*{min-width:0;max-width:100%}
main:has(.billing-tabs) .billing-side .billing-current{flex-direction:column;align-items:stretch;flex-wrap:wrap}
