/* ═══════════════════════════════════════════════════════
   SIGMA CORE / JEŻYK CHART — chart_ux_polish.css
   ETAP 2D: UX i spójność obsługi bez redesignu.
   Cel: czytelne stany, spójne modale, focus, empty-state,
   mniejsze ryzyko „martwych” kliknięć i lepsza praca na małych ekranach.
═══════════════════════════════════════════════════════ */

:root{
  --sigma-ux-dim: #6f7f91;
  --sigma-ux-soft: rgba(255,255,255,.045);
  --sigma-ux-soft-2: rgba(255,255,255,.075);
  --sigma-ux-line: rgba(255,255,255,.11);
  --sigma-ux-ok: rgba(0,200,150,.16);
  --sigma-ux-warn: rgba(232,168,32,.16);
  --sigma-ux-danger: rgba(240,60,85,.16);
}

/* Elementy klikalne: jednolite odczucie i brak przypadkowego zaznaczania tekstu. */
button,
[role="button"],
.tf-btn,
.btn-sm,
.btn-quick,
.btn-rng,
.view-filter-btn,
.replay-btn,
.rsi-tb-btn,
.btn-ok,
.btn-cancel{
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
button:disabled,
[aria-disabled="true"],
.sigma-disabled{
  cursor:not-allowed!important;
  opacity:.52!important;
  filter:grayscale(.18);
}

/* Aktywne filtry/przyciski mają być czytelne nawet gdy bazowy CSS nadpisze kolor. */
.tf-btn.active,
.view-filter-btn.active,
.rsi-tb-btn.active,
.tab-btn.active,
.sigma-active{
  box-shadow: inset 0 0 0 1px rgba(61,204,240,.35), 0 0 14px rgba(61,204,240,.08);
}

/* Modale: spójny dialog, przewijanie treści i widoczny nagłówek przy długich ustawieniach. */
.overlay.open,
.modal.open,
.modal-overlay.open{
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.overlay .modal-box,
.modal .modal-box,
.modal-overlay .modal-box{
  box-shadow:0 18px 70px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
}
.modal-title,
.ai-modal-head,
.plugin-head,
.sm-head,
.pe-head{
  position:sticky;
  top:0;
  z-index:2;
  backdrop-filter:blur(10px);
}
.mbtns,
.modal-actions,
.plugin-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  background:linear-gradient(180deg, transparent, rgba(7,12,20,.96) 28%);
  padding-top:8px;
}

/* Empty-state wspólny dla pustych list/paneli. */
.sigma-empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:54px;
  padding:14px 12px;
  margin:6px;
  border:1px dashed var(--sigma-ux-line);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  color:var(--sigma-ux-dim);
  text-align:center;
  font-family:var(--mono, 'JetBrains Mono', monospace);
  font-size:10px;
  line-height:1.45;
}
.sigma-empty-state b{color:#a9b8c8;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;}
.sigma-empty-state small{color:#5d6b7c;font-size:9px;}

/* Toasty UX tworzone przez chart_ux_polish.js. */
#sigma-ux-toast-wrap{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:99999;
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:none;
  max-width:min(360px, calc(100vw - 28px));
}
.sigma-ux-toast{
  pointer-events:none;
  padding:9px 11px;
  border-radius:9px;
  border:1px solid var(--sigma-ux-line);
  background:rgba(8,13,22,.94);
  color:#d8e2ef;
  box-shadow:0 12px 36px rgba(0,0,0,.34);
  font-family:var(--mono, 'JetBrains Mono', monospace);
  font-size:10.5px;
  line-height:1.35;
  animation:sigmaUxToastIn .18s ease-out;
}
.sigma-ux-toast.ok{border-color:rgba(0,200,150,.35);background:linear-gradient(90deg, var(--sigma-ux-ok), rgba(8,13,22,.94));}
.sigma-ux-toast.warn{border-color:rgba(232,168,32,.35);background:linear-gradient(90deg, var(--sigma-ux-warn), rgba(8,13,22,.94));}
.sigma-ux-toast.err{border-color:rgba(240,60,85,.35);background:linear-gradient(90deg, var(--sigma-ux-danger), rgba(8,13,22,.94));}
@keyframes sigmaUxToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Pomocnicze opisy pól bez zmiany HTML w każdym miejscu. */
.sigma-field-hint{
  display:block;
  margin-top:3px;
  color:#65768a;
  font-size:9px;
  line-height:1.35;
}
.sigma-ux-section-label{
  margin:8px 0 4px;
  color:#8393a7;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Czytelniejszy statusbar i komunikaty pracy. */
#statusbar{
  min-height:24px;
}
#st-msg.sigma-msg-ok{color:#00c896!important;}
#st-msg.sigma-msg-warn{color:#e8a820!important;}
#st-msg.sigma-msg-err{color:#f03c55!important;}
#loading[aria-busy="true"] #load-msg::after{
  content:'…';
}

/* Zakres dat i górne paski: UX przewijania zamiast nachodzenia. */
#rangebar,
#topbar{
  scrollbar-width:thin;
}
#rangebar::-webkit-scrollbar,
#topbar::-webkit-scrollbar{height:6px;}
#rangebar::-webkit-scrollbar-thumb,
#topbar::-webkit-scrollbar-thumb{background:rgba(61,204,240,.22);border-radius:4px;}

/* Kliknięcie w chart ma nie zaznaczać paneli. */
#chart-area,
#canv-wrap,
#price-ax,
#time-ax{
  user-select:none;
  -webkit-user-select:none;
}

@media (max-width:760px){
  #sigma-ux-toast-wrap{left:10px;right:10px;bottom:10px;max-width:none;}
  .sigma-ux-toast{font-size:10px;}
  .overlay.open,.modal.open,.modal-overlay.open{align-items:flex-start;padding-top:10px;}
  .modal-title,.ai-modal-head,.plugin-head{top:-1px;}
}
