/* Account > AI credits: machines, credit balances, key form, key grid and the "new key" dialog. */
.ai-block{margin:28px 0 0}
#ai-credits-panel>h2{margin-top:48px}
.ai-block>h3{margin:0 0 12px}
.ai-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ai-credit-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.ai-credit-card.is-limitless{border-color:rgba(157,137,255,.5)}
.ai-credit-card .label{color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.ai-credit-card .amount{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1;color:var(--cyan);text-shadow:0 0 8px rgba(112,228,223,.65),0 0 24px rgba(112,228,223,.35)}
.ai-credit-card.is-limitless .amount{color:#c4b8ff;text-shadow:0 0 8px rgba(157,137,255,.7),0 0 24px rgba(157,137,255,.4)}
.ai-credit-card .reserved{color:var(--muted);font-size:.85rem}
.ai-key-form{display:grid;gap:14px;max-width:520px}
.ai-key-form label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}
.ai-key-form input,.ai-key-form select{width:100%}
.ai-key-form .button{justify-self:start}
.ai-machine-list,.ai-key-grid{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ai-row{display:grid;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.ai-row:first-child{border-top:0}
.ai-row.ai-head{color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.03)}
.ai-key-grid .ai-row{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,.9fr) 110px}
.ai-machine-list .ai-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.7fr) 200px}
.ai-row .cell{overflow-wrap:anywhere;min-width:0}
.ai-row .mono{white-space:pre-line;font-family:ui-monospace,Consolas,monospace;font-size:.85rem}
.ai-row .actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ai-row .actions .button{padding:6px 12px;min-height:0}
.ai-pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.78rem}
.ai-pill.ok{color:var(--cyan);border-color:rgba(112,228,223,.5)}
.ai-pill.bad{color:#ff8b8b;border-color:rgba(255,139,139,.5)}
.ai-pill.limitless{color:#c4b8ff;border-color:rgba(157,137,255,.55)}
.ai-empty{color:var(--muted);padding:14px 16px}
dialog.ai-key-dialog{background:var(--panel);color:var(--text);border:1px solid rgba(112,228,223,.5);border-radius:18px;padding:24px;width:min(560px,calc(100vw - 32px));box-shadow:0 20px 80px rgba(0,0,0,.6)}
dialog.ai-key-dialog::backdrop{background:rgba(0,0,0,.7)}
dialog.ai-key-dialog h3{margin:0 0 6px}
dialog.ai-key-dialog .key-type{margin:0 0 14px;color:var(--muted)}
dialog.ai-key-dialog input{width:100%;font-family:ui-monospace,Consolas,monospace}
dialog.ai-key-dialog .key-note{color:var(--muted);line-height:1.55;margin:14px 0}
dialog.ai-key-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end}
@media (max-width:760px){
  .ai-credit-grid{grid-template-columns:1fr 1fr}
  .ai-key-grid .ai-head,.ai-machine-list .ai-head{display:none}
  .ai-key-grid .ai-row,.ai-machine-list .ai-row{grid-template-columns:1fr}
  .ai-row .actions{justify-content:flex-start}
}
/* Request history: filters, list, pager */
.ai-history-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:18px 0 8px}
.ai-history-filters label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}
.ai-history-filters input,.ai-history-filters select{width:100%}
.ai-history-filters .actions{display:flex;gap:8px}
.ai-history-list details{border-bottom:1px solid var(--line);padding:10px 0}
.ai-history-list summary{cursor:pointer;overflow-wrap:anywhere}
.ai-history-pager{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;color:var(--muted)}
@media (max-width:760px){.ai-history-filters{grid-template-columns:1fr 1fr}.ai-history-filters .search,.ai-history-filters .actions{grid-column:1/-1}}
