:root{--bg:#0a0e18;--bg2:#12171f;--bg3:#1a202c;--bg4:#232d3d;--border:rgba(255,255,255,0.08);--border2:rgba(255,255,255,0.14);--text:#e8ecf1;--muted:#7a8594;--hint:#4a5568;--green:#0ddb89;--green-d:rgba(13,219,137,0.12);--blue:#4d8cff;--red:#ff4f55;--radius:8px;--font:'Fira Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'IBM Plex Mono','Courier New',monospace;}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}body{font-family:var(--font);font-size:13px;background:var(--bg);color:var(--text);display:flex;align-items:center;justify-content:center;min-height:100vh;-webkit-font-smoothing:antialiased;}.skip-link{position:absolute;top:-48px;left:16px;background:var(--green);color:#0a0e18;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;z-index:9999;text-decoration:none;transition:top 150ms;}.skip-link:focus{top:8px;}*:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px;}input:focus-visible{outline:none;}body::before{content:'';position:fixed;top:-20%;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(13,219,137,0.06) 0%,transparent 70%);pointer-events:none;}.login-wrap{width:100%;max-width:360px;padding:0 16px;}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;justify-content:center;}.login-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(13,219,137,0.18) 0%,rgba(77,140,255,0.14) 100%);border:1px solid rgba(13,219,137,0.22);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(13,219,137,0.12);}.login-logo-icon svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.8;}.login-logo-text{text-align:left;}.login-logo-name{font-size:18px;font-weight:800;font-family:var(--mono);letter-spacing:-0.02em;background:linear-gradient(90deg,var(--green) 0%,#22d3ee 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;}.login-logo-sub{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;display:block;margin-top:2px;}.login-box{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:28px 28px 24px;box-shadow:0 24px 64px rgba(0,0,0,0.5);}.login-box h2{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px;font-family:var(--mono);}.login-box .sub{font-size:11px;color:var(--muted);margin-bottom:22px;}.login-error{background:rgba(255,79,85,0.08);border:1px solid rgba(255,79,85,0.25);color:var(--red);font-size:12px;font-weight:500;padding:10px 12px;border-radius:var(--radius);margin-bottom:16px;display:flex;align-items:center;gap:8px;}.login-error::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;}.form-group{margin-bottom:16px;}.form-group label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:6px;}.form-group input{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);padding:10px 12px;border-radius:var(--radius);font-family:var(--font);font-size:13px;transition:border-color 150ms,box-shadow 150ms,background 150ms;}.form-group input:focus{outline:none;border-color:var(--green);background:var(--bg4);box-shadow:0 0 0 3px rgba(13,219,137,0.10);}.form-group input:hover:not(:focus){border-color:rgba(255,255,255,0.16);}.form-group input::placeholder{color:var(--hint);}.login-btn{width:100%;padding:11px;background:var(--green);color:#0a0e18;border:none;border-radius:var(--radius);font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:0.03em;cursor:pointer;transition:background 150ms,box-shadow 150ms,transform 100ms;margin-top:4px;box-shadow:0 2px 12px rgba(13,219,137,0.25);}.login-btn:hover{background:#0ec87c;box-shadow:0 4px 16px rgba(13,219,137,0.35);transform:translateY(-1px);}.login-btn:active{transform:translateY(0);box-shadow:none;}.login-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}.login-footer{text-align:center;margin-top:20px;font-size:10.5px;color:var(--hint);font-family:var(--mono);}