.login-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:80px 20px}.login-box{width:100%;max-width:450px;background:var(--card);padding:50px;border-radius:30px;box-shadow:0 20px 50px rgba(0,0,0,.3)}.login-logo{text-align:center;margin-bottom:40px}.login-logo i{font-size:55px;color:var(--gold)}.login-logo h1{margin-top:15px;font-size:32px;color:var(--text)}.login-logo p{color:var(--muted)}.input-group{margin-bottom:25px}.input-group label{display:block;margin-bottom:10px;color:var(--text);font-weight:500}.input-group input{width:100%;padding:16px;background:var(--bg-soft);border:1px solid var(--border);border-radius:15px;color:var(--text);font-family:inherit;font-size:15px;transition:.3s}.input-group input:focus{outline:none;border-color:var(--gold)}.error{margin-top:8px;color:#ef4444;font-size:14px}.remember{margin-bottom:25px;color:var(--muted)}.remember input{margin-left:8px}.login-box button{width:100%;padding:16px;border:none;border-radius:30px;background:var(--gold);color:var(--on-gold);font-size:17px;font-weight:bold;cursor:pointer;transition:.3s}.login-box button:hover{background:var(--gold-light)}.login-footer{text-align:center;margin-top:30px;color:var(--muted)}.login-footer a{display:block;margin-top:10px;color:var(--gold)}@media(max-width:600px){.login-box{padding:35px 25px}.login-logo h1{font-size:26px}}.login-box-wide{max-width:560px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.field-hint{display:block;margin-top:8px;color:var(--gray);font-size:13px}.login-alt{margin-top:22px;padding-top:22px;border-top:1px solid var(--border);font-size:14px}.login-alt a{display:inline;margin-top:0}@media(max-width:600px){.input-row{grid-template-columns:1fr}}.social-divider{display:flex;align-items:center;gap:14px;margin:28px 0 22px;color:var(--gray);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.social-divider::before,.social-divider::after{content:"";flex:1;height:1px;background:var(--border)}.social-buttons{display:grid;gap:12px}.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px solid var(--border);border-radius:30px;background:var(--bg-soft);color:var(--text);font-size:15px;font-weight:500;text-decoration:none;transition:.25s}.social-btn{width:100%;font-family:inherit;cursor:pointer;appearance:none}.social-btn:hover{border-color:var(--gold);background:var(--surface)}.social-btn svg{flex:none}.login-box .pw-wrap{position:relative;display:block}.login-box .pw-wrap input{padding-right:76px}.login-box .pw-wrap .pw-eye{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:auto;padding:7px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--muted);font-size:13px;font-weight:600;line-height:1}.login-box .pw-wrap .pw-eye:hover,.login-box .pw-wrap .pw-eye:focus-visible{background:var(--bg);color:var(--gold);border-color:var(--gold)}.remember{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.remember>label{display:inline-flex;align-items:center;gap:8px;margin:0}.remember>label input{margin:0}.remember .forgot{font-size:14px;color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}.remember .forgot:hover,.remember .forgot:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}