*{box-sizing:border-box}:root{--blue:#4997D0;--navy:#17324b;--muted:#6f8192;--line:#dfe8ef;--bg:#f5f9fc}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--bg);font-size:14px}
a{color:#347eaf;text-decoration:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,560px) 1fr}
.auth-panel{background:#fff;padding:42px clamp(28px,5vw,68px);display:flex;flex-direction:column}.auth-logo{width:155px;margin-bottom:48px}
.auth-panel h1{font-size:34px;line-height:1.08;margin:0 0 10px}.lead{font-size:16px;color:var(--muted);line-height:1.55;margin:0 0 28px}
label{display:block;font-weight:700;font-size:14px;margin:16px 0 7px}.input,select{width:100%;height:48px;border:1px solid var(--line);border-radius:9px;padding:0 13px;background:#fff;font-size:14px;outline:none}.input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(73,151,208,.12)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button{width:100%;height:49px;border:0;border-radius:9px;background:var(--blue);color:#fff;font-size:15px;font-weight:800;cursor:pointer;margin-top:22px}.button.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.note{font-size:14px;color:var(--muted);line-height:1.5}.error{background:#fff0ef;color:#9d413b;border:1px solid #f1d0cd;border-radius:9px;padding:12px 14px;font-size:14px;margin-bottom:15px}.success{background:#ecf8f1;color:#367756;border:1px solid #cde9d9;border-radius:9px;padding:12px 14px;font-size:14px;margin-bottom:15px}
.auth-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#dff1fd,#8fc5eb);padding:55px;display:flex;align-items:center;justify-content:center}.auth-art:before,.auth-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.5);border-radius:50%}.auth-art:before{width:650px;height:650px;right:-200px;top:-250px}.auth-art:after{width:440px;height:440px;left:-180px;bottom:-180px}.art-card{position:relative;z-index:2;max-width:570px}.art-card h2{font-size:38px;line-height:1.1;margin:0 0 15px}.art-card p{font-size:17px;line-height:1.6;color:#315a79}.steps{display:grid;gap:12px;margin-top:28px}.step{background:rgba(255,255,255,.8);backdrop-filter:blur(5px);border-radius:12px;padding:15px 17px;font-size:14px;box-shadow:0 8px 25px rgba(39,91,128,.08)}.step b{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--blue);color:#fff;margin-right:10px}
.check-card{max-width:560px;margin:auto;text-align:center}.check-card .icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#eaf5fc;color:#3b86b9;font-size:28px;margin:0 auto 18px}.check-card h1{font-size:31px}.check-card p{font-size:15px;color:var(--muted);line-height:1.6}
.onboard{max-width:720px;margin:50px auto;padding:0 20px}.onboard-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.onboard-logo{width:150px;margin-bottom:28px}.onboard h1{font-size:30px;margin:0 0 8px}.progress{height:7px;background:#e9f0f5;border-radius:99px;margin:20px 0 28px;overflow:hidden}.progress i{display:block;width:75%;height:100%;background:var(--blue)}
@media(max-width:850px){.auth-shell{display:block}.auth-art{display:none}.auth-panel{min-height:100vh}.row{grid-template-columns:1fr}}

.forgot-link{margin:-4px 0 18px;text-align:right;font-size:14px}
.forgot-link a,.auth-foot a{color:#327fb8;text-decoration:none}
.forgot-link a:hover,.auth-foot a:hover{text-decoration:underline}
.success-message,.error-message{font-size:14px;line-height:1.5;padding:12px 14px;border-radius:8px;margin:0 0 18px}
.success-message{background:#edf8f1;border:1px solid #cce8d5;color:#27633b}
.error-message{background:#fff1f1;border:1px solid #f0cece;color:#8b3030}
.field-help{font-size:14px;color:#6f8192;margin:-6px 0 16px}
.button-link{display:block;text-align:center;text-decoration:none;box-sizing:border-box}
