/* ═══════════════════════════════════════════════════════════════════════════
   AshishTrades – Custom Theme
   Bootstrap 5.3 CSS Variables + Light/Dark overrides
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Brand Colour Palette ──────────────────────────────────────────────────── */
:root {
  --at-brand:           #00d4aa;      /* AshishTrades teal-green */
  --at-brand-dark:      #00b891;
  --at-brand-light:     #e0faf5;
  --at-bg-nav:          #0f1923;      /* Dark navy navbar */
  --at-bg-nav-text:     #e2e8f0;
  --at-font:            'Segoe UI', system-ui, -apple-system, sans-serif;

  --bs-primary:         var(--at-brand);
  --bs-primary-rgb:     0, 212, 170;
  --bs-font-sans-serif: var(--at-font);

  /* Sizing */
  --at-navbar-height:   60px;
  --at-sidebar-width:   240px;
}

/* ── Light theme overrides ──────────────────────────────────────────────────── */
[data-bs-theme="light"] {
  --at-page-bg:     #f4f7fa;
  --at-card-bg:     #ffffff;
  --at-border:      #e2e8f0;
  --at-log-bg:      #0f1923;
  --at-log-text:    #a3b8c8;
  --at-footer-bg:   #f0f4f8;
}

/* ── Dark theme overrides ───────────────────────────────────────────────────── */
[data-bs-theme="dark"] {
  --at-page-bg:     #0d1117;
  --at-card-bg:     #161b22;
  --at-border:      #30363d;
  --at-log-bg:      #0d1117;
  --at-log-text:    #8b949e;
  --at-footer-bg:   #161b22;

  --bs-body-bg:     var(--at-page-bg);
  --bs-body-color:  #c9d1d9;
  --bs-card-bg:     var(--at-card-bg);
  --bs-border-color:var(--at-border);
}

/* ── Base ────────────────────────────────────────────────────────────────────── */
body {
  background-color: var(--at-page-bg);
  font-family: var(--at-font);
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* ── Navbar ──────────────────────────────────────────────────────────────────── */
.navbar-at {
  background-color: var(--at-bg-nav) !important;
  min-height: var(--at-navbar-height);
  border-bottom: 1px solid rgba(0, 212, 170, 0.15);
}
.navbar-at .nav-link,
.navbar-at .navbar-brand,
.navbar-at .dropdown-toggle {
  color: var(--at-bg-nav-text) !important;
  transition: color 0.15s ease;
}
.navbar-at .nav-link:hover,
.navbar-at .navbar-brand:hover {
  color: var(--at-brand) !important;
}
.navbar-at .navbar-toggler {
  border-color: rgba(255,255,255,0.2);
}
.navbar-at .navbar-toggler-icon {
  filter: invert(1);
}

/* ── Brand utilities ─────────────────────────────────────────────────────────── */
.text-brand { color: var(--at-brand) !important; }
.bg-brand   { background-color: var(--at-brand) !important; color: #0f1923 !important; }
.bg-brand-subtle { background-color: var(--at-brand-light) !important; }
[data-bs-theme="dark"] .bg-brand-subtle { background-color: rgba(0,212,170,0.12) !important; }
.border-brand { border-color: var(--at-brand) !important; }
.btn-brand {
  background-color: var(--at-brand);
  border-color: var(--at-brand);
  color: #0f1923;
  font-weight: 600;
  transition: all 0.2s ease;
}
.btn-brand:hover, .btn-brand:focus {
  background-color: var(--at-brand-dark);
  border-color: var(--at-brand-dark);
  color: #0f1923;
  box-shadow: 0 4px 12px rgba(0,212,170,0.35);
}
.btn-outline-brand {
  border-color: var(--at-brand);
  color: var(--at-brand);
}
.btn-outline-brand:hover {
  background-color: var(--at-brand);
  color: #0f1923;
}

/* ── Cards ───────────────────────────────────────────────────────────────────── */
.card {
  border-radius: 10px;
  transition: box-shadow 0.2s ease;
}
.hover-card:hover {
  box-shadow: 0 4px 20px rgba(0,212,170,0.2) !important;
  transform: translateY(-1px);
}
.stat-card { border-radius: 12px; }
.stat-icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }

/* ── Feature cards (landing) ────────────────────────────────────────────────── */
.feature-card {
  border-radius: 12px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; }
.feature-icon {
  width: 52px; height: 52px;
  background-color: var(--at-brand-light);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--at-brand);
}
[data-bs-theme="dark"] .feature-icon { background-color: rgba(0,212,170,0.15); }

/* ── Avatar circle ───────────────────────────────────────────────────────────── */
.avatar-circle {
  width: 32px; height: 32px;
  background: var(--at-brand);
  color: #0f1923;
  font-weight: 700;
  font-size: 0.85rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ── Hero section ────────────────────────────────────────────────────────────── */
.hero-section {
  background: linear-gradient(135deg, var(--at-bg-nav) 0%, #1a2535 100%);
  color: white;
  min-height: 520px;
  display: flex;
  align-items: center;
}
.hero-section .text-muted { color: #94a3b8 !important; }

/* Terminal preview card */
.terminal-card {
  background: #0d1117;
  border: 1px solid #30363d;
}
.terminal-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.terminal-text { font-family: 'Consolas', 'Monaco', monospace; font-size: 0.82rem; line-height: 1.6; }

/* Step circles */
.step-circle {
  width: 44px; height: 44px;
  background: rgba(0,212,170,0.12);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* ── Pricing cards ───────────────────────────────────────────────────────────── */
.pricing-card { border-radius: 16px; }
.pricing-popular {
  border: 2px solid var(--at-brand) !important;
  box-shadow: 0 8px 32px rgba(0,212,170,0.2) !important;
}

/* ── Auth pages ──────────────────────────────────────────────────────────────── */
.auth-body {
  background: linear-gradient(135deg, var(--at-bg-nav) 0%, #1a2535 100%);
  min-height: 100vh;
}
.auth-card {
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
}
[data-bs-theme="dark"] .auth-card { background: #161b22 !important; }

/* ── Log container ───────────────────────────────────────────────────────────── */
.log-container {
  background: var(--at-log-bg);
  color: var(--at-log-text);
  border-radius: 0 0 10px 10px;
  min-height: 200px;
  max-height: 400px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #30363d transparent;
  font-size: 0.78rem;
  line-height: 1.7;
}
.log-container::-webkit-scrollbar { width: 6px; }
.log-container::-webkit-scrollbar-track { background: transparent; }
.log-container::-webkit-scrollbar-thumb { background: #30363d; border-radius: 3px; }

.log-line { padding: 1px 0; border-bottom: 1px solid rgba(255,255,255,0.03); }
.log-line:hover { background: rgba(255,255,255,0.03); }
.log-time { color: #6e7681; margin-right: 8px; font-size: 0.75rem; }

.log-badge { font-size: 0.68rem; padding: 1px 5px; border-radius: 3px; margin-right: 6px; font-weight: 700; }
.log-badge-info  { background: #1d3a5f; color: #58a6ff; }
.log-badge-warn  { background: #3d2800; color: #e3b341; }
.log-badge-error { background: #3d0000; color: #ff7b72; }
.log-badge-trade { background: #0d2f1a; color: var(--at-brand); }

.log-info  .log-badge { background: #1d3a5f; }
.log-warn  .log-badge { background: #3d2800; }
.log-error { color: #ff7b72; }
.log-trade { color: var(--at-brand); }

/* ── Status pulse animation ──────────────────────────────────────────────────── */
.status-pulse {
  animation: pulse 1.5s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

/* ── Footer ──────────────────────────────────────────────────────────────────── */
.footer-at {
  background-color: var(--at-footer-bg);
  border-top: 1px solid var(--at-border);
}

/* ── Tables ──────────────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .table-light { background: rgba(255,255,255,0.05) !important; }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * { background-color: rgba(255,255,255,0.03); }

/* ── Miscellaneous ───────────────────────────────────────────────────────────── */
.font-monospace { font-family: 'Consolas', 'Monaco', monospace !important; }
.text-sm { font-size: 0.85rem; }
.fs-small { font-size: 0.7rem; }
.badge { font-weight: 600; }
.btn-xs { padding: 0.15rem 0.4rem; font-size: 0.75rem; }

/* Smooth theme transitions */
*, *::before, *::after {
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.15s ease;
}
/* Exclude animations from transition */
.status-pulse, .spinner-border, .btn, .nav-link { transition-duration: 0s; }
.btn { transition: all 0.2s ease !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   AshishTrades – Premium SaaS Extension
   Modern fintech/trading aesthetic — glassmorphism, micro-animations, Inter
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Inter font (loaded via layout.ejs <head>) ───────────────────────────── */
:root {
  --at-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --at-radius-sm:  8px;
  --at-radius:     12px;
  --at-radius-lg:  16px;
  --at-shadow-sm:  0 1px 2px rgba(0,0,0,.04), 0 2px 6px rgba(0,0,0,.06);
  --at-shadow:     0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.08);
  --at-shadow-lg:  0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.10);
  --at-shadow-xl:  0 4px 8px rgba(0,0,0,.06), 0 16px 48px rgba(0,0,0,.14);
  --at-transition: 200ms ease-out;
  --at-gradient:   linear-gradient(135deg, var(--at-brand) 0%, var(--at-brand-dark) 100%);
}

/* ── Page background: subtle texture in light mode ──────────────────────── */
[data-bs-theme="light"] body {
  background-color: #f0f4f8;
  background-image: radial-gradient(ellipse at 20% 50%, rgba(0,212,170,0.04) 0%, transparent 60%),
                    radial-gradient(ellipse at 80% 20%, rgba(0,180,250,0.03) 0%, transparent 50%);
}
[data-bs-theme="dark"] body {
  background-color: #0d1117;
  background-image: radial-gradient(ellipse at 20% 50%, rgba(0,212,170,0.05) 0%, transparent 60%),
                    radial-gradient(ellipse at 80% 20%, rgba(0,150,220,0.04) 0%, transparent 50%);
}

/* ── Premium card overrides ──────────────────────────────────────────────── */
.at-card {
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--at-radius) !important;
  box-shadow: var(--at-shadow);
  transition: transform var(--at-transition), box-shadow var(--at-transition);
}
.at-card:hover { transform: translateY(-2px); box-shadow: var(--at-shadow-lg); }
.at-card-flat { border-radius: var(--at-radius) !important; box-shadow: var(--at-shadow-sm); }

/* ── Glassmorphism KPI stat tiles ────────────────────────────────────────── */
.at-kpi-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--at-radius) !important;
  border: 1px solid var(--bs-border-color) !important;
  box-shadow: var(--at-shadow);
  transition: transform var(--at-transition), box-shadow var(--at-transition);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.at-kpi-card:hover { transform: translateY(-3px); box-shadow: var(--at-shadow-lg); }
[data-bs-theme="light"] .at-kpi-card { background: rgba(255,255,255,0.85); }
[data-bs-theme="dark"]  .at-kpi-card { background: rgba(22,27,34,0.85); }

.at-kpi-card::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--kpi-color, var(--at-brand));
  opacity: 0.06;
  transform: translate(20px,-20px);
}
.at-kpi-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
  background: var(--kpi-icon-bg, var(--at-brand-light));
  color: var(--kpi-color, var(--at-brand));
}
[data-bs-theme="dark"] .at-kpi-icon { background: rgba(0,212,170,0.12) !important; }
.at-kpi-value { font-size: 1.75rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.at-kpi-label { font-size: 0.78rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--bs-secondary-color); }
.at-kpi-delta { font-size: 0.78rem; font-weight: 600; }

/* ── Section header ──────────────────────────────────────────────────────── */
.at-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem;
}
.at-section-title {
  font-size: 0.9rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: var(--bs-secondary-color);
}

/* ── Page title block ────────────────────────────────────────────────────── */
.at-page-title { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.at-page-subtitle { font-size: 0.85rem; color: var(--bs-secondary-color); margin-top: 2px; }

/* ── Gradient accent button ──────────────────────────────────────────────── */
.btn-brand-gradient {
  background: var(--at-gradient) !important;
  border: none !important;
  color: #0f1923 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0,212,170,0.30) !important;
  transition: all var(--at-transition) !important;
}
.btn-brand-gradient:hover {
  box-shadow: 0 6px 20px rgba(0,212,170,0.45) !important;
  transform: translateY(-1px) !important;
}
.btn-brand-gradient:active { transform: translateY(0) !important; }

/* ── Status pill badges ──────────────────────────────────────────────────── */
.at-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 100px;
  font-size: 0.75rem; font-weight: 600;
}
.at-badge-success  { background: var(--bs-success-bg-subtle);  color: var(--bs-success-text-emphasis); }
.at-badge-warning  { background: var(--bs-warning-bg-subtle);  color: var(--bs-warning-text-emphasis); }
.at-badge-danger   { background: var(--bs-danger-bg-subtle);   color: var(--bs-danger-text-emphasis); }
.at-badge-info     { background: var(--bs-info-bg-subtle);     color: var(--bs-info-text-emphasis); }
.at-badge-secondary{ background: var(--bs-secondary-bg-subtle);color: var(--bs-secondary-text-emphasis); }
.at-badge-brand    { background: rgba(0,212,170,0.12); color: var(--at-brand); }

/* ── Bot status hero ─────────────────────────────────────────────────────── */
.at-bot-hero {
  background: linear-gradient(135deg, var(--at-bg-nav) 0%, #1a2535 100%);
  border-radius: var(--at-radius-lg) !important;
  color: white;
  padding: 1.75rem;
  position: relative; overflow: hidden;
}
.at-bot-hero::after {
  content: '';
  position: absolute; right: -40px; top: -40px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(0,212,170,0.08);
}
.at-bot-hero .status-dot {
  width: 10px; height: 10px; border-radius: 50%;
  display: inline-block; margin-right: 6px;
}
.at-bot-hero .status-running { background: #00d4aa; box-shadow: 0 0 0 3px rgba(0,212,170,0.25); }
.at-bot-hero .status-stopped { background: #6e7681; }
.at-bot-hero .status-error   { background: #f85149; box-shadow: 0 0 0 3px rgba(248,81,73,0.25); }

/* ── Chart containers ────────────────────────────────────────────────────── */
.at-chart-container {
  position: relative; width: 100%; overflow: hidden;
  border-radius: 0 0 var(--at-radius) var(--at-radius);
}
.at-sparkline { height: 56px; }
.at-chart-md  { height: 200px; }
.at-chart-lg  { height: 260px; }

/* ── Tables — premium style ──────────────────────────────────────────────── */
.at-table { font-size: 0.87rem; }
.at-table th {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--bs-secondary-color);
  border-bottom: 1px solid var(--bs-border-color) !important;
  padding: 0.65rem 0.85rem;
  white-space: nowrap;
}
.at-table td { padding: 0.75rem 0.85rem; vertical-align: middle; }
.at-table tbody tr { transition: background var(--at-transition); }
.at-table tbody tr:hover { background: var(--bs-secondary-bg-subtle) !important; }
[data-bs-theme="dark"] .at-table thead { background: rgba(255,255,255,0.03) !important; }
[data-bs-theme="light"] .at-table thead { background: rgba(0,0,0,0.025) !important; }
.at-table-sticky thead th { position: sticky; top: 0; z-index: 1; backdrop-filter: blur(8px); }

/* ── Sortable column headers ─────────────────────────────────────────────── */
.sortable-col { cursor: pointer; user-select: none; }
.sortable-col:hover { color: var(--at-brand) !important; }
.sortable-col .sort-icon { font-size: 0.65rem; opacity: 0.5; margin-left: 3px; }
.sortable-col.asc  .sort-icon::before { content: '▲'; }
.sortable-col.desc .sort-icon::before { content: '▼'; }
.sortable-col:not(.asc):not(.desc) .sort-icon::before { content: '⇅'; }

/* ── Sidebar-style quick actions ─────────────────────────────────────────── */
.at-action-link {
  display: flex; align-items: center; gap: 12px;
  padding: 0.85rem 1rem;
  border-radius: var(--at-radius-sm);
  text-decoration: none;
  color: var(--bs-body-color);
  font-weight: 500; font-size: 0.9rem;
  transition: all var(--at-transition);
  border: 1px solid transparent;
}
.at-action-link:hover {
  background: var(--bs-secondary-bg-subtle);
  border-color: var(--bs-border-color);
  color: var(--at-brand);
  transform: translateX(3px);
}
.at-action-link .at-action-icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

/* ── Tab nav — pills style ───────────────────────────────────────────────── */
.at-nav-pills .nav-link {
  border-radius: var(--at-radius-sm);
  font-size: 0.85rem; font-weight: 600;
  padding: 0.5rem 1rem;
  color: var(--bs-secondary-color);
  transition: all var(--at-transition);
}
.at-nav-pills .nav-link:hover { color: var(--at-brand); background: var(--bs-secondary-bg-subtle); }
.at-nav-pills .nav-link.active {
  background: var(--at-brand) !important;
  color: #0f1923 !important;
  box-shadow: 0 2px 8px rgba(0,212,170,0.30);
}

/* ── Inbox / contact request card ────────────────────────────────────────── */
.at-inbox-item {
  border-radius: var(--at-radius) !important;
  border: 1px solid var(--bs-border-color) !important;
  transition: all var(--at-transition);
  overflow: hidden;
}
.at-inbox-item:hover { box-shadow: var(--at-shadow-lg); transform: translateY(-1px); }
.at-inbox-item.unread { border-left: 3px solid var(--at-brand) !important; }
.at-inbox-item.dismissed { opacity: 0.55; }

/* ── Log viewer ──────────────────────────────────────────────────────────── */
.at-log-viewer {
  background: #0d1117;
  border-radius: 0 0 var(--at-radius) var(--at-radius);
  font-family: 'Consolas', 'Fira Mono', monospace;
  font-size: 0.78rem;
  line-height: 1.75;
  min-height: 200px;
  max-height: 520px;
  overflow-y: auto;
  padding: 1rem 1.25rem;
}
.at-log-viewer::-webkit-scrollbar { width: 5px; }
.at-log-viewer::-webkit-scrollbar-thumb { background: #30363d; border-radius: 3px; }

/* ── Form enhancements ───────────────────────────────────────────────────── */
.form-control, .form-select {
  border-radius: var(--at-radius-sm) !important;
  border-color: var(--bs-border-color);
  transition: border-color var(--at-transition), box-shadow var(--at-transition);
}
.form-control:focus, .form-select:focus {
  border-color: var(--at-brand) !important;
  box-shadow: 0 0 0 3px rgba(0,212,170,0.15) !important;
}
.input-group-text {
  border-radius: var(--at-radius-sm) 0 0 var(--at-radius-sm) !important;
  background: var(--bs-secondary-bg-subtle);
  border-color: var(--bs-border-color);
}

/* ── Range slider brand colour ───────────────────────────────────────────── */
input[type="range"] { accent-color: var(--at-brand); }

/* ── Broadcast preview ───────────────────────────────────────────────────── */
.at-msg-preview {
  background: var(--bs-secondary-bg-subtle);
  border-radius: var(--at-radius-sm);
  border: 1px solid var(--bs-border-color);
  padding: 1rem 1.25rem;
  font-size: 0.9rem;
  min-height: 80px;
  white-space: pre-wrap;
  font-family: var(--at-font);
  color: var(--bs-body-color);
}

/* ── Telegram wizard steps ───────────────────────────────────────────────── */
.tg-step {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--bs-border-color);
}
.tg-step:last-child { border-bottom: none; }
.tg-step-num {
  min-width: 28px; height: 28px;
  border-radius: 50%; background: var(--at-brand);
  color: #0f1923; font-weight: 700; font-size: 0.8rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

/* ── Empty state ─────────────────────────────────────────────────────────── */
.at-empty {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 3.5rem 1rem; text-align: center;
  color: var(--bs-secondary-color);
}
.at-empty-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bs-secondary-bg-subtle);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem;
  margin-bottom: 1rem;
  color: var(--bs-secondary-color);
}
.at-empty h6 { font-weight: 600; color: var(--bs-body-color); margin-bottom: 0.35rem; }
.at-empty p  { font-size: 0.85rem; max-width: 280px; margin: 0; }

/* ── Toast overrides ─────────────────────────────────────────────────────── */
.at-toast-container { z-index: 1090; }
.at-toast {
  border-radius: var(--at-radius-sm) !important;
  box-shadow: var(--at-shadow-xl) !important;
  min-width: 320px;
}

/* ── Divider with label ──────────────────────────────────────────────────── */
.at-divider {
  display: flex; align-items: center; gap: 0.75rem;
  color: var(--bs-secondary-color); font-size: 0.78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 1.5rem 0;
}
.at-divider::before, .at-divider::after {
  content: ''; flex: 1;
  height: 1px; background: var(--bs-border-color);
}

/* ── Responsive tweaks ───────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .at-kpi-value { font-size: 1.4rem; }
  .at-page-title { font-size: 1.25rem; }
  .container-fluid.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* ── Accent glow on running state ────────────────────────────────────────── */
.at-running-glow {
  box-shadow: 0 0 0 2px rgba(0,212,170,0.15), 0 4px 16px rgba(0,212,170,0.20) !important;
}

/* ── Utility: number formatting badge ────────────────────────────────────── */
.at-pl-positive { color: #1dd1a1; font-weight: 700; }
.at-pl-negative { color: #ff6b6b; font-weight: 700; }
