/* assets/css/acesso.css
   Tela de entrada (login, admin master, primeiro acesso) e Painel de clientes. */

/* ── Entrada ───────────────────────────────────────────────────────────── */
.acesso{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:18px;padding:32px 16px calc(32px + env(safe-area-inset-bottom,0px))}
.acesso-folha{width:min(420px,100%);padding:34px 30px 26px;text-align:center}
.acesso-marca{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:22px;font-size:20px;font-weight:750;letter-spacing:-.03em}
.acesso-marca .marca-moeda{--tam:64px;transition:transform .6s var(--curva)}
.acesso-folha:hover .marca-moeda{transform:rotate(-8deg)}
.acesso-folha h1{font-size:var(--t-titulo-2);margin-bottom:6px}
.acesso-ajuda{color:var(--texto-2);font-size:14.5px;line-height:1.5;margin:0 auto 22px;max-width:36ch}
.acesso-links{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:10px}
.acesso-erro{color:var(--vermelho);font-size:14px;min-height:0;margin-top:12px}
.acesso-erro:empty,.acesso-info:empty{display:none}
.acesso-info{color:var(--texto-2);font-size:14px;margin-top:12px;line-height:1.45}
.acesso-rodape{font-size:13px;color:var(--texto-3);text-align:center;max-width:40ch}
.acesso-confirme{display:grid;justify-items:center;gap:14px}
.acesso-confirme p{color:var(--texto-2);line-height:1.55}
.acesso-confirme b{color:var(--texto);overflow-wrap:anywhere}
#loginScreen[data-etapa="carregando"] .acesso-folha h1::after{content:'';display:block;width:22px;height:22px;margin:16px auto 0;border-radius:50%;
  border:2px solid var(--bronze);border-right-color:transparent;animation:girar .8s linear infinite}
.acesso-opcoes{display:grid;gap:8px;text-align:left}
.opcao-entrada{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:2px;width:100%;padding:14px 16px;border-radius:var(--r);
  border:1px solid var(--borda-forte);background:var(--papel-2);color:var(--texto);text-align:left;
  transition:border-color var(--rapido),transform var(--rapido) var(--curva)}
.opcao-entrada:hover{border-color:var(--bronze-borda)}
.opcao-entrada:active{transform:scale(.985)}
.opcao-entrada b{font-size:15px}
.opcao-entrada small{font-size:13px;color:var(--texto-3)}
#loginScreen .campo input{font-size:16px} /* 16px evita o zoom automático do iOS */

/* ── Painel de clientes ────────────────────────────────────────────────── */
#painel{min-height:100dvh}
.painel-conteudo{width:min(1120px,100%);margin:0 auto;padding:22px 20px 72px}
.painel-cabeca{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:10px 0 22px}
.painel-cabeca h1{font-size:var(--t-display);letter-spacing:-.035em}
.painel-cabeca p{color:var(--texto-2);margin-top:4px}
.resumo{display:flex;gap:8px;flex-wrap:wrap}
.resumo div{min-width:118px;padding:10px 14px;border-radius:var(--r);background:var(--papel);border:1px solid var(--borda);box-shadow:inset 0 1px 0 var(--vidro-brilho)}
.resumo dt{font-size:12px;color:var(--texto-3)}
.resumo dd{font-size:22px;font-weight:750;letter-spacing:-.02em}
.painel-lista{display:grid;gap:12px}
.painel-lista[aria-busy="true"]{opacity:.6;transition:opacity var(--rapido)}

.cliente{overflow:hidden}
.cliente summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.cliente summary::-webkit-details-marker{display:none}
.cliente summary:hover{background:color-mix(in srgb,var(--texto) 3%,transparent)}
.cliente-icone{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r);flex:none;background:var(--bronze-suave);color:var(--bronze-texto);border:1px solid var(--bronze-borda)}
.cliente-nome{display:grid;flex:1;min-width:0}
.cliente-nome b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cliente-nome small{font-size:13px;color:var(--texto-3)}
.disclosure{display:grid;place-items:center;color:var(--texto-3);transition:transform var(--medio) var(--curva)}
.cliente[open] .disclosure{transform:rotate(90deg)}
.cliente-corpo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:4px 16px 18px;border-top:1px solid var(--borda)}
.cliente-corpo section{min-width:0;padding-top:14px}
.secao-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.secao-topo h3{font-size:15px}
.medidor{font-size:12px;font-weight:600;color:var(--texto-3);padding:3px 10px;border-radius:var(--r-pilula);background:var(--papel-2)}
.medidor.excedido{color:var(--laranja);background:var(--amarelo-suave)}
.lista{list-style:none;display:grid;gap:2px;margin-bottom:12px}
.lista li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;min-width:0}
.lista li:hover{background:color-mix(in srgb,var(--texto) 4%,transparent)}
.lista li>span:not(.pilula):not(.avatar):not(.lista-acoes){display:grid;flex:1;min-width:0}
.lista b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista small{font-size:12px;color:var(--texto-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista li.inativo b{color:var(--texto-3);text-decoration:line-through}
.lista li.vazio{color:var(--texto-3);font-size:14px}
.lista-acoes{display:flex;gap:2px;margin-left:auto}
.form-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.form-linha input,.form-linha select{flex:1 1 150px;min-height:40px;font-size:14px}
.form-linha .botao{flex:none}
.form-convite{display:grid;gap:10px}
.escolha-cnpjs{border:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.escolha-cnpjs legend{font-size:12px;color:var(--texto-3);margin-bottom:6px}
.escolha-cnpjs small{font-size:12px;color:var(--texto-3);margin-left:4px}
