*{box-sizing:border-box}
body{min-height:100vh;margin:0;background:linear-gradient(135deg,#eef4fb 0%,#f8fafc 48%,#eaf2f8 100%);color:#162033;font-family:'Poppins',sans-serif;overflow:auto}
.overlay{display:none}
.login-card{position:relative;background:rgba(255,255,255,.98);border:1px solid #d7e1ed;border-radius:18px;padding:34px 32px 28px;color:#162033;box-shadow:0 18px 45px rgba(30,61,97,.13),0 2px 5px rgba(22,32,51,.04);max-width:410px;margin:auto}
.logo{width:104px;height:104px;object-fit:contain;margin:0 0 18px;padding:5px;border-radius:50%;background:#245495;box-shadow:0 5px 14px rgba(36,84,149,.24)}
.login-card h3{font-size:25px;font-weight:700;margin:0 0 2px;color:#111827}
.login-card p{color:#60708c;font-size:14px;margin-bottom:30px}
.login-card label{font-size:14px;font-weight:600;margin-bottom:8px;color:#172033}
.form-control{height:46px;border-color:#cbd5e1;color:#1f2937;font-size:14px;border-radius:0 8px 8px 0}
.form-control::placeholder{color:#73829a}
.form-control:focus{border-color:#245495;box-shadow:0 0 0 3px rgba(36,84,149,.13)}
.input-group-text{background:#f8fafc;border-color:#cbd5e1;color:#245495;min-width:45px;justify-content:center;border-radius:8px 0 0 8px}
.input-group .btn{border-color:#cbd5e1;color:#60708c;background:#fff;border-radius:0 8px 8px 0}
.btn-primary{height:46px;border:0;border-radius:8px;background:#245495;font-weight:600;letter-spacing:.1px}
.btn-primary:hover,.btn-primary:focus{background:#1d447b;box-shadow:0 2px 5px rgba(36,84,149,.22)}
.login-card a{color:#1e4f92;text-decoration:none;font-weight:600}
.login-card a:hover{text-decoration:underline;color:#163d70}
.login-card .border-top{border-color:#e1e8f0!important}
.login-card .btn-outline-primary{height:44px;border-radius:8px;font-weight:600}
.login-card .d-flex{font-size:13px;color:#60708c;align-items:center}
.login-card input[type=checkbox]{accent-color:#245495;width:15px;height:15px;vertical-align:-3px;margin-right:5px}
@media (max-width:575.98px){.login-card{border:0;box-shadow:none;padding:24px 20px;background:transparent}.container{padding:0 14px}}

/* 2026 visual refresh — presentation only */
:root{--auth-blue:#1f5b9c;--auth-blue-dark:#154475;--auth-ink:#172338;--auth-muted:#6d7d92;--auth-line:#d5e0ec}
body{position:relative;background:radial-gradient(circle at 18% 18%,rgba(56,130,202,.17),transparent 24rem),radial-gradient(circle at 87% 82%,rgba(42,111,170,.12),transparent 27rem),linear-gradient(145deg,#edf4fb 0%,#f8fafc 50%,#eaf2f9 100%);font-family:"Poppins","Segoe UI",sans-serif}
body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;filter:blur(1px)}
body:before{width:230px;height:230px;left:-95px;bottom:-80px;background:rgba(31,91,156,.08)}
body:after{width:170px;height:170px;right:-60px;top:-55px;border:28px solid rgba(31,91,156,.06)}
.login-card{border:1px solid rgba(207,220,234,.95);border-radius:22px;padding:36px 34px 30px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(25,60,98,.15),0 3px 9px rgba(25,60,98,.05)}
.logo{border:4px solid rgba(255,255,255,.9);box-shadow:0 9px 23px rgba(31,91,156,.25)}
.login-card h3{font-size:26px;letter-spacing:-.025em;color:var(--auth-ink)}
.login-card p{color:var(--auth-muted)}
.login-card label{color:#2d4058;font-size:13px;letter-spacing:.005em}
.form-control,.form-select{min-height:47px;border-color:var(--auth-line);background:#fff;border-radius:9px;color:var(--auth-ink);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.form-control:hover,.form-select:hover{border-color:#b7c9dc;background:#fdfefe}
.form-control:focus,.form-select:focus{border-color:#6595c7;box-shadow:0 0 0 .23rem rgba(31,91,156,.12)}
.input-group-text{min-height:47px;border-color:var(--auth-line);background:#f5f8fc;color:var(--auth-blue)}
.input-group .btn{min-height:47px;border-color:var(--auth-line);background:#f9fbfd;color:#52677f}.input-group .btn:hover{background:#edf4fc;color:var(--auth-blue)}
.btn-primary{min-height:47px;border-radius:9px;background:linear-gradient(135deg,var(--auth-blue),#245f9f);box-shadow:0 7px 16px rgba(31,91,156,.2);transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,var(--auth-blue-dark),#1d5188);transform:translateY(-1px);box-shadow:0 10px 20px rgba(31,91,156,.24)}
.login-card .btn-outline-primary{border-radius:9px;border-color:#9eb9d8}.login-card .btn-outline-primary:hover{background:#edf4fc;color:var(--auth-blue)}
.login-card a{color:var(--auth-blue)}
.register-card{border-radius:22px}.register-help,.text-muted{color:#718198!important}
@media(max-width:575.98px){body{background:linear-gradient(145deg,#edf4fb,#f8fafc)}.login-card{border:1px solid rgba(207,220,234,.9);border-radius:18px;box-shadow:0 14px 36px rgba(25,60,98,.11);padding:25px 19px}.login-card h3{font-size:23px}.btn-primary:hover{transform:none}}

/* GSO forest-green account screens. */
@media screen{
  :root{--auth-blue:#1b684a;--auth-blue-dark:#125038;--auth-ink:#183126;--auth-muted:#607668;--auth-line:#cfe2d3}
  body{background:radial-gradient(circle at 18% 18%,rgba(77,147,94,.17),transparent 24rem),radial-gradient(circle at 87% 82%,rgba(35,117,68,.11),transparent 27rem),linear-gradient(145deg,#ecf5ec 0%,#f9fbf8 50%,#e7f1e8 100%);color:var(--auth-ink)}
  body:before{background:rgba(27,104,74,.08)}
  body:after{border-color:rgba(27,104,74,.06)}
  .login-card{border-color:#d2e5d5;box-shadow:0 24px 60px rgba(20,70,45,.13),0 3px 9px rgba(20,70,45,.05)}
  .logo{background:#1b684a;box-shadow:0 9px 23px rgba(20,70,45,.23)}
  .login-card h3,.login-card label{color:#193c2a}
  .login-card p,.login-card .d-flex,.register-help,.text-muted{color:#607668!important}
  .form-control:hover,.form-select:hover{border-color:#a7ccb0;background:#fcfffc}
  .form-control:focus,.form-select:focus{border-color:#65a57b;box-shadow:0 0 0 .23rem rgba(27,104,74,.14)}
  .input-group-text{background:#f1f8f2;color:#1b684a}
  .input-group .btn:hover{background:#e8f4ec;color:#1b684a}
  .btn-primary{background:linear-gradient(135deg,#1b684a,#237b54);box-shadow:0 7px 16px rgba(20,70,45,.18)}
  .btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#125038,#1b684a);box-shadow:0 10px 20px rgba(20,70,45,.22)}
  .login-card a{color:#1b684a}
  .login-card a:hover{color:#125038}
  .login-card .btn-outline-primary{border-color:#83b694;color:#1b684a}
  .login-card .btn-outline-primary:hover{background:#e8f4ec;border-color:#1b684a;color:#125038}
  .login-card input[type=checkbox]{accent-color:#1b684a}
}
