/* ============================================
   API Key Manager Pro — Responsive
   ============================================ */

@media (max-width: 1200px) {
  .topbar-search input { width: 160px; }
}

@media (max-width: 992px) {
  .page-content { padding: 16px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .content-grid { grid-template-columns: 1fr; gap: 16px; }
  .card-body { padding: 16px; }
  .modal-box { max-width: 100%; margin: 0 12px; }
}

@media (max-width: 768px) {
  .topbar-title { font-size: 15px; }
  .stat-value { font-size: 22px; }
  .keys-toolbar { gap: 8px; }
  .key-card { padding: 14px 16px; }
  .key-name { font-size: 14px; }
  .key-value-display { font-size: 12px; }
  .key-actions .btn-icon { width: 30px; height: 30px; font-size: 13px; }
  .activity-item { padding: 10px 0; }
}

@media (max-width: 576px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat-card { padding: 14px; }
  .stat-icon { width: 40px; height: 40px; font-size: 18px; }
  .stat-value { font-size: 20px; }
  .stat-label { font-size: 12px; }
  .topbar { padding: 0 12px; gap: 10px; }
  .page-content { padding: 12px; }
  .card-header { padding: 14px 16px; }
  .modal-body { padding: 16px; }
  .modal-footer { padding: 12px 16px; flex-direction: column; }
  .modal-footer .btn { width: 100%; }
  .toast-stack { right: 12px; bottom: 12px; }
  .toast { min-width: 200px; }
  .gen-options { flex-direction: column; }
  .key-footer { flex-direction: column; gap: 4px; }
}

@media (max-width: 420px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .keys-toolbar { flex-direction: column; align-items: stretch; }
  .keys-toolbar .filter-select,
  .keys-toolbar .sort-btn { width: 100%; }
}
