/* Consola de administração: por cima do sistema de design partilhado (app.css). */
body { background: var(--bg); }
.saas-topo { display: flex; align-items: center; gap: 12px; padding: 14px 20px;
  background: var(--surface); border-bottom: 1px solid var(--border);
  position: sticky; top: 0; z-index: 5; }
.saas-topo .marca { font-weight: 680; letter-spacing: -.01em; }
.saas-topo .marca span { color: var(--primary); }
.saas-corpo { max-width: 1100px; margin: 0 auto; padding: 20px; }
.saas-abas { display: flex; gap: 4px; margin-bottom: 18px; flex-wrap: wrap; }
.saas-abas button { padding: 9px 16px; border: 1px solid var(--border); background: var(--surface);
  border-radius: var(--radius); font: inherit; font-weight: 600; color: var(--muted); cursor: pointer; }
.saas-abas button.activo { background: var(--primary); color: var(--primary-text); border-color: var(--primary); }
.inst-grelha { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.inst-cartao { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 16px; box-shadow: var(--shadow); }
.inst-cartao.suspensa { border-color: var(--danger); }
.inst-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; margin-bottom: 10px; }
.inst-nome { font-weight: 660; }
.inst-num { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin: 12px 0; }
.inst-num div { font-size: .82rem; }
.inst-num b { display: block; font-size: 1.05rem; font-weight: 650; }
.entrada { min-height: 100vh; display: grid; place-items: center; }
.entrada-cartao { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 30px; width: 340px; box-shadow: var(--shadow-lg); }
