.login-container{min-height:calc(100vh - var(--pub-nav-height) - 300px);place-items:center;padding:60px 20px;display:grid}.login-card{text-align:center;width:100%;max-width:500px;padding:40px}.login-icon{background:var(--pub-gradient-soft);border:1px solid var(--pub-border);width:64px;height:64px;color:var(--pub-accent);border-radius:20px;place-items:center;margin:0 auto 24px;display:grid}.login-icon svg{width:32px;height:32px}.login-card h1{margin-bottom:12px;font-size:1.75rem;font-weight:700}.login-card p{color:var(--pub-text-secondary);margin-bottom:32px;font-size:.95rem;line-height:1.6}.login-form-group{text-align:left;margin-bottom:24px}.login-form-group label{color:var(--pub-text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-wrapper svg{width:20px;height:20px;color:var(--pub-text-muted);pointer-events:none;position:absolute;left:16px}.login-form-group input{border:1px solid var(--pub-border);width:100%;color:var(--pub-text);background:#0f172a66;border-radius:12px;padding:14px 16px 14px 44px;font-family:inherit;font-size:1rem;transition:all .2s}.login-form-group input:focus{border-color:var(--pub-accent);background:#0f172acc;outline:none;box-shadow:0 0 0 4px #0ea5e91a}.login-form-group input::placeholder{color:var(--pub-text-muted)}.login-submit{justify-content:center;width:100%;padding:14px;font-size:1rem}.login-footer{color:var(--pub-text-muted);margin-top:24px;font-size:.85rem}.login-footer a{color:var(--pub-accent);font-weight:500;text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-field-error{color:#fda4af;margin:.65rem 0 0;font-size:.875rem;line-height:1.45}
