/* GeneraGantt · Theme A — dark auth pages (login / register). Self-contained. */
:root{
  --gg-bg:#0d1117; --gg-surface:#161b22; --gg-line:#232a33;
  --gg-ink:#e7edf3; --gg-ink-2:#aab6c2; --gg-ink-3:#6e7c8a;
  --gg-green:#00e676; --gg-gold:#f7d774;
}
*{box-sizing:border-box}
html,body{height:100%}
.auth-body{
  margin:0; min-height:100vh;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  color:var(--gg-ink);
  background:
    radial-gradient(1100px 520px at 50% -8%, rgba(0,230,118,.06), transparent 60%),
    var(--gg-bg);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.auth-wrap{width:100%; max-width:400px}
.auth-card{
  background:var(--gg-surface);
  border:1px solid var(--gg-line);
  border-radius:14px;
  padding:30px 30px 26px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.auth-brand{
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.7rem; font-weight:700; letter-spacing:-.01em; margin:0 0 2px;
}
.auth-brand .accent{color:var(--gg-green)}
.auth-kicker{
  font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gg-ink-3); margin-bottom:18px;
}
.auth-title{font-size:1.05rem; font-weight:700; margin:0 0 4px}
.auth-sub{font-size:.85rem; color:var(--gg-ink-3); margin:0 0 18px; line-height:1.5}
.auth-field{display:block; margin-bottom:14px}
.auth-field label{display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--gg-ink-3); margin-bottom:6px}
.auth-input{
  width:100%; padding:10px 12px; font-size:14px;
  background:#0d1117; color:var(--gg-ink);
  border:1px solid var(--gg-line); border-radius:9px; outline:none;
}
.auth-input:focus{border-color:var(--gg-green); box-shadow:0 0 0 3px rgba(0,230,118,.14)}
.auth-check{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--gg-ink-2); margin-bottom:16px}
.auth-check input{accent-color:var(--gg-green)}
.auth-btn{
  width:100%; padding:11px; font-size:14px; font-weight:600; cursor:pointer;
  background:rgba(0,230,118,.16); color:var(--gg-ink);
  border:1px solid var(--gg-green); border-radius:9px;
}
.auth-btn:hover{background:rgba(0,230,118,.24)}
.auth-alt{margin-top:16px; font-size:13px; color:var(--gg-ink-3); text-align:center}
.auth-alt a{color:var(--gg-green); text-decoration:none}
.auth-alt a:hover{text-decoration:underline}
.auth-error{
  background:rgba(255,107,107,.1); border:1px solid rgba(255,107,107,.4);
  color:#ff9f9f; border-radius:9px; padding:9px 12px; font-size:13px; margin-bottom:16px;
}
.auth-error ul{margin:4px 0 0; padding-left:18px}
/* trial notice */
.auth-trial{
  margin-top:18px; padding:11px 13px; border-radius:10px;
  background:rgba(247,215,116,.08); border:1px solid rgba(247,215,116,.32);
  color:var(--gg-ink-2); font-size:12px; line-height:1.55;
}
.auth-trial strong{color:var(--gg-gold)}
