/* Porteiro do uniplus-dashboard (29/10/2026). Visual AM Solution em Glass claro, aprovado na
   previa (codigo/uniplus-dashboard/mockups/acesso-remoto, telas 1, 2, 3 e 5): vidro bem
   transparente sobre riscas diagonais, sem manchas, botoes retangulares de canto 10 px.
   Sem fonte externa (CSP so libera o proprio dominio): fonte do sistema. */
:root{--ink:#121418;--muted:#4F5663;--acc:#2F5BE0;--acc2:#2449B8;--acc-claro:#4C7DFF;--linha:rgba(20,30,45,.12);
  --ok:#1F7A4F;--er:#B4372F;--bg:#EEF1F6}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{color:var(--ink);font:15px/1.5 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh;
  background:repeating-linear-gradient(118deg,transparent 0 40px,rgba(20,30,45,.09) 40px 41px,transparent 41px 96px),var(--bg);
  background-attachment:fixed}
.pagina{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.marca{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;letter-spacing:.22em}
.marca::before,.marca::after{content:"";height:1px;width:26px;background:var(--ink);opacity:.55}
.tag{font:500 11px ui-monospace,Consolas,monospace;letter-spacing:.16em;color:var(--muted);margin:0;text-align:center}
.cartao{position:relative;width:min(380px,100%);padding:28px 24px;border-radius:20px;display:flex;flex-direction:column;gap:6px;
  border:1px solid rgba(255,255,255,.8);background:linear-gradient(135deg,rgba(255,255,255,.40),rgba(255,255,255,.26));
  box-shadow:0 24px 60px rgba(20,30,45,.14)}
.cartao::before,.cartao::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--acc-claro);border-style:solid}
.cartao::before{top:10px;left:10px;border-width:1.5px 0 0 1.5px}
.cartao::after{bottom:10px;right:10px;border-width:0 1.5px 1.5px 0}
h1{margin:0;font-size:21px;line-height:1.3;text-wrap:balance}
.sub{margin:0;color:var(--muted);font-size:13.5px}
.rot{display:block;font:500 11px ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.cnpj{width:100%;font:500 24px ui-monospace,Consolas,monospace;letter-spacing:.3em;background:transparent;border:0;
  border-bottom:1.5px solid var(--acc-claro);color:var(--ink);padding:10px 0}
.cnpj:focus{outline:none;border-bottom-color:var(--acc)}
.cnpj.ruim{border-bottom-color:var(--er)}
.dica{font-size:12.5px;color:var(--muted);margin:8px 0 0}
.bt{margin-top:18px;width:100%;border:0;border-radius:10px;padding:13px;background:var(--acc);color:#fff;
  font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 10px 24px rgba(47,91,224,.28)}
.bt:hover{background:var(--acc2)}
.bt:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.bt:disabled{background:#B8C0CC;color:#3E4450;box-shadow:none;cursor:default}
.bt.leve{background:rgba(255,255,255,.7);color:var(--ink);border:1px solid rgba(20,30,45,.16);box-shadow:none}
.bt.leve:hover{border-color:var(--acc)}
.link{align-self:center;margin-top:14px;background:none;border:0;padding:4px;color:var(--acc);font-weight:500;font-size:13.5px;font-family:inherit;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.link:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
.msg{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;margin-top:12px}
.msg.er{background:#FCE9E7;border:1px solid #F1B7B0;color:#8E2219}
.msg.av{background:#FDF1DD;border:1px solid #EDC98A;color:#7A4A00}
.empresa{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;margin-top:10px;
  background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.8)}
.logo{width:54px;height:40px;flex:none;border-radius:9px;background:#fff;border:1px solid var(--linha);display:flex;
  align-items:center;justify-content:center;overflow:hidden;font-weight:800;font-size:13px;color:var(--muted)}
.logo img{max-width:100%;max-height:100%;display:block}
.empresa b{display:block;font-size:14.5px;line-height:1.3}
.empresa small{color:var(--muted);font-size:12px}
/* convite do app */
.convite{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));max-width:420px;margin:0 auto;padding:18px;border-radius:20px;
  background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  border:1px solid var(--linha);box-shadow:0 -10px 40px rgba(20,30,45,.18);display:flex;flex-direction:column;gap:12px}
.convite-topo{display:flex;gap:12px;align-items:flex-start}
.convite-topo img{width:44px;height:44px;border-radius:11px;flex:none}
.convite-topo b{display:block;font-size:15px}
.convite-topo small{display:block;color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:2px}
.convite ol{margin:0;padding-left:1.2em;font-size:13.5px;display:flex;flex-direction:column;gap:4px}
.convite-bts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.convite-bts .bt{margin:0;padding:11px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
