:root{--brand:#0b5fff;--bg:#f5f7fb;--ink:#14202f;--mut:#667085;--line:#dfe3ea}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:720px;margin:0 auto;padding:0 18px}.wide{max-width:1180px}
.top{background:#fff;border-bottom:3px solid var(--brand);padding:14px 0}.top .wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.logo{font-weight:700;font-size:20px;color:var(--brand)}.sub,.muted{color:var(--mut);font-size:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:22px 0;box-shadow:0 1px 3px #0001}.narrow{max-width:420px;margin:60px auto}
h1{font-size:24px;margin:.2em 0 .6em}h2{font-size:18px;margin:1.3em 0 .5em}
label{display:block;margin:12px 0;font-weight:600;font-size:14px}input,select,textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #c3c9d4;border-radius:8px;font:inherit;background:#fff}
input:focus,textarea:focus,select:focus{outline:2px solid var(--brand);outline-offset:1px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}.chk input{width:auto;margin-top:4px}
button,.btn{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;display:inline-block;text-decoration:none}
button.sec{background:#e6eaf1;color:var(--ink)}button.danger{background:#c0262d}button.sm,input.sm{padding:5px 10px;font-size:13px;width:auto;display:inline-block}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tabs a{padding:9px 14px;text-decoration:none;color:var(--mut);border-bottom:3px solid transparent;font-weight:600;font-size:14px}.tabs a.on{color:var(--brand);border-color:var(--brand)}
.ok{background:#e8f7ee;border:1px solid #9bd9b3;padding:10px 14px;border-radius:8px}.err{background:#fdecec;border:1px solid #f0a8a8;padding:10px 14px;border-radius:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.foot{padding:24px 18px;color:var(--mut);font-size:13px}a{color:var(--brand)}
.legal{font-size:15px}.legal ul{padding-left:20px}.t{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.t th,.t td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.nav{display:flex;gap:14px;flex:1;flex-wrap:wrap}.nav a{text-decoration:none;font-weight:600;font-size:14px}.inl{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.inl input,.inl select{width:auto;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.grid .card{margin:8px 0}
.pill{padding:2px 9px;border-radius:99px;font-size:12px;background:#e6eaf1;white-space:nowrap}.pill.active{background:#d5f2e0}.pill.revoked{background:#fbd9d9}.pill.expired{background:#eee;color:#666}.pill.issued{background:#fff0c9}
.actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.keybox pre{font-size:18px;background:#0f172a;color:#9dffb0;padding:14px;border-radius:8px;overflow:auto}.filt{margin-bottom:12px}
