body{margin:0}.login-page *,.login-page *::before,.login-page *::after{box-sizing:border-box}.login-page{--bg: #fafaf9;--card: #fff;--ink: #1c1917;--text: #78716c;--text-sec: #a8a29e;--border: #e7e5e4;--border-light: #f0ebe5;--input-bg: #fafaf9;--input-focus-bg: #fff;--error: #ef4444;--error-bg: rgba(239,68,68,.06);--error-border: rgba(239,68,68,.15);--logo-filter: none;--toggle-bg: rgba(0,0,0,.04);--toggle-color: #78716c;--toggle-hover: rgba(0,0,0,.08);--shadow: 0 1px 3px rgba(0,0,0,.04), 0 8px 32px rgba(0,0,0,.05);--site-rgb: 27,200,57;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0 24px;background:var(--bg)}.login-page::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #1bc839, #34d058, #1bc839)}.login-page.dark{--bg: #111;--card: #1a1a2e;--ink: #e7e5e4;--text: #a8a29e;--text-sec: #78716c;--border: #2a2a3e;--border-light: #252538;--input-bg: #1e1e30;--input-focus-bg: #1e1e30;--error-bg: rgba(239,68,68,.1);--error-border: rgba(239,68,68,.2);--logo-filter: invert(1) hue-rotate(180deg);--toggle-bg: rgba(0,0,0,.06);--toggle-color: #78716c;--toggle-hover: rgba(0,0,0,.1);--shadow: 0 1px 3px rgba(0,0,0,.15), 0 8px 32px rgba(0,0,0,.2)}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@keyframes spin{to{transform:rotate(360deg)}}.login__theme{position:fixed;top:16px;right:16px;z-index:10}.login__theme-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:var(--toggle-bg);border:none;cursor:pointer;color:var(--toggle-color);font-family:"Outfit",sans-serif;font-size:12px;font-weight:600;transition:all .2s}.login__theme-btn:hover{background:var(--toggle-hover);color:var(--ink)}.login__theme-btn .icon{font-size:14px}body .login{width:100%;max-width:400px;margin:0 auto;animation:fadeUp .5s cubic-bezier(0.16, 1, 0.3, 1)}body .login__header{text-align:center;margin-bottom:32px}body .login__logo{margin:0 auto 16px;display:flex;align-items:center;justify-content:center}body .login__logo img{height:28px;width:auto;filter:var(--logo-filter);transition:filter .3s}body .login__title{font-family:"Instrument Serif",serif;font-weight:400;font-size:32px;line-height:1.2;margin-bottom:6px;color:var(--ink);transition:color .3s}body .login__subtitle{font-size:15px;color:var(--text);font-weight:400;transition:color .3s}body .login__card{background:var(--card);border-radius:16px;padding:32px 28px 28px;border:1px solid var(--border-light);box-shadow:var(--shadow);transition:background .3s,border-color .3s,box-shadow .3s}body .login__error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);font-size:13px;font-weight:600;padding:12px 14px;border-radius:10px;margin-bottom:18px;display:flex;align-items:flex-start;gap:10px;animation:shake .4s ease-out}body .login__error svg{flex-shrink:0;width:16px;height:16px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}body .login__submit{width:100%;padding:13px 24px;font-family:"Outfit",sans-serif;font-size:14px;font-weight:800;color:#fff;background:#1bc839;border:none;border-radius:10px;cursor:pointer;letter-spacing:.3px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(var(--site-rgb), 0.25)}body .login__submit:hover{background:#15a32f;box-shadow:0 4px 16px rgba(var(--site-rgb), 0.3);transform:translateY(-1px)}body .login__submit:active{transform:translateY(0) scale(0.98)}body .login__submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}body .login__submit--loading{color:rgba(0,0,0,0)}body .login__submit--loading::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}body .login__footer{text-align:center;margin-top:24px;font-size:13px;color:var(--text-sec);transition:color .3s}body .login__footer a{color:#1bc839;text-decoration:none;font-weight:700;transition:color .2s}body .login__footer a:hover{color:#15a32f}.field{margin-bottom:18px}.field__label{display:block;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:500;color:var(--text-sec);margin-bottom:8px;letter-spacing:2px;text-transform:uppercase;transition:color .3s}.field__input-wrap{position:relative}.field__input{width:100%;padding:13px 16px;font-family:"Outfit",sans-serif;font-size:14px;font-weight:500;color:var(--ink);background:var(--input-bg);border:1.5px solid var(--border);border-radius:10px;outline:none;transition:all .2s}.field__input::placeholder{color:var(--text-sec);font-weight:400}.field__input:focus{border-color:#1bc839;background:var(--input-focus-bg);box-shadow:0 0 0 3px rgba(var(--site-rgb), 0.1)}.field__input--error{border-color:var(--error);background:var(--error-bg)}.field__input--error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1);border-color:var(--error)}.field__toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-sec);padding:4px;display:flex;transition:color .2s}.field__toggle:hover{color:var(--ink)}.field__toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width: 480px){.login__card{padding:24px 20px 20px;border-radius:14px}.login__title{font-size:28px}}
