/* Flow Signals — premium dialog + toast system (SweetAlert-compatible drop-in) */
.fsd-backdrop{position:fixed;inset:0;z-index:2000000;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(6,6,8,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .18s ease}
.fsd-backdrop.fsd-show{opacity:1}
.fsd-modal{width:100%;max-width:420px;background:#16161a;border:1px solid rgba(255,255,255,.09);border-radius:16px;
  box-shadow:0 24px 60px -12px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.02);color:#fff;
  font-family:'Inter',system-ui,sans-serif;padding:26px 26px 22px;text-align:center;
  transform:translateY(8px) scale(.98);opacity:0;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease;max-height:calc(100vh - 40px);overflow:auto}
.fsd-backdrop.fsd-show .fsd-modal{transform:none;opacity:1}
.fsd-icon{width:56px;height:56px;margin:2px auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid}
.fsd-icon svg{width:30px;height:30px}
.fsd-icon-success{border-color:rgba(16,185,129,.5);color:#10b981}
.fsd-icon-error{border-color:rgba(239,68,68,.5);color:#ef4444}
.fsd-icon-warning{border-color:rgba(245,158,11,.55);color:#f59e0b}
.fsd-icon-info{border-color:rgba(209,158,0,.55);color:#D19E00}
.fsd-icon-question{border-color:rgba(148,163,184,.5);color:#94a3b8}
.fsd-title{font-size:1.28rem;font-weight:700;line-height:1.25;margin:0 0 8px;letter-spacing:-.01em}
.fsd-text{font-size:.94rem;line-height:1.55;color:#94a3b8;margin:0 0 4px;word-wrap:break-word}
.fsd-html{font-size:.94rem;line-height:1.55;color:#cbd5e1;margin:2px 0}
.fsd-input,.fsd-textarea,.fsd-select{width:100%;margin-top:16px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14);
  border-radius:10px;padding:12px 14px;color:#fff;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.fsd-textarea{min-height:96px;resize:vertical}
.fsd-input:focus,.fsd-textarea:focus,.fsd-select:focus{border-color:#D19E00;box-shadow:0 0 0 3px rgba(209,158,0,.16)}
.fsd-validation{display:none;margin-top:12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;
  font-size:.82rem;padding:8px 12px;border-radius:8px;text-align:left}
.fsd-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.fsd-btn{flex:1 1 auto;min-width:120px;min-height:46px;padding:12px 22px;border-radius:10px;font-size:.92rem;font-weight:600;
  font-family:inherit;cursor:pointer;border:1px solid transparent;transition:filter .14s,background .14s,border-color .14s,transform .06s}
.fsd-btn:active{transform:translateY(1px)}
.fsd-btn-confirm{background:#D19E00;color:#0a0a0a}
.fsd-btn-confirm:hover{filter:brightness(1.08)}
.fsd-btn-confirm.fsd-danger{background:#ef4444;color:#fff}
.fsd-btn-cancel{background:rgba(255,255,255,.05);color:#cbd5e1;border-color:rgba(255,255,255,.14)}
.fsd-btn-cancel:hover{background:rgba(255,255,255,.09);color:#fff}
.fsd-btn:focus-visible{outline:2px solid #D19E00;outline-offset:2px}
.fsd-footer{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);font-size:.82rem;color:#64748b}
.fsd-spinner{width:44px;height:44px;margin:6px auto 4px;border:3px solid rgba(255,255,255,.12);border-top-color:#D19E00;border-radius:50%;animation:fsd-spin .8s linear infinite}
@keyframes fsd-spin{to{transform:rotate(360deg)}}
.fsd-timerbar{position:absolute;left:0;bottom:0;height:3px;background:#D19E00;width:100%;transform-origin:left;border-radius:0 0 16px 16px}
.fsd-modal{position:relative}
/* Toast */
.fsd-toast-wrap{position:fixed;z-index:2000001;display:flex;flex-direction:column;gap:10px;pointer-events:none;padding:16px}
.fsd-toast-wrap.top-end{top:0;right:0;align-items:flex-end}
.fsd-toast-wrap.top-start{top:0;left:0;align-items:flex-start}
.fsd-toast-wrap.top{top:0;left:50%;transform:translateX(-50%);align-items:center}
.fsd-toast-wrap.bottom-end{bottom:0;right:0;align-items:flex-end}
.fsd-toast-wrap.bottom-start{bottom:0;left:0;align-items:flex-start}
.fsd-toast-wrap.center,.fsd-toast-wrap.bottom{bottom:0;left:50%;transform:translateX(-50%);align-items:center}
.fsd-toast{pointer-events:auto;display:flex;align-items:center;gap:11px;min-width:240px;max-width:360px;
  background:#1e1e21;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 12px 34px -8px rgba(0,0,0,.6);
  color:#fff;font-family:'Inter',system-ui,sans-serif;padding:13px 15px;position:relative;overflow:hidden;
  transform:translateY(-8px);opacity:0;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease}
.fsd-toast.fsd-show{transform:none;opacity:1}
.fsd-toast-ic{width:26px;height:26px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid}
.fsd-toast-ic svg{width:15px;height:15px}
.fsd-toast-ic.success{border-color:rgba(16,185,129,.5);color:#10b981}
.fsd-toast-ic.error{border-color:rgba(239,68,68,.5);color:#ef4444}
.fsd-toast-ic.warning{border-color:rgba(245,158,11,.55);color:#f59e0b}
.fsd-toast-ic.info{border-color:rgba(209,158,0,.55);color:#D19E00}
.fsd-toast-title{font-size:.88rem;font-weight:600;line-height:1.35}
.fsd-toast-bar{position:absolute;left:0;bottom:0;height:2px;background:#D19E00;width:100%;transform-origin:left}
@media (max-width:480px){.fsd-modal{max-width:none;padding:22px 20px 20px}.fsd-actions{flex-direction:column-reverse}.fsd-btn{width:100%}.fsd-toast{max-width:calc(100vw - 32px)}}
@media (prefers-reduced-motion:reduce){.fsd-backdrop,.fsd-modal,.fsd-toast{transition:none}.fsd-spinner{animation:none}.fsd-timerbar,.fsd-toast-bar{transition:none!important}}

/* Signal Details modal — modern analytics layout */
.sd{text-align:left;font-family:'Inter',system-ui,sans-serif}
.sd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.07)}
.sd-sym{display:flex;flex-direction:column;gap:7px;min-width:0}
.sd-symrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sd-symname{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}
.sd-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;text-transform:uppercase;letter-spacing:.03em}
.sd-badge svg{width:12px;height:12px}
.sd-bull{background:rgba(16,185,129,.14);color:#10b981}
.sd-bear{background:rgba(239,68,68,.14);color:#ef4444}
.sd-status{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:7px;text-transform:uppercase;letter-spacing:.03em;background:rgba(255,255,255,.06);color:#94a3b8}
.sd-status.open{background:rgba(209,158,0,.14);color:#D19E00}
.sd-strat{font-size:13px;color:#94a3b8}
.sd-strat strong{color:#e2e8f0;font-weight:600}
.sd-pl{text-align:right;flex:none}
.sd-pl-val{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.sd-pl-val.up{color:#10b981}.sd-pl-val.dn{color:#ef4444}.sd-pl-val.flat{color:#94a3b8}
.sd-pl-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-top:5px}
.sd-vals{display:flex;align-items:center;gap:12px;margin:15px 0;padding:14px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px}
.sd-vcol{flex:1;min-width:0}
.sd-vlbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:4px}
.sd-vnum{font-size:19px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.sd-varrow{color:#475569;flex:none;display:flex}.sd-varrow svg{width:18px;height:18px}
.sd-sec-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:16px 0 10px}
.sd-leg{display:flex;align-items:center;gap:12px;padding:11px 14px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:11px;margin-bottom:8px}
.sd-leg-side{flex:none;font-size:11px;font-weight:800;padding:6px 10px;border-radius:7px;text-transform:uppercase;letter-spacing:.03em;min-width:54px;text-align:center}
.sd-leg-side.buy{background:rgba(16,185,129,.14);color:#10b981}
.sd-leg-side.sell{background:rgba(239,68,68,.14);color:#ef4444}
.sd-leg-body{flex:1;min-width:0}
.sd-leg-main{font-size:14px;font-weight:700;color:#fff}
.sd-leg-sub{font-size:12px;color:#94a3b8;margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sd-leg-tenor{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b;background:rgba(255,255,255,.06);padding:2px 6px;border-radius:5px}
.sd-meta{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.sd-meta-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#94a3b8}
.sd-meta-item svg{width:14px;height:14px;color:#64748b;flex:none}
.sd-meta-item strong{color:#e2e8f0;font-weight:600}
.sd-note{font-size:11px;color:#64748b;margin-top:14px;line-height:1.5}
@media(max-width:480px){.sd-head{flex-direction:column;gap:12px}.sd-pl{text-align:left}.sd-symname{font-size:20px}}
