/* ===== AUTENTICAÇÃO (novo) — usa as variáveis de cor/fonte já existentes do Evolua ===== */
body.au-lock #hd,body.au-lock #app,body.au-lock #nav{display:none!important}
.au-inline{width:100%;max-width:400px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:20px;text-align:left}
.lp-cta:has(>.au-inline){display:block}
.au-t{font-family:var(--fd);font-size:22px;line-height:1.15;letter-spacing:-.02em;font-weight:600}
.au-inline .au-s{margin:6px 0 0;max-width:none}
.au-f label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}
.au-f input{width:100%;min-height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--tx);background:var(--bg);border:1.5px solid var(--bd2,var(--bd));border-radius:12px;outline:0;transition:border-color .15s,box-shadow .15s}
.au-f input:focus{border-color:var(--pr);box-shadow:0 0 0 4px var(--prl)}
.au-f .btn{margin-top:20px;width:100%}
.au-msg{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.4;font-weight:500}
.au-msg[hidden]{display:none}
.au-msg.er{background:var(--erl);color:var(--er)}
.au-msg.ok{background:var(--okl);color:var(--ok)}
.au-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:0 12px;margin-top:10px}
.au-link{background:none;border:0;color:var(--pr);font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:0 2px;cursor:pointer}
.au-chip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;min-width:0}
.au-em{font-size:12.5px;color:var(--mu);max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-out{background:none;border:1.5px solid var(--bd2,var(--bd));color:var(--tx);font:inherit;font-size:13px;font-weight:600;border-radius:99px;min-height:34px;padding:0 12px;cursor:pointer}
.au-out:hover{background:var(--prl);border-color:var(--pr)}
@media(min-width:700px){.au-em{max-width:240px}}
.au-gst{margin-top:6px;width:100%}
.au-inline .au-gn{margin:8px 0 0;max-width:none;text-align:center}
.au-me{color:var(--mu);cursor:pointer}
.pf{position:fixed;inset:0;z-index:99998;background:rgba(10,18,17,.5);display:flex;align-items:flex-end;justify-content:center}
.pf-box{background:var(--bg);color:var(--tx);width:100%;max-width:460px;max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:18px 18px max(18px,env(safe-area-inset-bottom))}
@media(min-width:700px){.pf{align-items:center;padding:20px}.pf-box{border-radius:var(--r)}}
.pf-hd{display:flex;justify-content:space-between;align-items:center}
.pf-sec{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:16px;margin-top:12px}
.pf-sec h3{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);font-weight:700}
.pf-sec .au-f label{margin-top:10px}
.pf-sec .au-f .btn{margin-top:14px;width:auto}
.pf-n{margin:8px 0 0;max-width:none}
.pf-plan{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:15px}
.pf-out{margin-top:14px}
.au-me:hover{color:var(--pr);background:var(--prl)}
.pf-id{margin:2px 0 0;overflow-wrap:anywhere}

/* aviso rápido (erros de rede ao responder) */
#qtoast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);max-width:min(92vw,420px);background:#1f2937;color:#fff;padding:12px 16px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;z-index:9999;text-align:center}
#qtoast.on{opacity:1;transform:translate(-50%,0)}

/* painéis (usuário e admin) */
.pn-bar{height:10px;border-radius:99px;background:var(--prl);overflow:hidden;margin-top:6px}.pn-bar>i{display:block;height:100%;background:var(--pr);border-radius:99px}
.pn-bar.w>i{background:var(--er)}
.pn-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:12px;font-size:14px}
.pn-big{font-size:28px;font-weight:800;line-height:1}
.pn-days{display:flex;gap:6px;align-items:flex-end;height:56px;margin-top:10px}.pn-days div{flex:1;background:var(--pr);border-radius:4px 4px 0 0;min-height:3px;opacity:.85}
.pn-dl{display:flex;gap:6px;font-size:11px;color:var(--mu);margin-top:4px}.pn-dl span{flex:1;text-align:center}
.pn-tabs{display:flex;gap:6px;overflow-x:auto;margin:12px 0 4px;padding-bottom:4px}
.pn-tabs button{flex:none;min-height:40px;padding:0 14px;border-radius:99px;border:1.5px solid var(--bd);background:var(--card);color:var(--tx);font:inherit;font-size:14px;font-weight:600}
.pn-tabs button.on{background:var(--pr);border-color:var(--pr);color:#fff}
.pn-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:14px;margin-top:10px;overflow-wrap:anywhere}
.pn-card select,.pn-card input,.pn-card textarea,.pn-sr input{width:100%;min-height:44px;padding:8px 12px;margin-top:6px;font:inherit;font-size:16px;color:var(--tx);background:var(--bg);border:1.5px solid var(--bd2,var(--bd));border-radius:12px;box-sizing:border-box}
.pn-card textarea{min-height:110px}
.pn-sr{display:flex;gap:8px;margin-top:10px}.pn-sr input{margin:0;flex:1}.pn-sr .btn{width:auto;margin:0}
.pn-card .btn{margin-top:10px;width:auto}.pn-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pn-card label{display:block;font-size:12px;font-weight:600;color:var(--mu);margin-top:8px}
.pn-chk{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px}.pn-chk input{width:22px;min-height:22px;margin:0}
