/* Base styles */
.ps-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans"; }
.ps-card { background: #fff; border: 1px solid #e6e7eb; border-radius: 12px; padding: 8px; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.ps-table { width: 100%; border-collapse: collapse; }
.ps-table thead th { text-align: left; font-weight: 600; color: #4b5563; padding: 12px; border-bottom: 1px solid #eef0f3; }
.ps-table tbody td { padding: 14px 12px; border-bottom: 1px solid #f2f3f6; }
.ps-table tbody tr:hover { background: #fafafa; }

.ps-badge { display:inline-flex; align-items:center; gap:8px; font-size: 12px; padding: 6px 10px; border-radius: 20px; font-weight: 600; }
.ps-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; display:inline-block; }
.ps-badge--pending { background: #ffe2e2; color: #d33; }
.ps-badge--running { background: #dcfce7; color: #15803d; }
.ps-badge--completed { background: #e0e7ff; color: #3730a3; }

.ps-shortcode-pill { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; background:#f3f4f6; padding:6px 10px; border-radius: 8px; border:1px solid #e5e7eb; }

/* Filter (tabs) */
.ps-filter { display:flex; gap:10px; margin: 0 0 12px 0; flex-wrap: wrap; }
.ps-filter-btn { 
  border:1px solid #e5e7eb; background:#fff; padding:8px 12px; border-radius:9999px; 
  font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
}
.ps-filter-btn .ps-count { 
  display:inline-flex; min-width:20px; padding:0 6px; border-radius:9999px; font-weight:700; 
  font-size:12px; background:#f3f4f6; 
}
.ps-filter-btn.active { outline:2px solid #05966922; box-shadow: 0 0 0 2px #10b981 inset; }

/* Action buttons (basic) */
.ps-col-action { width: 1%; white-space: nowrap; }
.ps-action-cell { white-space: nowrap; }
.ps-btn { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:10px; border:1px solid #e5e7eb; background:#fff; font-weight:600; text-decoration:none; cursor:pointer; }
.ps-btn:hover { background:#f9fafb; }
.ps-btn--primary { border-color:#10b981; background:#10b981; color:#fff; }
.ps-btn--success { background:#2563eb; color:#fff; border-color:#2563eb; }
.ps-btn--outline { background:#fff; color:#111827; }
.ps-muted { color:#9ca3af; font-style:italic; }

/* ===== Enhanced visual polish (only CSS) ===== */

/* Admin menu bubble (awaiting-mod) */
#adminmenu .toplevel_page_ps-project-status .awaiting-mod,
#adminmenu .toplevel_page_ps-project-status .update-plugins,
.ps-shortcode-pill .awaiting-mod {
  background: linear-gradient(135deg, #fb7185, #ef4444);
  color: #fff !important;
  border-radius: 9999px;
  padding: 0 8px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(239, 68, 68, .35);
  border: 1px solid rgba(255,255,255,.35);
}

/* Buttons */
.ps-btn {
  border-radius: 12px;
  padding: 10px 14px;
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  box-shadow: 0 1px 1px rgba(0,0,0,.02);
}
.ps-btn:active { transform: translateY(1px); }

.ps-btn--primary {
  background: linear-gradient(135deg, #34d399, #10b981);
  color: #fff;
  border: 1px solid rgba(16,185,129,.35);
  box-shadow: 0 4px 12px rgba(16,185,129,.25);
}
.ps-btn--primary:hover { background: linear-gradient(135deg, #10b981, #059669); }
.ps-btn--primary:focus { box-shadow: 0 0 0 3px rgba(16,185,129,.35); }

.ps-btn--success {
  background: linear-gradient(135deg, #60a5fa, #2563eb);
  color: #fff;
  border: 1px solid rgba(37,99,235,.35);
  box-shadow: 0 4px 12px rgba(37,99,235,.25);
}
.ps-btn--success:hover { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.ps-btn--success:focus { box-shadow: 0 0 0 3px rgba(37,99,235,.35); }

.ps-btn--outline {
  background: #ffffff;
  color: #111827;
  border: 1px solid #d1d5db;
}
.ps-btn--outline:hover { background: #f9fafb; border-color: #cbd5e1; }
.ps-btn--outline:focus { box-shadow: 0 0 0 3px rgba(31,41,55,.15); }

/* Filter active pill polish */
.ps-filter-btn.active {
  background: #ecfdf5;
  border-color: #10b981;
  box-shadow: 0 0 0 2px rgba(16,185,129,.2) inset;
}


/* Alert styles */
.ps-alert { border:1px solid #fee2e2; background:#fef2f2; color:#b91c1c; padding:12px 14px; border-radius:10px; font-weight:600; }
.ps-alert--danger { border-color:#fecaca; background:#fef2f2; color:#b91c1c; }
.ps-alert p { margin:0; line-height:1.4; }
