.stred .tabulka {
  background-color: white;
}


.stred .tabulka_pohyby,.stred .tabulka_history,.stred .tabulka_spojenie,.stred .tabulka_stlpce,.stred .tabulka_kategorie,.stred .tabulka_nahlady {
  width: 100%;
  margin-bottom: 5px;
}

.stred .tabulka th, .stred .tabulka td {
  padding: 5px 10px 5px 14px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;  
  max-width: 300px;
}

.stred .tabulka td input.kratsie {
  width: 60px;
  line-height: 20px;
  padding-left: 5px
}

.stred .tabulka th {
  position: sticky;
  top: -20px;
}

.stred .tabulka .oko {
  padding: 5px;
}

.stred .tabulka_spojenie .fa-ceruzka,.stred .tabulka .fa-ceruzka,.stred .tabulka .fa-truck,.stred .tabulka .fa-vysetrenie,.stred .tabulka .fa-euro,.stred .tabulka .fa-oko,.stred .tabulka .fa-ulohy,.stred .tabulka .fa-faktury_icon,.stred .tabulka_spojenie .fa-tlac_b,.stred .tabulka .fa-download,.stred .tabulka .fa-download_open {
  margin-right: 5px;
  cursor: pointer;
}

.stred .tabulka .fa-opravnenia {
  cursor: pointer;
}


.stred .tabulka_spojenie th, .stred .tabulka_spojenie td,.stred .tabulka_pohyby th, .stred .tabulka_pohyby td {
  padding: 5px 6px 5px 10px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stred .tabulka_history th, .stred .tabulka_history td,.stred .tabulka_stlpce th, .stred .tabulka_stlpce td,.stred .tabulka_kategorie th, .stred .tabulka_kategorie td,.stred .tabulka_nahlady th, .stred .tabulka_nahlady td {
  padding: 5px 6px 5px 10px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}    


.stred .tabulka_spojenie th.plus, .stred .tabulka_spojenie td.plus,.stred .tabulka_pohyby th.plus, .stred .tabulka_pohyby td.plus,.stred .tabulka_history th.plus, .stred .tabulka_history td.plus,.stred .tabulka_stlpce th.plus, .stred .tabulka_stlpce td.plus,.stred .tabulka_kategorie th.plus, .stred .tabulka_kategorie td.plus,.stred .tabulka_nahlady th.plus, .stred .tabulka_nahlady td.plus {
  padding: 5px 0px 5px 5px;
  font-weight: bold;
  cursor: pointer;
}

.stred .tabulka_pohyby .ks {
  text-align: center;
}

.stred .tabulka_spojenie th,.stred .tabulka_pohyby th,.stred .tabulka_history th,.stred .tabulka_stlpce th,.stred .tabulka_kategorie th,.stred .tabulka_nahlady th {
  background-color: rgb(35,175,235);
  color: white;
  font-weight: bold;
}


.stred .tabulka input[type="checkbox"] {
  cursor: pointer;
}

.stred .tabulka tr:hover td {
  background-color: rgb(35,175,235);
  color: #fff;
}

.stred #tabulka tr.selected {
  background-color: rgb(255,195,110);
}


.stred .tabulka tr.novy td {
  background-color: #5fc92c;
}

.stred .tabulka tr.edit td {
  background-color: rgb(106,210,255);
}


.stred .tabulka tr.edit_5s td,.stred .tabulka tr.novy_5s td {
  background-color: white;
  -webkit-transition:background 1s;
  -moz-transition:background 1s;
  -o-transition:background 1s;
  transition:background 1s;
}

.stred .tabulka tr.edit_5s:hover td {
  color: #2f404a;
}


.stred .tabulka th {
  background-color: #f2f4f6;
  padding: 15px 7px 12px 14px;
  font-weight: bold;
}

.stred .tabulka td {
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
}

.stred .tabulka td img.miniatura,.stred img.miniatura {
  max-width: 53px;
  max-height: 30px;
object-fit: cover; /* vyplní box, ale môže orezať */
}

.stred .tabulka td.vpravo_tab,.stred .tabulka th.vpravo_tab,.stred .tabulka_spojenie th.vpravo_tab,.stred .tabulka_spojenie td.vpravo_tab {
  text-align: right;
}

.stred .tabulka td.na_stred_tab,.stred .tabulka th.na_stred_tab,.stred .tabulka_spojenie th.na_stred_tab,.stred .tabulka_spojenie td.na_stred_tab {
  text-align: center;
}

.stred .tabulka .zoradene {
  text-decoration: underline;
  vertical-align: middle;
}

.stred .tabulka .fa-down {
  background-size: 20px 20px;
  width: 20px;
  height: 10px;
}

.stred .panel {
  border: 1px solid #5fac2c;
  float: left;
  padding-bottom: 10px;
  position: relative;
  margin-top: 10px;
}

.stred .panel_blue {
    border-color: rgb(35,175,235);
}

.stred .panel:first-of-type,.stred .panel_bez {
  margin-left: 0px;
}

.stred .panel div.pol {
  min-height: 36px;
  padding: 10px;
  line-height: 21px;
  display: flow-root; /* Pridaj tento riadok */
}

.stred .panel div.polx {
  height: 26px;
  padding: 5px 10px 5px 10px;
  line-height: 21px;
}

.stred .panel input[type="password"],.stred .panel input[type="text"],.stred .panel input[type="date"],.stred .panel select,.stred .panel textarea {
  padding-left: 5px;
  line-height: 21px;
  width: 150px;
}

/* Riadený odpis používa číselný input. Zjednotíme jeho rozmery s ostatnými
   formulárovými poliami bez zásahu do číselných inputov v iných moduloch. */
.stred .panel input.spnext_odpis_ks_input[type="number"] {
  box-sizing: border-box;
  width: 75px;
  height: 23px;
  padding: 0 5px;
  line-height: 21px;
  font: inherit;
}

.stred .panel input.spnext_odpis_cena_readonly[readonly] {
  background-color: #f2f4f6;
  color: #2f404a;
  cursor: default;
}

.stred .panel textarea {
  height: 50px;
  width: 300px;
}

.stred .panel input[name="nazov"] {
  width: 300px;
}

.stred .panel input[name="nazov"],.stred .panel input[name="suma_1"],.stred .panel input[name="suma_2"],
.stred .panel input[name="pc"],.stred .panel input[name="pc_1"],.stred .panel input[name="pc1"],.stred .panel select[name="sposob_1"],.stred .panel select[name="sposob_2"],.stred .panel input[name="nc"],
.stred .panel select[name="zaloha"],.stred .panel select[name="dph"] {
  border: solid 1px red;
}

.stred .panel tr.pol_riadok_kat input[name="nazov"],.stred .panel tr.pol_riadok_stl input[name="nazov"] {
  width: 150px;
  border: revert; 
}

.stred .panel .yourBtn {
  position: relative;   
  width: 150px;
  border-radius:5px;
 /* mozilla */
   -moz-border-radius:5px;
 /* webkit */
   -webkit-border-radius:5px;   
  border: 1px dashed #BBB;
  text-align: center;
  background-color: #DDD;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  
}

.stred .panel .vpravo {
  float: right;
  position: static;
}

.stred .panel .vlavo {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 133px;
  float: left;
  cursor: default;
}

.stred .panel .cele {
  float: left;
}

.stred .panel .vpravo .fa-no {
  cursor: pointer;
  background-size: 15px 15px;
  width: 15px;
  height: 15px;
  top: 3px;
  position: relative;
  margin-left: 5px;
}

.stred .panel .vlavo .povinny {
  color: red;
}


.stred .panel select,.stred .panel select * {
  padding-top: 2px;
  padding-bottom: 2px;
}

.stred .panel .nadpis{
  line-height: 30px;
  background-color: #5fac2c;
  color: white;
  font-weight: bold; 
  height: 30px;
  padding: 0 0 0 10px;
}

.stred .panel .nadpis_blue {
  background-color: rgb(35,175,235);
}

.stred .panel .kratsie, .stred .panel input.kratsie {
  width: 75px;
}

.stred .panel .cervene_oramovanie {
  border: solid 1px red;
}

.suma_zakazky {
  height: 40px;
  font-weight: bold;
  padding: 5px 10px;
  margin-top: 15px;
  border: solid 1px red;
  display: inline-block;
  float: right;
}

.stred .panel .este_kratsie, .stred .panel input.este_kratsie {
  width: 40px;
}

.stred .tlacidlo {
  float: left;
  padding: 8px 15px;
  background-color: rgb(106,210,255);
  background-image: linear-gradient(200deg, rgb(106,210,255) 0%, rgb(35,175,235) 74%);
  color: white;
  border-radius: 10px;
  margin-right: 15px;
  margin-top: 20px;
  align-items:center;
  position: relative;
  cursor: pointer;
  margin-bottom: 10px;
  border: none;
}


.stred .tlacidlo_hore {
  font-size: 13px;
  font-weight: normal;
  float: none;
  display: inline-block;
  margin-top: 0;
  top: -2px;
  margin-bottom: 0;
  margin-right: 0;
  margin-left: 20px;
  
}

.stred input.idepoukaz[type="text"] {
  display:inline-block; 
  width: 100px; 
  line-height: 30px;
  margin-top: 20px;
  margin-bottom: 10px;
  float: left;
  margin-right: 5px;
  padding-left: 5px;
  margin-left: 15px;
}

.stred .odsad_tlac {
  margin-left: 40px;
}

.stred .tlacidlo_zamok {
  float: left;
  padding: 7px 15px;
  border-radius: 10px;
  margin-right: 15px;
  margin-top: 20px;
  align-items:center;
  position: relative;
  margin-bottom: 10px;
  border: solid 1px red;
}

.stred .tlacidlo:hover {
  background-image: linear-gradient(0deg, rgb(106,210,255) 0%, rgb(35,175,235) 74%);
}

.stred .tlacidlo_orange {
  background-color: rgb(254,197,106);
  background-image: linear-gradient(200deg, rgb(254,197,106) 0%, rgb(235,112,1) 74%);
}

.stred .tlacidlo_orange:hover {
  background-image: linear-gradient(0deg, rgb(254,197,106) 0%, rgb(235,112,1) 74%);
}

.stred .tlacidlo_red {
  background-color: #C44848;
  background-image: linear-gradient(200deg, #C44848 0%, #C60000 74%);
  margin-left: 40px;
}

.stred .tlacidlo_red:hover {
  background-image: linear-gradient(0deg, #C44848 0%, #C60000 74%);
}


.stred .tlacidlo_green {
  background-color: #5fc92c;
  background-image: linear-gradient(200deg, #5fc92c 0%, #5fac2c 74%);
}

.stred .tlacidlo_green:hover {
  background-image: linear-gradient(0deg, #5fc92c 0%, #5fac2c 74%);
}


.stred span.tlacidlo {
  padding: 7px 14px;
}

.stred span.posunute_tlacidlo {
  margin-right: 40px;
}

.stred span.zatlacacie {
  float: right;
}

.stred span.zatlacacie {
  background-image: linear-gradient(200deg, #e6e9ef 0%, #c9d1da 74%);
  color: #2c3e50;
  border-radius: 6px;
  padding: 8px 16px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: all 0.2s ease;
}

.stred span.zatlacacie:hover {
  background-image: linear-gradient(200deg, #d0d7e3 0%, #aab7c8 74%);
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
  cursor: pointer;
}

.stred span.zatlacene {
  background-image: linear-gradient(200deg, #b0b9c4 0%, #909ca7 74%);
  box-shadow: inset 2px 2px 6px rgba(0,0,0,0.3);
  transform: translateY(1px);
  color: #fff;
}



.stred #modul_sub, .stred #filter_okno,.stred #akcia_okno,.stred #modul_sub_new,#akcia_okno_stitky { 
  position: absolute; 
  display: none;
  top:0;
  right:0;
  background-color: #f2f4f6;
  padding: 20px 30px;
  border: solid 1px #ccc;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
  z-index: 101;
  overflow-y: auto;
  max-height: 100vh;
}

.stred #modul_sub_new,.stred #akcia_okno,#akcia_okno_stitky {
  z-index: 102;
}

#akcia_okno_stitky {
  position: fixed;
}


.stred #filter_okno .navod {
  width: 200px;
  font-style: italic;
  font-size: 0.8em;
}

.stred .fa-zatvor {
  position: absolute;
  top:7px;
  right: 20px;
  cursor: pointer;
  z-index: 102;
}

.stred #filter_okno select {
  width: 200px;
  padding-left: 5px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 5px;
}

.stred #filter_okno input[type="text"],.stred #filter_okno input[type="date"],.stred #filter_okno input[type="time"] {
  width: 200px;
  padding-left: 5px;
  padding: 5px;                                      
}

.result {
  border: 1px dotted #ccc;
  padding: 3px;
  position: absolute;
  background-color: white;
  cursor: pointer;
  width: 150px;
  z-index: 102;
}

.result ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.result ul li {
  padding: 5px 0;
}
.result ul li:hover {
  background: #eee;
}

.stred .tabulka_stlpce td .fa-up_full,.stred .tabulka_stlpce td .fa-down_full,.stred .tabulka_kategorie td .fa-up_full,.stred .tabulka_kategorie td .fa-down_full,.stred .tabulka_nahlady td .fa-up_full,.stred .tabulka_nahlady td .fa-down_full {
  cursor: pointer;
}

.stred h2 select {
  font-size: 1.1rem;
  margin-top: 10px;
  padding: 2px 5px;
}

.stred .panel_vysetrenie textarea.poznamka 
{
  width: 648px;
  height: 100px;
  margin-top: 5px;
  margin-left: 5px;
}

    
.stred .panel_vysetrenie td.posunute {
  vertical-align: bottom;
  padding-left: 5px;
  padding-bottom: 2px;
}

.fix_prevadzka {
  border: solid 1px #aaa;
  float: left;
  margin-right: 10px;
  width: 150px;
  margin-top: 1px;
  font-size: 14px;
  color: #aaa;
  outline-offset: -2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 5px 20px 5px 10px;  
}

.prevadzka_vyber_jedna,.fix_prevadzka {
  border: solid 1px #aaa;
  float: left;
  margin-right: 10px;
  width: 150px;
  margin-top: 1px;
  font-size: 14px;
  color: #aaa;
  outline-offset: -2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 5px 20px 5px 10px;  
}

.prevadzka_vyber_jedna {
  color: #2f404a;
}

a.tlacidlo:hover {
  text-decoration: none;
}

.stred .panel_spojenie {
    overflow-y: auto;
    width: 660px; /* 660px */
    margin: 10px;
}


.stred span.tlacidlo_vpravo {
    float: right;
  margin-top: 5px;
}



.panel #vyber_vysetrenia {
  float: right;
  margin-right: 10px;
  color: white;
  cursor: pointer;
}

.panel #vyber_vysetrenia span:hover {
  text-decoration: underline;
}

.panel #vyber_vysetrenia select {
  margin-right: 5px;
}

.panel span.nadpis_typ {
  float: right;
  display: flex;
}

.panel span.nadpis_typ input {
  margin-top: 0px;
  width: 200px;
}


.stred .panel #vyber_sklad,.stred .panel #vyber_cennik,.stred .panel .vyber_14 {
  border: solid 1px #ccc;
  min-width: 150px; 
  width: 300px; 
  position: absolute;
  background-color: #fff;
  right: 10px;
  box-sizing: border-box; 
  max-width: 300px;

  word-wrap: break-word; 
  overflow-wrap: break-word; 
  white-space: normal; 
  overflow: hidden; 
  text-overflow: ellipsis; 
  z-index: 1;
  max-height: 300px;
  overflow-y: auto;
}

.stred .panel #vyber_sklad .vyber-polozku,.stred .panel #vyber_cennik .vyber-polozku,.stred .panel .vyber_14 .vyber-polozku {
  cursor: pointer;
  padding: 5px;
}

.stred .panel #vyber_sklad .vyber-polozku:hover,.stred .panel #vyber_cennik .vyber-polozku:hover,.stred .panel .vyber_14 .vyber-polozku:hover {
  background-color: rgb(35,175,235);
  color: #fff;
}

.sklad_nova_form {
  display: grid;
  column-gap: 20px;
  row-gap: 0;
  grid-template-columns: 320px 320px;
  grid-template-areas:
      "zakladne_udaje vlastne_udaje"
      "panel_2_1 panel_2_1"
      "panel_3_1 panel_3_1"
      "panel_4_1 panel_4_1"
      "panel_5_1 panel_5_1"
      "panel_6_1 panel_6_1"
      "tlacidla tlacidla";
}

.sklad_nova_form_jeden_stlpec {
  display: grid;
  column-gap: 0px;
  row-gap: 0;
  grid-template-columns: 320px;
  grid-template-areas:
      "zakladne_udaje"
      "panel_2_1"
      "panel_3_1"
      "panel_4_1"
      "panel_5_1"
      "panel_6_1"
      "tlacidla";
}


.vysetrenie_nova_form {
  display: grid;
  column-gap: 20px;
  row-gap: 0;
  grid-template-columns: 320px 320px 660px;
  grid-template-areas:
      "zakladne_udaje vlastne_udaje panel_1_3"
      "panel_2_1 panel_2_1 panel_2_2"
      "panel_3_1 panel_3_1 panel_3_2"
      "panel_4_1 panel_4_1 panel_4_2"
      "panel_5_1 panel_5_1 panel_5_2"
      "panel_6_1 panel_6_1 panel_6_1"
      "tlacidla tlacidla tlacidla";
}

.zakazka_nova_form {
  display: grid;
  column-gap: 20px;
  row-gap: 0;
  grid-template-columns: 320px 320px 660px;
  grid-template-areas:
      "zakladne_udaje vlastne_udaje panel_1_3"
      "panel_2_1 panel_2_1 panel_2_2"
      "tlacidla tlacidla tlacidla"
      "panel_3_1 panel_3_1 panel_3_2"
}

#zakladne_udaje {
    grid-area: zakladne_udaje;
}

#vlastne_udaje {
    grid-area: vlastne_udaje;
}

form#sklad_nova_form {
  display: contents;
}

#tlacidla {
    grid-area: tlacidla;
}

.sklad_koeficienty_form #tlacidla {
  display: flow-root;
}


.cf_spolu,.cf_platby,.cf_platby_podr {
  float: left;
  text-weight: bold;
  margin: 5px;
}

.cf_spolu,.cf_hodnota_spolu,.cf_platby,.cf_hodnota {
  font-weight: bold;
}

.cf_platby {
  margin-left: 15px;
}

.cf_platby_podr {
  margin-left: 25px;
}

.cf_hodnota,.cf_hodnota_spolu,.cf_hodnota_podr {
  float: right;
  margin: 5px;
}

.cf_platby_podr, .cf_hodnota_podr {
  font-style: italic;
}

tr.dochadzka_nevyplnena {
  background-color: rgb(235 112 1 / 16%);
}

tr.uzavreta {
  background-color: rgb(34 197 94 / 16%);
}


.red {
  color: red;
  font-weight: bold;
  text-align: center;
  padding: 5px 0px;
}

.nasepkavac-item.active {
    background-color: #eee;
    cursor: pointer;
}

.stred .panel .tel-group .tel-predvolba {
  width: 60px;
  margin-right: 5px;
  box-sizing: border-box;
  padding-right: 17px;
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-color: #fff;
  background-image:
    linear-gradient(45deg, transparent 50%, #555 50%),
    linear-gradient(135deg, #555 50%, transparent 50%);
  background-position:
    calc(100% - 9px) 50%,
    calc(100% - 5px) 50%;
  background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat;
}

.tel-group .tel-cislo {
  width: 82px;
  padding-left: 5px;
  line-height: 21px;
}

.stred .panel input[type="email"] {
  width: 150px;
  line-height: 21px;
  padding-left: 5px;
}

#vysetrenie_na_vyber {
  width: 200px;
}

@media only screen and (min-width: 1366px) {
 .panel {
    width: 320px;
    /*margin-left: 20px;*/
  }
  
  

  
  .panelx {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 250px);
  }
  
  .panel .ms-options-wrap {
    position: static;
  }
  
  .panel .ms-options-wrap > .ms-options {
    /*left: 158px;*/
  }

  .stred .panel_vysetrenie {
    width: 660px;
    margin-left: 0px;
    clear: both;
    margin-top: 10px;
  }
  
  .stred .panel_vysetrenie_6 {
    width: 1340px;
  }  

  .stred .panel_vysetrenie_6 textarea.poznamka {
    width: 1328px;
  }    
  
  .stred .panel_spojenie {
    width: 660px;
    margin-left: 0px;
    clear: both;
    margin-top: 10px;
  }  

  .stred .panel_vysetrenie input.kratsie 
  {
    width: 58px;
    margin-top: 5px;
    margin-left: 5px;
  }
  
  .stred .panel_vysetrenie input 
  {
    margin-top: 5px;
    margin-left: 5px;
  }  
  
  .stred .panel_vysetrenie input.zakazka_udaje_typ { 
    margin-top: 0px;
  }    
  
   .stred .panel_vysetrenie th.prazdne {
    width: 30px;
   }  
   
   
   .stred .panel_sirsi {
     width: 1000px;
   }
  
}

@media only screen and (min-width: 1024px) and (max-width: 1365px) {
 .panel {
    width: 320px;
    margin-left: 20px;
  }
  
 
  .panelx {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 250px);
  }
  
  .panel .ms-options-wrap {
    position: static;
  }
  
  .panel .ms-options-wrap > .ms-options {
    /*left: 158px;*/
  }
  
  .stred .panel_vysetrenie {
    width: 660px;
    margin-left: 0px;
    clear: both;
    margin-top: 10px;
  }
  
  .stred .panel_vysetrenie_6 {
    width: 1340px;
  }  

  .stred .panel_vysetrenie_6 textarea.poznamka {
    width: 1328px;
  }    

  .stred .panel_vysetrenie input.kratsie 
  {
    width: 58px;
    margin-top: 5px;
    margin-left: 5px;
  } 
 
  
    .stred .panel_spojenie {
        position: relative;
        
    }
    

    .zakazka_nova_form {
      column-gap: 0px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_1_3 panel_1_3"
          "panel_2_1 panel_2_1"
          "panel_2_2 panel_2_2"
          "tlacidla tlacidla"
          "panel_3_1 panel_3_1"
          "panel_3_2 panel_3_2"
    } 
    
    
    .vysetrenie_nova_form {
      column-gap: 0px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_2_1 panel_2_1"
          "panel_3_1 panel_3_1"
          "panel_4_1 panel_4_1"
          "panel_5_1 panel_5_1"
          "panel_2_2 panel_2_2"
          "panel_3_2 panel_3_2"
          "panel_4_2 panel_4_2"
          "panel_5_2 panel_5_2"
          "panel_6_1 panel_6_1"
          "panel_1_3 panel_1_3"
          "tlacidla tlacidla";
    }

   .stred .panel_1_3 .panel {
     margin-left: 0px;
   }

   .suma_zakazky {
     clear: both;
   }
   


}

@media only screen and (min-width: 768px) and (max-width: 1023px) {


 .panel {
    width: 320px;
    max-height: none;
    margin-left: 20px;
  }
  
  .stred .panel_spojenie {
    width: 660px;
    right: 10px;
  }
  
  .stred .panel_spojenie,.stred .panel_spojenie:first-of-type {
    margin-left: 10px;
  }
  
  
  .stred .panel_vysetrenie {
    width: 660px;
    margin-left: 0px;
    clear: both;
    margin-top: 10px;
  }

  .stred .panel_vysetrenie input.kratsie 
  {
    width: 58px;
    margin-top: 5px;
    margin-left: 5px;
  } 
  
    .zakazka_nova_form {
      column-gap: 0px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_1_3 panel_1_3"
          "panel_2_1 panel_2_1"
          "panel_2_2 panel_2_2"
          "tlacidla tlacidla"
          "panel_3_1 panel_3_1"
          "panel_3_2 panel_3_2"
    } 
    
    
    .vysetrenie_nova_form {
      column-gap: 0px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_2_1 panel_2_1"
          "panel_3_1 panel_3_1"
          "panel_4_1 panel_4_1"
          "panel_5_1 panel_5_1"
          "panel_2_2 panel_2_2"
          "panel_3_2 panel_3_2"
          "panel_4_2 panel_4_2"
          "panel_5_2 panel_5_2"
          "panel_6_1 panel_6_1"
          "panel_1_3 panel_1_3"
          "tlacidla tlacidla";
    }

  .stred .panel_1_3 .panel {
    margin-left: 10px;
  }

  .suma_zakazky {
     clear: both;
  }
  
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .tabulka th, .stred .tabulka td {
    max-width: 100px;
    padding: 5px 5px 5px 7px;
  }
  .stred .panel {
    margin-left: 0px;
    clear: both;
    margin-bottom: 30px;
  }  
  .stred .tlacidlo {
    margin-top: 0px;
  }
  
  .stred #filter_okno .tlacidlo {
    margin-top: 10px;
  }

  .panel {
    width: 320px;
    max-height: none;
  }
  
  .stred .panel_spojenie {
    width: 660px;
  }
  
  
  .stred .panel_vysetrenie {
    width: 660px;
    overflow-y: auto;
  }

  .stred .panel_vysetrenie input.kratsie 
  {
    width: 58px;
    margin-top: 5px;
    margin-left: 5px;
  } 
  
  .stred .panel_vysetrenie textarea.poznamka 
  {
    width: 620px;
    height: 100px;
  }
  
    .zakazka_nova_form {
      column-gap: 10px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_1_3 panel_1_3"
          "panel_2_1 panel_2_1"
          "panel_2_2 panel_2_2"
          "tlacidla tlacidla"
          "panel_3_1 panel_3_1"
          "panel_3_2 panel_3_2"
    } 
    
    
    .vysetrenie_nova_form {
      column-gap: 10px;
      grid-template-columns: 320px 320px;
      grid-template-areas:
          "zakladne_udaje vlastne_udaje"
          "panel_2_1 panel_2_1"
          "panel_3_1 panel_3_1"
          "panel_4_1 panel_4_1"
          "panel_5_1 panel_5_1"
          "panel_2_2 panel_2_2"
          "panel_3_2 panel_3_2"
          "panel_4_2 panel_4_2"
          "panel_5_2 panel_5_2"
          "panel_6_1 panel_6_1"
          "panel_1_3 panel_1_3"
          "tlacidla tlacidla";
    }      

    .suma_zakazky {
      clear: both;
    }
    
    .stred span.zatlacacie {
      margin-top: 20px;
    }
    
}

.stred .panel_vysetrenie_2 {
  clear: none;
}

.stred .panel_vysetrenie_3 {
  clear: both;
}

.stred .panel_vysetrenie_4 {
  margin-left: 20px;
}

.stred .panel_vysetrenie_5 {
  margin-top: 0px;
  margin-left: 20px;
}

.zalamovaci_form {
 display: flex;
 flex-wrap: wrap;
 gap: 10px; 
}

.zalamovaci_form .panel_blue {
  margin-left: 0px;
}

.submit-wrapper {
  flex-basis: 100%; /* zaber celý riadok */
  display: flex;
  justify-content: center; /* zarovnanie tlačidla */
  margin-top: 0px;
}

/* =========================================
   AJAX MODAL (VYSKAKOVACIE OKNO)
   ========================================= */

#ajax_modal_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 99999;
  overflow-y: auto; /* Scrollovanie, ak by bolo okno vyššie ako monitor */
}

#ajax_modal_content {
  background: #fff;
  /* KÚZLO: Okno bude presne také široké, aký je jeho obsah (napr. 2 panely vedľa seba) */
  width: max-content; 
  /* Zabezpečí, že na mobile nevybehne mimo obrazovku */
  max-width: 95%; 
  margin: 40px auto; /* Vycentrovanie */
  padding: 20px;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.4);
  position: relative;
  /* Ak by tvoj grid (320px + 320px) na malom mobile pretiekol, pridá to spodný posuvník pre okno */
  overflow-x: auto; 
}

#ajax_modal_close {
  position: absolute;
  top: 10px;
  right: 15px;
  cursor: pointer;
  font-size: 28px;
  font-weight: bold;
  color: #777;
  line-height: 1;
  z-index: 10;
  transition: color 0.2s;
}

#ajax_modal_close:hover {
  color: #000;
}

/* Jemná úprava pre mobily */
@media only screen and (min-width: 320px) and (max-width: 767px) {
  #ajax_modal_content {
    margin: 15px auto;
    padding: 15px 10px;
  }
}

/* =========================================
   Z-INDEX FIX PRE ePOUKAZ (aby bol úplne najvyššie)
   ========================================= */
#epoukazModal {
  z-index: 100000 !important;
}

.stred .panel div.podkategoria {
  border-bottom: 1px dotted gray;
  padding-bottom: 32px;
}

/* =========================================
   FORMULÁR BEZ VLASTNÝCH ÚDAJOV
   - ak PHP nevykreslí #vlastne_udaje, grid nesmie držať prázdny stĺpec
   ========================================= */

.sklad_nova_form.bez_vlastnych_udajov,
.sklad_nova_form_jeden_stlpec.bez_vlastnych_udajov {
  grid-template-columns: 320px;
  grid-template-areas:
      "zakladne_udaje"
      "panel_2_1"
      "panel_3_1"
      "panel_4_1"
      "panel_5_1"
      "panel_6_1"
      "tlacidla";
}

.vysetrenie_nova_form.bez_vlastnych_udajov {
  grid-template-columns: 320px 660px;
  grid-template-areas:
      "zakladne_udaje panel_1_3"
      "panel_2_1 panel_2_1"
      "panel_3_1 panel_3_1"
      "panel_4_1 panel_4_1"
      "panel_5_1 panel_5_1"
      "panel_2_2 panel_2_2"
      "panel_3_2 panel_3_2"
      "panel_4_2 panel_4_2"
      "panel_5_2 panel_5_2"
      "panel_6_1 panel_6_1"
      "tlacidla tlacidla";
}

.zakazka_nova_form.bez_vlastnych_udajov {
  grid-template-columns: 320px 660px;
  grid-template-areas:
      "zakladne_udaje panel_1_3"
      "panel_2_1 panel_2_1"
      "tlacidla tlacidla"
      "panel_3_1 panel_3_1"
      "panel_3_2 panel_3_2";
}

/* Tablet / menší notebook */
@media only screen and (min-width: 768px) and (max-width: 1365px) {
  .vysetrenie_nova_form.bez_vlastnych_udajov,
  .zakazka_nova_form.bez_vlastnych_udajov {
    grid-template-columns: 660px;
  }

  .vysetrenie_nova_form.bez_vlastnych_udajov {
    grid-template-areas:
        "zakladne_udaje"
        "panel_1_3"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_2_2"
        "panel_3_2"
        "panel_4_2"
        "panel_5_2"
        "panel_6_1"
        "tlacidla";
  }

  .zakazka_nova_form.bez_vlastnych_udajov {
    grid-template-areas:
        "zakladne_udaje"
        "panel_1_3"
        "panel_2_1"
        "tlacidla"
        "panel_3_1"
        "panel_3_2";
  }
}

/* Mobil */
@media only screen and (min-width: 320px) and (max-width: 767px) {
  .sklad_nova_form.bez_vlastnych_udajov,
  .sklad_nova_form_jeden_stlpec.bez_vlastnych_udajov {
    grid-template-columns: 320px;
  }

  .vysetrenie_nova_form.bez_vlastnych_udajov,
  .zakazka_nova_form.bez_vlastnych_udajov {
    grid-template-columns: 660px;
  }

  .vysetrenie_nova_form.bez_vlastnych_udajov {
    grid-template-areas:
        "zakladne_udaje"
        "panel_1_3"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_2_2"
        "panel_3_2"
        "panel_4_2"
        "panel_5_2"
        "panel_6_1"
        "tlacidla";
  }

  .zakazka_nova_form.bez_vlastnych_udajov {
    grid-template-areas:
        "zakladne_udaje"
        "panel_1_3"
        "panel_2_1"
        "tlacidla"
        "panel_3_1"
        "panel_3_2";
  }
}

/* =========================================
   MOBIL - formulárové panely pod seba
   ========================================= */

@media only screen and (min-width: 320px) and (max-width: 767px) {

  .sklad_nova_form {
    column-gap: 0px;
    grid-template-columns: 320px;
    grid-template-areas:
        "zakladne_udaje"
        "vlastne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_6_1"
        "tlacidla";
  }

  .vysetrenie_nova_form {
    column-gap: 0px;
    grid-template-columns: 660px;
    grid-template-areas:
        "zakladne_udaje"
        "vlastne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_2_2"
        "panel_3_2"
        "panel_4_2"
        "panel_5_2"
        "panel_6_1"
        "panel_1_3"
        "tlacidla";
  }

  .vysetrenie_nova_form #zakladne_udaje,
  .vysetrenie_nova_form #vlastne_udaje {
    width: 320px;
  }

  .zakazka_nova_form {
    column-gap: 0px;
    grid-template-columns: 660px;
    grid-template-areas:
        "zakladne_udaje"
        "vlastne_udaje"
        "panel_1_3"
        "panel_2_1"
        "panel_2_2"
        "tlacidla"
        "panel_3_1"
        "panel_3_2";
  }

  .zakazka_nova_form #zakladne_udaje,
  .zakazka_nova_form #vlastne_udaje {
    width: 320px;
  }
  
    .sklad_nova_form.bez_vlastnych_udajov,
  .sklad_nova_form_jeden_stlpec.bez_vlastnych_udajov {
    grid-template-columns: 320px;
    grid-template-areas:
        "zakladne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_6_1"
        "tlacidla";
  }

  .vysetrenie_nova_form.bez_vlastnych_udajov {
    grid-template-columns: 660px;
    grid-template-areas:
        "zakladne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_2_2"
        "panel_3_2"
        "panel_4_2"
        "panel_5_2"
        "panel_6_1"
        "panel_1_3"
        "tlacidla";
  }

  .vysetrenie_nova_form.bez_vlastnych_udajov #zakladne_udaje {
    width: 320px;
  }
}

/* =========================================
   ADMINISTRÁCIA STĹPCOV - plynulé poradie + kompaktnejší vzhľad
   Pridaj na koniec modul20260531.css
   ========================================= */

.stred .tabulka_stlpce {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 0;
  font-size: 13px;
}

.stred .tabulka_stlpce th {
  height: 26px;
  line-height: 26px;
  padding: 0 6px !important;
  position: sticky;
  top: 0;
  z-index: 2;
}

.stred .tabulka_stlpce th.plus,
.stred .tabulka_stlpce td.plus {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  padding: 0 !important;
  text-align: center;
  box-sizing: border-box;
}

.stred .tabulka_stlpce tr > th:nth-child(2),
.stred .tabulka_stlpce tr.stlpce_drag_riadok > td:nth-child(2) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
  padding: 0 !important;
  box-sizing: border-box;
}

.stred .tabulka_stlpce tr > th:nth-child(4),
.stred .tabulka_stlpce tr.stlpce_drag_riadok > td:nth-child(4) {
  width: 56px;
  min-width: 56px;
  max-width: 56px;
  padding: 0 !important;
  text-align: center;
  box-sizing: border-box;
}

.stred .tabulka_stlpce tr.stlpce_drag_riadok > td {
  height: 30px;
  padding: 0 6px !important;
  line-height: 30px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(47,64,74,0.06);
}

.stred .tabulka_stlpce tr.stlpce_drag_riadok:hover > td {
  background-color: rgba(35,175,235,0.08);
}

.stred .tabulka_stlpce .stlpce_plus {
  font-size: 14px;
  color: #2f404a;
  cursor: pointer;
  user-select: none;
}

.stred .tabulka_stlpce .stlpce_plus:hover {
  color: rgb(35,175,235);
}

.stred .tabulka_stlpce .stlpce_nazov_td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stred .tabulka_stlpce .stlpce_poradie_ovladanie {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 30px;
  min-height: 30px;
  line-height: 1;
}

.stred .tabulka_stlpce .stlpce_drag_handle {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 24px;
  line-height: 24px;
  padding: 0 !important;
  margin: 0 !important;
  color: #2f404a;
  font-size: 15px;
  font-weight: normal;
  cursor: grab;
  opacity: 0.82;
  user-select: none;
}

.stred .tabulka_stlpce .stlpce_drag_handle:hover {
  opacity: 1;
}

.stred .tabulka_stlpce .stlpce_drag_handle:active {
  cursor: grabbing;
}

.stred .tabulka_stlpce .stlpce_sipky {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 16px;
  height: 26px;
  line-height: 0;
}

.stred .tabulka_stlpce .stlpce_sipky .fa-up_full,
.stred .tabulka_stlpce .stlpce_sipky .fa-down_full {
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: block !important;
  margin: 0 !important;
  cursor: pointer;
  transform: scale(0.82);
  transform-origin: center center;
}

.stred .tabulka_stlpce .stlpce_sipky .fa-up_full:hover,
.stred .tabulka_stlpce .stlpce_sipky .fa-down_full:hover {
  opacity: 0.7;
}

.stred .tabulka_stlpce .stlpce_aktivny_cell {
  text-align: center !important;
}

.stred .tabulka_stlpce .stlpce_aktivny_toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  cursor: pointer;
}

.stred .tabulka_stlpce .stlpce_aktivny_toggle:hover {
  background-color: rgba(95,172,44,0.12);
}

.stred .tabulka_stlpce .stlpce_aktivny_cell .fa-yes,
.stred .tabulka_stlpce .stlpce_aktivny_cell .fa-no {
  transform: scale(0.88);
  transform-origin: center center;
}

.stred .tabulka_stlpce tr.stlpce_dragging td {
  opacity: 0.45;
}

.stred .tabulka_stlpce tr.stlpce_drag_nad td {
  border-top: 2px dashed #5fac2c;
}

.stred .tabulka_stlpce tr.stlpce_drag_pod td {
  border-bottom: 2px dashed #5fac2c;
}

.stred .tabulka_stlpce tr.stlpce_ulozene td {
  background-color: rgba(95,172,44,0.12);
  transition: background-color 0.7s ease;
}

.stred .tabulka_stlpce .stlpce_hromadne_tr td {
  white-space: normal;
  overflow: visible;
  padding: 7px 6px !important;
  border-bottom: 1px solid rgba(47,64,74,0.08);
}

.stred .tabulka_stlpce .stlpce_hromadne_wrap {
  padding: 2px 2px 6px 2px;
}

.stred .tabulka_stlpce .stlpce_hromadne_nadpis {
  font-weight: bold;
  margin-bottom: 6px;
}

.stred .tabulka_stlpce .stlpce_hromadne_riadok {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.stred .tabulka_stlpce #stlpce_hromadne_vyber {
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  margin: 0 0 2px 0;
}

.stred .tabulka_stlpce .stlpce_hromadne_akcia {
  float: none !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  line-height: 16px;
  border-radius: 8px;
}

.stred #stlpce_ajax_stav {
  display: inline-block;
  margin-left: 10px;
  color: #5fac2c;
  font-size: 12px;
  font-weight: normal;
  vertical-align: middle;
}

/* =========================================
   SPOJENIA - klik na skladovú kartu, označenie riadkov a súhrn
   ========================================= */

.stred .tabulka_spojenie tr.spojenie_riadok {
  cursor: default;
}

.stred .tabulka_spojenie tr.spojenie_riadok:hover td {
  background-color: rgb(35,175,235);
  color: #fff;
}

.stred .tabulka_spojenie tr.spojenie_riadok.selected td,
.stred .tabulka_spojenie tr.spojenie_riadok.selected:hover td {
  background-color: rgb(255,195,110);
  color: #2f404a;
}

.stred .panel_spojenie_so_sumarom {
  padding-bottom: 0;
}

.stred .panel_spojenie_so_sumarom .tabulka_spojenie {
  margin-bottom: 0;
}

.stred .tabulka_spojenie .spojenie_skladova_karta_link {
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
}

.stred .tabulka_spojenie .spojenie_skladova_karta_link.clickable::after {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.stred .tabulka_spojenie .spojenie_skladova_karta_link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.stred .tabulka_spojenie .spojenie_skladova_karta_link:hover::after {
  text-decoration: none;
}

.stred .spojenie_sumar {
  clear: both;
  margin: 0;
  margin-top: 10px;
  border-top: 1px solid rgba(35,175,235,0.35);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background-color: #fff;
  box-shadow: none;
  overflow: hidden;
}

.stred .spojenie_sumar_nadpis {
  background-color: rgb(35,175,235);
  color: #fff;
  font-weight: bold;
  padding: 7px 10px;
}

.stred .spojenie_sumar_obsah {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
}

.stred .spojenie_sumar_polozka {
  min-width: 145px;
  flex: 1 1 145px;
  border: 1px solid #e1e7eb;
  border-radius: 8px;
  background-color: #f8fbfd;
  padding: 8px 10px;
}

.stred .spojenie_sumar_label {
  display: block;
  font-size: 0.88em;
  color: #6b7d88;
  margin-bottom: 4px;
}

.stred .spojenie_sumar_hodnota {
  display: block;
  font-weight: bold;
  font-size: 1.08em;
  text-align: right;
}

.stred .spojenie_sumar_dph {
  padding: 0 10px 10px 10px;
}

.stred .spojenie_sumar_dph_nadpis {
  font-weight: bold;
  margin: 0 0 5px 0;
}

.stred .spojenie_sumar_dph_tabulka {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e1e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.stred .spojenie_sumar_dph_tabulka th,
.stred .spojenie_sumar_dph_tabulka td {
  padding: 6px 10px;
  border-bottom: 1px solid #e1e7eb;
}

.stred .spojenie_sumar_dph_tabulka th {
  background-color: #f2f4f6;
  font-weight: bold;
  text-align: left;
}

.stred .spojenie_sumar_dph_tabulka tr:last-child td {
  border-bottom: none;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .spojenie_sumar {
    max-width: 640px;
  }

  .stred .spojenie_sumar_polozka {
    min-width: 130px;
    flex-basis: 130px;
  }
}


/* =========================================
   SKLAD - POMOCNÁ TABUĽKA KOEFICIENTOV PRI NASKLADŇOVANÍ
   ========================================= */

#sklad_koeficienty {
  grid-area: sklad_koeficienty;
}

.sklad_nova_form.sklad_koeficienty_form {
  grid-template-areas:
      "zakladne_udaje vlastne_udaje"
      "panel_2_1 panel_2_1"
      "panel_3_1 panel_3_1"
      "panel_4_1 panel_4_1"
      "panel_5_1 panel_5_1"
      "panel_6_1 panel_6_1"
      "tlacidla tlacidla"
      "sklad_koeficienty sklad_koeficienty";
}

.sklad_nova_form_jeden_stlpec.sklad_koeficienty_form,
.sklad_nova_form.bez_vlastnych_udajov.sklad_koeficienty_form,
.sklad_nova_form_jeden_stlpec.bez_vlastnych_udajov.sklad_koeficienty_form {
  grid-template-columns: 320px;
  grid-template-areas:
      "zakladne_udaje"
      "panel_2_1"
      "panel_3_1"
      "panel_4_1"
      "panel_5_1"
      "panel_6_1"
      "tlacidla"
      "sklad_koeficienty";
}

.stred .panel.sklad_koeficienty_panel {
  width: 320px;
  padding-bottom: 0;
  margin-left: 0;
}

.stred .sklad_nova_form.sklad_koeficienty_form:not(.bez_vlastnych_udajov) #sklad_koeficienty.sklad_koeficienty_panel {
  width: 660px;
}

.stred .sklad_koeficienty_panel .panelx {
  padding: 7px 10px 8px 10px;
}

.stred .sklad_koeficienty_stlpce {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
}

.stred .sklad_koeficienty_tabulka {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
}

.stred .sklad_koeficienty_tabulka th,
.stred .sklad_koeficienty_tabulka td {
  padding: 3px 6px;
  border-bottom: 1px solid #e6e9ef;
  text-align: left;
  white-space: nowrap;
  line-height: 18px;
}

.stred .sklad_koeficienty_tabulka th {
  background-color: #f2f4f6;
  font-weight: bold;
  font-size: 0.92em;
}

.stred .sklad_koeficienty_tabulka th:last-child,
.stred .sklad_koeficienty_tabulka td:last-child {
  text-align: right;
}

.stred .sklad_koeficienty_tabulka tr.sklad_koeficient_riadok {
  cursor: pointer;
}

.stred .sklad_koeficienty_tabulka tr.sklad_koeficient_riadok:hover td {
  background-color: rgb(35,175,235);
  color: #fff;
}

.stred .sklad_koeficienty_tabulka tr.sklad_koeficient_riadok.selected td,
.stred .sklad_koeficienty_tabulka tr.sklad_koeficient_riadok.selected:hover td {
  background-color: rgb(255,195,110);
  color: #2f404a;
}

.stred .sklad_koeficienty_tabulka tr:last-child td {
  border-bottom: none;
}

.stred .sklad_koeficienty_info {
  margin-top: 7px;
  font-size: 0.85em;
  color: #6b7b86;
  line-height: 1.25;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .sklad_nova_form.sklad_koeficienty_form:not(.bez_vlastnych_udajov) #sklad_koeficienty.sklad_koeficienty_panel {
    width: 320px;
  }

  .sklad_nova_form.sklad_koeficienty_form {
    grid-template-columns: 320px;
    grid-template-areas:
        "zakladne_udaje"
        "vlastne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_6_1"
        "tlacidla"
        "sklad_koeficienty";
  }

  .sklad_nova_form.bez_vlastnych_udajov.sklad_koeficienty_form,
  .sklad_nova_form_jeden_stlpec.sklad_koeficienty_form,
  .sklad_nova_form_jeden_stlpec.bez_vlastnych_udajov.sklad_koeficienty_form {
    grid-template-columns: 320px;
    grid-template-areas:
        "zakladne_udaje"
        "panel_2_1"
        "panel_3_1"
        "panel_4_1"
        "panel_5_1"
        "panel_6_1"
        "tlacidla"
        "sklad_koeficienty";
  }
}

/* =========================================
   ZOSTAVY - zvýraznenie ID a väzbových stĺpcov v nastaveniach
   ========================================= */
.stred .panel div.pol.stlpec_zostavy_id,
.stred .panel div.pol.stlpec_zostavy_typ14 {
  border-left: 4px solid #C60000;
  background-color: rgba(198, 0, 0, 0.08);
  padding-left: 6px;
}

.stred .panel div.pol.stlpec_zostavy_id:hover,
.stred .panel div.pol.stlpec_zostavy_typ14:hover {
  background-color: rgba(198, 0, 0, 0.14);
}

.stred .panel .stlpec_zostavy_badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 8px;
  background-color: #C60000;
  color: #fff;
  font-size: 0.82em;
  font-weight: bold;
  vertical-align: middle;
}

/* =========================================
   ZOSTAVY - zvýraznenie väzbových stĺpcov a virtuálneho ID
   ========================================= */

.stred .panel div.pol.stlpec_typ_14,
.stred .panel div.pol.stlpec_virtual_id_zostavy {
  border-left: 4px solid #C60000;
  background-color: rgba(198,0,0,0.08);
  padding-left: 6px;
}

.stred .panel div.pol.stlpec_typ_14:hover,
.stred .panel div.pol.stlpec_virtual_id_zostavy:hover {
  background-color: rgba(198,0,0,0.14);
}

.stred .panel .stlpec_typ_14_badge,
.stred .panel .stlpec_virtual_id_badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 8px;
  background-color: #C60000;
  color: #fff;
  font-size: 0.82em;
  font-weight: bold;
  vertical-align: middle;
}

.tlacidla .menu_tlacidla li.stlpec_typ_14_menu,
.tlacidla .menu_tlacidla li.stlpec_virtual_id_menu {
  color: #C60000;
  font-weight: bold;
}

.tlacidla .menu_tlacidla li.stlpec_typ_14_menu:hover,
.tlacidla .menu_tlacidla li.stlpec_virtual_id_menu:hover {
  color: #fff;
}

.tlacidla .menu_tlacidla li.zoskupit_special_stlpec {
  color: #C60000;
  font-weight: bold;
}

.tlacidla .menu_tlacidla li.zoskupit_special_stlpec:hover {
  color: #fff;
}

/* =========================================
   ZOSKUPENIE - doplnkové režimy a 2D tabuľka
   ========================================= */
.tlacidla .menu_tlacidla li.zoskupit_nastavenie {
  border-left: 4px solid transparent;
  padding-left: 11px;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_aktivne {
  border-left-color: #5fac2c;
  background-color: rgba(95,172,44,0.08);
  color: #5fac2c;
  font-weight: bold;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_aktivne::before {
  content: "✓ ";
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_aktivne:hover {
  background-color: rgb(35,175,235);
  color: #fff;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_neaktivne {
  color: #999;
  cursor: default;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_neaktivne:hover {
  background-color: #fff;
  color: #999;
}

.stred .zoskupenie_tabulka_ovladanie {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 10px 0;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #e1e7eb;
  border-radius: 8px;
}

.stred .zoskupenie_tabulka_ovladanie label {
  font-weight: bold;
}

.stred .zoskupenie_tabulka_ovladanie select {
  margin-left: 5px;
  padding: 4px 6px;
}

.stred .zoskupenie_tabulka_ovladanie label.zoskupenie_tabulka_filter_dimenzia {
  border-bottom: 2px solid #C60000;
  padding-bottom: 4px;
}

.stred .tabulka.zoskupenie_tabulka_2d th,
.stred .tabulka.zoskupenie_tabulka_2d td {
  max-width: none;
}

.stred .tabulka.zoskupenie_tabulka_2d th:first-child,
.stred .tabulka.zoskupenie_tabulka_2d td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background-color: #fff;
  border-right: 1px dashed rgba(47,64,74,0.16);
}

.stred .tabulka.zoskupenie_tabulka_2d th:first-child {
  z-index: 3;
  background-color: #f2f4f6;
}

/* Jemné naznačenie stĺpcov v kontingenčnej tabuľke */
.stred .tabulka.zoskupenie_tabulka_2d th:not(:first-child),
.stred .tabulka.zoskupenie_tabulka_2d td:not(:first-child) {
  border-left: 1px dashed rgba(47,64,74,0.16);
}

.stred .tabulka.zoskupenie_tabulka_2d th:not(:first-child) {
  box-shadow: inset 1px 0 0 rgba(255,255,255,0.65);
}

.stred .tabulka.zoskupenie_tabulka_2d tr:hover td:first-child {
  background-color: rgb(35,175,235);
  color: #fff;
  border-right-color: rgba(255,255,255,0.35);
}

.stred .tabulka.zoskupenie_tabulka_2d tr:hover td:not(:first-child) {
  border-left-color: rgba(255,255,255,0.35);
}

.stred .tabulka.zoskupenie_tabulka_2d tr.selected td:first-child,
.stred .tabulka.zoskupenie_tabulka_2d tr.selected:hover td:first-child {
  background-color: rgb(255,195,110);
  color: #2f404a;
}

/* =========================================
   ZOSTAVY - administrácia stĺpcov zostavy
   ========================================= */
.stred .zostavy_stlpce_info {
  margin: 0 0 10px 0;
  color: #6b7d88;
  font-size: 0.9em;
}

.stred .zostavy_stlpce_tabulka {
  min-width: 760px;
  background-color: #fff;
}

.stred .zostavy_stlpce_tabulka th,
.stred .zostavy_stlpce_tabulka td {
  vertical-align: middle;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_drag_handle {
  cursor: grab;
  user-select: none;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_drag_handle:active {
  cursor: grabbing;
}

.stred .zostavy_stlpce_tabulka input[type="checkbox"] {
  cursor: pointer;
}

.stred .zostavy_stlpce_tabulka tr.stlpce_dragging td {
  opacity: 0.45;
}

.stred .zostavy_stlpce_tabulka tr.stlpce_drag_nad td {
  border-top: 2px dashed #5fac2c;
}

.stred .zostavy_stlpce_tabulka tr.stlpce_drag_pod td {
  border-bottom: 2px dashed #5fac2c;
}

.stred .zostavy_stlpce_tabulka tr.stlpce_ulozene td {
  background-color: rgba(95,172,44,0.12);
  transition: background-color 0.7s ease;
}

.stred #zostavy_stlpce_ajax_stav {
  display: inline-block;
  margin-left: 10px;
  color: #5fac2c;
  font-size: 12px;
  font-weight: normal;
  vertical-align: middle;
}

.stred #zostavy_stlpce_ajax_stav.zostavy_stlpce_chyba {
  color: #C60000;
}

/* =========================================
   ZOSTAVY - vizuálne zjednotenie nastavenia stĺpcov s modulmi
   ========================================= */
.stred .zostavy_stlpce_panel {
  min-width: 320px;
  max-width: 100%;
}

.stred .zostavy_stlpce_panel .panelx {
  overflow-x: auto;
}

.stred .zostavy_stlpce_polx .vlavo {
  max-width: 210px;
}

.stred .zostavy_stlpce_zdroj_badge {
  display: inline-block;
  margin-left: 4px;
  padding: 0 4px;
  border-radius: 6px;
  background-color: #e6e9ef;
  color: #2f404a;
  font-size: 0.82em;
  line-height: 16px;
  vertical-align: middle;
}

.stred .zostavy_stlpce_tabulka .switch {
  top: 0;
}

/* =========================================
   ZOSTAVY - administrácia stĺpcov v štýle modulov
   ========================================= */
.stred .panel.zostavy_stlpce_panel {
  width: auto;
  min-width: 760px;
  max-width: calc(100vw - 230px);
  padding-bottom: 0;
  overflow-x: auto;
}

.stred .panel.zostavy_stlpce_panel .panelx {
  overflow-x: auto;
}

.stred .zostavy_stlpce_tabulka {
  min-width: 760px;
  margin-bottom: 0;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_prepinac_cell {
  overflow: visible;
  text-align: center;
}

.stred .zostavy_stlpce_tabulka .switch {
  top: 0;
  vertical-align: middle;
}

.stred .panel .zostavy_stlpce_toggle {
  cursor: pointer;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .panel.zostavy_stlpce_panel {
    width: 760px;
    min-width: 760px;
    max-width: none;
  }
}

@media only screen and (min-width: 768px) {
  .stred .panel.zostavy_stlpce_panel {
    width: auto;
    max-width: calc(100vw - 220px);
  }
}

/* =========================================
   ZOSTAVY - stĺpce zostavy 1:1 šírka ako modulové panely
   ========================================= */
.stred .panel.zostavy_stlpce_panel {
  width: 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  padding-bottom: 10px;
  overflow-x: hidden;
}

.stred .panel.zostavy_stlpce_panel .panelx {
  overflow-x: hidden !important;
}

.stred .zostavy_stlpce_tabulka {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
  margin-bottom: 0;
}

.stred .zostavy_stlpce_tabulka th,
.stred .zostavy_stlpce_tabulka td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stred .zostavy_stlpce_tabulka tr > th.plus,
.stred .zostavy_stlpce_tabulka tr > td.plus {
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(2),
.stred .zostavy_stlpce_tabulka tr.stlpce_drag_riadok > td:nth-child(2) {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(3),
.stred .zostavy_stlpce_tabulka tr.stlpce_drag_riadok > td:nth-child(3) {
  width: auto !important;
}

.stred .zostavy_stlpce_info {
  clear: both;
  width: 320px;
  margin: 8px 0 0 0;
}

/* =========================================
   ZOSTAVY - zúženie nastavení stĺpcov na šírku klasických modulov
   ========================================= */
.stred .panel.zostavy_stlpce_panel {
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  overflow-x: hidden;
  padding-bottom: 10px;
}

.stred .panel.zostavy_stlpce_panel .panelx {
  overflow-x: hidden;
}

.stred .zostavy_stlpce_tabulka {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  margin-bottom: 0;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(2),
.stred .zostavy_stlpce_tabulka tr.stlpce_drag_riadok > td:nth-child(2) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(4),
.stred .zostavy_stlpce_tabulka tr.stlpce_drag_riadok > td:nth-child(4) {
  width: 78px;
  min-width: 78px;
  max-width: 78px;
}

.stred .zostavy_stlpce_tabulka tr.stlpce_drag_riadok > td {
  height: 56px;
  line-height: normal;
  vertical-align: middle;
}

.stred .zostavy_stlpce_tabulka .stlpce_nazov_td {
  white-space: normal;
  line-height: 18px;
}

.stred .zostavy_stlpce_prepinace {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
}

.stred .zostavy_stlpce_prepinac_riadok {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  line-height: 24px;
}

.stred .zostavy_stlpce_prepinac_riadok > span {
  font-size: 11px;
  font-weight: bold;
  color: #2f404a;
}

.stred .zostavy_stlpce_tabulka .switch {
  top: 0;
  flex: 0 0 auto;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .panel.zostavy_stlpce_panel {
    width: 320px;
    min-width: 320px;
    max-width: 320px;
  }
}

@media only screen and (min-width: 768px) {
  .stred .panel.zostavy_stlpce_panel {
    width: 320px;
    min-width: 320px;
    max-width: 320px;
  }
}

/* =========================================
   ZOSTAVY - nastavenie stĺpcov 1:1 so šírkou modulových okien
   ========================================= */
.stred .panel.zostavy_stlpce_panel {
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  overflow-x: hidden;
  padding-bottom: 10px;
}

.stred .panel.zostavy_stlpce_panel .panelx {
  overflow-x: hidden;
}

.stred .zostavy_stlpce_tabulka {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 0;
}

.stred .zostavy_stlpce_tabulka th,
.stred .zostavy_stlpce_tabulka td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stred .zostavy_stlpce_tabulka th.plus,
.stred .zostavy_stlpce_tabulka td.plus {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(2),
.stred .zostavy_stlpce_tabulka tr.zostavy_stlpce_riadok > td:nth-child(2) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

.stred .zostavy_stlpce_tabulka tr > th:nth-child(4),
.stred .zostavy_stlpce_tabulka tr.zostavy_stlpce_riadok > td:nth-child(4) {
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  text-align: center;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_detail_td {
  white-space: normal;
  overflow: visible;
  padding: 0 !important;
  background-color: #fff;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_detail_td .polx {
  height: 30px;
  line-height: 21px;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_detail_td .vlavo {
  max-width: 155px;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_detail_td .vpravo {
  max-width: 125px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stred .zostavy_stlpce_tabulka .zostavy_stlpce_detail_td .tlacidlo {
  margin-top: 10px;
  margin-left: 10px;
}

.stred .zostavy_stlpce_stav_cell .zostavy_stlpce_stav {
  display: inline-block;
  width: 17px;
  text-align: center;
}

.stred .zostavy_stlpce_stav_cell .fa {
  transform: scale(0.82);
  transform-origin: center center;
}

.stred .zostavy_stlpce_polx .vlavo {
  max-width: 210px;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  .stred .panel.zostavy_stlpce_panel {
    width: 320px;
    min-width: 320px;
    max-width: 320px;
  }
}

/* =========================================
   MODULOVÉ MENU - aktívne logické filtre a klikateľné podmienené voľby
   ========================================= */
.tlacidla .menu_tlacidla li.filter_logicky,
.tlacidla .menu_tlacidla li.menu_podmienene_neaktivne {
  border-left: 4px solid transparent;
  padding-left: 11px;
}

.tlacidla .menu_tlacidla li.filter_logicky_aktivny {
  border-left-color: #5fac2c;
  background-color: rgba(95,172,44,0.08);
  color: #5fac2c;
  font-weight: bold;
}

.tlacidla .menu_tlacidla li.filter_logicky_aktivny::before {
  content: "✓ ";
}

.tlacidla .menu_tlacidla li.filter_logicky_aktivny:hover {
  background-color: rgb(35,175,235);
  color: #fff;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_neaktivne,
.tlacidla .menu_tlacidla li.menu_podmienene_neaktivne {
  border-left-color: #aeb8c2;
  background-color: #fff;
  color: #61717c;
  cursor: pointer;
  font-weight: bold;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_neaktivne::before,
.tlacidla .menu_tlacidla li.menu_podmienene_neaktivne::before {
  content: none;
}

.tlacidla .menu_tlacidla li.zoskupit_nastavenie_neaktivne:hover,
.tlacidla .menu_tlacidla li.menu_podmienene_neaktivne:hover {
  background-color: #f2f4f6;
  color: #2f404a;
}

.tlacidla .menu_tlacidla li .menu_podmienene_popis {
  display: block;
  margin-top: 3px;
  line-height: 1.25;
  font-size: 0.86em;
  font-weight: normal;
  color: #7d8c96;
}

.tlacidla .menu_tlacidla li:hover .menu_podmienene_popis {
  color: #5e6d76;
}

/* =========================================
   FILTER - zrozumiteľnejší dátumový filter
   ========================================= */
.stred #filter_okno .navod_dynamicky_datum {
  margin-top: 8px;
  color: #5fac2c;
  font-style: normal;
  font-weight: bold;
}

/* =========================================
   SP NEXT - výberové okno sklad/cenník: vyšší AJAX modal pre založenie novej položky
   =========================================
   Triedu .spnext-okno-vyber-modal pridáva iba tlačidlo Nový vo výberovom okne,
   takže bežné AJAX modaly mimo tohto režimu ostávajú bez zmeny.
*/
#ajax_modal_overlay.spnext-okno-vyber-modal #ajax_modal_content {
  margin: 20px auto;
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow-x: auto;
  overflow-y: auto;
  background-color: #f2f4f6;
}

/* V popup okne so šírkou okolo 900px sa aktivuje tablet/notebook breakpoint,
   ktorý dáva panelom margin-left:20px. Vo formulári v AJAX modale to vytvorilo
   príliš veľkú medzeru medzi panelmi a pravý panel sa oprel až o okraj modalu.
   Resetujeme to iba pre nový režim výberového okna skladu/cenníka. */
#ajax_modal_overlay.spnext-okno-vyber-modal #ajax_modal_body .panel {
  margin-left: 0;
}

#ajax_modal_overlay.spnext-okno-vyber-modal #ajax_modal_body .sklad_nova_form {
  column-gap: 20px;
}

#ajax_modal_overlay.spnext-okno-vyber-modal #ajax_modal_body .sklad_nova_form_jeden_stlpec {
  column-gap: 0;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  #ajax_modal_overlay.spnext-okno-vyber-modal #ajax_modal_content {
    margin: 8px auto;
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
  }
}

/* =========================================
   POUKAZY - našeptávače PZS / diagnóza / lekár
   ========================================= */
.stred .panel .spnext-poukaz-nasepkavac-wrap {
  position: relative;
  display: inline-block;
  width: 150px;
  text-align: right;
}

.spnext-poukaz-nasepkavac-result {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 999999;
  background: #fff;
  border: 1px solid #aaa;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  min-width: 280px;
  max-width: 420px;
  max-height: 220px;
  overflow-y: auto;
  box-sizing: border-box;
}

.spnext-poukaz-nasepkavac-result.spnext-poukaz-nasepkavac-result-body {
  position: absolute;
}

.spnext-poukaz-nasepkavac-item {
  padding: 6px 8px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
  line-height: 1.25;
}

.spnext-poukaz-nasepkavac-item:hover,
.spnext-poukaz-nasepkavac-item.active {
  background: #e9f5ff;
}

.spnext-poukaz-nasepkavac-item strong {
  font-weight: bold;
}

.spnext-poukaz-nasepkavac-item small {
  display: block;
  color: #555;
  margin-top: 2px;
}

.stred .panel .spnext-poukaz-info {
  font-style: italic;
  color: #666;
  font-size: 11px;
  line-height: 1.25;
  margin-top: 3px;
  width: 150px;
  max-width: 150px;
  text-align: right;
}

.stred .panel .spnext-poukaz-info.spnext-poukaz-info-warning {
  color: #9a6a00;
}

/* =========================================
   FILTER - pevný a dynamický dátum pod sebou
   ========================================= */
.stred #filter_okno .filter_datum_rezim {
  width: 200px;
  margin: 2px 0 10px 0;
}

.stred #filter_okno .filter_datum_rezim_nadpis {
  margin-bottom: 6px;
}

.stred #filter_okno .filter_datum_volba {
  display: block;
  width: 200px;
  margin: 0 0 6px 0;
  line-height: 20px;
  cursor: pointer;
}

.stred #filter_okno .filter_datum_volba input[type="radio"] {
  margin: 0 6px 0 0;
  vertical-align: middle;
}

.stred #filter_okno .filter_datum_volba_dynamicky {
  margin-top: 10px;
}

.stred #filter_okno .filter_dynamicky_vlozit_dolar {
  display: block;
  margin: 6px 0 0 0;
  padding: 4px 10px;
  border: 1px solid #aeb8c2;
  border-radius: 5px;
  background-color: #fff;
  color: #2f404a;
  line-height: 18px;
  cursor: pointer;
}

.stred #filter_okno .filter_dynamicky_vlozit_dolar:hover {
  border-color: rgb(35,175,235);
  background-color: #f8fbfd;
}

.stred #filter_okno .filter_dynamicky_priklad {
  margin-top: 6px;
  font-size: 0.9em;
}


/* =========================================
   FILTER - číselný rozsah a multivýber možností
   ========================================= */
.stred #filter_okno .filter_cislo_rozsah {
  display: flex;
  width: 200px;
  gap: 8px;
  margin: 2px 0 10px 0;
}

.stred #filter_okno .filter_cislo_rozsah_pol {
  display: block;
  width: 96px;
  margin: 0;
}

.stred #filter_okno .filter_cislo_rozsah_pol span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.9em;
}

.stred #filter_okno .filter_cislo_rozsah input[type="text"] {
  width: 96px;
  box-sizing: border-box;
}

.stred #filter_okno .filter_hodnota_vyber_wrap {
  width: 200px;
  margin: 0 0 10px 0;
}

.stred #filter_okno .filter_hodnota_vyber_wrap > select {
  width: 200px;
  box-sizing: border-box;
  margin: 10px 0 0 0;
}

.stred #filter_okno .filter_hodnota_vyber_wrap .ms-options-wrap {
  position: relative;
  width: 200px;
  margin: 10px 0 0 0;
}

.stred #filter_okno .filter_hodnota_vyber_wrap .ms-options-wrap > button {
  width: 200px;
  min-height: 31px;
  box-sizing: border-box;
}

.stred #filter_okno .filter_hodnota_vyber_wrap .ms-options-wrap > .ms-options {
  min-width: 200px;
  max-height: 280px;
  z-index: 103;
}

/* =========================================
   SP NEXT - individuálna SMS zo zákazky a vyšetrenia
   ========================================= */
body.spnext_individual_sms_otvorene {
  overflow: hidden !important;
}

/* História a zatvorenie používajú rovnaký jemný kruhový hover ako SMS ikona. */
.stred .spnext_zaznam_hlavicka_ikona {
  border-radius: 50%;
  outline: none;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.stred .spnext_zaznam_hlavicka_ikona:hover {
  background-color: rgba(35,175,235,.14);
}

.stred .spnext_zaznam_hlavicka_ikona:active {
  transform: translateY(1px);
}

#btn_sms_zakaznika.spnext_individual_sms_trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  outline: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f404a' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2' width='11' height='20' rx='2.2'/%3E%3Cline x1='10' y1='5' x2='14' y2='5'/%3E%3Cpath d='M9 9.5h6M9 12.5h4'/%3E%3Ccircle cx='12' cy='18.5' r='0.8' fill='%232f404a' stroke='none'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 29px 29px;
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

#btn_sms_zakaznika.spnext_individual_sms_trigger:hover,
#btn_sms_zakaznika.spnext_individual_sms_trigger:focus-visible {
  background-color: rgba(35,175,235,.14);
}

#btn_sms_zakaznika.spnext_individual_sms_trigger:focus-visible {
  box-shadow: 0 0 0 3px rgba(35,175,235,.22);
}

#btn_sms_zakaznika.spnext_individual_sms_trigger:active {
  transform: translateY(1px);
}

#btn_sms_zakaznika.spnext_individual_sms_trigger:disabled,
#btn_sms_zakaznika.spnext_individual_sms_trigger.spnext_individual_sms_trigger_disabled {
  opacity: .35;
  filter: grayscale(1);
  cursor: not-allowed;
  transform: none;
}

#btn_sms_zakaznika.spnext_individual_sms_trigger:disabled:hover,
#btn_sms_zakaznika.spnext_individual_sms_trigger:disabled:focus,
#btn_sms_zakaznika.spnext_individual_sms_trigger.spnext_individual_sms_trigger_disabled:hover,
#btn_sms_zakaznika.spnext_individual_sms_trigger.spnext_individual_sms_trigger_disabled:focus {
  background-color: transparent;
  box-shadow: none;
}

#spnext_individual_sms_overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100500;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 20px;
  background-color: rgba(47,64,74,.68);
  backdrop-filter: blur(2px);
}

#spnext_individual_sms_dialog {
  position: relative;
  width: min(560px, 100%);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(47,64,74,.14);
  border-radius: 14px;
  background-color: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.34);
}

.spnext_individual_sms_hlavicka {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 32px;
  align-items: start;
  gap: 13px;
  padding: 20px 20px 17px 20px;
  border-top: 4px solid rgb(35,175,235);
  border-bottom: 1px solid #dfe5e9;
  background-color: #f8fbfd;
}

.spnext_individual_sms_ikona {
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: rgba(35,175,235,.13);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2323afeb' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2' width='11' height='20' rx='2.2'/%3E%3Cline x1='10' y1='5' x2='14' y2='5'/%3E%3Cpath d='M9 9.5h6M9 12.5h4'/%3E%3Ccircle cx='12' cy='18.5' r='0.8' fill='%2323afeb' stroke='none'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
}

.spnext_individual_sms_hlavicka_text {
  min-width: 0;
}

#spnext_individual_sms_dialog h2 {
  margin: 1px 0 5px 0;
  padding: 0;
  border: 0;
  color: #2f404a;
  font-size: 18px;
  line-height: 24px;
}

#spnext_individual_sms_dialog .spnext_individual_sms_hlavicka p {
  margin: 0;
  color: #61717c;
  font-size: 13px;
  line-height: 1.4;
}

#spnext_individual_sms_zatvor.spnext_individual_sms_zatvor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0 0 2px 0;
  border: 0;
  border-radius: 50%;
  outline: none;
  background-color: transparent;
  color: #61717c;
  font-family: Arial, sans-serif;
  font-size: 27px;
  font-weight: normal;
  line-height: 30px;
  cursor: pointer;
}

#spnext_individual_sms_zatvor.spnext_individual_sms_zatvor:hover,
#spnext_individual_sms_zatvor.spnext_individual_sms_zatvor:focus-visible {
  background-color: #e7edf1;
  color: #2f404a;
}

.spnext_individual_sms_obsah {
  padding: 20px 22px 4px 22px;
}

.spnext_individual_sms_prijemca {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 11px 13px;
  border: 1px solid #dbe4e9;
  border-left: 4px solid rgb(35,175,235);
  border-radius: 9px;
  background-color: #f7fbfd;
}

.spnext_individual_sms_prijemca span {
  color: #61717c;
  font-size: 12px;
  font-weight: bold;
}

.spnext_individual_sms_prijemca strong {
  min-width: 0;
  overflow: hidden;
  color: #2f404a;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.spnext_individual_sms_pole {
  margin-bottom: 16px;
}

.spnext_individual_sms_pole label,
.spnext_individual_sms_label {
  display: block;
  margin: 0 0 6px 0;
  color: #2f404a;
  font-size: 13px;
  font-weight: bold;
  line-height: 18px;
}

.spnext_individual_sms_pole .povinny {
  color: #C60000;
}

.spnext_individual_sms_pole select,
.spnext_individual_sms_pole textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #c5d0d7;
  border-radius: 8px;
  outline: none;
  background-color: #fff;
  color: #2f404a;
  font: inherit;
  font-size: 14px;
  line-height: 22px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.spnext_individual_sms_pole select {
  min-height: 42px;
}

.spnext_individual_sms_pole textarea {
  min-height: 150px;
  resize: vertical;
}

.spnext_individual_sms_pole select:hover,
.spnext_individual_sms_pole textarea:hover {
  border-color: #8fbfd4;
}

.spnext_individual_sms_pole select:focus,
.spnext_individual_sms_pole textarea:focus {
  border-color: rgb(35,175,235);
  box-shadow: 0 0 0 3px rgba(35,175,235,.16);
}

.spnext_individual_sms_pole select:disabled,
.spnext_individual_sms_pole textarea:disabled {
  background-color: #eef2f4;
  color: #7a8992;
  cursor: not-allowed;
}

.spnext_individual_sms_pole small {
  display: block;
  margin-top: 5px;
  color: #71818b;
  font-size: 11px;
  line-height: 1.35;
}

.spnext_individual_sms_brana_badge,
.stred .spnext_sms_brana_badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  box-sizing: border-box;
  padding: 5px 11px;
  border: 1px solid rgba(35,175,235,.32);
  border-radius: 15px;
  background-color: rgba(35,175,235,.10);
  color: #147ca8;
  font-weight: bold;
  line-height: 18px;
}

#spnext_individual_sms_status {
  display: none;
  margin: 0 0 16px 0;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: bold;
  line-height: 1.4;
}

#spnext_individual_sms_status:not(:empty) {
  display: block;
}

#spnext_individual_sms_status.spnext_sms_chyba {
  border-color: #e0aaaa;
  background-color: #fff3f3;
  color: #a30000;
}

#spnext_individual_sms_status.spnext_sms_uspech {
  border-color: rgba(95,172,44,.42);
  background-color: rgba(95,172,44,.10);
  color: #477d27;
}

.spnext_individual_sms_tlacidla {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 22px;
  border-top: 1px solid #dfe5e9;
  background-color: #f8fbfd;
}

.spnext_individual_sms_tlacidlo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin: 0;
  padding: 8px 15px;
  border-radius: 9px;
  outline: none;
  font: inherit;
  font-size: 13px;
  font-weight: bold;
  line-height: 20px;
  cursor: pointer;
}

.spnext_individual_sms_tlacidlo_secondary {
  border: 1px solid #c5d0d7;
  background-color: #fff;
  color: #2f404a;
}

.spnext_individual_sms_tlacidlo_secondary:hover,
.spnext_individual_sms_tlacidlo_secondary:focus-visible {
  border-color: #9fadb6;
  background-color: #eef2f4;
}

.spnext_individual_sms_tlacidlo_primary {
  border: 0;
  background-color: rgb(106,210,255);
  background-image: linear-gradient(200deg, rgb(106,210,255) 0%, rgb(35,175,235) 74%);
  color: #fff;
}

.spnext_individual_sms_tlacidlo_primary:hover,
.spnext_individual_sms_tlacidlo_primary:focus-visible {
  background-image: linear-gradient(0deg, rgb(106,210,255) 0%, rgb(35,175,235) 74%);
}

.spnext_individual_sms_tlacidlo:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.stred #potvrd_akcia:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.stred .spnext_sms_nedostupne {
  padding: 10px 12px;
  border: 1px solid #f1cb8b;
  border-left: 4px solid rgb(235,112,1);
  border-radius: 8px;
  background-color: #fff8eb;
  color: #6e4a13;
  line-height: 1.4;
}

@media only screen and (min-width: 320px) and (max-width: 767px) {
  #spnext_individual_sms_overlay {
    align-items: flex-start;
    padding: 10px;
    overflow-y: auto;
  }

  #spnext_individual_sms_dialog {
    width: 100%;
    max-height: none;
    margin: max(6px, env(safe-area-inset-top)) auto max(6px, env(safe-area-inset-bottom)) auto;
    border-radius: 12px;
  }

  .spnext_individual_sms_hlavicka {
    grid-template-columns: 38px minmax(0,1fr) 30px;
    gap: 10px;
    padding: 17px 15px 14px 15px;
  }

  .spnext_individual_sms_ikona {
    width: 38px;
    height: 38px;
    background-size: 20px 20px;
  }

  #spnext_individual_sms_dialog h2 {
    font-size: 17px;
    line-height: 22px;
  }

  .spnext_individual_sms_obsah {
    padding: 16px 15px 2px 15px;
  }

  .spnext_individual_sms_prijemca {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .spnext_individual_sms_tlacidla {
    flex-direction: column-reverse;
    align-items: stretch;
    padding: 13px 15px;
  }

  .spnext_individual_sms_tlacidlo {
    width: 100%;
  }
}

/* =========================================
   SP NEXT - informačný riadok pod akciami záznamu
   Používa sa pre zamknutý záznam aj pre režim zákazky „iba poznámka“.
   Text je oddelený od tlačidiel a nepoužíva vzhľad zámku/tlačidla.
   ========================================= */
.stred #tlacidla .spnext_zaznam_info_riadok,
.stred #tlacidla .spnext_poznamka_only_info {
  clear: both;
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 2px 0 0 0;
  border: 0;
  color: #61717c;
  font-size: 0.92em;
  line-height: 18px;
}

.stred #tlacidla .spnext_zaznam_info_riadok::before,
.stred #tlacidla .spnext_poznamka_only_info::before {
  content: "ℹ";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-right: 6px;
  border-radius: 50%;
  background-color: rgba(35,175,235,0.14);
  color: rgb(35,175,235);
  font-size: 12px;
  font-weight: bold;
  line-height: 17px;
  vertical-align: -1px;
}

.stred #tlacidla .spnext_zaznam_info_riadok_zamok::before {
  background-color: rgba(235,112,1,0.14);
  color: rgb(235,112,1);
}
