:root{color-scheme:dark;--bg:#080d15;--panel:#101925;--line:#263445;--muted:#91a0b2;--text:#eef4fb;--lime:#c4ed70;--red:#ff7883}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#14202c 0,transparent 42%),var(--bg);color:var(--text);font:15px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;min-height:100vh}button,input{font:inherit}.page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0 32px}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none}.brand>span:last-child{display:grid;gap:1px}.brand small{color:var(--muted);font-size:12px}.mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#c4ed70;color:#15200b;font-weight:800;font-size:20px}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-.5px;margin-bottom:5px}h2{font-size:19px;margin:0 0 4px}.muted,small{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--lime);font-weight:700;margin-bottom:8px}.login-panel{width:min(440px,100%);margin:10vh auto 0;padding:34px;background:linear-gradient(145deg,#121e2a,#0e1620);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px #0005}.login-panel h1{margin-bottom:8px}.login-panel p{margin-bottom:24px}label{display:grid;gap:7px;font-size:13px;color:#cbd6e3}input{width:100%;height:44px;background:#0a111a;color:var(--text);border:1px solid #344459;border-radius:10px;padding:0 12px;outline:none}input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c4ed7018}.login-panel form{display:grid;gap:12px}.button{border:1px solid #344459;background:#182333;color:var(--text);border-radius:10px;min-height:40px;padding:0 15px;cursor:pointer;transition:.15s ease}.button:hover{border-color:#70849a;background:#202e40}.button:disabled{opacity:.55;cursor:wait}.primary{background:var(--lime);border-color:var(--lime);color:#15200b;font-weight:750}.primary:hover{background:#d2f68c;border-color:#d2f68c}.full{width:100%;height:46px;margin-top:5px}.quiet{background:transparent}.hidden{display:none!important}.message{min-height:20px;font-size:13px;color:var(--red);margin:4px 0 0}.message.good{color:var(--lime)}.heading,.list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.heading{margin-bottom:22px}.heading p,.list-heading p{margin:4px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stats article,.card{background:linear-gradient(150deg,#121d29,#0f1721);border:1px solid var(--line);border-radius:16px}.stats article{padding:17px 19px;display:grid;gap:6px}.stats span{font-size:13px;color:var(--muted)}.stats b{font-size:26px}.card{padding:21px;margin-bottom:16px}.issue-card>div:first-child{margin-bottom:17px}.issue-form{display:grid;grid-template-columns:110px 150px 140px minmax(160px,1fr) auto;gap:12px;align-items:end}.issue-form label small{font-size:11px;margin-top:-4px}.issue-form .button{height:44px;white-space:nowrap}.note-field{min-width:0}.issued{margin-top:18px;padding:14px;background:#0b141e;border:1px solid #33485b;border-radius:12px}.issued-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.issued-head>div{display:grid;gap:3px}.issued-head small{font-size:12px}#issuedCodes{white-space:pre-wrap;word-break:break-all;color:#d8efae;margin:12px 0 0;font:14px/1.8 ui-monospace,Consolas,monospace}.list-heading{margin-bottom:17px}.filter{width:min(250px,40%);height:38px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:860px}th,td{text-align:left;padding:12px 10px;border-top:1px solid #243243;font-size:13px}th{color:var(--muted);font-size:12px;font-weight:600}td:first-child{font-family:ui-monospace,Consolas,monospace;color:#dce9f8}.code-cell{min-width:225px}.code-display{display:grid;gap:7px}.code-text{font:12px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.code-actions{display:flex;gap:6px}.code-actions .button{min-height:28px;padding:0 9px;font-size:11px}.legacy-note{font-size:11px;color:var(--muted)}.badge{display:inline-flex;padding:4px 9px;border-radius:99px;background:#1e3426;color:#c7ed87;font-size:12px;white-space:nowrap}.badge.activated{background:#1e3426;color:#c7ed87}.badge.not-activated{background:#202b38;color:#afbdcc}.badge.expired{background:#362a20;color:#f4c27c}.badge.revoked{background:#38232a;color:#ff9ba1}.row-actions{display:flex;gap:7px;white-space:nowrap}.row-actions .button{min-height:32px;padding:0 9px;font-size:12px}.row-actions .danger{color:#ffa0a5;border-color:#613943;background:#291a20}.empty{text-align:center;color:var(--muted);padding:28px}.page-message{margin:0 0 8px}footer{color:#65758a;text-align:center;font-size:12px;padding-top:14px}
@media(max-width:850px){.issue-form{grid-template-columns:repeat(3,1fr)}.note-field{grid-column:span 2}.issue-form .button{grid-column:span 1}}@media(max-width:620px){.page{width:calc(100% - 24px);padding-top:12px}.login-panel{margin-top:7vh;padding:24px}.heading,.list-heading{align-items:flex-start;flex-direction:column}.heading>.button{align-self:stretch}.stats{gap:8px}.stats article{padding:12px}.stats b{font-size:22px}.issue-form{grid-template-columns:1fr 1fr}.issue-form .button,.note-field{grid-column:span 2}.filter{width:100%}.issued-head{align-items:flex-start;flex-direction:column}.issued-head .button{width:100%}}