:root{
  --bg:#0a0a0a;--surface:#151210;--fg:#e3dbdb;--muted:#a6a3a3;--border:#2a2118;--accent:#e8a33d;--indigo:#c2702a;
  --accent-soft:color-mix(in oklch,var(--accent) 16%,transparent);
  --indigo-soft:color-mix(in oklch,var(--indigo) 36%,transparent);
  --fg-soft:color-mix(in oklch,var(--fg) 7%,transparent);
  --surface-2:color-mix(in oklch,var(--surface) 58%,var(--bg));
  --font-display:'Righteous',system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --font-body:'Space Grotesk',system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --radius:8px;--radius-lg:8px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-height:100vh}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;text-wrap:balance}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.auth-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px 20px;overflow:hidden}
.auth-shell::before{content:"";position:absolute;top:-260px;left:-200px;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklch,var(--indigo) 36%,transparent),transparent);pointer-events:none}
.auth-shell::after{content:"";position:absolute;bottom:-300px;right:-220px;width:760px;height:760px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklch,var(--accent) 13%,transparent),transparent);pointer-events:none}

.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px}
.auth-brand img{height:52px;width:auto;background:#fff;border-radius:6px;padding:4px 10px}
.product-pill{display:inline-flex;align-items:center;gap:9px;padding:6px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);font-family:var(--font-display);font-size:13px;letter-spacing:.02em;color:var(--fg)}
.product-pill .pp-mark{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.auth-title{font-family:var(--font-display);font-size:22px;text-align:center;margin-bottom:6px}
.auth-sub{text-align:center;color:var(--muted);font-size:13.5px;margin-bottom:24px}

.auth-form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:600;color:var(--fg)}
.field .req{color:var(--accent)}
.field input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;font-size:14.5px;transition:border-color .15s ease}
.field input:focus{outline:none;border-color:var(--indigo)}
.field .hint{font-size:12px;color:var(--muted)}
.field .err{font-size:12.5px;color:#e08a8a}
.field input.is-invalid{border-color:#c96a6a}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius);border:1px solid transparent;font-size:14.5px;font-weight:600;letter-spacing:-.005em;transition:background .15s ease,border-color .15s ease,transform .05s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:#0a0a0a;border-color:var(--accent)}
.btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,white)}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--muted)}
.btn-block{width:100%}
.btn-sm{padding:8px 14px;font-size:13px}

.auth-foot{text-align:center;margin-top:22px;font-size:13.5px;color:var(--muted)}
.auth-foot a{color:var(--accent);font-weight:600}
.auth-foot a:hover{text-decoration:underline}
.auth-alert{background:var(--accent-soft);border:1px solid var(--accent);color:var(--fg);border-radius:var(--radius);padding:11px 14px;font-size:13.5px;margin-bottom:18px}
.auth-alert.err{background:color-mix(in oklch,#e08a8a 14%,transparent);border-color:#c96a6a}
.auth-alert .tick{color:var(--accent);font-weight:700}
.remember-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}
.remember-row label{display:flex;align-items:center;gap:7px;cursor:pointer}
.remember-row input{accent-color:var(--accent)}
.remember-row a{color:var(--accent)}
