:root{
  --bg:#0b0e12; --surface:#0f1422; --edge:#1b243b; --edge-2:#26314d; --fg:#e8eef5;
  --ok:#9fe870; --err:#ff6b6b; --muted:#a9b5c7;
  --accent-1:#43b5ff; --accent-2:#2e6fff; --accent-3:#8e7cff;
  --rad:16px; --rad-lg:22px; --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:linear-gradient(180deg,#0b0e12,#0a1020);color:var(--fg);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial}
a{color:var(--accent-1);text-decoration:none}
a:hover{text-decoration:underline}

.auth-shell{max-width:980px;margin:0 auto;padding:24px}
.auth-header{padding:12px 0 20px;border-bottom:1px solid var(--edge)}
.brand{margin:0;font-size:28px;letter-spacing:.5px}
.subtitle{margin:6px 0 0;color:var(--muted)}
.auth-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
@media (max-width:860px){.auth-panels{grid-template-columns:1fr}}

.card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));border:1px solid var(--edge);border-radius:var(--rad-lg);box-shadow:var(--shadow);padding:18px}
.card h2{margin:0 0 12px;font-size:20px}

.gt-form label{display:block;margin:10px 0}
.gt-form input[type=text],
.gt-form input[type=password]{
  width:100%;padding:12px 14px;border-radius:12px;background:#0c1324;border:1px solid var(--edge-2);color:var(--fg);outline:none
}
.gt-form input:focus{border-color:var(--accent-2)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:#1a2340;border:1px solid var(--edge-2);color:var(--fg);cursor:pointer}
.btn.primary{background:linear-gradient(180deg,var(--accent-1),var(--accent-2));border-color:transparent;color:#04101d}
.btn.wfull{width:100%;justify-content:center}
.btn:disabled{opacity:.6;cursor:not-allowed}

.inline-hint{min-height:20px;margin-top:6px;font-size:12px}
.inline-hint.ok{color:var(--ok)}
.inline-hint.err{color:var(--err)}
.form-msg{min-height:22px;margin-top:10px;font-size:14px}
.form-msg.ok{color:var(--ok)}
.form-msg.err{color:var(--err)}
.muted{color:var(--muted)}
.small{font-size:12px}
