/* Sistema Platina - wp-login.php */
:root{
  --edu-login-logo:url("../img/sistema-platina-logo.png");
  --edu-bg:#020617;
  --edu-panel:#0f172a;
  --edu-panel-2:#111827;
  --edu-line:#253247;
  --edu-text:#f8fafc;
  --edu-muted:#94a3b8;
  --edu-primary:#4f46e5;
  --edu-primary-hover:#4338ca;
  --edu-focus:rgba(99,102,241,.28);
}

html,
body.login{
  min-height:100%;
}

body.login{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  margin:0 !important;
  padding:24px 18px !important;
  box-sizing:border-box;
  background:
    radial-gradient(circle at 18% 14%, rgba(79,70,229,.22), transparent 32rem),
    radial-gradient(circle at 86% 78%, rgba(148,163,184,.14), transparent 28rem),
    linear-gradient(145deg, #030712 0%, #07111f 55%, #020617 100%);
  color:var(--edu-text);
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.login::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.75), transparent 78%);
}

body.login *{
  box-sizing:border-box;
}

.login .screen-reader-text{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

#login{
  position:relative;
  z-index:1;
  width:min(100%, 430px);
  padding:0;
  margin:0;
}

#login h1{
  margin:0 0 18px;
  text-align:center;
}

#login h1 a{
  display:block;
  width:148px !important;
  height:104px !important;
  margin:0 auto;
  background-image:var(--edu-login-logo) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  text-indent:-9999px;
  overflow:hidden;
  outline:none;
  box-shadow:none;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.45));
}

#loginform,
#registerform,
#lostpasswordform,
#resetpassform{
  position:relative;
  margin:0;
  padding:26px 30px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.92));
  box-shadow:
    0 28px 80px -38px rgba(0,0,0,.9),
    inset 0 1px 0 rgba(255,255,255,.06);
}

#loginform::before,
#registerform::before,
#lostpasswordform::before,
#resetpassform::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg, #94a3b8, #4f46e5, #cbd5e1);
}

.login label{
  display:block;
  margin:0 0 8px;
  color:#cbd5e1;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.login form p{
  margin:0 0 18px;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"]{
  display:block;
  width:100%;
  min-height:46px;
  margin:0;
  padding:0 14px;
  border:1px solid rgba(71,85,105,.95);
  border-radius:10px;
  background:#0b1220;
  color:var(--edu-text);
  font-family:inherit;
  font-size:16px;
  line-height:1.2;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.login form .input:hover,
.login input[type="text"]:hover,
.login input[type="password"]:hover,
.login input[type="email"]:hover{
  border-color:rgba(148,163,184,.75);
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus{
  border-color:#818cf8;
  background:#0f172a;
  box-shadow:0 0 0 4px var(--edu-focus);
  outline:none;
}

.login form .forgetmenot{
  display:flex;
  align-items:center;
  min-height:42px;
  margin:2px 0 0;
}

.login form .forgetmenot input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0 8px 0 0;
  border:1px solid rgba(148,163,184,.75);
  border-radius:5px;
  background:#0b1220;
  box-shadow:none;
}

.login form .forgetmenot label{
  margin:0;
  color:var(--edu-muted);
  font-size:14px;
  font-weight:600;
}

.login form p.submit{
  display:block;
  margin:18px 0 0;
}

.wp-core-ui .button-primary,
.login .button-primary{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  padding:0 18px !important;
  border:0 !important;
  border-radius:10px !important;
  background:linear-gradient(135deg, #6366f1, var(--edu-primary)) !important;
  color:#fff !important;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  line-height:1 !important;
  letter-spacing:0;
  text-shadow:none !important;
  box-shadow:0 18px 36px -22px rgba(99,102,241,1) !important;
  transition:transform .12s ease, filter .18s ease, box-shadow .18s ease;
}

.wp-core-ui .button-primary:hover,
.login .button-primary:hover{
  filter:brightness(1.06);
  box-shadow:0 22px 42px -24px rgba(99,102,241,1) !important;
}

.wp-core-ui .button-primary:active,
.login .button-primary:active{
  transform:translateY(1px);
}

.login .button.wp-hide-pw{
  right:6px;
  top:4px;
  min-width:38px;
  min-height:38px;
  border:0 !important;
  background:transparent !important;
  color:#a5b4fc !important;
  box-shadow:none !important;
}

.login .button.wp-hide-pw:focus{
  border-radius:8px;
  box-shadow:0 0 0 3px var(--edu-focus) !important;
}

#login #nav,
#login #backtoblog{
  margin:12px 0 0;
  padding:0;
  color:var(--edu-muted);
  font-size:13px;
  text-align:center;
}

#login #backtoblog{
  margin-top:10px;
}

#login #nav a,
#login #backtoblog a,
.login .privacy-policy-page-link a{
  color:#cbd5e1 !important;
  font-weight:700;
  text-decoration:none;
}

#login #nav a:hover,
#login #backtoblog a:hover,
.login .privacy-policy-page-link a:hover{
  color:#fff !important;
  text-decoration:underline;
}

.login .message,
.login #login_error,
.login .notice{
  margin:0 0 16px;
  padding:13px 14px;
  border:1px solid rgba(148,163,184,.22);
  border-left:4px solid #818cf8;
  border-radius:12px;
  background:#0f172a;
  color:#e2e8f0;
  font-size:13px;
  line-height:1.5;
  box-shadow:0 18px 38px -30px rgba(0,0,0,.9);
}

.login #login_error{
  border-left-color:#f87171;
}

.login .message{
  border-left-color:#34d399;
}

.login .message a,
.login #login_error a,
.login .notice a{
  color:#c7d2fe;
  font-weight:700;
}

.language-switcher{
  position:relative;
  z-index:1;
  width:min(100%, 430px);
  margin:12px auto 0;
  text-align:center;
}

.language-switcher form{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:100%;
}

.language-switcher label{
  color:#64748b;
}

.language-switcher select{
  max-width:230px;
  min-height:40px;
  padding:0 36px 0 12px;
  border:1px solid rgba(71,85,105,.9);
  border-radius:9px;
  background:#0b1220;
  color:#cbd5e1;
  font-family:inherit;
  font-size:13px;
}

.language-switcher .button{
  min-height:40px;
  padding:0 14px !important;
  border:1px solid rgba(99,102,241,.8) !important;
  border-radius:9px !important;
  background:rgba(79,70,229,.12) !important;
  color:#c7d2fe !important;
  font-family:inherit;
  font-weight:800;
}

.login .privacy-policy-page-link{
  margin:14px 0 0;
  color:var(--edu-muted);
  font-size:12px;
}

.login p.user-pass1-wrap label,
.login .indicator-hint{
  color:var(--edu-muted);
  font-size:12px;
}

@media (max-width:480px){
  body.login{
    align-items:stretch;
    justify-content:center;
    padding:24px 14px !important;
  }
  #login,
  .language-switcher{
    width:100%;
  }
  #login h1{
    margin-bottom:18px;
  }
  #login h1 a{
    width:126px !important;
    height:100px !important;
  }
  #loginform,
  #registerform,
  #lostpasswordform,
  #resetpassform{
    padding:24px 20px;
    border-radius:14px;
  }
  .language-switcher form{
    display:grid;
    grid-template-columns:1fr auto;
  }
}
