:root{--lake:#0f2230;--lake-2:#15303f;--lake-3:#1d3f52;--line:#2a5066;--foam:#e6eef0;--mist:#8fabb8;--bobber:#e2483d;--bobber-dark:#b8322a;--shell:#f4f6f2;--catch:#7cc9a3;--warn:#e8b44c;--error:#ff7a6b;--num:"Bahnschrift", "DIN Alternate", "Segoe UI", system-ui, sans-serif;--text:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--code:"Cascadia Mono", "Consolas", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(90% 40% at 50% -10%, #1b3c50 0%, transparent 60%), var(--lake);color:var(--foam);font:14px/1.5 var(--text);min-height:100vh}a{color:var(--foam);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--shell);outline-offset:2px}h1,h2,h3{font-family:var(--num);font-weight:600;line-height:1.2}h1{margin:0 0 4px;font-size:26px}h2{margin:0 0 12px;font-size:18px}code,.key{font-family:var(--code)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px 48px}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 0;display:flex}.brand{font:600 17px/1 var(--num);align-items:center;gap:8px;text-decoration:none;display:flex}.brand svg{width:22px;height:22px}.who{color:var(--mist);align-items:center;gap:12px;font-size:13px;display:flex}.who img{border-radius:50%;width:26px;height:26px}.role{border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:12px}.role.admin{color:var(--bobber);border-color:#6b3530}.btn{border:1px solid var(--line);background:var(--lake-2);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--lake-3)}.btn.primary{background:var(--bobber);border-color:var(--bobber);color:#fff;font-weight:600}.btn.primary:hover{background:var(--bobber-dark)}.btn.ghost{background:0 0}.btn.danger{color:var(--error);background:0 0;border-color:#6b3530}.btn.small{padding:4px 10px;font-size:12.5px}.flash{border:1px solid;border-radius:10px;margin-bottom:18px;padding:10px 14px}.flash.msg{color:var(--catch);background:#7cc9a314;border-color:#2f6650}.flash.err{color:var(--error);background:#ff7a6b14;border-color:#6b3530}.muted{color:var(--mist)}.lead{color:var(--mist);max-width:60ch;margin:0 0 20px}input:not([type=checkbox]),select,textarea{background:var(--lake-2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:7px 10px}textarea{resize:vertical;min-height:60px}label{color:var(--mist);gap:4px;font-size:12.5px;display:grid}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 9px;font-size:12px;display:inline-block}.badge.active{color:var(--catch);border-color:#2f6650}.badge.expired{color:var(--warn);border-color:#6a5527}.badge.revoked{color:var(--error);border-color:#6b3530}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:28px;display:grid}.stats div{gap:2px;padding:14px 0 12px;display:grid}.stats div+div{border-left:1px solid var(--line);padding-left:16px}.stats b{font:600 28px/1 var(--num);font-variant-numeric:tabular-nums}.stats span{color:var(--mist);font-size:12.5px}.create{grid-template-columns:2fr 1fr 1fr 1fr 2fr auto;align-items:end;gap:10px;margin-bottom:32px;display:grid}.create .custom-days{display:none}.create:has(select[name=duration] option[value=custom]:checked) .custom-days{display:grid}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filters input{flex:240px}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--mist);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12.5px;font-weight:500}td{vertical-align:top;border-bottom:1px solid #2a506680;padding:9px 10px}tr:hover td{background:#1d3f5259}td .key{font-size:12.5px}.table-scroll{overflow-x:auto}.empty{color:var(--mist);padding:28px 0}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.keybox{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;display:flex}.keybox .key{letter-spacing:.04em;font-size:20px}.facts{grid-template-columns:max-content 1fr;gap:6px 18px;margin:0 0 28px;display:grid}.facts dt{color:var(--mist)}.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.actions{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px 28px;margin-bottom:32px;display:grid}.actions section{border-top:1px solid var(--line);padding-top:12px}.actions h3{margin:0 0 8px;font-size:15px}.actions p{color:var(--mist);margin:0 0 10px;font-size:13px}.row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.row label.check{color:var(--foam);align-items:center;gap:6px;font-size:13px;display:flex}.edit{gap:8px;display:grid}.result-ok{color:var(--catch)}.result-bad{color:var(--error)}.mylic{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px 24px;padding:18px 0;display:grid}.mylic .facts{margin:6px 0 0}.mylic form{align-self:start}.login{max-width:420px;margin:12vh auto 0;padding:0 20px}.login .brand{margin-bottom:28px}.gbtn{background:var(--shell);color:#10202a;border-color:var(--shell);width:100%;padding:12px;font-size:15px;font-weight:600}.gbtn:hover{background:#fff}.devlogin{border-top:1px dashed var(--line);gap:8px;margin-top:32px;padding-top:16px;display:grid}@media (width<=860px){.create{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-left:none;padding-left:0}.mylic{grid-template-columns:1fr}}@media (width<=480px){.create{grid-template-columns:1fr}.wrap{padding:0 16px 40px}.top{flex-wrap:wrap}}.logbox{background:var(--lake-2);border:1px solid var(--line);max-height:420px;font:12px/1.5 var(--code);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:8px 0 12px;padding:12px;overflow:auto}
