:root { --bg:#f6f6f3; --card:#fff; --ink:#1c1c1a; --mut:#6b6b64; --line:#dcdcd4; --acc:#1f4d3a; --warn:#9a3b1d; --ok:#1f6b3a; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif; background:var(--bg); color:var(--ink); }
header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--acc); color:#fff; }
header h1 { margin:0; font-size:18px; font-weight:600; }
main { max-width:980px; margin:0 auto; padding:16px; display:grid; gap:16px; }
section, .card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:14px; min-width:0; }
h2 { margin:0 0 10px; font-size:16px; }
h3 { margin:0; font-size:15px; }
label { display:grid; gap:3px; font-size:13px; color:var(--mut); }
input, select, textarea, button { font:inherit; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); min-width:0; max-width:100%; }
textarea { width:100%; min-height:90px; font-family:ui-monospace,Menlo,monospace; font-size:12px; }
button { cursor:pointer; background:var(--acc); color:#fff; border-color:var(--acc); }
button.ghost { background:transparent; color:inherit; border-color:currentColor; }
header button.ghost { color:#fff; }
button.danger { background:var(--warn); border-color:var(--warn); }
button.sec { background:#fff; color:var(--acc); }
button:disabled { opacity:.5; cursor:default; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.check { display:flex; align-items:center; gap:6px; color:var(--ink); }
.check input { width:auto; }
.key { font:14px ui-monospace,Menlo,monospace; word-break:break-all; background:#fffbe6; border:2px solid #d9b400; padding:10px; border-radius:6px; }
.err { color:var(--warn); }
.ok { color:var(--ok); }
.mut { color:var(--mut); font-size:13px; }
.pill { display:inline-block; padding:1px 8px; border-radius:99px; font-size:12px; border:1px solid var(--line); }
.pill.active { color:var(--ok); border-color:var(--ok); }
.pill.pending { color:#7a5b00; border-color:#7a5b00; }
.pill.revoked, .pill.expired { color:var(--warn); border-color:var(--warn); }
.lic { display:grid; gap:8px; }
.lic dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:6px 12px; margin:0; }
.lic dt { font-size:12px; color:var(--mut); }
.lic dd { margin:0; word-break:break-word; }
.lics { display:grid; gap:10px; }
.wrap { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th, td { text-align:left; padding:4px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
code { font:12px ui-monospace,Menlo,monospace; word-break:break-all; }
@media (max-width:520px) { main { padding:10px; } header h1 { font-size:16px; } }
.pending-code { font:16px ui-monospace,Menlo,monospace; font-weight:600; letter-spacing:1px; background:#fffbe6; padding:2px 6px; border-radius:4px; }
