/* Padrão Links — Autenticação premium PL12A.2.0 */
:root{
  --pla-graphite:#1f2328;
  --pla-deep:#0d1416;
  --pla-deep-2:#121d20;
  --pla-orange:#ff7a00;
  --pla-teal:#00b39d;
  --pla-off:#fafaf7;
  --pla-muted:#a3a7ad;
  --pla-border:#e2e4e1;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body.pl-auth-body{
  margin:0;
  min-height:100vh;
  padding:28px;
  display:grid;
  place-items:center;
  overflow-x:hidden;
  color:#1b2023;
  background:
    radial-gradient(circle at 8% 12%,rgba(0,179,157,.16),transparent 30rem),
    radial-gradient(circle at 92% 88%,rgba(255,122,0,.15),transparent 31rem),
    linear-gradient(145deg,#0a1012,#101a1d 52%,#0b1113);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.pl-auth-bg-grid{
  position:fixed;inset:0;pointer-events:none;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 92%);
}
.pl-auth-shell{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:var(--pla-off);
  box-shadow:0 40px 110px rgba(0,0,0,.48);
}
.pl-auth-brand-panel{
  position:relative;
  isolation:isolate;
  padding:54px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#f6fbfb;
  background:
    radial-gradient(circle at 13% 14%,rgba(0,179,157,.23),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(255,122,0,.16),transparent 36%),
    linear-gradient(145deg,#172225,#0d1517 72%);
}
.pl-auth-brand-panel:after{
  content:"";position:absolute;z-index:-1;right:-70px;bottom:-80px;width:330px;height:330px;border-radius:50%;
  border:1px solid rgba(255,255,255,.06);box-shadow:0 0 0 50px rgba(255,255,255,.018),0 0 0 100px rgba(255,255,255,.012)
}
.pl-auth-logo-plate{
  width:max-content;max-width:100%;padding:7px 12px;display:inline-flex;align-items:center;
  border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#fafaf7;box-shadow:0 12px 30px rgba(0,0,0,.2)
}
.pl-auth-logo-plate img{display:block;width:214px;height:auto;max-height:70px;object-fit:contain}
.pl-auth-copy{margin:52px 0 auto;max-width:570px}
.pl-auth-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:17px;color:#28d4be;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em
}
.pl-auth-eyebrow i{width:7px;height:7px;border-radius:99px;background:var(--pla-orange);box-shadow:0 0 0 4px rgba(255,122,0,.12)}
.pl-auth-copy h1{margin:0;color:#fff;font-size:clamp(3rem,5.2vw,5.45rem);line-height:.94;letter-spacing:-.06em;font-weight:900}
.pl-auth-copy h1 em{color:#20c6b2;font-style:normal}
.pl-auth-copy p{max-width:550px;margin:23px 0 0;color:#aebdc0;font-size:1rem;line-height:1.72}
.pl-auth-feature-list{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pl-auth-feature{
  min-height:72px;padding:14px 15px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035)
}
.pl-auth-feature b{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:rgba(0,179,157,.1);color:#31d8c3;font-size:.82rem}
.pl-auth-feature span{display:grid;gap:3px;color:#dce6e6;font-size:.83rem;font-weight:800}
.pl-auth-feature small{color:#83979a;font-size:.72rem;font-weight:600}
.pl-auth-brand-footer{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#7f9295;font-size:.74rem}
.pl-auth-brand-footer strong{color:#bbc7c9}
.pl-auth-form-panel{padding:60px 54px;display:flex;flex-direction:column;justify-content:center;background:var(--pla-off)}
.pl-auth-form-head{margin-bottom:27px}
.pl-auth-role{
  display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e5ddd3;border-radius:999px;background:#fff8f0;color:#ac5100;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em
}
.pl-auth-role:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pla-orange)}
.pl-auth-form-head h2{margin:15px 0 8px;color:#171c1f;font-size:2.25rem;line-height:1.05;letter-spacing:-.045em;font-weight:900}
.pl-auth-form-head p{margin:0;color:#747e81;font-size:.94rem;line-height:1.6}
.pl-auth-form{display:grid;gap:16px}
.pl-auth-form label{display:grid;gap:7px;color:#30383b;font-size:.8rem;font-weight:850}
.pl-auth-form input{
  width:100%;min-height:50px;padding:0 14px;border:1px solid #d7dcda;border-radius:12px;outline:none;background:#fff;color:#171c1f;font:inherit;transition:border-color .18s,box-shadow .18s,background .18s
}
.pl-auth-form input:hover{border-color:#c5cdca}
.pl-auth-form input:focus{border-color:var(--pla-teal);box-shadow:0 0 0 4px rgba(0,179,157,.11);background:#fff}
.pl-auth-form .password-field{position:relative}
.pl-auth-submit{
  min-height:52px;margin-top:4px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff7a00,#ef6500);color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(255,122,0,.22);transition:transform .18s ease,box-shadow .18s ease
}
.pl-auth-submit:hover{transform:translateY(-1px);box-shadow:0 17px 36px rgba(255,122,0,.28)}
.pl-auth-submit:active{transform:translateY(0)}
.pl-auth-alert{margin:0 0 18px;padding:12px 14px;border-radius:12px;font-size:.82rem;font-weight:750;line-height:1.45}
.pl-auth-alert.danger,.pl-auth-alert.error{border:1px solid #ffd0cc;background:#fff2f0;color:#a72e25}
.pl-auth-alert.success{border:1px solid #bde9d5;background:#effbf5;color:#117044}
.pl-auth-alert.warning{border:1px solid #f3ddb1;background:#fff8e9;color:#8a5b08}
.pl-auth-security{margin-top:20px;padding-top:18px;border-top:1px solid #e5e7e3;display:flex;align-items:flex-start;gap:10px;color:#778184;font-size:.75rem;line-height:1.5}
.pl-auth-security b{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:8px;background:#e8f7f4;color:#008a79;font-size:.75rem}
.pl-auth-links{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pl-auth-links a{color:#536063;text-decoration:none;font-size:.79rem;font-weight:800}
.pl-auth-links a:hover{color:#008c7b}
.pl-auth-links .pl-auth-create{color:#007e6f}
.pl-auth-admin .pl-auth-role{border-color:#d8e9e6;background:#effaf8;color:#08796b}
.pl-auth-admin .pl-auth-role:before{background:var(--pla-teal)}
.pl-auth-admin .pl-auth-brand-panel{background:radial-gradient(circle at 13% 14%,rgba(0,179,157,.24),transparent 34%),radial-gradient(circle at 100% 100%,rgba(255,122,0,.12),transparent 36%),linear-gradient(145deg,#0f2523,#0b1517 75%)}
.pl-auth-user .pl-auth-copy h1 em{color:#ff8c25}
.pl-auth-user .pl-auth-feature b{background:rgba(255,122,0,.1);color:#ff9a3e}
/* Harmoniza o plugin de mostrar senha com o novo layout */
.pl-auth-body .password-toggle{color:#667477!important}
.pl-auth-body .password-wrapper input{padding-right:48px!important}
@media(max-width:880px){
  body.pl-auth-body{padding:18px}
  .pl-auth-shell{grid-template-columns:1fr;max-width:680px;border-radius:24px}
  .pl-auth-brand-panel{padding:38px 34px;min-height:auto}
  .pl-auth-copy{margin:38px 0 0}
  .pl-auth-copy h1{font-size:3.4rem}
  .pl-auth-feature-list{grid-template-columns:1fr 1fr;margin-top:28px}
  .pl-auth-brand-footer{margin-top:28px}
  .pl-auth-form-panel{padding:42px 34px}
}
@media(max-width:560px){
  body.pl-auth-body{padding:0;display:block;background:#0d1517}
  .pl-auth-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none}
  .pl-auth-brand-panel{padding:28px 22px 30px}
  .pl-auth-logo-plate img{width:172px;max-height:56px}
  .pl-auth-copy{margin-top:30px}
  .pl-auth-copy h1{font-size:2.75rem}
  .pl-auth-copy p{font-size:.91rem}
  .pl-auth-feature-list{grid-template-columns:1fr;gap:8px}
  .pl-auth-feature{min-height:62px}
  .pl-auth-brand-footer{display:none}
  .pl-auth-form-panel{padding:34px 22px 40px}
  .pl-auth-form-head h2{font-size:1.9rem}
  .pl-auth-links{align-items:flex-start;flex-direction:column;gap:10px}
}
