
:root{
  --blue:#0757a6;--navy:#063b73;--red:#ef3f36;--yellow:#ffb20f;
  --cream:#fffaf0;--white:#fff;--text:#1f2d3d;--muted:#667085;
  --border:#e7edf4;--shadow:0 18px 45px rgba(9,52,95,.12)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:Inter,sans-serif;color:var(--text);background:var(--cream)}
a{text-decoration:none}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-brand{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:100vh;padding:64px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(circle at 15% 20%,rgba(255,178,15,.22),transparent 28%),
             radial-gradient(circle at 90% 75%,rgba(239,63,54,.20),transparent 30%),
             linear-gradient(145deg,var(--navy),var(--blue))
}
.auth-brand-content{position:relative;z-index:2}.auth-logo{width:180px;background:#fff;border-radius:24px;padding:12px}.auth-watermark{position:absolute;z-index:0;width:min(78vw,720px);height:auto;left:50%;top:52%;transform:translate(-50%,-50%);opacity:.075;filter:grayscale(8%);pointer-events:none;background:transparent!important;padding:0!important;border-radius:0!important}.auth-brand>small{position:relative;z-index:2}
.auth-brand h1{font:800 clamp(2.8rem,5vw,5rem)/1.02 Outfit,sans-serif;margin:35px 0 18px}
.auth-brand p{max-width:560px;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.75}
.auth-brand small{color:rgba(255,255,255,.58)}
.auth-panel{padding:36px;display:grid;place-items:center}
.auth-card{width:min(100%,500px);background:#fff;border:1px solid var(--border);border-radius:30px;padding:48px;box-shadow:var(--shadow)}
.auth-card .label{color:var(--red);font:800 .82rem Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.auth-card h2{font:800 2.5rem Outfit,sans-serif;color:var(--navy);margin:9px 0}
.auth-card>p{color:var(--muted);margin:0 0 28px;line-height:1.65}
.field{margin-bottom:20px}
.field-row{display:flex;justify-content:space-between;gap:15px;align-items:center}
label{display:block;font-weight:700;margin:0 0 8px}
.field-row a,.back{color:var(--blue);font-weight:700;font-size:.88rem}
input[type=email],input[type=password],input[type=text]{
  width:100%;height:54px;padding:0 16px;border:1px solid var(--border);border-radius:14px;
  outline:none;font:inherit;color:var(--text)
}
input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,87,166,.10)}
.password-wrap{position:relative}.password-wrap input{padding-right:75px}
.toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}
.remember{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:.9rem;margin:0 0 24px}
.remember input{accent-color:var(--blue)}
.primary{width:100%;height:56px;border:0;border-radius:999px;background:var(--red);color:#fff;font:800 1rem Outfit,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(239,63,54,.25)}
.primary:disabled{opacity:.65;cursor:wait}
.message{padding:13px 15px;border-radius:12px;margin:0 0 20px;font-size:.9rem}
.message.error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.message.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.error-text{min-height:17px;color:#b42318;font-size:.78rem;margin-top:6px}
.help{text-align:center;color:var(--muted);font-size:.84rem;margin-top:23px}
.loading{position:fixed;inset:0;background:rgba(4,31,60,.76);display:grid;place-items:center;z-index:9999;backdrop-filter:blur(7px)}
.loading-card{background:#fff;padding:38px;border-radius:24px;text-align:center;box-shadow:var(--shadow);width:min(90%,380px)}
.spinner{width:46px;height:46px;border:5px solid #dbe9f6;border-top-color:var(--blue);border-radius:50%;margin:auto;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
[hidden]{display:none!important}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{padding:20px}.auth-card{padding:34px 24px}}

.auth-account-actions{display:grid;gap:10px;margin-top:20px}
.auth-divider{display:flex;align-items:center;gap:12px;color:#718096;font-size:.78rem;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#dce5ed;flex:1}
.create-account-button{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #0a4d84;border-radius:12px;color:#0a4d84;font-weight:800;text-decoration:none}
.create-account-button:hover{background:#edf6fd}.home-link{text-align:center;color:#5d7183;text-decoration:none;font-size:.85rem;font-weight:700}
