/* ───────────────────────────────────────────────────────────
   FlowEntry Alerts — Phase 1 UI styles
   Loaded only by index-v2.html (dev chart). Promote to prod
   together with alerts.js when Ahmed signs off.

   Color tokens come from the chart's existing :root vars
   (--bg-dark, --bg-card, --gold, --green, --red, --text-*, etc.)
   so we stay on-brand without re-declaring them.
   ─────────────────────────────────────────────────────────── */

/* === Sidebar tab row — horizontal scroll, scrollbar hidden entirely === */
.chart-sidebar .sidebar-tabs{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;       /* Firefox */
  -ms-overflow-style:none;    /* IE/old Edge */
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
}
.chart-sidebar .sidebar-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.chart-sidebar{position:relative}

/* === Alerts panel: header bar with counter + actions === */
.fe-alerts-header{
  display:flex;align-items:center;gap:8px;padding:6px 8px 4px;
  border-bottom:1px solid #1a1d28;
}
.fe-alerts-subtabs{display:flex;gap:2px;flex:1}
.fe-alerts-subtab{
  background:transparent;border:none;color:var(--text-dim,#71717a);
  font:600 11px 'Outfit',sans-serif;padding:4px 8px;border-radius:4px;cursor:pointer;
  transition:all .15s;
}
.fe-alerts-subtab.active{background:#1a1d28;color:var(--text-primary,#f0f0f2)}
.fe-alerts-subtab .count-badge{
  margin-left:4px;background:#26282f;color:var(--text-mid,#c4c4cc);
  padding:1px 5px;border-radius:8px;font-size:9px;font-weight:700;
}
.fe-alerts-counter{
  font:600 10px 'JetBrains Mono',monospace;color:var(--text-dim,#71717a);
  padding:2px 6px;border-radius:3px;background:#0e1015;
}
.fe-alerts-counter.warn{color:#e8c84a;background:rgba(232,200,74,0.08)}
.fe-alerts-counter.full{color:var(--red,#ef4444);background:rgba(239,68,68,0.08)}
.fe-alerts-icon-btn{
  background:transparent;border:none;color:var(--gold,#c9a227);
  font-size:16px;font-weight:700;cursor:pointer;padding:3px 7px;border-radius:3px;line-height:1;
  transition:all .15s;
}
.fe-alerts-icon-btn:hover{background:rgba(201,162,39,0.12);color:var(--gold-light,#e8c84a)}
.fe-alerts-icon-btn[disabled]{opacity:.35;cursor:not-allowed;color:var(--text-dim,#71717a)}
.fe-alerts-icon-btn[disabled]:hover{background:transparent;color:var(--text-dim,#71717a)}
/* Clear-log broom: a destructive action — softer color so it doesn't compete
   with the create-alert (+) gold visually. Hover surfaces red intent. */
.fe-alerts-icon-btn.fe-alerts-clear-btn{
  color:var(--text-dim,#71717a);font-size:14px;
}
.fe-alerts-icon-btn.fe-alerts-clear-btn:hover{
  background:rgba(239,68,68,0.08);color:var(--red,#ef4444);
}

/* === Alert list & rows === */
.fe-alerts-list{display:flex;flex-direction:column;gap:0}
.fe-alert-row{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 10px;border-bottom:1px solid #11131a;cursor:pointer;
  transition:background .12s;
}
.fe-alert-row:hover{background:#11131a}
.fe-alert-row.triggered{opacity:.55}
.fe-alert-row-top{display:flex;align-items:center;gap:6px;justify-content:space-between}
.fe-alert-title{
  font:600 12px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.fe-alert-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .12s}
.fe-alert-row:hover .fe-alert-actions{opacity:1}
.fe-alert-action{
  background:transparent;border:none;color:var(--text-dim,#71717a);
  font-size:12px;cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1;
}
.fe-alert-action:hover{background:#1a1d28;color:var(--text-primary,#f0f0f2)}
.fe-alert-action.danger:hover{color:var(--red,#ef4444)}
.fe-alert-meta{
  display:flex;align-items:center;gap:6px;
  font:500 10px 'JetBrains Mono',monospace;color:var(--text-dim,#71717a);
}
.fe-alert-status{
  display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;
}
.fe-alert-status.active{background:var(--green,#22c55e);box-shadow:0 0 4px rgba(34,197,94,.6)}
.fe-alert-status.paused{background:#71717a}
.fe-alert-status.triggered{background:#f97316}
.fe-alert-status-text{color:var(--text-dim,#71717a);font-weight:600}
.fe-alert-status-text.active{color:var(--green,#22c55e)}
.fe-alert-status-text.triggered{color:#f97316}
.fe-alert-coin-icon{
  width:14px;height:14px;border-radius:50%;background:#1a1d28;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:8px;font-weight:700;color:var(--text-dim,#71717a);flex-shrink:0;
}
.fe-alert-empty{
  padding:24px 12px;text-align:center;color:var(--text-dim,#71717a);
  font:500 11px 'Outfit',sans-serif;
}
.fe-alert-empty .fe-alert-empty-icon{font-size:32px;margin-bottom:8px;opacity:.5}
.fe-alert-empty .fe-alert-empty-cta{
  display:inline-block;margin-top:10px;padding:6px 14px;
  background:var(--gold,#c9a227);color:#08090d;border-radius:4px;
  font-weight:700;text-decoration:none;font-size:11px;cursor:pointer;border:none;
}

/* Date group headers in Log view */
.fe-log-date{
  padding:6px 10px 2px;font:600 9px 'JetBrains Mono',monospace;
  color:var(--text-dim,#71717a);text-transform:uppercase;letter-spacing:.5px;
  background:#0a0b0f;
}
/* Inline custom message under a Log row */
.fe-log-msg{
  font:500 11px 'Outfit',sans-serif;color:var(--text-mid,#c4c4cc);
  margin-top:4px;padding:4px 8px;
  background:rgba(201,162,39,0.06);border-left:2px solid var(--gold,#c9a227);
  border-radius:3px;line-height:1.4;
  word-break:break-word;white-space:pre-wrap;
}

/* === Telegram link card (shown at top of Alerts tab when not linked) === */
.fe-tg-card{
  padding:10px 12px;background:rgba(34,158,217,0.05);
  border:1px solid rgba(34,158,217,0.18);border-radius:6px;
  margin:8px;display:flex;flex-direction:column;gap:6px;
}
.fe-tg-card.linked{
  background:rgba(34,197,94,0.05);border-color:rgba(34,197,94,0.18);
  padding:8px 12px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;
}
.fe-tg-card.linked .fe-tg-card-title{flex:1;min-width:0}
.fe-tg-card.linked .fe-tg-card-title span{
  display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;
}
.fe-tg-card.linked .fe-tg-card-actions{margin-top:0;flex-shrink:0}
.fe-tg-card.linked .fe-tg-btn{padding:4px 10px;font-size:10px}
.fe-tg-card-title{
  font:700 11px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
  display:flex;align-items:center;gap:6px;
}
.fe-tg-card-sub{font:500 10px 'Outfit',sans-serif;color:var(--text-dim,#71717a);line-height:1.4}
.fe-tg-card-actions{display:flex;gap:6px;margin-top:2px}
.fe-tg-btn{
  flex:1;padding:6px 10px;background:#229ed9;color:#fff;
  border:none;border-radius:4px;font:600 10px 'Outfit',sans-serif;cursor:pointer;
  text-align:center;text-decoration:none;display:inline-block;
}
.fe-tg-btn:hover{background:#1e8bbf}
.fe-tg-btn.secondary{
  background:transparent;color:var(--text-dim,#71717a);border:1px solid #1a1d28;
}
.fe-tg-btn.secondary:hover{color:var(--text-primary,#f0f0f2);border-color:#26282f}

/* === Tier-expired banner === */
.fe-tier-banner{
  margin:8px;padding:10px 12px;border-radius:6px;
  background:rgba(232,200,74,0.07);border:1px solid rgba(232,200,74,0.2);
  display:flex;flex-direction:column;gap:8px;
}
.fe-tier-banner-text{
  font:600 11px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
}
.fe-tier-banner-sub{
  font:500 10px 'Outfit',sans-serif;color:var(--text-dim,#71717a);line-height:1.4;
}
.fe-tier-banner-btn{
  background:var(--gold,#c9a227);color:#08090d;
  border:none;border-radius:4px;padding:6px 10px;cursor:pointer;
  font:700 10px 'Outfit',sans-serif;
}
.fe-tier-banner-btn:hover{background:#e8c84a}

/* === Modal — shared by Create/Edit alert + Upgrade + Link Telegram === */
/* Modal backdrop: fully transparent so the chart and prices stay visible.
   The card itself has a solid dark background + border so it reads cleanly. */
.fe-modal-backdrop{
  position:fixed;inset:0;background:transparent;
  display:none;align-items:center;justify-content:center;z-index:99999;
}
.fe-modal-backdrop.visible{display:flex}
.fe-modal-card{
  background:var(--bg-card,#0e1015);
  border:1px solid rgba(201,162,39,0.25);border-radius:8px;
  width:380px;max-width:calc(100vw - 32px);padding:18px;
  /* Strong shadow + subtle gold ring so the card reads clearly against a fully transparent backdrop. */
  box-shadow:0 24px 80px rgba(0,0,0,0.85), 0 0 0 1px rgba(201,162,39,0.08);
  font-family:'Outfit',sans-serif;
  animation:fe-modal-pop .18s ease-out;
}
@keyframes fe-modal-pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.fe-modal-card.wide{width:440px}
.fe-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.fe-modal-title{font:700 15px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2)}
.fe-modal-close{
  background:transparent;border:none;color:var(--text-dim,#71717a);
  font-size:18px;cursor:pointer;padding:0 4px;line-height:1;
}
.fe-modal-close:hover{color:var(--text-primary,#f0f0f2)}
.fe-modal-body{display:flex;flex-direction:column;gap:10px}
.fe-modal-row{display:flex;flex-direction:column;gap:4px}
.fe-modal-row label{
  font:600 10px 'Outfit',sans-serif;color:var(--text-dim,#71717a);
  text-transform:uppercase;letter-spacing:.4px;
}
.fe-modal-row input,
.fe-modal-row select,
.fe-modal-row textarea{
  background:#08090d;border:1px solid #1a1d28;border-radius:4px;
  color:var(--text-primary,#f0f0f2);padding:7px 10px;
  font:500 12px 'JetBrains Mono',monospace;
  width:100%;box-sizing:border-box;
}
.fe-modal-row input:focus,
.fe-modal-row select:focus,
.fe-modal-row textarea:focus{outline:none;border-color:var(--gold,#c9a227)}
/* Readonly input (the symbol field — pre-locked to the chart's active pair). */
.fe-modal-row input[readonly]{
  background:#0a0b0f;color:var(--text-mid,#c4c4cc);
  cursor:default;border-color:#15171f;
  font-weight:700;letter-spacing:.5px;
}
.fe-modal-row input[readonly]:focus{border-color:#15171f}
.fe-modal-row input[readonly] + .fe-modal-locked-icon,
.fe-modal-row label .fe-modal-locked-icon{
  display:inline-block;margin-left:6px;color:var(--gold,#c9a227);font-size:9px;
}
.fe-modal-row textarea{font-family:'Outfit',sans-serif;font-size:11px;min-height:50px;resize:vertical}
.fe-modal-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fe-modal-radio-group{display:flex;gap:8px}
.fe-modal-radio{
  flex:1;background:#08090d;border:1px solid #1a1d28;border-radius:4px;
  padding:6px 8px;text-align:center;cursor:pointer;
  font:600 10px 'Outfit',sans-serif;color:var(--text-dim,#71717a);
  transition:all .12s;
}
.fe-modal-radio:hover{border-color:#26282f;color:var(--text-mid,#c4c4cc)}
.fe-modal-radio.active{background:rgba(201,162,39,0.1);border-color:var(--gold,#c9a227);color:var(--gold,#c9a227)}
.fe-modal-footer{display:flex;justify-content:space-between;gap:8px;margin-top:14px}
.fe-modal-footer-left{display:flex;gap:8px;align-items:center}
.fe-btn{
  padding:7px 14px;border:none;border-radius:4px;cursor:pointer;
  font:700 11px 'Outfit',sans-serif;transition:all .12s;
}
.fe-btn-primary{background:var(--gold,#c9a227);color:#08090d}
.fe-btn-primary:hover{background:#e8c84a}
.fe-btn-primary[disabled]{opacity:.5;cursor:not-allowed}
.fe-btn-ghost{background:transparent;color:var(--text-mid,#c4c4cc);border:1px solid #1a1d28}
.fe-btn-ghost:hover{border-color:#26282f;color:var(--text-primary,#f0f0f2)}
.fe-btn-danger{background:transparent;color:var(--red,#ef4444);border:1px solid rgba(239,68,68,0.3)}
.fe-btn-danger:hover{background:rgba(239,68,68,0.08)}
.fe-modal-error{
  font:500 11px 'Outfit',sans-serif;color:var(--red,#ef4444);
  background:rgba(239,68,68,0.06);border:1px solid rgba(239,68,68,0.18);
  border-radius:4px;padding:6px 8px;display:none;
}
.fe-modal-error.visible{display:block}

/* === Upgrade modal extras === */
.fe-upgrade-body{text-align:center;padding:8px 0}
.fe-upgrade-icon{font-size:36px;margin-bottom:8px}
.fe-upgrade-headline{
  font:700 16px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
  margin-bottom:6px;
}
.fe-upgrade-text{
  font:500 12px 'Outfit',sans-serif;color:var(--text-mid,#c4c4cc);
  line-height:1.5;margin-bottom:8px;
}
.fe-upgrade-price{
  font:600 11px 'JetBrains Mono',monospace;color:var(--gold,#c9a227);
  margin-bottom:14px;
}

/* === Quick-create toast (used by chart entry points) === */
.fe-quick-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--bg-card,#0e1015);border:1px solid #1a1d28;border-radius:6px;
  padding:10px 16px;color:var(--text-primary,#f0f0f2);
  font:500 12px 'Outfit',sans-serif;
  display:flex;align-items:center;gap:10px;z-index:99998;
  opacity:0;pointer-events:none;transition:all .2s;
  box-shadow:0 10px 30px rgba(0,0,0,0.4);
}
.fe-quick-toast.visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.fe-quick-toast .fe-quick-undo{
  background:transparent;border:none;color:var(--gold,#c9a227);
  font:700 11px 'Outfit',sans-serif;cursor:pointer;text-transform:uppercase;
  letter-spacing:.4px;padding:2px 4px;border-radius:3px;
}
.fe-quick-toast .fe-quick-undo:hover{background:rgba(201,162,39,0.1)}

/* === Confirm modal (replaces native window.confirm) === */
.fe-confirm-card .fe-modal-title{font:700 14px 'Outfit',sans-serif}
.fe-confirm-message{
  font:500 12px 'Outfit',sans-serif;color:var(--text-mid,#c4c4cc);line-height:1.5;
  padding:4px 0 6px;
}

/* === Fire notification toast (issue #3) ===
   Centered on screen, persistent until dismissed (no auto-dismiss).
   Multiple fires stack vertically inside a centered container. */
.fe-fire-stack{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:99997;display:flex;flex-direction:column;gap:10px;
  max-width:min(440px, calc(100vw - 32px));pointer-events:none;
  align-items:center;
}
.fe-fire-toast{
  position:relative;width:100%;
  background:var(--bg-card,#0e1015);
  border:1px solid rgba(34,197,94,0.45);border-left:4px solid var(--green,#22c55e);
  border-radius:8px;padding:14px 36px 14px 18px;
  font:500 13px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
  box-shadow:0 24px 60px rgba(0,0,0,0.7), 0 0 0 1px rgba(34,197,94,0.1);
  opacity:0;transform:scale(.92);
  transition:opacity .22s, transform .22s;pointer-events:auto;
  animation:fe-fire-pulse 1.4s ease-out 1;
}
@keyframes fe-fire-pulse{
  0%   { box-shadow: 0 24px 60px rgba(0,0,0,0.7), 0 0 0 0 rgba(34,197,94,0.6); }
  60%  { box-shadow: 0 24px 60px rgba(0,0,0,0.7), 0 0 0 14px rgba(34,197,94,0); }
  100% { box-shadow: 0 24px 60px rgba(0,0,0,0.7), 0 0 0 0 rgba(34,197,94,0); }
}
.fe-fire-toast.visible{opacity:1;transform:scale(1)}
.fe-fire-toast .fe-fire-title{
  display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:4px;
  font-size:15px;
}
.fe-fire-toast .fe-fire-sub{
  font:500 12px 'JetBrains Mono',monospace;color:var(--text-mid,#c4c4cc);
}
.fe-fire-toast .fe-fire-warn{
  font:500 11px 'Outfit',sans-serif;color:#f97316;margin-top:6px;
  padding:5px 8px;background:rgba(249,115,22,0.08);border-radius:4px;
}
/* User's custom alert message — rendered inside the fire toast (issue: include test msg). */
.fe-fire-toast .fe-fire-msg{
  font:500 12px 'Outfit',sans-serif;color:var(--text-primary,#f0f0f2);
  margin-top:8px;padding:6px 10px;
  background:rgba(201,162,39,0.08);border-left:3px solid var(--gold,#c9a227);
  border-radius:4px;line-height:1.4;
  word-break:break-word;white-space:pre-wrap;
}
.fe-fire-toast .fe-fire-close{
  position:absolute;top:6px;right:8px;background:transparent;border:none;
  color:var(--text-dim,#71717a);cursor:pointer;font-size:16px;line-height:1;padding:4px;
  border-radius:3px;
}
.fe-fire-toast .fe-fire-close:hover{color:var(--text-primary,#f0f0f2);background:rgba(255,255,255,0.05)}
.fe-fire-toast .fe-fire-dismiss-all{
  display:inline-block;margin-top:8px;padding:4px 10px;
  background:transparent;border:1px solid #1a1d28;border-radius:4px;
  color:var(--text-dim,#71717a);font:600 10px 'Outfit',sans-serif;cursor:pointer;
}
.fe-fire-toast .fe-fire-dismiss-all:hover{color:var(--text-primary,#f0f0f2);border-color:#26282f}

/* === Floating (+) icon on the price scale (quick-create alert at hovered price) ===
   Positioned absolutely over the chart container, follows the crosshair Y.
   Renders only while the crosshair is active on the chart. Click = instant alert
   at that price via feAlerts.quickCreate. */
.fe-alert-plus-icon{
  position:absolute;z-index:50;
  width:22px;height:22px;border-radius:50%;
  background:var(--gold,#c9a227);color:#08090d;
  display:none;align-items:center;justify-content:center;
  font:700 16px 'Outfit',sans-serif;line-height:1;
  cursor:pointer;
  box-shadow:0 0 0 2px rgba(8,9,13,0.9), 0 4px 12px rgba(0,0,0,0.5);
  transform:translate(-50%, -50%);
  transition:transform .08s, box-shadow .12s;
  pointer-events:auto;
  opacity:.92;
}
.fe-alert-plus-icon.visible{display:flex}
.fe-alert-plus-icon:hover{
  background:var(--gold-light,#e8c84a);
  transform:translate(-50%, -50%) scale(1.15);
  box-shadow:0 0 0 2px rgba(8,9,13,0.9), 0 6px 16px rgba(201,162,39,0.4);
  opacity:1;
}
/* Tooltip-like hint shown next to the (+) on hover */
.fe-alert-plus-icon::after{
  content:'Add alert here';
  position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);
  background:#0e1015;border:1px solid #1a1d28;border-radius:4px;
  padding:3px 8px;color:var(--text-primary,#f0f0f2);
  font:500 10px 'Outfit',sans-serif;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .12s;
}
.fe-alert-plus-icon:hover::after{opacity:1}

/* (Alert price-scale markers are now native horizontal_line drawings created
   via the TradingView API in alerts.js — no CSS needed. The previous DOM
   triangle approach was removed because it couldn't handle log scale.) */

/* === Active sub-tab: filter pills (All / Active / Triggered / Paused) + bulk-delete === */
.fe-alerts-filters{
  display:flex;align-items:center;gap:6px;
  padding:6px 8px 4px;border-bottom:1px solid #11131a;
  flex-wrap:wrap;
}
.fe-alerts-filter-pills{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.fe-alerts-filter-pill{
  background:#0e1015;border:1px solid #1a1d28;color:var(--text-dim,#71717a);
  font:600 10px 'Outfit',sans-serif;
  padding:3px 8px;border-radius:10px;cursor:pointer;
  display:inline-flex;align-items:center;gap:4px;line-height:1.4;
  transition:all .12s;
}
.fe-alerts-filter-pill:hover{border-color:#26282f;color:var(--text-mid,#c4c4cc)}
.fe-alerts-filter-pill.active{
  background:rgba(201,162,39,0.1);border-color:var(--gold,#c9a227);color:var(--gold,#c9a227);
}
.fe-alerts-filter-count{
  background:#1a1d28;color:var(--text-mid,#c4c4cc);
  padding:0 5px;border-radius:8px;font-size:9px;font-weight:700;min-width:14px;text-align:center;
}
.fe-alerts-filter-pill.active .fe-alerts-filter-count{
  background:rgba(201,162,39,0.2);color:var(--gold,#c9a227);
}
.fe-alerts-bulk-delete{
  background:transparent;border:1px solid rgba(239,68,68,0.25);color:var(--red,#ef4444);
  font:600 10px 'Outfit',sans-serif;
  padding:3px 9px;border-radius:4px;cursor:pointer;
  transition:all .12s;flex-shrink:0;
}
.fe-alerts-bulk-delete:hover{background:rgba(239,68,68,0.08);border-color:rgba(239,68,68,0.5)}

/* Log rows are clickable — give a subtle gold hover so the affordance reads. */
.fe-alert-row.fe-log-row-clickable{cursor:pointer}
.fe-alert-row.fe-log-row-clickable:hover{background:#13151c}
.fe-alert-row.fe-log-row-clickable:hover .fe-alert-title{color:var(--gold-light,#e8c84a)}

/* === Search box under Active/Log sub-tabs === */
.fe-alerts-search{
  display:flex;align-items:center;gap:6px;
  padding:6px 8px;border-bottom:1px solid #11131a;
}
.fe-alerts-search-input-wrap{
  position:relative;flex:1;display:flex;align-items:center;
}
.fe-alerts-search input{
  width:100%;box-sizing:border-box;
  background:#08090d;border:1px solid #1a1d28;border-radius:4px;
  color:var(--text-primary,#f0f0f2);
  font:500 11px 'Outfit',sans-serif;
  padding:5px 22px 5px 24px;line-height:1.3;
}
.fe-alerts-search input:focus{outline:none;border-color:#26282f}
.fe-alerts-search input::placeholder{color:var(--text-dim,#71717a)}
.fe-alerts-search-icon{
  position:absolute;left:7px;top:50%;transform:translateY(-50%);
  color:var(--text-dim,#71717a);font-size:11px;pointer-events:none;
}
.fe-alerts-search-clear{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  background:transparent;border:none;color:var(--text-dim,#71717a);
  font-size:14px;cursor:pointer;padding:0 4px;line-height:1;border-radius:3px;
}
.fe-alerts-search-clear:hover{color:var(--text-primary,#f0f0f2);background:#1a1d28}
.fe-alerts-search-hint{
  font:500 10px 'JetBrains Mono',monospace;color:var(--text-dim,#71717a);
  white-space:nowrap;
}

/* === Header 🔔 button — overrides for the TradingView createButton() element === */
.fe-tv-alert-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;line-height:1;
}
.fe-tv-alert-btn.has-active::after{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--green,#22c55e);margin-left:4px;
  box-shadow:0 0 4px rgba(34,197,94,0.7);
}
