/* Portal Avero — login da equipe (sem ?empresa=). Referência visual aprovada em 30/09/2026:
   vitrine da marca à esquerda ("Ideias que movem negócios.") e cartão de vidro à direita,
   sobre fundo azul-marinho com arcos luminosos azul e laranja. O login de empresa cliente
   (?empresa=) não usa estas regras e segue o layout dividido do próprio login.html. */
.arcs,.restrito,.portal-logo,.showcase-points{display:none}
.wordmark{display:none}
.card-brand{display:none}
.field-icon{display:none}
button.link-muted{padding:0;border:0;background:none;cursor:pointer}

.portal-login{background:#01040c}
/* Tela de login não rola: tudo cabe em uma tela (medidas em vh) e o excesso é cortado, nunca rolado. */
html:has(body.portal-login){overflow:hidden;height:100%}
.portal-login{overflow:hidden;height:100svh}
.portal-login .page{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);height:100svh;min-height:0;padding:0;overflow:hidden;align-items:stretch}
.portal-login .page::before{background:radial-gradient(ellipse at 12% 8%,#0a3a9a59,transparent 46%),radial-gradient(ellipse at 88% 100%,#b5400f40,transparent 42%),radial-gradient(ellipse at 60% 50%,#06142e,transparent 70%),#01040c}

/* arcos luminosos de fundo */
.portal-login .arcs{display:block;position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.portal-login .arc{position:absolute;border-radius:50%;border:2px solid transparent;background:none}
.portal-login .a1{width:96vw;height:96vw;left:-2vw;top:-78vw;border-color:#2d8cff99;box-shadow:0 0 70px 4px #1660ff73,inset 0 -40px 140px #0e46ff40}
.portal-login .a2{width:58vw;height:58vw;left:28vw;top:38vh;border-color:#ff8a3cb3;box-shadow:0 0 60px 4px #ff6a1f66,inset 0 0 120px #ff5a1f2e}
.portal-login .a3{width:78vw;height:78vw;left:-26vw;top:78vh;border-color:#2d8cffb3;box-shadow:0 0 60px 4px #1660ff66,inset 0 0 120px #0e46ff33}
.portal-login .a4{width:30vw;height:30vw;right:-14vw;top:-10vw;border-color:#ff8a3c99;box-shadow:0 0 50px 2px #ff6a1f59,inset 0 0 90px #ff5a1f33}

.portal-login .restrito{display:inline-flex;align-items:center;gap:10px;position:absolute;top:clamp(22px,4vh,44px);right:clamp(24px,4vw,64px);z-index:3;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#d5dcea}
.portal-login .restrito svg{color:#ff9b42}
.portal-login .back-home{display:none}

/* lado esquerdo */
.portal-login .showcase{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,5vh,56px);padding:clamp(32px,6vh,72px) clamp(32px,6vw,112px);border:0;overflow:visible;pointer-events:auto}
.portal-login .showcase::before{display:none}
.portal-login .showcase .brand{width:auto}
.portal-login .portal-logo{display:block;width:clamp(140px,13vw,250px);height:auto;filter:drop-shadow(0 0 18px #1d6bff47)}
.portal-login .showcase .brand>:not(.portal-logo){display:none!important}
.portal-login .showcase-copy{max-width:640px}
.portal-login .showcase-copy .eyebrow{display:none;position:relative;padding-top:26px;font-size:clamp(10px,.95vw,13px);letter-spacing:.3em;font-weight:500;color:#c6cedd}
.portal-login .showcase-copy .eyebrow::before{content:"";position:absolute;top:0;left:0;width:72px;height:3px;border-radius:3px;background:linear-gradient(90deg,#1d7bff,#ff8a2a)}
.portal-login .showcase-copy h1{margin-top:0;font-size:clamp(44px,min(5.6vw,10.5vh),96px);line-height:.98;letter-spacing:-.055em;font-weight:800}
.portal-login .showcase-copy h1 em{background:linear-gradient(90deg,#ff6a1f,#ffa03c);-webkit-background-clip:text;background-clip:text;color:transparent}
.portal-login .showcase-copy>p{max-width:none;margin-top:clamp(22px,3.5vh,38px);font-size:clamp(14px,1.25vw,19px);line-height:1.7;color:#b9c2d3}
.portal-login .showcase-metrics{display:none}
.portal-login .showcase-points{display:none;gap:clamp(24px,4vw,64px);margin:clamp(28px,5vh,56px) 0 0;padding:0;list-style:none}
.portal-login .showcase-points li{display:flex;flex-direction:column;gap:12px;font-size:clamp(13px,1vw,15px);line-height:1.35;color:#e6ebf5}
.portal-login .showcase-points svg{width:clamp(36px,3.2vw,48px);height:auto}
.portal-login .showcase-points .s-b{stroke:#2d8cff}
.portal-login .showcase-points .s-o{stroke:#ff8a2a}
.portal-login .showcase-foot{display:none}
body[data-client-login="true"] .showcase-points{display:none}

/* lado direito: cartão de vidro */
.portal-login .panel{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:auto;height:100svh;min-height:0;padding:clamp(56px,8vh,110px) clamp(20px,4vw,72px) clamp(20px,4vh,56px)}
.portal-login .form-card{position:relative;isolation:isolate;width:100%;max-width:580px;margin:0;padding:clamp(26px,4.4vh,46px) clamp(28px,3.6vw,54px) clamp(26px,4vh,42px);border:1.5px solid transparent;border-radius:30px;
  background:linear-gradient(150deg,#0c2452c7,#070f22d9 55%,#140d12d1) padding-box,linear-gradient(140deg,#3b95ff,#1a4fa8 28%,#2a2f3c 52%,#ff9340) border-box;
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:-24px 18px 80px #0a50ff24,26px 26px 90px #ff5a1f26,inset 0 1px 0 #ffffff14}
.portal-login .form-card::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 0,#ff8a3c24,transparent 42%),radial-gradient(ellipse at 0 100%,#2d8cff1f,transparent 42%)}
/* a logo já aparece na vitrine à esquerda; dentro do cartão só entra no celular, onde a vitrine some */
.portal-login .card-brand{display:none;justify-content:center;margin-bottom:clamp(14px,2.6vh,26px)}
.portal-login .card-brand img{width:clamp(190px,17vw,280px);height:auto;filter:drop-shadow(0 0 18px #1d6bff47)}
.portal-login .form-head{text-align:center;margin-bottom:clamp(18px,3vh,30px)}
.portal-login .form-head span{display:none}
.portal-login .form-head h2{margin:0;font-size:clamp(26px,2.5vw,36px);line-height:1.1;letter-spacing:-.035em;font-weight:800}
.portal-login .form-head p{margin:12px auto 0;max-width:380px;font-size:clamp(13.5px,1.1vw,16px);line-height:1.55;color:#aeb8cb;letter-spacing:0}
.portal-login form{display:flex;flex-direction:column;gap:clamp(14px,2.4vh,22px)}
.portal-login .field label{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;color:#eef2fa}
.portal-login .field-icon{display:block;width:21px;height:21px;color:#2d8cff}
.portal-login .field input{height:clamp(50px,7vh,62px);padding:0 52px 0 20px;border-radius:13px;border:1px solid #8aa6d733;background:#050d1cb3;box-shadow:inset 0 1px 6px #00000059;font-size:15px;color:#fff}
.portal-login .field input::placeholder{color:#7383a0}
.portal-login .field input:hover{border-color:#8aa6d759}
.portal-login .field input:focus{outline:none;border-color:#2d8cff;background:#06122acc;box-shadow:0 0 0 4px #2d8cff24}
.portal-login .field .toggle-pass{right:14px;color:#9eabc2}
.portal-login .field .toggle-pass:hover{color:#fff}
.portal-login .row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;min-height:0}
.portal-login .checkbox{display:inline-flex;align-items:center;gap:12px;font-size:14px;color:#dfe5f1}
.portal-login .checkbox input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border-radius:5px;border:1.5px solid #2d8cff;background:transparent;cursor:pointer;display:grid;place-items:center}
.portal-login .checkbox input:checked{background:#2d8cff}
.portal-login .checkbox input:checked::after{content:"";width:5px;height:10px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.portal-login .link-muted{font-size:14px;color:#ff9b42}
.portal-login .link-muted::after{background:#ff9b42}
.portal-login .link-muted:hover{color:#ffb56b}
.portal-login .btn.primary{gap:12px;min-height:clamp(52px,7.4vh,64px);margin-top:4px;border:0;border-radius:15px;background:#ff5a1f;box-shadow:0 10px 30px #ff5a1f40;font-size:18px;font-weight:700;color:#fff;letter-spacing:.01em;transition:transform .2s,box-shadow .2s,filter .2s}
.portal-login .btn.primary:hover{transform:translateY(-2px);background:#ff6a33;box-shadow:0 14px 36px #ff5a1f59}
.portal-login .btn.primary .arrow{flex:none}
.portal-login .divider{display:flex;align-items:center;gap:16px;margin:clamp(16px,2.6vh,26px) 0;font-size:14px;letter-spacing:0;text-transform:none;color:#9eabc2}
.portal-login .divider::before,.portal-login .divider::after{background:#8aa6d72e}
.portal-login .sso{display:block}
.portal-login .sso .btn{gap:14px;min-height:clamp(50px,7vh,62px);border-radius:14px;border:1px solid #8aa6d733;background:#0a1530a6;font-size:16px;font-weight:500;color:#fff}
.portal-login .sso .btn:hover{border-color:#8aa6d780;background:#0e1c3bb3}
.portal-login .form-foot{display:none}
.portal-login .error-msg.show{margin-bottom:16px}

@media(max-width:1000px){
  .portal-login .card-brand{display:flex}
  .portal-login .page{grid-template-columns:1fr}
  .portal-login .showcase{display:none}
  .portal-login .restrito{top:22px;right:22px;font-size:10px}
  .portal-login .panel{padding:70px 16px 32px}
  .portal-login .form-card{max-width:520px;border-radius:24px}
  .portal-login .a1{width:160vw;height:160vw;left:-30vw;top:-130vw}
  .portal-login .a2{width:110vw;height:110vw;left:30vw;top:60vh}
  .portal-login .a3{width:140vw;height:140vw;left:-60vw;top:95vh}
}
@media(max-width:480px){.portal-login .form-card{padding:26px 20px 24px}}
@media(prefers-reduced-motion:reduce){.portal-login .btn.primary{transition:none}}

/* telas baixas: compacta o cartão para o formulário inteiro caber sem rolagem */
@media(max-height:780px){
  .portal-login .card-brand{margin-bottom:10px}.portal-login .card-brand img{width:150px}
  .portal-login .form-head{margin-bottom:14px}.portal-login .form-head p{margin-top:8px;font-size:13px}
  .portal-login form{gap:12px}.portal-login .field label{margin-bottom:6px;font-size:14px}
  .portal-login .field input,.portal-login .sso .btn{height:46px;min-height:46px}
  .portal-login .btn.primary{min-height:48px;font-size:16px}
  .portal-login .divider{margin:12px 0}
}
@media(max-height:640px){
  .portal-login .panel{padding-top:44px}
  .portal-login .card-brand{display:none}
  .portal-login .form-card{padding-top:20px;padding-bottom:18px}
  .portal-login .form-head p{display:none}
}

/* ---------- acabamento premium (30/09/2026): só refinamentos, mesmo layout ---------- */
/* textura: grade finíssima + vinheta, dão profundidade sem aparecer */
.portal-login .page::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(#ffffff05 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,#ffffff05 1px,transparent 1px) 0 0/56px 56px;
  -webkit-mask-image:radial-gradient(ellipse at 40% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 40% 45%,#000 20%,transparent 75%)}
.portal-login .arcs::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 55%,#01040ccc 100%)}
.portal-login .arc{border-width:1.5px}
/* título com leve brilho metálico */
.portal-login .showcase-copy h1{background:linear-gradient(180deg,#ffffff 30%,#c9d6ee 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.portal-login .showcase-copy h1 em{-webkit-text-fill-color:transparent}
.portal-login .showcase-copy>p{color:#a9b4c8;font-weight:400}
/* selo "acesso restrito" em vidro */
.portal-login .restrito{padding:8px 14px;border-radius:99px;border:1px solid #ffffff14;background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:10.5px;font-weight:600}
/* cartão: borda mais fina, reflexo no topo, sombra em camadas */
.portal-login .form-card{border-width:1px;box-shadow:0 1px 0 #ffffff1a inset,0 30px 80px -20px #000000b3,-30px 20px 90px -30px #1f6bff40,30px 30px 90px -30px #ff6a1f38}
.portal-login .form-card::after{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,#ffffff59,transparent);pointer-events:none}
.portal-login .form-head h2{letter-spacing:-.04em;font-weight:800}
.portal-login .form-head p{color:#9ba7bd}
/* campos: rótulos mais discretos e foco mais elegante */
.portal-login .field label{font-size:13px;font-weight:600;letter-spacing:.01em;color:#cfd7e6}
.portal-login .field-icon{width:18px;height:18px;opacity:.95}
.portal-login .field input{transition:border-color .2s,box-shadow .2s,background .2s;letter-spacing:.01em}
.portal-login .field input:focus{border-color:#ff7a3a;box-shadow:0 0 0 4px #ff5a1f1f,0 0 24px -6px #ff5a1f66;background:#081326d9}
/* botão: laranja sólido com reflexo sutil e toque tátil */
.portal-login .btn.primary{box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #0000001f,0 12px 28px -10px #ff5a1f99;letter-spacing:.015em}
.portal-login .btn.primary:hover{box-shadow:inset 0 1px 0 #ffffff4d,0 16px 34px -10px #ff5a1fb3}
.portal-login .btn.primary:active{transform:translateY(0) scale(.99)}
.portal-login .btn.primary .arrow{transition:transform .2s}
.portal-login .btn.primary:hover .arrow{transform:translateX(3px)}
.portal-login .sso .btn{font-weight:500;transition:border-color .2s,background .2s}
/* entrada suave */
@keyframes lp-sobe{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.portal-login .showcase-copy,.portal-login .portal-logo{animation:lp-sobe .7s cubic-bezier(.2,.8,.2,1) both}
.portal-login .showcase-copy{animation-delay:.08s}
.portal-login .form-card{animation:lp-sobe .7s cubic-bezier(.2,.8,.2,1) .15s both}
@media(prefers-reduced-motion:reduce){.portal-login .showcase-copy,.portal-login .portal-logo,.portal-login .form-card{animation:none}}
/* o texto com gradiente (background-clip:text) só pinta dentro da caixa do título; o respiro
   embaixo evita cortar a perna do "g" e do "ç" na última linha */
.portal-login .showcase-copy h1{padding-bottom:.16em;margin-bottom:-.16em}
