:root{--paper: #f5f7f6;--panel: #ffffff;--ink: #17212b;--ink-2: #4a5661;--ink-3: #7b8790;--line: #d7dee3;--line-2: #e9eef1;--shield: #0f766e;--shield-2: #0b5f59;--shield-soft: #e3f3f0;--amber: #b45309;--amber-soft: #fbeedb;--red: #b42318;--red-soft: #fbe7e5;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r: 6px}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}a{color:var(--shield)}button,input,select,textarea{font:inherit}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:22px}h2{font-size:17px}p{margin:0}.mono{font-family:var(--mono);font-size:13.5px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand svg{width:22px;height:22px}.brand small{font-weight:400;color:var(--ink-3)}.topbar nav{display:flex;gap:18px;align-items:center;color:var(--ink-2)}.topbar nav a{color:inherit;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.topbar nav a.router-link-active{color:var(--ink);border-color:var(--shield)}.main{width:min(100%,980px);margin:0 auto;padding:28px 20px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head p{color:var(--ink-2);max-width:60ch}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}.btn:hover{border-color:var(--ink-3)}.btn:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--shield);outline-offset:2px}.btn.primary{background:var(--shield);border-color:var(--shield);color:#fff}.btn.primary:hover{background:var(--shield-2)}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red)}.btn.small{padding:5px 10px;font-size:13.5px}.btn:disabled{opacity:.55;cursor:default}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-weight:500}.field .hint{color:var(--ink-3);font-size:13px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);width:100%}.checks{display:flex;gap:14px;flex-wrap:wrap}.checks label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer}.checks input{accent-color:var(--shield)}.error{background:var(--red-soft);color:var(--red);padding:10px 12px;border-radius:var(--r);margin-bottom:14px}.notice{background:var(--amber-soft);color:var(--amber);padding:10px 12px;border-radius:var(--r);margin-bottom:14px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,400px);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px}.auth-card .brand{margin-bottom:22px}.auth-card h1{margin-bottom:4px}.auth-card>p{color:var(--ink-2);margin-bottom:20px}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.table th,.table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}.table th{font-weight:500;color:var(--ink-2);font-size:13.5px;background:#fafbfb}.table tr:last-child td{border-bottom:0}.table .actions{white-space:nowrap;text-align:right}.status{display:inline-flex;align-items:center;gap:6px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-3)}.status.active:before{background:var(--shield)}.status.expiring:before{background:var(--amber)}.status.revoked{color:var(--ink-3)}.status.revoked:before{background:var(--line)}.scopes span{display:inline-block;padding:1px 7px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;margin-right:4px}.env{font-size:12.5px;color:var(--ink-2)}.muted{color:var(--ink-3);font-size:13px}.empty{padding:40px 20px;text-align:center;color:var(--ink-2);background:var(--panel);border:1px dashed var(--line);border-radius:var(--r)}.table-wrap{overflow-x:auto}.secret{background:var(--ink);color:#eef3f1;border-radius:10px;padding:22px 24px;margin-bottom:22px}.secret h2{color:#fff;margin-bottom:4px}.secret p{color:#b9c4c0;margin-bottom:16px;max-width:64ch}.secret .row{display:grid;grid-template-columns:110px 1fr auto;gap:10px 14px;align-items:center;margin-bottom:10px}.secret .row span:first-child{color:#9fb0aa;font-size:13px}.secret code{font-family:var(--mono);font-size:14px;word-break:break-all;color:#fff}.secret .btn{background:transparent;color:#fff;border-color:#55655f}.secret .btn:hover{border-color:#fff}.secret .btn.copied{border-color:#4fd1c5;color:#4fd1c5}.secret .close{margin-top:8px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17212b73;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(100%,520px);background:var(--panel);border-radius:10px;padding:24px;max-height:92vh;overflow:auto}.modal h2{margin-bottom:4px}.modal>p{color:var(--ink-2);margin-bottom:18px}.modal .foot{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}@media(max-width:640px){.topbar{padding:12px 16px}.secret .row{grid-template-columns:1fr;gap:4px}.table th:nth-child(4),.table td:nth-child(4){display:none}}@media(prefers-reduced-motion:no-preference){.secret{animation:rise .25s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
