:root{--bg:#000;--panel:#050505;--line:#1d1d1f;--text:#f5f5f5;--muted:#a1a1aa;--white:#fff;--green:#22c55e;--green-dark:#166534;--radius:16px;--max:1080px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(100% - 28px,var(--max));margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font-weight:800;font-size:.95rem;cursor:pointer;border:none;transition:transform .12s ease,opacity .12s ease;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn--primary{background:#fff;color:#000}.btn--green{background:#0a1a0a;color:var(--green);border:1px solid var(--green-dark)}.btn--ghost{background:#0b0b0b;color:#fff;border:1px solid #242427}.btn--outline{background:transparent;color:#fff;border:1px solid #3a3a3d}.btn--danger{background:#1a0a0a;color:#f87171;border:1px solid #7f1d1d}.btn--wide{width:100%}.card{background:#070707;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.badge--green{background:#0a1a0a;color:var(--green);border:1px solid var(--green-dark)}.badge--yellow{background:#1a1500;color:#facc15;border:1px solid #713f12}.badge--red{background:#1a0a0a;color:#f87171;border:1px solid #7f1d1d}.badge--gray{background:#111;color:var(--muted);border:1px solid #333}.form-group{display:grid;grid-gap:6px;gap:6px}.label{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.input{background:#080808;border:1px solid #2a2a2d;border-radius:10px;color:var(--text);font-size:.95rem;padding:12px 14px;width:100%;outline:none;transition:border-color .14s}.input:focus{border-color:#555}.input::placeholder{color:#444}textarea.input{resize:vertical;min-height:100px}select.input{cursor:pointer}