/* ---------- Login em tela cheia (split-screen) ---------- */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;}
@media (max-width:900px){.login-page{grid-template-columns:1fr;}.login-left{display:none;}}

.login-left{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 55%, #001a38 100%);
  padding:56px 60px;display:flex;flex-direction:column;justify-content:center;
  color:var(--white);
  border-top:5px solid var(--orange);
}
.login-left::before{
  content:"";position:absolute;top:-120px;right:-120px;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.06) 0%, transparent 70%);
}
.login-left::after{
  content:"";position:absolute;bottom:-160px;left:-100px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,102,0,.08) 0%, transparent 70%);
}
.login-left-inner{position:relative;}
.login-left-footer{position:absolute;left:60px;right:60px;bottom:32px;}
.login-left h1{font-size:clamp(28px,3.4vw,38px);line-height:1.18;margin-bottom:16px;color:var(--white);}
.login-left h1 em{font-style:normal;color:var(--orange);}
.login-left-inner > p{color:rgba(255,255,255,.65);font-size:15px;max-width:420px;margin-bottom:32px;line-height:1.6;}

.login-stats{display:flex;gap:0;margin-bottom:40px;}
.login-stat{padding-right:28px;margin-right:28px;border-right:1px solid rgba(255,255,255,.14);}
.login-stat:last-child{border-right:none;margin-right:0;padding-right:0;}
.login-stat strong{display:block;font-family:var(--display);font-size:24px;color:var(--orange);}
.login-stat span{font-size:11.5px;color:rgba(255,255,255,.45);white-space:nowrap;}

.login-timeline{position:relative;display:flex;flex-direction:column;gap:22px;}
.login-timeline::before{
  content:"";position:absolute;left:15px;top:8px;bottom:8px;width:1px;
  background:linear-gradient(to bottom, rgba(255,255,255,.2), rgba(255,255,255,.03));
}
.login-timeline-item{display:flex;align-items:flex-start;gap:16px;position:relative;}
.login-timeline-icon{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;position:relative;z-index:1;
  background:var(--navy-deep);border:1px solid rgba(255,255,255,.2);color:var(--orange);
  display:flex;align-items:center;justify-content:center;
}
.login-timeline-item strong{display:block;font-size:13.8px;color:var(--white);font-family:var(--display);margin-bottom:1px;}
.login-timeline-item span{font-size:12.3px;color:rgba(255,255,255,.48);}

.login-left-footer{font-size:12px;color:rgba(255,255,255,.35);}

.login-right{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--surface);}
.login-form-wrap{
  max-width:380px;width:100%;
  background:var(--white);border:1px solid var(--border);border-radius:16px;
  padding:44px 40px;box-shadow:0 30px 70px -30px rgba(0,31,64,.25);
}
.login-logo{height:72px;display:block;margin:0 auto 28px;}
.login-form-wrap h2{font-size:24px;margin-bottom:6px;}
.login-form-wrap .subtitle{color:var(--text-muted);font-size:14px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border);}
.input-icon-field{position:relative;}
.input-icon-field svg.icon-left{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;}
.input-icon-field input{padding-left:42px;}
.input-icon-field.has-toggle input{padding-right:42px;}
.toggle-password{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;
  color:var(--text-muted);cursor:pointer;padding:4px;display:flex;
}
.toggle-password:hover{color:var(--navy);}
.login-footnote{text-align:center;font-size:13px;color:var(--text-muted);margin-top:16px;}
.login-footnote a{color:var(--orange-text);font-weight:600;}
.login-wordmark{
  text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  color:var(--text-muted);margin-top:30px;text-transform:uppercase;
}

/* ---------- Tela de carregamento pós-login ---------- */
.loading-overlay{
  position:fixed;inset:0;z-index:500;overflow:hidden;
  background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 55%, #001a38 100%);
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  opacity:0;transition:opacity .3s ease;
}
.loading-overlay.show{display:flex;}
.loading-overlay.visible{opacity:1;}

.loading-glow-1{
  position:absolute;top:-140px;right:-140px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,102,0,.10) 0%, transparent 70%);
}
.loading-glow-2{
  position:absolute;bottom:-160px;left:-120px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.06) 0%, transparent 70%);
}

.loading-ring{position:relative;margin-bottom:6px;}
.loading-ring svg{transform:rotate(-90deg);}
.loading-ring-arc{
  stroke-dasharray:163;stroke-dashoffset:163;
  transition:stroke-dashoffset 5s linear;
}
.loading-overlay.visible .loading-ring-arc{stroke-dashoffset:0;}

.loading-wordmark{
  position:relative;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.06em;
  color:var(--white);
}
.loading-text{position:relative;color:rgba(255,255,255,.55);font-size:13.5px;font-family:var(--body);margin-top:-8px;}

.loading-bar-row{position:relative;display:flex;align-items:center;gap:12px;margin-top:14px;}
.loading-bar-track{
  width:220px;height:4px;border-radius:4px;background:rgba(255,255,255,.15);overflow:hidden;
}
.loading-bar-fill{
  width:0%;height:100%;background:var(--orange);border-radius:4px;
  transition:width 5s linear;
}
.loading-percent{
  font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.5);min-width:34px;
}
