/* Ecrã de entrada (login) — marca v2.1. Ficheiro próprio: nada aqui depende das regras antigas .login-screen/.login-card.
   Markup em index.html (#loginScreen.acesso) e brandPanelHtml("acesso") no app.js; animação em startLoginSplash().
   Telemóvel: cabeçalho da marca + cartão com o formulário. Desktop (>900px): painel da marca à esquerda, formulário à direita. */
.acesso{
  --a-fundo:var(--marca-floresta,#06251f);
  --a-menta:var(--marca-menta,#2fd294);
  --a-menta-clara:var(--marca-menta-clara,#9af0cb);
  --a-verde:var(--marca-verde,#007356);
  --a-verde-digital:var(--marca-verde-digital,#00a86b);
  --a-sup:var(--surface,#fff);
  --a-sup-2:color-mix(in srgb,var(--surface-2,#f1f4f3) 100%,transparent);
  --a-texto:var(--text,#101a17);
  --a-suave:var(--muted,#5c6b66);
  --a-linha:var(--line,#dde4e1);
  --a-ease:cubic-bezier(.2,.8,.2,1);
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--a-sup);color:var(--a-texto);
  font-family:var(--marca-fonte-texto,'Inter',system-ui,sans-serif);position:relative;isolation:isolate
}
.acesso[hidden]{display:none!important}
html:has(#loginScreen.acesso:not([hidden])){background:linear-gradient(180deg,var(--marca-floresta,#06251f) 50%,var(--surface,#fff) 50%)!important;border-top:0!important;height:auto!important;overflow:auto!important}
html:has(#loginScreen.acesso:not([hidden])) body{background:transparent!important;overflow:visible!important}

/* ---------- cabeçalho da marca ---------- */
.acesso-marca{position:relative;z-index:2;background:var(--a-fundo);color:#fff;overflow:hidden;
  padding:calc(env(safe-area-inset-top,0px) + 28px) 24px 52px;display:flex;flex-direction:column;align-items:center;gap:18px}
.acesso-marca-luz{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 70% at 85% 110%,color-mix(in srgb,var(--a-verde-digital) 30%,transparent),transparent 65%),
             radial-gradient(60% 50% at 10% -10%,color-mix(in srgb,var(--a-menta) 10%,transparent),transparent 70%)}
.acesso-identidade{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;will-change:transform}
.acesso-simbolo{width:60px;height:60px;display:block}
.acesso-simbolo img{width:100%;height:100%;display:block}
.acesso-nome{margin:12px 0 0;font:800 30px/1 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.025em;color:#fff}
.acesso-nome .e-modular{fill:var(--a-menta)}
.acesso-assinatura{margin:9px 0 0;font:600 10.5px/1.2 var(--marca-fonte-texto,'Inter',sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--a-menta-clara)}
.acesso-org{position:relative;margin:0;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;
  background:#ffffff12;border:1px solid #ffffff1a;font:600 12px/1 var(--marca-fonte-texto,'Inter',sans-serif);color:#ffffffd0}
.acesso-org-brasao{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ffffff14;font-size:9px;overflow:hidden}
.acesso-org-brasao img{width:100%;height:100%;object-fit:contain}
.acesso-destaque{display:none}

/* ---------- corpo e formulário ---------- */
.acesso-corpo{position:relative;z-index:3;flex:1 0 auto;display:flex;flex-direction:column;margin-top:-26px;
  background:var(--a-sup);border-radius:26px 26px 0 0;padding:28px 20px calc(18px + env(safe-area-inset-bottom,0px))}
.acesso-form{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.acesso-titulo h2{margin:0;font:800 26px/1.15 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.02em;color:var(--a-texto)}
.acesso-titulo p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--a-suave)}
.acesso-segmentos{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:var(--a-sup-2);border:1px solid var(--a-linha)}
.acesso-segmentos button{appearance:none;border:0;background:transparent;height:40px;border-radius:10px;font:600 14px/1 var(--marca-fonte-texto,'Inter',sans-serif);
  color:var(--a-suave);cursor:pointer;transition:background-color .2s var(--a-ease),color .2s var(--a-ease),box-shadow .2s var(--a-ease)}
.acesso-segmentos button.active{background:var(--a-sup);color:var(--a-texto);box-shadow:0 1px 2px #0000001a,0 2px 8px #0000000f}
.acesso-campos{display:flex;flex-direction:column;gap:14px}
.acesso-campos[hidden]{display:none}
.acesso-campo{display:flex;flex-direction:column;gap:7px}
.acesso-campo>span{font:600 13px/1.2 var(--marca-fonte-texto,'Inter',sans-serif);color:var(--a-texto)}
.acesso-campo input{height:50px;width:100%;border-radius:12px;border:1px solid var(--a-linha);background:var(--a-sup);color:var(--a-texto);
  padding:0 14px;font:400 16px/1 var(--marca-fonte-texto,'Inter',sans-serif);box-shadow:none;outline:none;transition:border-color .15s,box-shadow .15s}
.acesso-campo input::placeholder{color:color-mix(in srgb,var(--a-suave) 65%,transparent)}
.acesso-campo input:focus{border-color:var(--a-verde-digital);box-shadow:0 0 0 4px color-mix(in srgb,var(--a-verde-digital) 18%,transparent)}
.acesso-lembrar{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--a-suave);cursor:pointer;min-height:24px}
.acesso-lembrar input{width:20px;height:20px;margin:0;accent-color:var(--a-verde);flex:0 0 auto}
.acesso-botao{appearance:none;border:0;height:52px;border-radius:14px;background:var(--a-verde);color:#fff;cursor:pointer;
  font:700 16px/1 var(--marca-fonte-texto,'Inter',sans-serif);letter-spacing:.01em;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--a-verde) 70%,transparent);
  transition:background-color .15s,transform .1s}
.acesso-botao:hover{background:color-mix(in srgb,var(--a-verde) 88%,#000)}
.acesso-botao:active{transform:scale(.99)}
.acesso-botao:disabled{opacity:.6;cursor:progress}
.acesso :is(button,input):focus-visible{outline:3px solid color-mix(in srgb,var(--a-verde-digital) 55%,transparent);outline-offset:2px}
.acesso .login-alert{margin:0}
.acesso-rodape{margin-top:auto;padding-top:28px;text-align:center}
.acesso-privacidade{appearance:none;border:0;background:none;padding:8px;font-size:13px;color:var(--a-suave);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---------- desktop ---------- */
@media (min-width:901px){
  .acesso{flex-direction:row;min-height:100vh}
  html:has(#loginScreen.acesso:not([hidden])){background:var(--surface,#fff)!important}
  .acesso-marca{flex:1 1 56%;align-items:flex-start;justify-content:space-between;gap:40px;padding:48px clamp(40px,5vw,72px);min-height:100vh}
  .acesso-identidade{align-items:flex-start;text-align:left}
  .acesso-simbolo{width:56px;height:56px}
  .acesso-nome{font-size:34px;margin-top:16px}
  .acesso-destaque{display:grid;gap:24px;max-width:560px;position:relative}
  .acesso-frase{margin:0;font:700 clamp(26px,2.6vw,36px)/1.2 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.02em;color:#fff;max-width:20ch;text-wrap:balance}
  .acesso-modulos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .acesso-modulos li{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;background:#ffffff0b;border:1px solid #ffffff14}
  .acesso-modulos svg{width:34px;height:34px;flex:0 0 auto}
  .acesso-modulos strong{display:block;font-size:14px;font-weight:600;color:#fff}
  .acesso-modulos small{display:block;font-size:12px;color:#ffffffa0;margin-top:2px}
  .acesso-corpo{flex:0 0 min(520px,44%);margin:0;border-radius:0;justify-content:center;padding:48px clamp(32px,4vw,64px)}
  .acesso-form{margin:auto 0;max-width:400px;align-self:center}
  .acesso-rodape{margin-top:0;padding-top:20px}
}
@media (min-width:901px) and (max-width:1180px){.acesso-modulos{grid-template-columns:minmax(0,1fr)}}

/* ---------- entrada ---------- */
/* Browser: aparecimento suave. App instalada: a cortina floresta cobre o ecrã com a identidade ao centro (igual à imagem de
   arranque do iOS) e recolhe até ao cabeçalho enquanto a identidade sobe para o seu lugar (startLoginSplash). */
@keyframes acessoSobe{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.acesso.acesso-entra .acesso-identidade{animation:acessoSobe .55s var(--a-ease) both}
.acesso.acesso-entra .acesso-org,.acesso.acesso-entra .acesso-destaque{animation:acessoSobe .55s var(--a-ease) .08s both}
.acesso.acesso-entra .acesso-form>*{animation:acessoSobe .5s var(--a-ease) both}
.acesso.acesso-entra .acesso-form>*:nth-child(2){animation-delay:.05s}
.acesso.acesso-entra .acesso-form>*:nth-child(n+3){animation-delay:.1s}
.acesso-cortina{position:fixed;inset:0;z-index:2;background:var(--marca-floresta,#06251f);pointer-events:none;will-change:clip-path}
.acesso.acesso-intro .acesso-marca{background:transparent}
.acesso.acesso-intro .acesso-marca-luz,.acesso.acesso-intro .acesso-assinatura,.acesso.acesso-intro .acesso-org{opacity:0}
.acesso.acesso-intro .acesso-corpo{opacity:0;transform:translateY(28px)}
.acesso.acesso-intro-corre .acesso-marca-luz,.acesso.acesso-intro-corre .acesso-assinatura,.acesso.acesso-intro-corre .acesso-org{opacity:1;transition:opacity .5s var(--a-ease) .35s}
.acesso.acesso-intro-corre .acesso-corpo{opacity:1;transform:none;transition:opacity .55s var(--a-ease) .3s,transform .7s var(--a-ease) .3s}
@media (prefers-reduced-motion:reduce){
  .acesso *,.acesso-cortina{animation:none!important;transition:none!important}
}

/* iOS 26 (app instalada): a zona da barra de estado ganha a cor do fundo do html ou de um elemento fixo no topo. Com um
   degradê no html o sistema desenhava um esbatido claro; fica uma cor sólida e uma faixa fixa da cor da marca. */
@media (max-width:900px){
  html:has(#loginScreen.acesso:not([hidden])){background:var(--marca-floresta,#06251f)!important;background-color:var(--marca-floresta,#06251f)!important}
  .acesso::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--marca-floresta,#06251f);z-index:20;pointer-events:none}
  .acesso{background:var(--marca-floresta,#06251f)}
}

/* Desktop sem a lista de modulos: a identidade fica centrada na vertical, maior, e a organizacao no fundo */
@media (min-width:901px){
  .acesso-identidade{margin:auto 0}
  .acesso-simbolo{width:72px;height:72px}
  .acesso-nome{font-size:44px;margin-top:20px}
  .acesso-assinatura{font-size:12px;margin-top:12px}
}

/* Desktop: painel da marca com ilustracao (camadas isometricas a flutuar), cartao de vidro com a hora real e frase */
.acesso-arte,.acesso-frase-2{display:none}
@media (min-width:901px){
  .acesso-marca{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto;align-items:start;justify-items:start;gap:28px}
  .acesso-marca::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
    background-image:radial-gradient(circle,#ffffff1f 1px,transparent 1.5px);background-size:22px 22px;
    -webkit-mask-image:radial-gradient(70% 60% at 60% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(70% 60% at 60% 45%,#000 20%,transparent 75%)}
  .acesso-identidade{margin:0!important;flex-direction:row!important;align-items:center!important;gap:14px;text-align:left}
  .acesso-simbolo{width:46px!important;height:46px!important}
  .acesso-identidade .acesso-nome{font-size:26px!important;margin:0!important}
  .acesso-identidade .acesso-assinatura{display:none}
  .acesso-arte{display:block;position:relative;justify-self:center;align-self:center;width:min(100%,520px)}
  .acesso-arte-camadas{width:100%;height:auto;display:block;overflow:visible}
  .ac-camada{animation:acFlutua 6s ease-in-out infinite}
  .ac-c2{animation-delay:-2s}.ac-c3{animation-delay:-4s}
  @keyframes acFlutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .acesso-arte-cartao{position:absolute;right:-4%;top:6%;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;
    background:color-mix(in srgb,#ffffff 9%,transparent);border:1px solid #ffffff24;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 18px 40px -18px #000a;color:#fff;animation:acFlutua 7s ease-in-out infinite -1s}
  .acesso-arte-cartao strong{display:block;font:800 26px/1 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .acesso-arte-cartao small{display:block;margin-top:5px;font-size:12px;color:#ffffffb0}
  .acesso-arte-cartao small::first-letter{text-transform:uppercase}
  .acesso-arte-ponto{width:10px;height:10px;border-radius:50%;background:var(--marca-menta,#2fd294);box-shadow:0 0 0 4px #2fd29433;flex:0 0 auto}
  .acesso-frase-2{display:block;position:relative;margin:0;font:700 clamp(28px,2.6vw,40px)/1.15 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.025em;color:#fff}
  .acesso-org{align-self:end}
}
@media (min-width:901px) and (prefers-reduced-motion:reduce){.ac-camada,.acesso-arte-cartao{animation:none}}

/* Desktop v2: grelha do painel - identidade | hora / frase | ilustracao / organizacao | ligacao segura */
.acesso-hora,.acesso-seguro,.acesso-frase-bloco{display:none}
@media (min-width:901px){
  .acesso-marca{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;grid-template-rows:auto 1fr auto!important;
    grid-template-areas:"ident hora" "frase arte" "org seguro";column-gap:clamp(24px,3vw,48px)!important;row-gap:24px!important;align-items:center!important}
  .acesso-identidade{grid-area:ident;align-self:start}
  .acesso-hora{grid-area:hora;justify-self:end;align-self:start;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 14px;border-radius:14px;
    background:color-mix(in srgb,#ffffff 8%,transparent);border:1px solid #ffffff1f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;position:relative}
  .acesso-hora strong{display:block;font:800 20px/1 var(--marca-fonte-titulos,'Plus Jakarta Sans',sans-serif);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
  .acesso-hora small{display:block;margin-top:4px;font-size:11.5px;color:#ffffffad}
  .acesso-hora small::first-letter{text-transform:uppercase}
  .acesso-frase-bloco{grid-area:frase;display:grid;gap:14px;align-self:center;position:relative}
  .acesso-frase-2{font-size:clamp(30px,3vw,46px)!important;line-height:1.08!important}
  .acesso-frase-sub{margin:0;font-size:15px;line-height:1.5;color:#ffffffb3;max-width:34ch}
  .acesso-arte{grid-area:arte;justify-self:center;align-self:center;width:min(100%,460px)!important}
  .acesso-org{grid-area:org;justify-self:start;align-self:end}
  .acesso-seguro{grid-area:seguro;justify-self:end;align-self:end;display:flex;align-items:center;gap:7px;margin:0;font-size:12px;color:#ffffff8c;position:relative}
  .acesso-seguro svg{width:14px;height:14px}
}
/* computador estreito: ilustracao em cima e frase por baixo */
@media (min-width:901px) and (max-width:1200px){
  .acesso-marca{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto 1fr auto auto!important;
    grid-template-areas:"ident hora" "arte arte" "frase frase" "org seguro"}
  .acesso-arte{width:min(100%,380px)!important}
}

@media (min-width:901px){
  /* frase em 2 linhas: tamanho ajustado a largura da coluna */
  .acesso-frase-2{font-size:clamp(28px,2.5vw,40px)!important}
}

/* Desktop v3: assinatura de volta, hora como etiqueta por cima da frase e separacao em onda entre o painel e o formulario */
.acesso-identidade-texto{display:contents}
@media (min-width:901px){
  .acesso-identidade-texto{display:grid;gap:6px}
  .acesso-identidade .acesso-assinatura{display:block!important;margin:0!important;font-size:10.5px!important;letter-spacing:.18em}
  .acesso-marca{grid-template-areas:"ident ident" "frase arte" "org seguro"!important;padding-right:calc(clamp(40px,5vw,72px) + 70px)!important}
  .acesso-hora{grid-area:auto!important;justify-self:start!important;align-self:auto!important;display:inline-flex!important;align-items:center;gap:10px;margin:0 0 6px;
    padding:8px 14px 8px 12px!important;border-radius:999px!important;background:#ffffff12!important;border:1px solid #ffffff1f!important;backdrop-filter:none!important;width:max-content}
  .acesso-hora strong{font:700 14px/1 var(--marca-fonte-texto,'Inter',sans-serif)!important;letter-spacing:0!important}
  .acesso-hora small{margin:0!important;font-size:13px!important;color:#ffffffb8!important}
  .acesso-hora-sep{width:3px;height:3px;border-radius:50%;background:#ffffff66}
  .acesso-hora .acesso-arte-ponto{width:8px;height:8px;box-shadow:0 0 0 3px #2fd29433}
  /* onda: o formulario "entra" no painel verde com uma curva suave em vez de uma linha reta */
  .acesso-corpo{position:relative;overflow:visible}
  .acesso-corpo::before{content:"";position:absolute;top:0;bottom:0;left:-139px;width:140px;background:var(--a-sup);pointer-events:none;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 1000' preserveAspectRatio='none'%3E%3Cpath d='M140 0H96C38 120 18 230 62 370c46 146 70 250 12 400C46 850 40 930 70 1000h70Z'/%3E%3C/svg%3E") no-repeat 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 1000' preserveAspectRatio='none'%3E%3Cpath d='M140 0H96C38 120 18 230 62 370c46 146 70 250 12 400C46 850 40 930 70 1000h70Z'/%3E%3C/svg%3E") no-repeat 0 0/100% 100%}
}
@media (min-width:901px) and (max-width:1200px){
  .acesso-marca{grid-template-areas:"ident ident" "arte arte" "frase frase" "org seguro"!important}
}
@media (min-width:1201px){
  .acesso-marca{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important}
  .acesso-arte{width:min(100%,400px)!important}
}

/* Desktop v4: hora por baixo da frase; separacao em quadrados (como os modulos do "e") em vez da onda */
@media (min-width:901px){
  .acesso-hora{margin:10px 0 0!important}
  .acesso-corpo::before{left:-175px!important;width:176px!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 176 640'%3E%3Crect x='144' y='0' width='32' height='640'/%3E%3Crect x='116' y='4' width='24' height='24' rx='6'/%3E%3Crect x='116' y='36' width='24' height='24' rx='6'/%3E%3Crect x='116' y='68' width='24' height='24' rx='6'/%3E%3Crect x='116' y='100' width='24' height='24' rx='6'/%3E%3Crect x='116' y='132' width='24' height='24' rx='6'/%3E%3Crect x='116' y='164' width='24' height='24' rx='6'/%3E%3Crect x='116' y='196' width='24' height='24' rx='6'/%3E%3Crect x='116' y='228' width='24' height='24' rx='6'/%3E%3Crect x='116' y='260' width='24' height='24' rx='6'/%3E%3Crect x='116' y='292' width='24' height='24' rx='6'/%3E%3Crect x='116' y='324' width='24' height='24' rx='6'/%3E%3Crect x='116' y='356' width='24' height='24' rx='6'/%3E%3Crect x='116' y='388' width='24' height='24' rx='6'/%3E%3Crect x='116' y='420' width='24' height='24' rx='6'/%3E%3Crect x='116' y='452' width='24' height='24' rx='6'/%3E%3Crect x='116' y='484' width='24' height='24' rx='6'/%3E%3Crect x='116' y='516' width='24' height='24' rx='6'/%3E%3Crect x='116' y='580' width='24' height='24' rx='6'/%3E%3Crect x='116' y='612' width='24' height='24' rx='6'/%3E%3Crect x='84' y='36' width='24' height='24' rx='6'/%3E%3Crect x='84' y='100' width='24' height='24' rx='6'/%3E%3Crect x='84' y='132' width='24' height='24' rx='6'/%3E%3Crect x='84' y='164' width='24' height='24' rx='6'/%3E%3Crect x='84' y='196' width='24' height='24' rx='6'/%3E%3Crect x='84' y='260' width='24' height='24' rx='6'/%3E%3Crect x='84' y='292' width='24' height='24' rx='6'/%3E%3Crect x='84' y='356' width='24' height='24' rx='6'/%3E%3Crect x='84' y='388' width='24' height='24' rx='6'/%3E%3Crect x='84' y='420' width='24' height='24' rx='6'/%3E%3Crect x='84' y='452' width='24' height='24' rx='6'/%3E%3Crect x='84' y='484' width='24' height='24' rx='6'/%3E%3Crect x='84' y='548' width='24' height='24' rx='6'/%3E%3Crect x='84' y='580' width='24' height='24' rx='6'/%3E%3Crect x='84' y='612' width='24' height='24' rx='6'/%3E%3Crect x='52' y='36' width='24' height='24' rx='6'/%3E%3Crect x='52' y='132' width='24' height='24' rx='6'/%3E%3Crect x='52' y='292' width='24' height='24' rx='6'/%3E%3Crect x='52' y='356' width='24' height='24' rx='6'/%3E%3Crect x='52' y='452' width='24' height='24' rx='6'/%3E%3Crect x='52' y='516' width='24' height='24' rx='6'/%3E%3Crect x='20' y='324' width='24' height='24' rx='6'/%3E%3Crect x='20' y='580' width='24' height='24' rx='6'/%3E%3C/svg%3E") repeat-y 0 0/176px 640px!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 176 640'%3E%3Crect x='144' y='0' width='32' height='640'/%3E%3Crect x='116' y='4' width='24' height='24' rx='6'/%3E%3Crect x='116' y='36' width='24' height='24' rx='6'/%3E%3Crect x='116' y='68' width='24' height='24' rx='6'/%3E%3Crect x='116' y='100' width='24' height='24' rx='6'/%3E%3Crect x='116' y='132' width='24' height='24' rx='6'/%3E%3Crect x='116' y='164' width='24' height='24' rx='6'/%3E%3Crect x='116' y='196' width='24' height='24' rx='6'/%3E%3Crect x='116' y='228' width='24' height='24' rx='6'/%3E%3Crect x='116' y='260' width='24' height='24' rx='6'/%3E%3Crect x='116' y='292' width='24' height='24' rx='6'/%3E%3Crect x='116' y='324' width='24' height='24' rx='6'/%3E%3Crect x='116' y='356' width='24' height='24' rx='6'/%3E%3Crect x='116' y='388' width='24' height='24' rx='6'/%3E%3Crect x='116' y='420' width='24' height='24' rx='6'/%3E%3Crect x='116' y='452' width='24' height='24' rx='6'/%3E%3Crect x='116' y='484' width='24' height='24' rx='6'/%3E%3Crect x='116' y='516' width='24' height='24' rx='6'/%3E%3Crect x='116' y='580' width='24' height='24' rx='6'/%3E%3Crect x='116' y='612' width='24' height='24' rx='6'/%3E%3Crect x='84' y='36' width='24' height='24' rx='6'/%3E%3Crect x='84' y='100' width='24' height='24' rx='6'/%3E%3Crect x='84' y='132' width='24' height='24' rx='6'/%3E%3Crect x='84' y='164' width='24' height='24' rx='6'/%3E%3Crect x='84' y='196' width='24' height='24' rx='6'/%3E%3Crect x='84' y='260' width='24' height='24' rx='6'/%3E%3Crect x='84' y='292' width='24' height='24' rx='6'/%3E%3Crect x='84' y='356' width='24' height='24' rx='6'/%3E%3Crect x='84' y='388' width='24' height='24' rx='6'/%3E%3Crect x='84' y='420' width='24' height='24' rx='6'/%3E%3Crect x='84' y='452' width='24' height='24' rx='6'/%3E%3Crect x='84' y='484' width='24' height='24' rx='6'/%3E%3Crect x='84' y='548' width='24' height='24' rx='6'/%3E%3Crect x='84' y='580' width='24' height='24' rx='6'/%3E%3Crect x='84' y='612' width='24' height='24' rx='6'/%3E%3Crect x='52' y='36' width='24' height='24' rx='6'/%3E%3Crect x='52' y='132' width='24' height='24' rx='6'/%3E%3Crect x='52' y='292' width='24' height='24' rx='6'/%3E%3Crect x='52' y='356' width='24' height='24' rx='6'/%3E%3Crect x='52' y='452' width='24' height='24' rx='6'/%3E%3Crect x='52' y='516' width='24' height='24' rx='6'/%3E%3Crect x='20' y='324' width='24' height='24' rx='6'/%3E%3Crect x='20' y='580' width='24' height='24' rx='6'/%3E%3C/svg%3E") repeat-y 0 0/176px 640px!important}
  .acesso-marca{padding-right:calc(clamp(40px,5vw,72px) + 110px)!important}
}
@media (min-width:901px){.acesso-corpo::after{content:"";position:absolute;top:0;bottom:0;left:-3px;width:4px;background:var(--a-sup);pointer-events:none}}

/* Desktop v5: separacao sobria - o formulario e um bloco com cantos arredondados (como os modulos do simbolo),
   ligeiramente sobreposto ao painel verde; sem padrao de quadrados */
@media (min-width:901px){
  .acesso-corpo::before,.acesso-corpo::after{display:none!important;content:none!important}
  .acesso-corpo{margin-left:-44px!important;border-radius:44px 0 0 44px!important;z-index:3;
    box-shadow:-24px 0 60px -30px #00000066,-1px 0 0 #ffffff14!important}
  .acesso-marca{padding-right:calc(clamp(40px,5vw,72px) + 44px)!important}
}

/* "Esqueceu-se do PIN/da palavra-passe?" e formulario de recuperacao */
.acesso-esqueci{appearance:none;border:0;background:none;align-self:center;padding:6px 8px;font:600 14px/1.2 var(--marca-fonte-texto,'Inter',sans-serif);color:var(--a-verde);cursor:pointer;border-radius:8px}
.acesso-esqueci:hover{text-decoration:underline;text-underline-offset:3px}
[data-theme="dark"] .acesso-esqueci{color:var(--marca-menta,#2fd294)}
#acessoRecuperar .login-alert{background:color-mix(in srgb,var(--a-verde-digital) 12%,transparent);color:var(--a-texto);border:0;border-radius:12px;padding:12px 14px;line-height:1.45}

/* rodape do painel: so "Ligacao segura" com cadeado (sem nome/logotipo da empresa) */
.acesso-org-seguro{padding:6px 12px!important;gap:7px!important}.acesso-org-seguro svg{width:14px;height:14px;flex:0 0 auto}
