/* ===== LOGIN WRAPPER — Theme-immune original style ===== */
.login-wrap{
  position:fixed;inset:0;z-index:500;
  background:#F0F2F8;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:0 20px 40px;
  overflow-y:auto;
}
/* Ambient gradient overlay */
.login-wrap::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 20% 0%,rgba(100,150,255,.12) 0%,transparent 55%),
    radial-gradient(ellipse 55% 45% at 80% 100%,rgba(176,124,8,.07) 0%,transparent 55%);
  pointer-events:none;z-index:0;
}

/* ===== LOGIN HEADER ===== */
.header{
  text-align:center;color:#0D1525;
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:200px;
  padding:60px 0;
  z-index:1;
}
.header-logo-bg{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  height:110px;
  width:auto;
  opacity:.18;
  mix-blend-mode:multiply;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
@media(max-width:768px){.header-logo-bg{height:80px}}
.header h1{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:3.2rem;font-weight:500;
  letter-spacing:.02em;margin-bottom:8px;line-height:1.1;
  color:#0D1525;
  position:relative;z-index:1;
}
.header h1 .brand-accent{color:#B07C08}
.header .subtitle{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;letter-spacing:5px;text-transform:uppercase;
  color:#7A8BAA;font-weight:700;
  position:relative;z-index:1;
}

/* Dashboard header logo */
.header-logo{
  height:32px;width:auto;
  opacity:.90;flex-shrink:0;
  filter:brightness(10);
}
@media(max-width:768px){.header-logo{height:22px}}

/* ===== LOGIN CARD ===== */
.login-section{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(40px) saturate(1.5);
  -webkit-backdrop-filter:blur(40px) saturate(1.5);
  border:1px solid rgba(15,35,80,.14);
  border-radius:32px;
  padding:52px 48px;
  max-width:420px;width:100%;margin:0 auto;
  box-shadow:0 24px 60px rgba(10,22,56,.18),0 8px 20px rgba(10,22,56,.08);
  position:relative;z-index:1;
}
@media(max-width:768px){.login-section{padding:36px 28px;max-width:none;border-radius:24px}}
.login-wrap .login-form h2{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.9rem;font-weight:700;
  color:#0D1525;text-align:center;margin-bottom:36px;letter-spacing:.02em;
  position:relative;padding-bottom:8px;
}
.login-wrap .login-form h2::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:50px;height:2px;
  background:linear-gradient(90deg,transparent,#B07C08,transparent);
}
/* Login form overrides — hardcoded colors, immune to themes */
.login-wrap{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif}
.login-wrap .form-group label{color:#7A8BAA}
.login-wrap .form-group input{
  background:rgba(15,35,80,.04);border:1.5px solid rgba(15,35,80,.10);
  border-radius:14px;
  color:#0D1525;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
.login-wrap .form-group input::placeholder{color:#7A8BAA}
.login-wrap .form-group input:focus{
  border-color:#B07C08;background:rgba(15,35,80,.02);
  box-shadow:0 0 0 3px rgba(176,124,8,.12);
}
.login-wrap .btn-primary{
  background:linear-gradient(135deg,#B07C08,#C9930E);
  color:#fff;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;
  border-radius:14px;
  box-shadow:0 4px 18px rgba(176,124,8,.22);
}
.login-wrap .btn-primary:hover{
  background:linear-gradient(135deg,#C9930E,#dba620);
}
.login-wrap p{color:#3A4A6B}
.login-wrap button[onclick*="show"]{color:#7A8BAA!important}
.login-wrap button[onclick*="show"]:hover{color:#B07C08!important}
.login-wrap #loginError{background:rgba(196,43,34,.10)!important;border:1px solid #C42B22!important;color:#C42B22!important}
.login-wrap #forgotMsg,.login-wrap #resetMsg{color:#0D1525}
/* Reset section info box override */
.login-wrap .reset-info-box{
  background:linear-gradient(135deg,rgba(18,40,90,.06),rgba(212,168,67,.08));
  border:1px solid rgba(212,168,67,.25);
}
.login-wrap .reset-info-box p{color:#3A4A6B}
.login-wrap .reset-info-box p:first-child{color:#0D1525}

/* Show-password toggle. Replaces Edge's native ::-ms-reveal which
   disappears after focus loss or form submission on Edge and doesn't
   reliably come back. Our own toggle is cross-browser consistent. */
.login-wrap .pwd-wrap{position:relative}
.login-wrap .pwd-wrap input{padding-right:46px}
.login-wrap .pwd-toggle{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:#7A8BAA;cursor:pointer;
  font-size:15px;padding:6px 8px;line-height:1;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  transition:color .15s,background .15s;
}
.login-wrap .pwd-toggle:hover{color:#B07C08;background:rgba(15,35,80,.05)}
.login-wrap .pwd-toggle:focus-visible{outline:2px solid rgba(176,124,8,.3);outline-offset:1px}
/* Suppress Edge/IE native reveal so we don't render two eyes */
.login-wrap input[type=password]::-ms-reveal,
.login-wrap input[type=password]::-ms-clear{display:none!important;width:0;height:0}

