.auth-page{min-height:100vh;background:linear-gradient(135deg,#f2fff5,#f7f9f7);display:flex;align-items:center;justify-content:center;padding:25px}
.auth-shell{width:100%;max-width:460px}.auth-brand{justify-content:center;margin-bottom:22px}.auth-card{background:white;border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow)}
.auth-icon{width:52px;height:52px;border-radius:16px;background:var(--primary);color:white;display:grid;place-items:center;font-size:24px;font-weight:900;margin:0 auto 16px}
.auth-card h1{text-align:center;font-size:28px;letter-spacing:-.7px}.auth-card>p{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 25px}
.auth-card form{display:flex;flex-direction:column;gap:8px}.auth-card label{font-size:13px;font-weight:700;margin-top:5px}
.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=tel],.auth-card input[type=password]{width:100%;height:48px;border:1px solid var(--border);border-radius:12px;padding:0 14px;outline:none;background:#fff;color:var(--text)}
.auth-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}
.password-field{position:relative}.password-field input{padding-right:60px!important}.show-password{position:absolute;right:8px;top:8px;height:32px;padding:0 8px;background:transparent;color:var(--primary-dark);font-size:12px;font-weight:700}
.form-row{display:flex;align-items:center;justify-content:space-between;margin:5px 0 12px!important}.form-row a,.switch-text a{color:var(--primary-dark);font-weight:700}
.check{display:flex!important;align-items:center;gap:7px;font-weight:500!important;color:var(--muted);font-size:12px!important}.check input{accent-color:var(--primary)}
.terms{margin:7px 0 12px!important}.divider{display:flex;align-items:center;gap:10px;margin:22px 0;color:#9ca3af;font-size:12px}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}
.switch-text{text-align:center!important;margin:0!important}.form-message{min-height:18px;text-align:center;font-size:13px;font-weight:600;color:var(--danger)}
.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-inputs>div{display:flex;flex-direction:column;gap:8px}
@media(max-width:480px){.auth-card{padding:24px 18px}.two-inputs{grid-template-columns:1fr}}
