:root{
  --ink:#18181b;
  --paper:#27272a;
  --line:rgba(255,255,255,.28);
  --line-soft:rgba(255,255,255,.12);
  --chalk:#f4f4f5;
  --dim:#a1a1aa;
  --amber:#8b5cf6;
  --amber-deep:#6d28d9;
  --ok:#7ef0c0;
  --err:#ff8a8a;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Inter',sans-serif;color:var(--chalk);background:var(--ink);
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:48px 48px;
  min-height:100vh;
}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.mono{font-family:'IBM Plex Mono',monospace}

nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.logo{display:flex;align-items:center;gap:10px;font-family:'Archivo';font-weight:900;font-size:1.25rem}
nav .links{display:flex;gap:20px;font-size:.9rem;color:var(--dim);align-items:center}
nav .links a{text-decoration:none}
nav .links a:hover{color:var(--chalk)}

.auth-shell{display:flex;justify-content:center;padding:48px 24px 80px}
.auth-card{
  width:100%;max-width:440px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid var(--line);border-radius:12px;padding:36px 32px;
}
.auth-card h1{font-family:'Archivo';font-weight:900;font-size:1.7rem;margin-bottom:6px}
.auth-card .lede{color:var(--dim);font-size:.9rem;margin-bottom:26px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;color:var(--dim);margin-bottom:6px}
.field input{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;
  background:rgba(255,255,255,.04);color:var(--chalk);font-size:.95rem;font-family:'Inter',sans-serif;
}
.field input:focus{outline:none;border-color:var(--amber)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{
  display:block;width:100%;text-align:center;padding:13px;border:none;border-radius:6px;
  background:var(--amber);color:#20242c;font-weight:600;font-size:.95rem;cursor:pointer;
  box-shadow:0 4px 0 var(--amber-deep);margin-top:22px;text-decoration:none;
}
.btn:hover{filter:brightness(1.05)}
.switch-link{margin-top:20px;text-align:center;font-size:.88rem;color:var(--dim)}
.switch-link a{color:var(--amber);text-decoration:none}
.link-btn{background:none;border:none;padding:0;color:var(--amber);font-size:inherit;font-family:inherit;cursor:pointer}
.errors{background:rgba(255,138,138,.1);border:1px solid rgba(255,138,138,.35);border-radius:6px;padding:12px 14px;margin-bottom:18px}
.errors ul{list-style:none}
.errors li{color:var(--err);font-size:.85rem;padding:2px 0}

.dash-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;max-width:900px;margin:0 auto}
.card{border:1px solid var(--line);border-radius:12px;padding:26px 28px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02))}
.card h2{font-family:'Archivo';font-weight:900;font-size:1.3rem;margin-bottom:18px}
.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem}
.info-row:last-child{border-bottom:0}
.info-row span:first-child{color:var(--dim)}
.card .btn{margin-top:14px}
.btn-ghost{background:transparent;color:var(--chalk);border:1px solid var(--line);box-shadow:none}

@media (max-width:640px){
  .row2{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr}
}
