/* Squid Solutions - shared styles for the account pages (login / reset / account).
   Colour + type come from tokens.css. */
*{box-sizing:border-box;margin:0;padding:0}
a{text-decoration:none;color:inherit}
body{ background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.5;
      -webkit-font-smoothing:antialiased; min-height:100vh; letter-spacing:-.01em }
.wrap{ max-width:1100px; margin:0 auto; padding:0 28px }
.disp{ font-family:var(--display) }

.orbs{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden }
.orb{ position:absolute; border-radius:50%; filter:blur(10px) }
.orb.v{ width:480px;height:480px; background:radial-gradient(circle,var(--a1),transparent 70%); right:-140px; top:-120px; opacity:.16 }
main{ position:relative; z-index:1 }

nav{ display:flex; align-items:center; justify-content:space-between; padding:22px 0 }
.brand{ display:inline-flex; align-items:center; gap:11px; font-family:var(--display); font-weight:600; font-size:20px; letter-spacing:-.02em }
.brand .dot{ width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:18px;
  background:linear-gradient(135deg,var(--a1),var(--a2)); box-shadow:0 4px 14px var(--glow) }
.nav-links{ display:flex; gap:24px; align-items:center; color:var(--text-2); font-weight:500; font-size:15px }
.nav-links a:hover{ color:var(--text) }
.btn{ display:inline-block; cursor:pointer; font:inherit; font-family:var(--sans); border:none; border-radius:11px; font-weight:600;
  transition:transform .15s, filter .2s, border-color .2s }
.btn.solid{ background:linear-gradient(135deg,var(--a1),var(--a2)); color:var(--on-accent); padding:10px 18px; box-shadow:0 8px 22px var(--glow) }
.btn.solid:hover{ transform:translateY(-1px); filter:brightness(1.06) }
.btn.solid[disabled]{ opacity:.6; cursor:default; filter:none }
.btn.ghost{ background:var(--surface); border:1px solid var(--border); color:var(--text); padding:9px 16px }
.btn.ghost:hover{ border-color:var(--a1) }

/* auth card (login / reset) */
.auth-wrap{ min-height:70vh; display:grid; place-items:center; padding:30px 0 }
.card{ width:100%; max-width:420px; background:var(--surface); border:1px solid var(--border); border-radius:20px;
  padding:34px 32px; box-shadow:0 30px 70px rgba(0,0,0,.4) }
.card h1{ font-family:var(--display); font-weight:600; font-size:26px; letter-spacing:-.02em; text-align:center }
.card .sub{ color:var(--text-dim); font-size:14px; text-align:center; margin:8px 0 22px }
label{ display:block; font-size:13px; color:var(--text-2); font-weight:500; margin:14px 0 6px }
input{ width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2);
  color:var(--text); font:inherit; font-size:15px }
input:focus{ outline:none; border-color:var(--a1); box-shadow:0 0 0 3px var(--focus) }
.full{ width:100%; text-align:center; margin-top:20px; padding:13px }
.msg{ font-size:13.5px; margin-top:14px; text-align:center; min-height:18px }
.msg.err{ color:var(--bad) }
.msg.ok{ color:#2dd4bf }
.alt{ text-align:center; font-size:13.5px; color:var(--text-dim); margin-top:18px }
.alt a{ color:var(--a1) }

/* dashboard (account) */
.head{ padding:34px 0 8px }
.head h1{ font-family:var(--display); font-weight:600; font-size:clamp(30px,4vw,42px); letter-spacing:-.02em }
.head .who{ color:var(--text-dim); margin-top:6px }
.keys{ display:grid; gap:16px; padding:24px 0 50px }
.keycard{ background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:22px 24px }
.keycard .top{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap }
.keycard .lk{ font-family:var(--mono); font-size:18px; letter-spacing:1px }
.keycard .tier{ font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--a1);
  background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.3); padding:4px 10px; border-radius:999px }
.keycard .meta{ color:var(--text-dim); font-size:13px; margin-top:10px }
.copy{ font-size:12px; color:var(--a1); background:none; border:1px solid var(--border); border-radius:8px; padding:5px 10px; cursor:pointer; margin-left:8px }
.copy:hover{ border-color:var(--a1) }
.devs{ margin-top:16px; display:grid; gap:8px }
.dev{ display:flex; align-items:center; justify-content:space-between; background:var(--surface-2); border:1px solid var(--border);
  border-radius:10px; padding:10px 14px; font-size:13.5px }
.dev .id{ font-family:var(--mono); color:var(--text-2) }
.dev button{ font-size:12px; color:var(--bad); background:none; border:1px solid var(--border); border-radius:8px; padding:5px 10px; cursor:pointer }
.dev button:hover{ border-color:var(--bad) }
.dev button[disabled]{ opacity:.5; cursor:default }
.empty{ text-align:center; color:var(--text-dim); padding:50px 0 }
.empty a{ color:var(--a1) }
footer{ border-top:1px solid var(--border); padding:24px 0 50px; color:var(--text-dim); font-size:14px }
@media (max-width:560px){ .nav-links a{ display:none } }
