:root{--primary:#1a2b4a;--accent:#c9a84c;--accent-hover:#b8963e;--text:#1a1a2e;--text-secondary:#4a5568;--text-light:#6b7280;--bg:#ffffff;--bg-alt:#f8f9fc;--bg-card:#ffffff;--border:#e5e7eb;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 14px rgba(0,0,0,0.08);--transition:0.3s ease;--green:#10b981;--red:#ef4444}[data-theme=dark]{--primary:#a8c4e6;--accent:#d4b85c;--accent-hover:#c9a84c;--text:#f0f2f7;--text-secondary:#cdd2de;--text-light:#99a1b3;--bg:#0b0e14;--bg-alt:#10141c;--bg-card:#141922;--border:#1e2536;--shadow:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 14px rgba(0,0,0,0.3)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}.login-wrapper,body{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-wrapper{width:100%;padding:20px;position:relative;overflow:hidden}.login-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(201,168,76,.06) 0,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(26,43,74,.08) 0,transparent 50%);animation:bgShift 20s ease-in-out infinite alternate}@keyframes bgShift{0%{transform:translate(0)}to{transform:translate(-5%,-3%)}}.login-card{position:relative;width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:40px 36px;box-shadow:var(--shadow-md)}[data-theme=dark] .login-card{background:rgba(20,25,34,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),#e8c45a,var(--accent));border-radius:16px 16px 0 0}.login-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.login-logo svg{width:36px;height:36px}.login-logo span{font-weight:700;font-size:1.15rem}.login-logo .accent{color:var(--accent)}.login-subtitle{text-align:center;font-size:.85rem;color:var(--text-light);margin-bottom:32px}.login-form{gap:20px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.login-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--text);background:var(--bg-alt);outline:none;transition:border-color var(--transition)}.login-field input:focus{border-color:var(--accent)}.login-field input::placeholder{color:var(--text-light)}.login-options{justify-content:space-between}.login-options,.login-remember{display:flex;align-items:center}.login-remember{gap:8px;font-size:.82rem;color:var(--text-secondary);cursor:pointer}.login-remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.login-forgot{font-size:.82rem;color:var(--accent);font-weight:500;text-decoration:none;transition:opacity var(--transition)}.login-forgot:hover{opacity:.8}.login-btn{width:100%;padding:13px;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:inherit;background:linear-gradient(135deg,var(--accent),#e8c45a);color:#1a1a2e;cursor:pointer;transition:all var(--transition)}.login-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(201,168,76,.3)}.login-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.login-divider span{font-size:.75rem;color:var(--text-light)}.login-footer{text-align:center;font-size:.78rem;color:var(--text-light);margin-top:24px}.login-footer a{color:var(--accent);font-weight:500;text-decoration:none}.login-error{padding:10px 14px;border-radius:var(--radius-sm);background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);font-size:.82rem;color:var(--red);display:none}.login-error.show{display:block}@media (max-width:480px){.login-card{padding:32px 24px}}