:root{
  --ink:#0b0a14;          /* midnight */
  --ink-2:#141227;        /* panel */
  --edge:#2a2640;
  --gold:#c9a24b;         /* brand gold accent */
  --gold-soft:#e4c877;
  --violet:#8b7ad6;
  --text:#e9e6f2;
  --muted:#8f89a8;
  --err:#e0797a;
  --ok:#7ac9a0;
}
*{box-sizing:border-box}
.err{color:var(--err);min-height:1.2em;font-size:.85rem}
small{font-weight:400}

/* GATE */
.gate{min-height:100vh;display:grid;place-items:center;padding:24px}
.gate-card{
  background:var(--ink-2);border:1px solid var(--edge);border-radius:18px;
  padding:40px 32px;width:100%;max-width:360px;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.gate-card h1{font-weight:800;font-size:2rem;margin:.5em 0 0;letter-spacing:-.01em}
.gate-card input{margin:22px 0 14px}
.gate-card button{width:100%}

/* APP */
.app{max-width:820px;margin:0 auto;padding:20px 16px 60px}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 4px 18px}
.brand{display:flex;align-items:center;gap:9px;font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
.status-pills{display:flex;gap:8px;flex-wrap:wrap}

.plat{border-top:1px solid var(--edge);padding-top:14px;margin-top:8px}

.batch{background:var(--ink-2);border:1px solid var(--edge);border-radius:14px;padding:16px 18px;margin-bottom:12px}
.batch h3{margin:0 0 4px;font-size:1.25rem;font-weight:700}
.batch .meta{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.classline{font-size:.85rem;padding:6px 0;border-top:1px dashed var(--edge)}
.classline a{color:var(--violet)}
.addcls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
