/* Rede Pires TI — somente tela de autenticação */
.pires-login.auth-screen{display:block;min-height:100svh;overflow:visible;padding:0;background:#f5f5f6;color:#23252b;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.pires-login *{box-sizing:border-box}
.pires-login-shell{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(400px,.94fr)}
.pires-login-showcase{position:relative;overflow:hidden;min-height:100svh;padding:clamp(28px,4vw,65px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 10% 90%,#65101d 0,transparent 48%),linear-gradient(145deg,#320b16 0%,#740c25 58%,#950c30 100%);color:#fff}
.pires-login-showcase:after{content:"";position:absolute;right:-220px;top:18%;width:550px;height:550px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff04;pointer-events:none}
.pires-showcase-brand,.pires-mobile-top,.pires-panel-logo{display:flex;align-items:center;gap:12px}
.pires-brand-symbol{width:48px;height:48px;background:#fff;border-radius:14px;display:grid;place-items:center;padding:5px}
.pires-brand-symbol img{width:100%;height:100%;object-fit:contain}
.pires-showcase-brand>span:last-child{font-size:16px;letter-spacing:.1em;font-weight:800}
.pires-showcase-brand b{color:#f6bccb}
.pires-showcase-brand small{display:block;font-size:9px;letter-spacing:.2em;color:#e8b6c3;margin-top:4px}
.pires-showcase-content{position:relative;z-index:1;max-width:590px;margin:65px 0}
.pires-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#ffd2df;letter-spacing:.16em;font-size:11px;font-weight:700}
.pires-status-dot{height:8px;width:8px;border-radius:50%;background:#ffb3c5;box-shadow:0 0 0 5px #ffb3c51e}
.pires-showcase-content h1{font-size:clamp(38px,4vw,67px);font-weight:800;line-height:1.09;letter-spacing:-.05em;margin:24px 0 22px;color:#fff}
.pires-showcase-content h1 em{font-style:normal;color:#f6a6bd}
.pires-showcase-content>p{color:#ead0d7;font-size:15px;line-height:1.8;max-width:480px}
.pires-tech-window{margin-top:42px;max-width:480px;border:1px solid #ffffff30;background:#18060e65;backdrop-filter:blur(10px);border-radius:17px;padding:18px 21px;box-shadow:0 20px 60px #25020f55;font:12px/2.2 ui-monospace,Consolas,monospace;color:#f5d9e1}
.pires-tech-top{display:flex;align-items:center;gap:5px;border-bottom:1px solid #ffffff22;margin-bottom:11px;padding-bottom:9px}
.pires-tech-top>span{width:7px;height:7px;border-radius:50%;background:#ff9fa8}
.pires-tech-top>span:nth-child(2){background:#ffcf80}.pires-tech-top>span:nth-child(3){background:#8bdaa1}
.pires-tech-top strong{margin-left:auto;font-size:9px;color:#e1a7b8;letter-spacing:.08em}
.pires-tech-method{color:#a6efb5;font-weight:700;margin-right:10px}.pires-tech-method.post{color:#ffd58f}
.pires-tech-code{float:right;color:#a6efb5}
.pires-showcase-tags{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#f7d4df;font-size:12px}
.pires-showcase-tags i{margin-right:7px}
.pires-showcase-bottom{position:relative;z-index:1;color:#d9a4b5;letter-spacing:.12em;font-size:10px}
.pires-showcase-bottom span{margin:0 9px}
.pires-login-panel{background:#fff;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:36px clamp(28px,5vw,80px)}
.pires-login-inner{width:100%;max-width:420px;margin:auto 0;padding:42px 0}
.pires-panel-logo{margin-bottom:40px;color:#3b1621;font-weight:800;font-size:17px;letter-spacing:.05em}
.pires-panel-logo img{width:56px;height:56px;object-fit:contain}
.pires-panel-logo b{color:#970f35}
.pires-section-label{display:inline-block;color:#97143a;font-weight:800;font-size:11px;letter-spacing:.14em;margin-bottom:12px}
.pires-login-inner h2{color:#20212a;font-size:clamp(27px,2.6vw,35px);letter-spacing:-.045em;line-height:1.18;font-weight:800;margin:0 0 12px}
.pires-panel-intro{font-size:14px;line-height:1.7;color:#777b86;margin:0 0 30px}
.pires-login .pires-auth-form{display:grid;gap:19px}
.pires-login .pires-auth-form label{font-size:13px;font-weight:650;color:#3c404a;display:grid;gap:9px}
.pires-login .pires-auth-form .form-control{min-height:52px!important;background:#fafafb!important;border:1px solid #e1e2e7!important;color:#232630!important;border-radius:12px!important;font-size:14px!important;padding:13px 15px!important;box-shadow:none!important}
.pires-login .pires-auth-form .form-control::placeholder{color:#a1a4ae}
.pires-login .pires-auth-form .form-control:focus{border-color:#aa1944!important;box-shadow:0 0 0 4px #aa194415!important}
.pires-turnstile-wrap{display:flex;justify-content:center;align-items:center;max-width:100%;min-height:70px;overflow:visible}
.pires-turnstile-wrap .cf-turnstile{display:flex;justify-content:center;max-width:100%}
.pires-login .pires-submit{width:100%;min-height:53px;border:0;border-radius:12px;background:linear-gradient(100deg,#8d1032,#ba194b);color:#fff;font-weight:750;font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 12px 24px #8d103229;transition:transform .2s,filter .2s;cursor:pointer}
.pires-login .pires-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}
.pires-login .pires-submit:focus-visible{outline:3px solid #b81b4c;outline-offset:3px}
.pires-login-trust{margin-top:27px;padding-top:22px;border-top:1px solid #edeef1;color:#8a8e97;text-align:center;font-size:11px}
.pires-login-trust i{color:#a51641}.pires-login-trust span{margin:0 7px}
.pires-login-footer{color:#a1a3ab;font-size:11px;text-align:center}
.pires-mobile-top{display:none}
.pires-login .app-alert{font-size:13px;padding:12px 14px;margin:0 0 20px}
.pires-login .password-settings-card{margin:0 0 25px}
@media(max-width:900px){.pires-login-shell{grid-template-columns:minmax(0,1fr)}.pires-login-showcase{display:none}.pires-login-panel{min-height:100svh}}
@media(max-width:600px){
.pires-login.auth-screen{background:#fff}
.pires-login-panel{min-height:100svh;padding:0 22px max(20px,env(safe-area-inset-bottom));justify-content:flex-start}
.pires-mobile-top{display:flex;width:calc(100% + 44px);margin:0 -22px;padding:calc(18px + env(safe-area-inset-top)) 22px 18px;border-bottom:1px solid #f0e8eb;gap:10px}
.pires-mobile-top>img{height:46px;width:46px;object-fit:contain}
.pires-mobile-top>span:nth-child(2){display:flex;flex-direction:column;line-height:1.25}
.pires-mobile-top strong{font-size:15px;color:#4c1424}
.pires-mobile-top small{font-size:9px;letter-spacing:.09em;color:#9b7d86;margin-top:3px}
.pires-mobile-lock{margin-left:auto;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f9edf1;color:#97143a}
.pires-login-inner{margin:0;width:100%;max-width:none;padding:clamp(26px,7vh,62px) 0 32px}
.pires-panel-logo{display:none}
.pires-login-inner h2{font-size:30px}
.pires-panel-intro{font-size:14px;margin-bottom:29px}
.pires-login .pires-auth-form{gap:18px}
.pires-login .pires-auth-form .form-control{min-height:54px!important;font-size:16px!important}
.pires-login .pires-submit{min-height:56px;font-size:15px;border-radius:14px}
.pires-login-trust{margin-top:29px}
.pires-login-footer{margin:auto 0 0;padding:24px 0 5px;font-size:10px}
}
@media(max-width:350px){.pires-login-panel{padding-left:14px;padding-right:14px}.pires-mobile-top{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.pires-turnstile-wrap{overflow-x:auto;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.pires-login .pires-submit{transition:none}}

/* v2: desktop compacto à direita; mobile sem largura fixa */
@media (min-width: 901px) {
  .pires-login.auth-screen { width:100% !important; max-width:none !important; margin:0 !important; }
  .pires-login .pires-login-shell { width:100%; min-height:100svh; grid-template-columns:minmax(0, 1fr) clamp(360px, 31vw, 440px) !important; }
  .pires-login .pires-login-showcase { min-width:0; width:100%; }
  .pires-login .pires-login-panel { width:100%; min-width:0; padding:28px clamp(24px, 2.6vw, 40px); }
  .pires-login .pires-login-inner { max-width:360px; padding:26px 0; }
  .pires-login .pires-panel-logo { margin-bottom:26px; }
  .pires-login .pires-panel-intro { margin-bottom:22px; }
  .pires-login .pires-auth-form { gap:15px; }
  .pires-login .pires-auth-form .form-control { min-height:48px!important; }
  .pires-login .pires-submit { min-height:49px; }
}
@media (max-width:900px) {
  html,body { max-width:100%; }
  .pires-login.auth-screen { width:100%!important; max-width:100%!important; margin:0!important; padding:0!important; min-height:100svh!important; overflow-x:hidden!important; }
  .pires-login .pires-login-shell { display:block!important; width:100%!important; max-width:100%!important; min-height:100svh!important; }
  .pires-login .pires-login-showcase { display:none!important; }
  .pires-login .pires-login-panel { width:100%!important; max-width:100%!important; min-width:0!important; min-height:100svh!important; margin:0!important; box-sizing:border-box!important; }
  .pires-login .pires-login-inner { width:100%!important; max-width:420px!important; min-width:0!important; }
  .pires-login .pires-auth-form { width:100%!important; min-width:0!important; }
  .pires-login .pires-auth-form label,.pires-login .pires-auth-form .form-control,.pires-login .pires-submit { width:100%!important; max-width:100%!important; min-width:0!important; }
}
@media (max-width:600px) {
  .pires-login .pires-login-panel { padding-left:20px!important; padding-right:20px!important; }
  .pires-login .pires-login-inner { max-width:100%!important; padding-top:clamp(28px,6vh,55px)!important; }
  .pires-login .pires-mobile-top { width:calc(100% + 40px)!important; margin-left:-20px!important; margin-right:-20px!important; }
  .pires-login .pires-auth-form .form-control { font-size:16px!important; }
  .pires-login .pires-turnstile-wrap { max-width:100%; }
}
@media (max-width:360px) {
  .pires-login .pires-login-panel { padding-left:12px!important; padding-right:12px!important; }
  .pires-login .pires-mobile-top { width:calc(100% + 24px)!important; margin-left:-12px!important; margin-right:-12px!important; }
  .pires-login .pires-turnstile-wrap { overflow-x:auto; }
}

/* v3 — campos com alto contraste e controles de acesso */
.pires-login .pires-auth-form .form-control {
  background:#fff !important;
  border:1.5px solid #9ca3af !important;
  color:#111827 !important;
  box-shadow:0 1px 3px rgba(16,24,40,.08) !important;
  opacity:1 !important;
  -webkit-text-fill-color:#111827;
}
.pires-login .pires-auth-form .form-control::placeholder{color:#667085!important;opacity:1}
.pires-login .pires-auth-form .form-control:hover{border-color:#6b7280!important}
.pires-login .pires-auth-form .form-control:focus{
  background:#fff!important;border-color:#a30e3b!important;
  box-shadow:0 0 0 4px rgba(163,14,59,.14)!important;
  outline:none!important;
}
.pires-login .pires-auth-form .form-control:-webkit-autofill,
.pires-login .pires-auth-form .form-control:-webkit-autofill:hover,
.pires-login .pires-auth-form .form-control:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  -webkit-text-fill-color:#111827!important;
  caret-color:#111827!important;
}
.pires-login .pires-input-wrap{position:relative;display:block;width:100%;min-width:0}
.pires-login .pires-input-wrap .form-control{width:100%!important;padding-right:52px!important}
.pires-login .pires-input-action{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);
  display:grid;place-items:center;width:38px;height:38px;border:0;
  border-radius:10px;background:transparent;color:#6b253c;cursor:pointer;
  z-index:2;transition:background .18s,color .18s;
}
.pires-login .pires-input-action:hover{background:#f8e9ee;color:#90113a}
.pires-login .pires-input-action:focus-visible{outline:2px solid #a30e3b;outline-offset:1px}
.pires-login .pires-input-action[hidden]{display:none!important}
.pires-login .pires-input-action i{font-size:18px}
.pires-login .pires-auth-form label{min-width:0}

/* Anéis interativos, decorativos e sem bloquear o formulário */
.pires-login .pires-login-showcase{isolation:isolate;--ring-x:0px;--ring-y:0px}
.pires-login .pires-login-showcase::after{
  right:-220px;top:18%;width:550px;height:550px;
  transform:translate3d(var(--ring-x),var(--ring-y),0);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
  animation:pires-ring-breathe 8s ease-in-out infinite;
  will-change:transform;
}
.pires-login .pires-login-showcase::before{
  content:"";position:absolute;right:-110px;top:calc(18% + 110px);
  width:330px;height:330px;border:1px solid rgba(255,173,197,.18);
  border-radius:50%;pointer-events:none;z-index:0;
  transform:translate3d(calc(var(--ring-x) * -.5),calc(var(--ring-y) * -.5),0);
  animation:pires-ring-orbit 16s linear infinite;
}
.pires-login .pires-showcase-content,.pires-login .pires-showcase-brand,
.pires-login .pires-showcase-bottom{position:relative;z-index:1}
@keyframes pires-ring-breathe{
  0%,100%{opacity:.55;filter:brightness(1)}
  50%{opacity:1;filter:brightness(1.22)}
}
@keyframes pires-ring-orbit{
  0%{opacity:.35;box-shadow:0 0 0 0 rgba(255,164,190,.02)}
  50%{opacity:.9;box-shadow:0 0 0 35px rgba(255,164,190,.025)}
  100%{opacity:.35;box-shadow:0 0 0 0 rgba(255,164,190,.02)}
}
@media(prefers-reduced-motion:reduce){
  .pires-login .pires-login-showcase::before,
  .pires-login .pires-login-showcase::after{
    animation:none!important;transition:none!important;
    transform:none!important;
  }
}

/* V4 - Globo digital animado, no lugar dos aneis antigos */
.pires-login .pires-login-showcase::before,.pires-login .pires-login-showcase::after{content:none!important;display:none!important;animation:none!important}
.pires-login .pires-login-showcase{isolation:isolate}
.pires-globe-layer{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.pires-globe-layer canvas{position:absolute;right:-11%;top:50%;transform:translateY(-50%);width:min(75%,850px);height:min(85vh,800px);opacity:.94;filter:drop-shadow(0 0 24px rgba(255,125,164,.15))}
.pires-globe-halo{position:absolute;right:-17%;top:50%;transform:translateY(-50%);width:min(77vw,780px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,118,159,.07) 0%,rgba(255,118,159,.03) 40%,transparent 68%);mix-blend-mode:screen}
.pires-login .pires-showcase-content,.pires-login .pires-showcase-brand,.pires-login .pires-showcase-bottom{position:relative;z-index:2}
@media(min-width:901px) and (max-width:1350px){.pires-globe-layer canvas{right:-22%;width:84%;opacity:.7}}
@media(prefers-reduced-motion:reduce){.pires-globe-layer canvas{filter:none}}
