body{display:flex;flex-direction:column;min-height:100vh}main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:36px 40px;width:100%;max-width:480px}.auth-card h1{font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:700;text-align:center;margin-bottom:6px}.auth-subtitle{text-align:center;color:var(--muted);font-size:14px;margin-bottom:28px}.auth-divider{border:none;border-top:1px solid var(--border);margin:24px 0}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap svg{position:absolute;left:13px;color:var(--muted);pointer-events:none;flex-shrink:0}.input-wrap input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:9px;padding:11px 14px 11px 40px;color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4ade801a}.input-wrap input::placeholder{color:var(--muted)}.toggle-pw{position:absolute;right:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;font-size:13px;transition:color .15s}.toggle-pw:hover{color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.submit-btn{width:100%;padding:13px;background:#1e2a4a;border:none;border-radius:9px;color:#fff;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background .15s,opacity .15s;margin-top:4px}.submit-btn:hover{background:#263560}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:22px;font-size:13.5px;color:var(--muted)}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-error{display:none;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:10px 14px;color:#ef4444;font-size:13px;margin-bottom:18px}.auth-error.show{display:block}@media (max-width: 520px){.auth-card{padding:28px 20px;border-radius:10px}}
