:root{--auth-primary:#1558d6;--auth-primary-dark:#0d3d9b;--auth-navy:#102a56;--auth-bg:#f4f7fb;--auth-text:#17233a;--auth-muted:#6f7e95;--auth-border:#dfe6ef;--auth-card:#fff;--auth-success:#137a4b;--auth-danger:#b42318}
*{box-sizing:border-box}
html,body{min-height:100%}
body.auth-modern{margin:0;background:var(--auth-bg);color:var(--auth-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,46%) minmax(420px,54%)}
.auth-visual{position:relative;overflow:hidden;padding:56px clamp(34px,6vw,82px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#0c2d6f 0%,#1558d6 54%,#0a78c8 100%)}
.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.08);pointer-events:none}.auth-visual:before{width:420px;height:420px;right:-170px;top:-120px}.auth-visual:after{width:300px;height:300px;left:-150px;bottom:-110px}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.auth-brand-logo{width:76px;height:58px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.16)}.auth-brand-logo img{width:100%;height:100%;object-fit:contain;padding:3px}.auth-brand-mark{font-weight:900;color:#1558d6;font-size:22px;letter-spacing:-1px}.auth-brand-text strong{display:block;font-size:22px;letter-spacing:.5px}.auth-brand-text span{display:block;margin-top:3px;font-size:12px;color:rgba(255,255,255,.78)}
.auth-visual-copy{position:relative;z-index:1;max-width:560px}.auth-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.auth-visual h1{font-size:clamp(34px,4.5vw,58px);line-height:1.03;margin:18px 0 14px;letter-spacing:-2px}.auth-visual p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.83);max-width:500px}.auth-points{display:grid;gap:10px;margin-top:25px}.auth-point{display:flex;gap:10px;align-items:center;font-size:13px;color:rgba(255,255,255,.9)}.auth-point i{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);font-style:normal;font-size:12px}.auth-visual-footer{position:relative;z-index:1;font-size:11px;color:rgba(255,255,255,.68)}
.auth-main{display:flex;align-items:center;justify-content:center;padding:42px clamp(24px,6vw,80px)}.auth-wrap{width:100%;max-width:520px}.auth-mobile-brand{display:none}.auth-role{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--auth-primary);font-weight:900;margin-bottom:8px}.auth-wrap h2{font-size:32px;line-height:1.2;margin:0 0 8px;letter-spacing:-.8px}.auth-subtitle{margin:0 0 26px;color:var(--auth-muted);font-size:14px;line-height:1.65}
.auth-alert{padding:12px 14px;border-radius:11px;margin:0 0 17px;font-size:13px;font-weight:650}.auth-alert.error{background:#fff1f0;border:1px solid #ffd5d2;color:var(--auth-danger)}.auth-alert.success{background:#ecfdf3;border:1px solid #c7efd7;color:var(--auth-success)}.auth-alert.info{background:#edf5ff;border:1px solid #d5e7ff;color:#1453a5}
.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:7px}.auth-field label,.auth-label{font-size:12px;font-weight:800;color:#30415c}.auth-input-wrap{position:relative}.auth-input{width:100%;height:50px;border:1px solid var(--auth-border);border-radius:12px;background:#fff;padding:0 14px;font:inherit;color:var(--auth-text);outline:none;transition:.2s}.auth-input.with-action{padding-right:70px}.auth-input:focus{border-color:#8ab7ff;box-shadow:0 0 0 4px rgba(21,88,214,.08)}.auth-input::placeholder{color:#a4afbf}.auth-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#5d6e87;font-size:11px;font-weight:800;cursor:pointer;padding:8px}
.auth-btn{height:51px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--auth-primary),#0e70c6);color:#fff;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(21,88,214,.18);transition:.2s}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(21,88,214,.22)}.auth-btn.secondary{background:#fff;color:#26415f;border:1px solid var(--auth-border);box-shadow:none}.auth-links{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:2px}.auth-links a,.auth-back a{font-size:12px;font-weight:750;color:#1558d6;text-decoration:none}.auth-links a:hover,.auth-back a:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:11px;color:#9aa7b9;font-size:11px;margin:6px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e8edf3;flex:1}.auth-note{margin-top:20px;padding:12px 14px;border-radius:11px;background:#f8fafc;border:1px solid #e8edf3;color:#637188;font-size:12px;line-height:1.55}.auth-back{margin-top:24px}.auth-security{margin-top:28px;padding-top:18px;border-top:1px solid #e8edf3;display:flex;align-items:center;gap:8px;color:#8a98aa;font-size:11px}.auth-security:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#edf7f1;color:#16834f;font-weight:900}
.auth-otp{letter-spacing:7px;text-align:center;font-size:20px;font-weight:850}.auth-compact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 24px}.auth-compact-info span{border:1px solid #e6ebf2;background:#fff;border-radius:10px;padding:10px 8px;text-align:center;font-size:10px;font-weight:750;color:#627086}
@media(max-width:920px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-main{min-height:100vh;padding:32px 20px}.auth-wrap{max-width:500px}.auth-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.auth-mobile-brand .auth-brand-logo{width:68px;height:52px}.auth-mobile-brand .auth-brand-text strong{color:var(--auth-navy);font-size:19px}.auth-mobile-brand .auth-brand-text span{color:#7d8ba0;font-size:11px}}
@media(max-width:520px){.auth-main{padding:24px 16px;align-items:flex-start}.auth-wrap{padding-top:10px}.auth-wrap h2{font-size:27px}.auth-links{align-items:flex-start;flex-direction:column;gap:9px}.auth-compact-info{grid-template-columns:1fr}.auth-input{height:48px}}
