:root { --bg:#0b0f14; --card:#121923; --text:#e8eef7; --muted:#9fb0c3; --accent:#00d86d; --err:#ff5a5a; --warn:#ffcc66; }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}
.container{max-width:980px;margin:0 auto;padding:18px}
.topbar{background:#0d141e;border-bottom:1px solid #1f2a38}
.brand-title{font-weight:800;font-size:18px}
.brand-sub{color:var(--muted);font-size:12px}
.nav a{margin-left:14px;color:var(--muted)}
.nav a:hover{color:var(--text)}
.card{background:var(--card);border:1px solid #1f2a38;border-radius:16px;padding:18px;margin-top:18px}
h1{margin:0 0 10px 0;font-size:22px}
p{color:var(--muted);line-height:1.6}
.row{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:10px;margin-top:12px}
input,select,button{padding:12px;border-radius:12px;border:1px solid #223044;background:#0d141e;color:var(--text)}
button{background:var(--accent);color:#052010;border:none;font-weight:700;cursor:pointer}
button:hover{filter:brightness(1.05)}
.badge{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:800;margin-bottom:12px}
.badge.ok{background:rgba(0,216,109,.14);color:var(--accent);border:1px solid rgba(0,216,109,.25)}
.badge.warn{background:rgba(255,204,102,.14);color:var(--warn);border:1px solid rgba(255,204,102,.25)}
.badge.err{background:rgba(255,90,90,.12);color:var(--err);border:1px solid rgba(255,90,90,.25)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.k{display:block;color:var(--muted);font-size:12px}
.v{display:block;font-weight:700;margin-top:2px}
.actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid #223044;background:#0d141e;color:var(--text)}
.small{margin-top:12px;color:var(--muted);font-size:12px}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.revoked{margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,204,102,.08);border:1px solid rgba(255,204,102,.18)}
.flash-wrap{margin-top:14px}
.flash{padding:10px 12px;border-radius:12px;margin-bottom:10px;border:1px solid #223044;background:#0d141e}
.flash.ok{border-color:rgba(0,216,109,.35)}
.flash.error{border-color:rgba(255,90,90,.35)}
.table{margin-top:14px;border:1px solid #223044;border-radius:14px;overflow:hidden}
.tr{display:grid;grid-template-columns:1.4fr 1.6fr 1.6fr .9fr .8fr 1fr;gap:10px;padding:12px;border-top:1px solid #223044}
.tr.head{background:#0d141e;color:var(--muted);border-top:none;font-weight:700}
.actions-inline{display:flex;gap:10px}
.link{color:var(--accent)}
.link.danger{color:var(--err)}
.stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.footer{margin-top:26px;color:var(--muted);border-top:1px solid #1f2a38}
.hint{margin-top:12px;color:var(--muted);font-size:13px}
@media (max-width: 820px){
  .grid{grid-template-columns:1fr}
  .tr{grid-template-columns:1.4fr 1.6fr;grid-auto-rows:auto}
}
