/* Shared utilities – prefer these over inline style attributes */
.u-m-0 { margin: 0 !important; }
.u-mt-0 { margin-top: 0 !important; }
.u-mt-1 { margin-top: 0.35rem !important; }
.u-mt-2 { margin-top: 0.5rem !important; }
.u-mt-3 { margin-top: 1rem !important; }
.u-mt-4 { margin-top: 1.5rem !important; }
.u-mt-5 { margin-top: 2rem !important; }
.u-mb-0 { margin-bottom: 0 !important; }
.u-mb-2 { margin-bottom: 0.5rem !important; }
.u-mb-3 { margin-bottom: 1rem !important; }
.u-mb-4 { margin-bottom: 1.5rem !important; }
.u-p-0 { padding: 0 !important; }
.u-w-full { width: 100% !important; }
.u-w-4 { width: 4rem !important; }
.u-w-8 { width: 8rem !important; }
.u-w-180 { width: 180px !important; }
.u-max-520 { max-width: 520px !important; }
.u-max-220 { max-width: 220px !important; }
.u-max-320 { max-width: 320px !important; }
.u-inline { display: inline !important; }
.u-block { display: block !important; }
.u-row { display: flex !important; flex-wrap: wrap !important; gap: 0.5rem !important; align-items: center !important; }
.u-col { display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.u-nowrap { white-space: nowrap !important; }
.u-ellipsis { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.u-table-scroll { padding: 0 !important; overflow: auto !important; }
.u-thumb-sm { max-height: 40px !important; width: auto !important; }
.u-thumb-md { max-width: 200px !important; height: auto !important; }
.u-muted { color: #94a3b8 !important; }
.u-muted-2 { color: #64748b !important; }
.u-danger { color: #f87171 !important; }
.u-danger-strong { color: #dc2626 !important; }
.u-dim { opacity: 0.7 !important; }
.u-text-sm { font-size: 0.9rem !important; }
.u-text-xs { font-size: 0.75rem !important; }
.u-h2 { margin: 0 0 0.75rem !important; font-size: 1rem !important; }
.u-h2-tight { margin-top: 0 !important; font-size: 1rem !important; }
.u-pre-wrap { white-space: pre-wrap !important; font-family: system-ui, sans-serif !important; }
.u-flex-1 { flex: 1 !important; min-width: 12rem !important; }
.u-grid-auto { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; }
.u-dl { border-collapse: collapse !important; margin: 1rem 0 !important; }
.u-dl th, .u-dl td { padding: 0.35rem 0 !important; }
.u-dl .u-label { padding: 0.35rem 1rem 0.35rem 0 !important; color: #64748b !important; }
.u-oauth-sep { margin-top: 1.5rem !important; padding-top: 1.25rem !important; border-top: 1px solid #e2e8f0 !important; }
.u-oauth-btn {
  display: block !important;
  text-align: center !important;
  padding: 0.55rem !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  color: #0f172a !important;
  font-weight: 600 !important;
}
.u-admin-pad { padding: 0 1.25rem 0.75rem !important; }
.u-code { font-size: 0.75rem !important; }
.u-log-box { max-height: 220px !important; }
.u-border-danger { border-color: #f87171 !important; }

.btn.is-active { background: #3b82f6 !important; }
.u-code-block {
  background: #0f172a !important;
  padding: 1rem !important;
  border-radius: 8px !important;
  overflow: auto !important;
  font-size: 0.85rem !important;
}
.u-hr { border: none !important; border-top: 1px solid #334155 !important; margin: 1rem 0 !important; }
