:root{--bg:#000;--panel:#0b0b0b;--panel2:#121212;--text:#e5e7eb;--muted:#9ca3af;--brand:#0ea5e9;--brand2:#0284c7;--border:#1f2937}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans;color:var(--text);
background:radial-gradient(1200px 500px at 50% -20%, rgba(14,165,233,.08), transparent 70%),var(--bg)}
.bg-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);background-size:28px 28px;mask-image:radial-gradient(800px 500px at 50% -10%, #000 50%, transparent 70%);pointer-events:none}
.wrap{min-height:100%;display:grid;grid-template-rows:auto 1fr auto}
.head{display:flex;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg, rgba(255,255,255,.02), transparent)}
.logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 10px 22px rgba(14,165,233,.35)}
.brand h1{margin:0;font-size:20px;letter-spacing:.3px}.sub{font-size:12px;color:var(--muted)}
.card{width:min(620px,calc(100% - 32px));margin:56px auto;padding:28px;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)), var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.02) inset}
h2{margin:0 0 6px;font-weight:700;letter-spacing:.2px}.small{font-size:13px}
.form{display:grid;gap:16px;margin-top:18px}label{display:grid;gap:8px;font-size:14px;color:var(--text)}
input[type=text],input[type=password]{outline:none;width:100%;padding:12px 14px;border-radius:12px;background:var(--panel2);border:1px solid #2a2a2a;color:var(--text);transition:border .2s, box-shadow .2s}
input[type=text]:focus,input[type=password]:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(14,165,233,.2)}
.captcha{margin-top:8px;background:#0e0e0e;border:1px solid var(--border);border-radius:14px;padding:12px}
.btn{position:relative;appearance:none;border:none;cursor:pointer;width:100%;padding:12px 16px;border-radius:14px;font-weight:600;letter-spacing:.3px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#000;box-shadow:0 6px 24px rgba(14,165,233,.25)}
.center{text-align:center}.muted{color:var(--muted)}.foot{padding:28px;border-top:1px solid var(--border)}
.spinner{display:none;width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;position:absolute;right:14px;top:50%;transform:translateY(-50%);animation:spin .8s linear infinite}
.btn.loading .spinner{display:inline-block}.btn.loading .btn-text{opacity:.6}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.nav{display:flex;gap:12px;justify-content:center;margin-top:10px}.nav a{color:var(--muted);text-decoration:none}
.badge{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:14px;background:#0e0e0e;border:1px solid var(--border)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tile{padding:18px;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));border:1px solid var(--border)}.tile h3{margin:0 0 6px}
a.btnlink{display:inline-block;margin-top:8px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#000;text-decoration:none;font-weight:600}
