.admin{display:flex;flex-direction:column;min-height:100vh}.admin-nav{display:flex;align-items:center;gap:1.25rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--line);background:var(--card)}.admin-brand{font-weight:700}.admin-nav a{color:var(--fg);opacity:.8}.admin-nav a:hover{opacity:1}.admin-logout{margin-left:auto;display:flex;align-items:center;gap:.75rem}.admin-main{padding:1.5rem;max-width:1000px;width:100%;margin:0 auto}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.05rem;margin:1.5rem 0 .5rem}.muted{color:var(--muted)}.error{color:#ff6b68}.ok{color:#3fd271}button,input[type=submit]{background:var(--accent);color:white;border:0;border-radius:6px;padding:.45rem .9rem;font-size:.9rem;cursor:pointer}button.secondary{background:transparent;border:1px solid var(--line);color:var(--fg)}button.danger{background:#c0392b}input,select,textarea{background:#101013;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem;font-size:.9rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.search{display:flex;gap:.5rem}.card,.search{margin-bottom:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem}.row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line)}.badge.active{color:#3fd271;border-color:#2e7d4f}.badge.expired,.badge.revoked{color:#ff6b68;border-color:#8a3a38}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:320px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.login-card h1{margin:0 0 .25rem;text-align:center}