/* ═══════════════════════════════════════════════════════
   SIGMA CORE / JEŻYK Chart — ETAP 1D UI SAFETY LAYER
   Cel: techniczna stabilizacja UI bez redesignu.
   Ten plik jest świadomie ładowany jako ostatni CSS terminala.
═══════════════════════════════════════════════════════ */

:root{
  --sigma-z-chart: 1;
  --sigma-z-overlay: 40;
  --sigma-z-tooltip: 100050;
  --sigma-z-drawer: 100120;
  --sigma-z-modal: 100250;
  --sigma-z-toast: 100500;
  --sigma-focus: 0 0 0 2px rgba(46,111,255,.35), 0 0 18px rgba(46,111,255,.18);
}

html,body{min-width:320px;overscroll-behavior:none;text-rendering:geometricPrecision;}
body{line-height:1.35;-webkit-font-smoothing:antialiased;}
button,input,select,textarea{font:inherit;}
button,[role="button"],select,input[type="button"],input[type="submit"]{touch-action:manipulation;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:none!important;box-shadow:var(--sigma-focus)!important;border-color:var(--acc)!important;
}
[hidden],.hidden{display:none!important;}

/* Layout: elementy flex nie mogą wypychać paneli poza ekran. */
#topbar,#rangebar,#main,#chart-col,#canv-wrap,#chart-area,#side,#pos-panel,#sbs-positions,#sigma-panels,
.sigma-panel,.smp-panel,.sap-panel,.jzp-drawer,.jzp-body,.modal-box{
  min-width:0;box-sizing:border-box;
}
#main,#chart-col,#canv-wrap,#side,#pos-panel,#sbs-positions,#sigma-panels{min-height:0;}
#topbar{isolation:isolate;z-index:100;}
#rangebar{isolation:isolate;z-index:90;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
#chart-area{isolation:isolate;background:var(--bg);}
#chart-area canvas{max-width:none;max-height:none;}
#loading{z-index:var(--sigma-z-overlay)!important;}
#chtip{z-index:var(--sigma-z-tooltip)!important;max-width:min(420px,calc(100vw - 24px));white-space:normal;}

/* Prawa kolumna i panele — ochrona przed ucinaniem treści i pękaniem siatki. */
#side{max-width:min(520px,46vw);}
#pos-panel,.sigma-panel,.smp-panel,.sap-panel,.sbs-coach-box,.coach-panel{
  contain:layout paint;overflow:hidden;
}
#sigma-panels{align-content:start;overflow:auto;scrollbar-width:thin;padding-bottom:8px;}
#sigma-panels > *{min-width:0;max-width:100%;}
.smp-body,.sap-body,.sigma-news-body,#sigma-cal-body,#sbs-table-wrap,#pos-list,.coach-table-wrap{
  scrollbar-width:thin;overscroll-behavior:contain;
}
.smp-body,.sap-body,.sigma-news-body,#sigma-cal-body{overflow:auto;}
#sbs-table{min-width:100%;border-collapse:separate;border-spacing:0;}
#sbs-table th,#sbs-table td{vertical-align:middle;}
#sbs-table th:last-child,#sbs-table td:last-child{box-shadow:-8px 0 12px rgba(7,16,28,.35);}
.sbs-pos-card,.pos-card,.sigma-news-row,.coach-trade-table td,.coach-group-row span{
  min-width:0;overflow:hidden;text-overflow:ellipsis;
}

/* Modale/drawery/toasty — spójny stos warstw. */
.modal,.modal-overlay,#plugin-modal,#strat-mgr-ov,#pos-editor,.jzp-ic-scrim{
  z-index:var(--sigma-z-modal)!important;
}
.modal-box,.plugin-box,.sm-box,.pe-box,.jzp-ic-box{
  max-width:calc(100vw - 28px)!important;max-height:calc(100vh - 28px)!important;
  overflow:auto;overscroll-behavior:contain;
}
.jzp-scrim{z-index:9000!important;}
.jzp-drawer{z-index:var(--sigma-z-drawer)!important;max-width:calc(100vw - 10px);}
.jzp-toasts,.toast-wrap,.sigma-toast{z-index:var(--sigma-z-toast)!important;}

/* Formularze i przyciski — brak rozjeżdżania tekstu. */
.btn-sm,.btn-rng,.btn-quick,.tf-btn,.tab-btn,.pos-btn,.sbs-action,.smp-btn,.edu-btn{
  min-height:24px;line-height:1.2;white-space:nowrap;user-select:none;
}
input,select,textarea{max-width:100%;}
select{min-width:0;}
textarea{resize:vertical;}

/* Pasek górny na mniejszych ekranach — przewijanie zamiast nachodzenia elementów. */
@media (max-width:1280px){
  #topbar{gap:6px;padding:5px 8px;}
  .ohlc-strip{order:10;width:100%;overflow-x:auto;padding-bottom:2px;}
  #side{max-width:min(480px,48vw);}
}
@media (max-width:980px){
  body{overflow:auto;}
  #main{min-height:720px;}
  #side{max-width:none;width:360px;}
  #rangebar{gap:5px;}
  .logo{font-size:16px;letter-spacing:2px;}
  .live-price{font-size:17px;min-width:64px;}
}
@media (max-width:760px){
  html,body{overflow:auto;height:auto;}
  #main{flex-direction:column;height:auto;min-height:760px;}
  #chart-col{min-height:560px;}
  #side{width:100%;max-width:none;min-height:360px;border-left:0;border-top:1px solid var(--brd);}
  #price-ax{width:58px;}
  #topbar,#rangebar{position:relative;}
  #sigma-panels{max-height:520px;}
  .modal-box,.plugin-box,.sm-box,.pe-box{width:calc(100vw - 22px)!important;}
}

/* Ruch i efekty — mniej problemów na słabszych urządzeniach. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}

/* ETAP 2D: każde nowe okno/edytor ma być nad userbarem. */
#pos-editor{z-index:100250!important;}
#arena-panel{z-index:100180!important;}
#arena-modal{z-index:100300!important;}
.modal,.modal-overlay,#plugin-modal,#strat-mgr-ov,.jzp-ic-scrim{z-index:100250!important;}
