:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f2f6ff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 8% 8%,#dbeafe 0,transparent 30%),radial-gradient(circle at 92% 92%,#e9d5ff 0,transparent 30%),#f7f9fc}.auth-shell{width:min(100%,1040px)}.auth-card{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1fr);overflow:hidden;border:1px solid #dbe4f0;border-radius:28px;background:#fff;box-shadow:0 24px 64px rgba(29,47,78,.18)}.auth-brand{display:flex;flex-direction:column;padding:48px;color:#fff;background:linear-gradient(145deg,#162e66,#2563eb 55%,#7c3aed)}.brand-logo{color:inherit;text-decoration:none;font-size:1.25rem;font-weight:800}.brand-logo span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#ffffff2e}.brand-copy{margin:auto 0 32px}.eyebrow{margin:0 0 14px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#dbeafe}.brand-copy h1{margin:0 0 16px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.08;letter-spacing:-.045em}.brand-copy p:not(.eyebrow){margin:0;color:#e0e7ff;line-height:1.55}.feature-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:#eef2ff;font-size:.92rem}.feature-list li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#ffffff2e}.auth-panel{padding:42px 48px}.form-switch{display:flex;padding:4px;margin-bottom:34px;border-radius:12px;background:#f1f5f9}.switch-btn{flex:1;padding:10px;border:0;border-radius:9px;background:transparent;color:#64748b;font:inherit;font-weight:700;cursor:pointer}.switch-btn.active{color:#1d4ed8;background:#fff;box-shadow:0 2px 7px #0f172a1f}.auth-form{display:none;animation:appear .22s ease-out}.auth-form.active{display:block}.auth-form header{margin-bottom:26px}.auth-form h2{margin:0 0 7px;color:#172033;font-size:1.65rem}.auth-form header p{margin:0;color:#64748b;line-height:1.5}.input-group{margin:0 0 17px}.input-group label{display:block;margin-bottom:7px;color:#334155;font-size:.88rem;font-weight:700}.input-group input{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:10px;color:#172033;background:#fff;font:inherit;outline:0;transition:.15s}.input-group input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #dbeafe}.input-group input.invalid{border-color:#dc2626}.input-group input.valid{border-color:#16a34a}.input-group small{display:block;margin-top:6px;color:#64748b;font-size:.76rem}.form-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:3px 0 22px}.form-options a,.text-btn{color:#2563eb;font:inherit;font-weight:700;text-decoration:none}.text-btn{padding:0;border:0;background:transparent;cursor:pointer}.check{display:flex;align-items:center;gap:8px;color:#475569;font-size:.86rem;cursor:pointer}.check input{width:16px;height:16px;accent-color:#2563eb}.terms{margin:2px 0 21px}.submit-btn{width:100%;padding:14px 18px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2563eb,#6d28d9);font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #2563eb38}.submit-btn:hover{transform:translateY(-1px)}.submit-btn:disabled{cursor:wait;opacity:.7}.form-foot{margin:20px 0 0;text-align:center;color:#64748b;font-size:.88rem}.toast-message{position:fixed;z-index:10;left:50%;bottom:24px;max-width:calc(100% - 32px);padding:12px 18px;border-radius:10px;color:#fff;background:#172033;opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:.2s}.toast-message.show{opacity:1;transform:translate(-50%,0)}.toast-message.error{background:#b91c1c}.toast-message.success{background:#047857}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:760px){body{padding:14px}.auth-card{grid-template-columns:1fr;border-radius:20px}.auth-brand{padding:30px;min-height:280px}.brand-copy{margin:52px 0 22px}.auth-panel{padding:30px 24px}}@media(max-width:400px){.auth-panel{padding:26px 18px}.form-options{align-items:flex-start;flex-direction:column}}
