/* Planos, Empresas e Usuários do painel admin (frontend/src/admin/pages/billing.js).
   Usa as variáveis do .admin-shell, então o tema escuro vem junto. */
.ab-loading{padding:40px;text-align:center;color:var(--am);font-size:11px}
.ab-muted{color:var(--am);font-size:10px}
.ab-note{display:block;color:var(--am);font-size:9px;margin-top:6px}

.ab-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}
.ab-badge.ok{background:#e4f2ec;color:#1d6b5f}
.ab-badge.warn{background:#fdf1dc;color:#93600c}
.ab-badge.bad{background:#fbe6e4;color:#ad3a33}
.ab-badge.muted{background:var(--as2);color:var(--am);border:1px solid var(--al)}
.theme-dark .ab-badge.ok{background:#173a33;color:#7fd3c0}
.theme-dark .ab-badge.warn{background:#3d2f15;color:#f0c46e}
.theme-dark .ab-badge.bad{background:#3d211f;color:#ef9a94}
.ab-badges{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 12px}

.ab-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px}
.ab-plan{display:flex;flex-direction:column;background:var(--as);border:1px solid var(--al);border-radius:12px;padding:18px}
.ab-plan.archived{opacity:.7}
.ab-plan header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ab-plan h3{font:700 15px 'Bricolage Grotesque';margin:0 0 3px}
.ab-plan code{font-size:9px;color:var(--am)}
.ab-plan header strong{font:700 18px 'Bricolage Grotesque';white-space:nowrap}
.ab-plan header strong small{font:500 10px 'DM Sans';color:var(--am)}
.ab-included{display:flex;gap:14px;list-style:none;padding:0;margin:0 0 10px;font-size:10px;color:var(--am)}
.ab-included b{color:var(--at);font-size:13px}
.ab-plan p{margin:0 0 6px;line-height:1.5}
.ab-plan footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--al)}
.ab-plan footer span{margin-right:auto;font-size:10px;color:var(--am)}

.ab-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ab-toolbar input{flex:0 1 360px;height:38px;border:1px solid var(--al);border-radius:8px;background:var(--as);color:var(--at);padding:0 12px;font:12px 'DM Sans';outline:0}
.ab-toolbar input:focus{border-color:var(--ag)}
.ab-table-wrap{overflow-x:auto;background:var(--as);border:1px solid var(--al);border-radius:12px}
.ab-table{width:100%;border-collapse:collapse;font-size:11px;min-width:860px}
.ab-table th{text-align:left;font-size:9px;font-weight:700;letter-spacing:.4px;color:var(--am);text-transform:uppercase;padding:11px 12px;border-bottom:1px solid var(--al);white-space:nowrap}
.ab-table td{padding:11px 12px;border-bottom:1px solid var(--al);vertical-align:top}
.ab-table tr:last-child td{border-bottom:0}
.ab-table td small{display:block;color:var(--am);font-size:9px;margin-top:2px}
.ab-table tr.hidden{display:none}
.ab-chip{display:inline-block;margin:0 4px 4px 0;padding:3px 7px;border-radius:6px;background:var(--as2);border:1px solid var(--al);font-size:9px;white-space:nowrap}
.ab-usage{font-weight:700;font-size:12px}
.ab-usage small{color:var(--am);font-weight:500;font-size:10px}
.ab-usage.over{color:#b8443d}

.ab-modal-backdrop{position:fixed;inset:0;z-index:80;background:#0b1513a6;display:grid;place-items:center;padding:16px}
.ab-modal{width:min(720px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--as);color:var(--at);border:1px solid var(--al);border-radius:14px;box-shadow:0 30px 70px #0006}
.ab-modal header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--al)}
.ab-modal h2{font:700 15px 'Bricolage Grotesque';margin:0}
.ab-close{border:0;background:transparent;color:var(--am);font-size:22px;line-height:1;cursor:pointer}
.ab-modal-body{padding:6px 20px 16px;overflow-y:auto}
.ab-modal-body h3{font:700 11px 'DM Sans';text-transform:uppercase;letter-spacing:.6px;color:var(--am);margin:18px 0 4px}
.ab-modal-body label{display:block;font-size:10px;font-weight:700;margin:10px 0}
.ab-modal-body label small{display:block;font-weight:500;color:var(--am);font-size:9px;margin-top:4px}
.ab-modal-body input:not([type=checkbox]),.ab-modal-body select{display:block;width:100%;height:39px;margin-top:6px;border:1px solid var(--al);border-radius:8px;background:var(--as2);color:var(--at);padding:0 11px;font:12px 'DM Sans';outline:0}
.ab-modal-body input:focus,.ab-modal-body select:focus{border-color:var(--ag)}
.ab-modal-body input:disabled,.ab-modal-body select:disabled{opacity:.55}
.ab-money{position:relative}
.ab-money span{position:absolute;left:11px;top:18px;font-size:11px;color:var(--am)}
.ab-money input{padding-left:32px!important}
.ab-grid{display:grid;gap:0 12px}
.ab-grid.two{grid-template-columns:repeat(2,1fr)}
.ab-grid.three{grid-template-columns:repeat(3,1fr)}
.ab-grid.four{grid-template-columns:repeat(4,1fr)}
.ab-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 12px}
.ab-checks label{display:flex;align-items:center;gap:7px;font-weight:500;margin:4px 0}
.ab-toggle{display:flex!important;align-items:flex-start;gap:8px;padding-top:18px}
.ab-toggle input{margin-top:2px}
.ab-modal .ab-error{margin:0 20px 10px;background:#fff0ef;border:1px solid #f0cfcb;color:#b8443d;border-radius:7px;padding:10px;font-size:10px}
.theme-dark .ab-modal .ab-error{background:#3d211f;border-color:#63312e;color:#ef9a94}
.ab-modal .ab-error.hidden{display:none}
.ab-modal footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--al)}
.ab-modal .integration-notice{margin:12px 0 4px}

@media(max-width:700px){
  .ab-grid.two,.ab-grid.three,.ab-grid.four,.ab-checks{grid-template-columns:1fr}
  .ab-toolbar{flex-direction:column;align-items:stretch}
  .ab-toolbar input{flex:none}
  .ab-toggle{padding-top:0}
}

/* Ícone da integração Stripe (Integrações → Stripe). */
.integration-icon.stripe{background:#635bff;color:#fff;font-family:'Bricolage Grotesque'}
