/* auth.css — sign-in wall shared by login, 2FA, forgot, reset pages (v5.3) */
body.lw{margin:0;min-height:100vh;font-family:var(--sans);color:var(--text);background:#EAF3FB url(login-bg.jpg) left center/cover no-repeat}
.lw-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1500px;margin:0 auto;padding:40px 5vw}
.lw-brand{display:none}
.lw-card{grid-column:2;justify-self:center;background:#fff;border-radius:22px;box-shadow:0 30px 80px -30px rgba(1,63,104,.45),0 2px 6px rgba(1,63,104,.08);padding:40px 36px 30px;width:min(470px,100%)}
.lw-card h1{font:800 34px/1.1 var(--disp);color:#0B3D75;text-align:center;letter-spacing:-.02em;margin:0 0 6px}
.lw-card .sub{text-align:center;color:var(--muted);font-size:15px;margin:0 0 26px;line-height:1.5}
.lw-card .sub b{color:#0B3D75}
.lw-card label{font:600 13.5px var(--sans);color:#243748;margin:0 0 14px;display:block}
.lw-card label > input,.lw-field input{width:100%;min-height:52px;margin-top:6px;padding:12px 14px;border:1.5px solid #D6E0EA;border-radius:12px;font:600 16px var(--sans);background:#fff;color:#0F1E2E;-webkit-text-fill-color:#0F1E2E;caret-color:#1E6FA8;color-scheme:light}
.lw-card input::placeholder{color:#8B9AAA;-webkit-text-fill-color:#8B9AAA;font-weight:500}
.lw-card input:-webkit-autofill{-webkit-text-fill-color:#0F1E2E;-webkit-box-shadow:0 0 0 100px #fff inset}
.lw-card input:focus{border-color:#1E6FA8;box-shadow:0 0 0 3px rgba(30,111,168,.18);outline:none}
.lw-field{position:relative;margin-top:6px;display:block}
.lw-field input{margin-top:0;padding:12px 44px 12px 46px}
.lw-field .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#5B6C7C;pointer-events:none}
.lw-field .eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;box-shadow:none;padding:0;min-height:0;color:#1E6FA8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
.lw-field .eye:hover{background:#EAF2F8;filter:none}
.lw-code{font:700 26px/1 var(--mono)!important;letter-spacing:.35em;text-align:center;padding-left:24px!important}
.lw-btn,.lw-card .btn{width:100%;min-height:56px;margin-top:8px;border-radius:12px;font:700 17px var(--sans);display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,#2A85D3,#1662A8);color:#fff;border:0;box-shadow:0 10px 24px -10px rgba(22,98,168,.7);text-decoration:none}
.lw-btn .arrow{position:absolute;right:22px;font-size:22px;line-height:1}
.lw-card .btn-row{margin:0}
.lw-card .alert{margin-bottom:16px}
.lw-foot{text-align:center;font-size:13.5px;margin-top:18px;color:var(--muted);line-height:1.6}
.lw-foot a{color:#1E6FA8;text-decoration:none;font-weight:600}
@media (max-width:900px){
  /* Mobile: clean gradient + faint seal watermark (the desktop artwork has baked-in text that crops badly on portrait). */
  body.lw{background:linear-gradient(180deg,#DCEAF7 0%,#EEF4FA 38%,#F7FAFD 100%) fixed;position:relative}
  body.lw::before{content:'';position:fixed;top:-40px;right:-150px;width:420px;height:420px;background:url(ivsw-seal.png) center/contain no-repeat;opacity:.08;pointer-events:none}
  body.lw::after{content:'';position:fixed;left:-40%;top:-10%;width:90%;height:60%;background:radial-gradient(closest-side,rgba(58,142,214,.28),rgba(58,142,214,0));pointer-events:none}
  .lw-wrap{position:relative;grid-template-columns:1fr;padding:30px 16px 32px;align-content:start;gap:0;min-height:100vh}
  .lw-brand{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:8px 0 22px}
  .lw-brand .lw-txt{display:flex;align-items:center}
  .lw-brand .crm{display:none}
  .lw-brand .lw-seal{width:66px;height:66px;flex:none;filter:drop-shadow(0 8px 18px rgba(1,85,139,.28))}
  .lw-brand .wm{width:190px;margin:0;display:block}
  .lw-brand .crm{font:800 26px/1 var(--disp);letter-spacing:-.03em;margin:2px 0 0 2px;background:linear-gradient(180deg,#1F7FD6,#0B4C8C);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lw-card{grid-column:1;width:100%;padding:26px 20px 22px;border-radius:20px;background:#fff;box-shadow:0 22px 50px -26px rgba(1,63,104,.55),0 1px 3px rgba(1,63,104,.08)}
  .lw-card h1{font-size:26px}.lw-card .sub{font-size:14px;margin-bottom:20px}
  .lw-card label > input,.lw-field input{min-height:50px;font-size:16px}  /* 16px stops iOS zooming on focus */
  .lw-btn,.lw-card .btn{min-height:52px;font-size:16px}
  .lw-foot{margin-top:16px}
}
