:root { --green:#0f0; --green-dim:#0a0; --bg:#0a0a0a; --bg-light:#111; --red:#f55; --amber:#fb0; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Share Tech Mono','Courier New',monospace; background:var(--bg); color:var(--green); font-size:16px; min-height:100vh; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px); z-index:1000; }
.toolbar { background:var(--bg-light); border-bottom:2px solid var(--green-dim); padding:10px 20px; display:flex; gap:30px; align-items:center; letter-spacing:2px; }
.toolbar span { flex:1; color:var(--green-dim); }
main { max-width:1100px; margin:20px auto; padding:0 20px; }
section { border:1px solid var(--green-dim); background:var(--bg-light); padding:16px; margin-bottom:20px; }
h1,h2 { text-transform:uppercase; letter-spacing:3px; margin-bottom:12px; font-weight:normal; }
.cursor { animation:blink 1s steps(1) infinite; } @keyframes blink { 50% { opacity:0; } }
input,select,button { font:inherit; background:var(--bg); color:var(--green); border:1px solid var(--green-dim); padding:6px 10px; margin:2px 6px 2px 0; }
button { cursor:pointer; text-transform:uppercase; letter-spacing:1px; } button:hover:not(:disabled) { background:var(--green); color:var(--bg); } button:disabled { opacity:.4; }
table { width:100%; border-collapse:collapse; margin-top:12px; } th,td { text-align:left; padding:6px 8px; border-bottom:1px solid #123; vertical-align:top; word-break:break-all; }
th { color:var(--green-dim); font-weight:normal; text-transform:uppercase; }
.st.approved { color:var(--green); } .st.pending { color:var(--amber); } .st.rejected { color:var(--red); }
details div { color:var(--amber); font-size:14px; padding:2px 0; } .warn { color:var(--amber); margin-bottom:10px; } .err { color:var(--red); margin-bottom:10px; }
body.login { display:flex; flex-direction:column; align-items:center; justify-content:center; }
.banner { font-size:28px; margin-bottom:20px; text-shadow:0 0 8px var(--green); }
.box { border:1px solid var(--green-dim); background:var(--bg-light); padding:24px; width:min(420px,92vw); }
.box label { display:block; margin:10px 0; } .box input { display:block; width:100%; margin:4px 0; } .box button { width:100%; margin-top:14px; padding:10px; }
.qr { background:#fff; padding:8px; margin:12px auto; width:fit-content; } .qr svg { display:block; max-width:100%; height:auto; } .small { font-size:13px; color:var(--green-dim); word-break:break-all; margin-bottom:10px; } code { color:var(--green); } .box p { margin:8px 0; }
