.login-root{--lp-bg: #0a0f1e;--lp-card-bg: rgba(255, 255, 255, .03);--lp-card-border: rgba(255, 255, 255, .08);--lp-card-shadow: 0 0 0 1px rgba(37, 99, 235, .12), 0 24px 64px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);--lp-title: #f8fafc;--lp-subtitle: rgba(148, 163, 184, .8);--lp-label: rgba(148, 163, 184, .9);--lp-input-bg: rgba(255, 255, 255, .04);--lp-input-border: rgba(255, 255, 255, .08);--lp-input-color: #f1f5f9;--lp-placeholder: rgba(100, 116, 139, .5);--lp-icon: rgba(100, 116, 139, .7);--lp-icon-focus: #3b82f6;--lp-footer: rgba(100, 116, 139, .6);--lp-orb-op: .18;--lp-orb-accent: .1;--lp-grid: rgba(37, 99, 235, .04);--lp-tbtn-bg: rgba(255, 255, 255, .06);--lp-tbtn-border: rgba(255, 255, 255, .1);--lp-tbtn-color: rgba(148, 163, 184, .8);--lp-tbtn-hover: rgba(255, 255, 255, .1);--lp-err-bg: rgba(239, 68, 68, .1);--lp-err-border: rgba(239, 68, 68, .25);--lp-err-color: #fca5a5}.login-root[data-theme=light]{--lp-bg: #eef2ff;--lp-card-bg: rgba(255, 255, 255, .9);--lp-card-border: rgba(37, 99, 235, .14);--lp-card-shadow: 0 0 0 1px rgba(37, 99, 235, .1), 0 24px 64px rgba(37, 99, 235, .12), inset 0 1px 0 rgba(255, 255, 255, .95);--lp-title: #0f172a;--lp-subtitle: rgba(71, 85, 105, .85);--lp-label: rgba(71, 85, 105, .75);--lp-input-bg: rgba(255, 255, 255, .95);--lp-input-border: rgba(37, 99, 235, .18);--lp-input-color: #0f172a;--lp-placeholder: rgba(100, 116, 139, .45);--lp-icon: rgba(100, 116, 139, .65);--lp-footer: rgba(100, 116, 139, .65);--lp-orb-op: .1;--lp-orb-accent: .06;--lp-grid: rgba(37, 99, 235, .055);--lp-tbtn-bg: rgba(37, 99, 235, .07);--lp-tbtn-border: rgba(37, 99, 235, .18);--lp-tbtn-color: rgba(71, 85, 105, .8);--lp-tbtn-hover: rgba(37, 99, 235, .12);--lp-err-bg: rgba(239, 68, 68, .07);--lp-err-border: rgba(239, 68, 68, .2);--lp-err-color: #dc2626}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--lp-bg);overflow:hidden;position:relative;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background .4s ease}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-bg:before,.login-bg:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--lp-orb-op);animation:orbFloat 10s ease-in-out infinite;transition:opacity .4s ease}.login-bg:before{width:600px;height:600px;background:radial-gradient(circle,#2563eb,#1e40af);top:-200px;left:-150px;animation-delay:0s}.login-bg:after{width:500px;height:500px;background:radial-gradient(circle,#0891b2,#0e7490);bottom:-180px;right:-120px;animation-delay:-5s}.login-bg-accent{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,#7c3aed,#4f46e5);filter:blur(100px);opacity:var(--lp-orb-accent);top:50%;left:50%;transform:translate(-50%,-50%);animation:orbFloat 14s ease-in-out infinite reverse;transition:opacity .4s ease}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.97)}}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--lp-grid) 1px,transparent 1px),linear-gradient(90deg,var(--lp-grid) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;transition:background-image .4s ease}.login-card{position:relative;z-index:10;width:100%;max-width:420px;margin:1.5rem;background:var(--lp-card-bg);border:1px solid var(--lp-card-border);border-radius:20px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:2.5rem 2.5rem 2rem;box-shadow:var(--lp-card-shadow);animation:cardIn .6s cubic-bezier(.16,1,.3,1) both;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}@keyframes cardIn{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;gap:.75rem}.login-logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2563eb66;animation:logoPop .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes logoPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.login-logo svg{width:30px;height:30px;color:#fff}.login-title{font-size:1.6rem;font-weight:700;color:var(--lp-title);letter-spacing:-.03em;margin:0;transition:color .4s ease}.login-subtitle{font-size:.85rem;color:var(--lp-subtitle);margin:0;letter-spacing:.02em;transition:color .4s ease}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-label{font-size:.78rem;font-weight:600;color:var(--lp-label);text-transform:uppercase;letter-spacing:.08em;transition:color .4s ease}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--lp-icon);pointer-events:none;display:flex;transition:color .2s}.login-input-wrap:focus-within .login-input-icon{color:var(--lp-icon-focus)}.login-input{width:100%;box-sizing:border-box;padding:.75rem 1rem .75rem 2.75rem;background:var(--lp-input-bg);border:1.5px solid var(--lp-input-border);border-radius:10px;color:var(--lp-input-color);font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s,background .2s,box-shadow .2s,color .4s}.login-input::placeholder{color:var(--lp-placeholder)}.login-input:focus{border-color:#3b82f6;background:rgba(59,130,246,.06);box-shadow:0 0 0 3px #3b82f61f}.login-pwd-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--lp-icon);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:4px;transition:color .2s}.login-pwd-toggle:hover{color:var(--lp-label);background:none}.login-error{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;background:var(--lp-err-bg);border:1px solid var(--lp-err-border);border-radius:9px;color:var(--lp-err-color);font-size:.85rem;animation:errorShake .4s cubic-bezier(.36,.07,.19,.97) both;transition:background .4s,border-color .4s,color .4s}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-btn{position:relative;width:100%;padding:.82rem;border:none;border-radius:10px;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);color:#fff;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.02em;box-shadow:0 4px 20px #2563eb59;transition:transform .15s,box-shadow .15s,opacity .15s;overflow:hidden;margin-top:.4rem}.login-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #2563eb80}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 12px #2563eb59}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-theme-btn{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:9px;border:1px solid var(--lp-tbtn-border);background:var(--lp-tbtn-bg);color:var(--lp-tbtn-color);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s}.login-theme-btn:hover{background:var(--lp-tbtn-hover);transform:scale(1.08)}.login-theme-btn:active{transform:scale(.94)}.login-theme-btn svg{width:15px;height:15px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.login-theme-btn:hover svg{transform:rotate(22deg)}.login-footer{margin-top:1.75rem;text-align:center;font-size:.78rem;color:var(--lp-footer);display:flex;align-items:center;justify-content:center;gap:.4rem;transition:color .4s ease}.login-footer-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:#0a0f1e}#root{min-height:100vh;display:flex;flex-direction:column}
