.page--keys{max-width:960px;padding:0 clamp(16px,3vw,32px)}.page__main--keys{padding:32px 0 64px}.keys{flex-direction:column;gap:28px;display:flex}.keys__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.keys__title{font-family:var(--sans);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(22px,3vw,28px);font-weight:600}.keys__lede{font-family:var(--sans);color:var(--fg-dim);max-width:56ch;margin:0;font-size:14px;line-height:1.5}.keys__status{font-family:var(--sans);color:var(--fg-dim);border:1px dashed var(--rule-2);border-radius:var(--r-md);padding:16px;font-size:14px}.keys__status--error{color:#ff8a8a;border-color:#ff8a8a}.keys__empty{border:1px dashed var(--rule-2);border-radius:var(--r-lg);background:var(--bg-elev);font-family:var(--sans);color:var(--fg-dim);flex-direction:column;align-items:flex-start;gap:16px;padding:24px;font-size:14px;display:flex}.keys__empty p{margin:0;line-height:1.5}.keys__groups{flex-direction:column;gap:28px;display:flex}.keys-group{flex-direction:column;gap:12px;display:flex}.keys-group__title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);align-items:baseline;gap:10px;margin:0;font-size:13px;display:flex}.keys-group__count{color:var(--fg-muted);font-size:11px}.keys-group__empty{font-family:var(--mono);color:var(--fg-muted);margin:0;font-size:12px}.keys-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.keys-list__row{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--bg-elev);grid-template-columns:1fr auto auto auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.keys-list__default-model{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.keys-list__default-model-label{color:var(--muted)}.keys-list__default-model-select{border:1px solid var(--rule);border-radius:var(--r-sm,6px);background:var(--bg-elev);color:inherit;padding:4px 8px}.keys-list__default-model-error{color:var(--danger,#b91c1c);font-size:.75rem}@media (width<=640px){.keys-list__row{grid-template-columns:1fr;align-items:flex-start;gap:8px}}.keys-list__row--skeleton{align-items:center}.keys-skeleton{background:var(--border);border-radius:2px;height:14px;animation:1.2s ease-in-out infinite keys-skeleton-pulse}.keys-skeleton--label{width:62%}.keys-skeleton--meta{justify-self:end;width:96px}.keys-skeleton--action{justify-self:end;width:60px;height:28px}@keyframes keys-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.keys-skeleton{animation:none}}.keys-list__main{flex-direction:column;gap:4px;min-width:0;display:flex}.keys-list__label-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.keys-list__type{font-family:var(--mono);border:1px solid var(--rule-2);border-radius:var(--r-pill);color:var(--fg-dim);background:var(--bg);padding:2px 7px;font-size:11px}.keys-list__type--sk_live{border-color:var(--accent);color:var(--accent)}.keys-list__type--sk_mcp{color:#8be9fd;border-color:#8be9fd}.keys-list__type--pk_live{border-color:var(--fg-dim);color:var(--fg-dim)}.keys-list__label{font-family:var(--mono);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.keys-list__last4{font-family:var(--mono);color:var(--fg-muted);font-size:12px}.keys-list__meta{font-family:var(--mono);color:var(--fg-muted);flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;display:flex}.keys-list__meta--revoked{color:#ff7b7b}@media (width<=640px){.keys-list__meta{align-items:flex-start}}.keys-list__revoke{font-family:var(--sans);border:1px solid var(--rule-2);border-radius:var(--r-pill);color:var(--fg);cursor:pointer;transition:border-color var(--dur-1) var(--ease-std), color var(--dur-1) var(--ease-std);background:0 0;padding:6px 14px;font-size:12px;font-weight:600}.keys-list__revoke:hover{color:#e26d6d;border-color:#e26d6d}.keys-list__revoke:focus-visible{box-shadow:var(--ring);outline:none}.keys-dialog__backdrop{backdrop-filter:blur(3px);z-index:60;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.keys-dialog{background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:min(520px,100%);font-family:var(--sans);flex-direction:column;gap:14px;padding:22px;display:flex}.keys-dialog__title{font-family:var(--sans);letter-spacing:-.01em;color:var(--fg);margin:0;font-size:17px;font-weight:600}.keys-dialog__title--danger{color:#ff7b7b}.keys-dialog__body{color:var(--fg);margin:0;font-size:13px;line-height:1.5}.keys-dialog__body code{font-family:var(--mono);border-radius:var(--r-xs);background:var(--bg);border:1px solid var(--border);padding:1px 5px}.keys-dialog__hint{color:var(--fg-muted);margin:0;font-size:12px;line-height:1.5}.keys-dialog__hint code{font-family:var(--mono);color:var(--fg-dim)}.keys-dialog form{flex-direction:column;gap:14px;display:flex}.keys-dialog__types{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.keys-dialog__type{color:var(--fg);cursor:pointer;align-items:flex-start;gap:9px;font-size:13px;display:flex}.keys-dialog__type input{accent-color:var(--accent-line);margin-top:2px}.keys-dialog__type span{flex-direction:column;gap:2px;display:flex}.keys-dialog__label{flex-direction:column;gap:6px;display:flex}.keys-dialog__label-text{color:var(--fg-muted);font-size:12px}.keys-dialog__label input{font-family:var(--mono);border:1px solid var(--rule-2);border-radius:var(--r-md);background:var(--bg);color:var(--fg);transition:border-color var(--dur-1) var(--ease-std), box-shadow var(--dur-1) var(--ease-std);padding:11px 13px;font-size:14px}.keys-dialog__label input:focus{border-color:var(--accent-line);box-shadow:var(--ring);outline:none}.keys-dialog__plaintext-row{align-items:stretch;gap:8px;display:flex}.keys-dialog__plaintext{font-family:var(--mono);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-md);color:var(--accent);word-break:break-all;user-select:all;flex:1;padding:11px 13px;font-size:13px}.keys-dialog__status{color:var(--fg-muted);margin:0;font-size:12px}.keys-dialog__status--error{color:#ff7b7b}.keys-dialog__target{grid-template-columns:max-content 1fr;gap:6px 12px;margin:0;font-size:12px;display:grid}.keys-dialog__target div{display:contents}.keys-dialog__target dt{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.keys-dialog__target dd{color:var(--fg);margin:0}.keys-dialog__target dd code{font-family:var(--mono)}.keys-dialog__actions{justify-content:flex-end;gap:8px;display:flex}
