:root{--navy:#061024;--navy2:#0b1c3c;--gold:#c99738;--gold-l:#e5b85c;--muted:#94a3b8;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#091a38,#061024) fixed;color:#e2e8f0;font-family:'Avenir','Plus Jakarta Sans',Segoe UI,Roboto,sans-serif;min-height:100vh}
a{color:var(--gold-l)}
.wrap{max-width:1180px;margin:0 auto;padding:2rem 1.25rem}
.badge{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l)}
h1{margin:.4rem 0 .25rem;font-size:1.7rem;color:#fff}
.sub{color:var(--muted);font-size:.9rem}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.card{background:rgba(11,28,60,.7);border:1px solid var(--line);padding:1.5rem;backdrop-filter:blur(12px)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat .l{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stat .v{font-size:1.8rem;font-weight:800;color:var(--gold-l);margin-top:.3rem}
.toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
input[type=text],input[type=password]{background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;padding:.7rem .9rem;font:inherit;width:100%}
input:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.toolbar input[type=text]{flex:1;min-width:220px}
.btn{display:inline-block;border:1px solid var(--gold);background:var(--gold);color:#061024;padding:.7rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;font-size:.85rem}
.btn:hover{background:var(--gold-l)}
.btn.sec{background:transparent;color:#fff;border-color:var(--line)}
.btn.sec:hover{border-color:var(--gold)}
.btn.danger{background:transparent;color:#f87171;border-color:rgba(248,113,113,.5);padding:.4rem .7rem;font-size:.75rem}
.btn.danger:hover{background:rgba(248,113,113,.15)}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th{text-align:left;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.7rem;border-bottom:1px solid var(--line)}
td{padding:.8rem .7rem;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
.tablewrap{overflow-x:auto}
.code{color:var(--gold-l);font-weight:800}
.pill{font-size:.75rem;background:rgba(255,255,255,.08);padding:.2rem .6rem}
.empty{padding:2rem;text-align:center;color:var(--muted)}
.flash{padding:.8rem 1rem;margin-bottom:1rem;border:1px solid rgba(74,222,128,.4);background:rgba(74,222,128,.1);color:#86efac}
.err{padding:.8rem 1rem;margin-bottom:1rem;border:1px solid rgba(248,113,113,.4);background:rgba(248,113,113,.1);color:#fca5a5}
.pager{display:flex;gap:.5rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}
.pager a,.pager span{padding:.4rem .75rem;border:1px solid var(--line);text-decoration:none;color:#fff;font-size:.82rem}
.pager span.cur{background:var(--gold);color:#061024;border-color:var(--gold)}
.login{max-width:400px;margin:12vh auto 0}
.login label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .35rem}
.login .btn{width:100%;margin-top:1.5rem}
