/* auth-split.css — shared by login.php and signup.php (form left, cover image right) */
*,*::before,*::after{box-sizing:border-box}
body.as-body{margin:0;font-family:'Source Sans 3','Source Sans Pro',Arial,sans-serif;color:#0f1114;background:#fff}

.as-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - 113px)}

/* ---------- left: form ---------- */
.as-left{display:flex;align-items:center;justify-content:center;padding:48px 24px}
.as-form{width:100%;max-width:400px}
.as-title{font-size:30px;line-height:38px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}
.as-sub{font-size:16px;line-height:24px;color:#5b6780;margin:0 0 28px}

.as-field{margin-bottom:18px}
.as-label{display:block;font-size:16px;font-weight:700;margin-bottom:8px}
.as-label i{color:#d0293a;font-style:normal}
.as-input{display:block;width:100%;height:48px;padding:0 14px;border:1px solid #6d7e9c;border-radius:8px;background:#fff;font:400 16px 'Source Sans 3',Arial,sans-serif;color:#0f1114}
.as-input::placeholder{color:#8794ab}
.as-input:focus{outline:0;border-color:#0056d2;box-shadow:0 0 0 1px #0056d2}
.as-input.is-invalid{border-color:#d0293a;box-shadow:0 0 0 1px #d0293a}
.as-input.is-valid{border-color:#1f9d55}

.as-pw{position:relative}
.as-pw .as-input{padding-right:48px}
.as-eye{position:absolute;right:6px;top:6px;width:36px;height:36px;border:0;background:none;color:#5b6780;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}
.as-eye:hover{color:#0056d2}

.as-hint{display:none;margin-top:6px;font-size:14px;color:#d0293a}
.as-hint.show{display:block}

.as-strength{height:4px;background:#eef1f6;border-radius:4px;margin-top:8px;overflow:hidden}
.as-strength div{height:100%;width:0;border-radius:4px;transition:width .25s,background .25s}
.as-strength-label{font-size:13px;margin-top:4px;min-height:18px}

.as-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:4px 0 24px}
.as-check{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:22px;color:#0f1114;cursor:pointer}
.as-check input{margin-top:4px;width:16px;height:16px;accent-color:#0056d2;flex:none}
.as-check a,.as-link{color:#0056d2;font-weight:600;text-decoration:none}
.as-check a:hover,.as-link:hover{text-decoration:underline}

.as-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border:1px solid #0056d2;border-radius:8px;background:#0056d2;color:#fff;font:700 16px 'Source Sans 3',Arial,sans-serif;cursor:pointer;text-decoration:none}
.as-btn:hover{background:#00419e;border-color:#00419e;color:#fff}
.as-btn:disabled{opacity:.65;cursor:not-allowed}
.as-btn.alt{background:#fff;color:#0f1114;border-color:#0f1114;font-weight:600;font-size:15px}
.as-btn.alt:hover{background:#f0f6ff;color:#0f1114}

.as-or{display:flex;align-items:center;gap:12px;margin:22px 0;color:#5b6780;font-size:14px}
.as-or::before,.as-or::after{content:'';flex:1;height:1px;background:#dae1ed}

.as-foot{text-align:center;margin:26px 0 0;font-size:16px;color:#5b6780}
.as-legal{margin:18px 0 0;font-size:12px;line-height:18px;color:#5b6780;text-align:center}
.as-legal a{color:#0056d2}

.as-alert{border-radius:8px;padding:12px 14px;font-size:15px;line-height:22px;margin-bottom:20px;border:1px solid;display:flex;gap:10px;align-items:flex-start}
.as-alert i{margin-top:3px}
.as-alert.error{background:#fdf0f1;border-color:#f3c1c6;color:#a11d2b}
.as-alert.ok{background:#edf7f0;border-color:#b8e0c4;color:#1b6b3a}
.as-alert.warn{background:#fff8e6;border-color:#f3dc9a;color:#7a5200;flex-direction:column;gap:10px}
.as-alert.warn .resend-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.as-alert.warn button{background:#7a5200;color:#fff;border:0;border-radius:6px;padding:7px 12px;font:600 14px 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.as-alert.warn button:hover{background:#5e3f00}
.as-alert.warn button:disabled{opacity:.6;cursor:not-allowed}
.as-alert a{color:inherit;font-weight:700}

/* ---------- right: cover image ---------- */
.as-right{position:relative;overflow:hidden;background:#dbe9ff;min-height:420px}
.as-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.as-right::after{content:'';position:absolute;inset:auto 0 0 0;height:48%;background:linear-gradient(to top,rgba(10,30,80,.88),rgba(10,30,80,0))}
.as-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px 48px;color:#fff}
.as-cap h2{margin:0 0 8px;font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.3px}
.as-cap p{margin:0;font-size:17px;line-height:26px;opacity:.92;max-width:460px}
.as-cap ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;font-weight:600}
.as-cap li::before{content:'\2713';margin-right:7px;color:#8ec5ff}

@media(max-width:900px){
  .as-wrap{grid-template-columns:1fr}
  .as-right{display:none}
  .as-left{padding:32px 20px 48px;align-items:flex-start}
}
@media(max-width:820px){.as-wrap{min-height:calc(100vh - 105px)}}