/* Ada — só o que é dela. Cor, fonte, cartão, botão, campo e abas vêm do libre-ui.css (1ª folha).
   Tetos da casa: card 20px · gap 14px · section 44px. Sombra só preta (tokens do libre-ui). */
[hidden]{display:none !important}
body{min-height:100dvh}

/* ── Portão ─────────────────────────────────────────────────────────────── */
.ada-porta{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.ada-porta-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px}
.ada-marca{width:56px;height:56px;border-radius:var(--raio-md);box-shadow:var(--sombra-sm)}
.ada-marca.pequena{width:36px;height:36px;border-radius:var(--raio-sm)}
.ada-nome{margin:0;color:var(--tinta);font-size:calc(22px * var(--fs,1));font-weight:800;letter-spacing:-.01em}
.ada-porta-card .nota{margin:0}
.ada-form{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:6px;text-align:left}
.ada-form .btn-primario,.ada-form .btn-fantasma{width:100%;padding:11px 15px}
.ada-link{background:none;border:0;color:var(--cinza);font:inherit;font-size:calc(12.5px * var(--fs,1));text-decoration:underline;cursor:pointer;padding:4px;align-self:center}
.ada-msg{margin:0;min-height:1.2em;font-size:calc(12.5px * var(--fs,1));color:var(--vermelho);text-align:center}
.ada-msg.ok{color:var(--verde)}
.ada-aviso{margin:6px 0 0;font-weight:700;color:var(--tinta)}
/* Enquanto o Firebase ainda não disse se há sessão, não pisca o formulário para quem já está logado. */
#porta[data-fase="abrindo"] .ada-form{display:none}
#porta:not([data-fase="abrindo"]) .ada-abrindo{display:none}

/* ── Casca do app ───────────────────────────────────────────────────────── */
.ada-app{max-width:720px;margin:0 auto;padding:12px 14px 20px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;
  padding-top:max(12px, env(safe-area-inset-top))}
.ada-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ada-id{display:flex;align-items:center;gap:10px}
.ada-id > div{display:flex;flex-direction:column;line-height:1.25}
.ada-id .ada-nome{font-size:calc(17px * var(--fs,1))}
.ada-abas{align-self:flex-start}
.ada-aba{display:flex;flex-direction:column}

/* ── Aba Tarefas (painel.js) ────────────────────────────────────────────── */
#tarefas-corpo{display:flex;flex-direction:column;gap:12px}
.pn-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pn-graf{display:flex;flex-direction:column;gap:6px}
.pn-graf .rotulo{margin:0}
.pn-svg{display:block;width:100%;height:auto;max-width:520px}
.pn-cartao .pn-svg{height:10px;max-width:none}
.pn-roxo{fill:var(--roxo)}
.pn-laranja{fill:var(--laranja)}
.pn-trilho{fill:var(--linha)}
.pn-linha{stroke:var(--linha)}
.pn-leg{fill:var(--muted);font-size:10px;font-family:inherit}
.pn-cartao{display:flex;flex-direction:column;gap:6px;padding:14px}
.pn-cartao.rodando{border-left:3px solid var(--laranja)}
.pn-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pn-titulo{color:var(--tinta);overflow-wrap:anywhere}
.pn-status{flex:none;font-size:calc(12px * var(--fs,1));color:var(--muted)}
.pn-status.on{color:var(--verde);font-weight:700}
.pn-linha-txt{margin:0;font-size:calc(13px * var(--fs,1));overflow-wrap:anywhere}
.pn-forte{font-weight:700}
.pn-ajud,.pn-etapas{margin:0;padding:0;list-style:none;font-size:calc(13px * var(--fs,1));display:flex;flex-direction:column;gap:2px}
.pn-etapas li.completed{color:var(--muted)}
.pn-etapas li.in_progress{font-weight:700}
.pn-botao{align-self:flex-start;padding:6px 12px}
.pn-erro{margin:0;color:var(--vermelho);font-size:calc(13px * var(--fs,1))}
.pn-vazio p{margin:0 0 6px}
