
:root {
      --bordo:  #b60000;  --mocny:#b60000; /* mocny to dominujący akcent deklarowny w szablonach */
      --zielen:#005217;
     --szary: #bfbebe; 
     --czarny: black;
    
     
}



.zaokraglona-ramka{-moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px; border-radius:5px; behaviour:url(border-radius.htc); }
.no-text, notext {	text-indent: -300em;	text-align: left;		overflow: hidden;		display: block;	}
.strong {font-weight: bold;	}
.clearfloat	 { 	clear:both;    height:0;    font-size: 1px;    line-height: 0px;}
img				 { border: 0px } 
table, tr, td, th{  font-size: 11px;}

 



body { position:relative } /* do przycisku do góry */
body.panel_cms { margin-left: 60px; transition: margin .5s}
.no-text , .notext  { overflow: hidden; text-indent: -300em}

a#kompania { display: block; background-image:url(img/strony-www.png); background-repeat:no-repeat; background-position: 0 0; text-indent: -300em; overflow:hidden; width: 84px; height: 33px;  }
a:hover#kompania  {background-position: 0 -32px; }

a {    text-decoration: none; }

.panel_chmorka {
    
    background: gray;
    border: solid 1px #c5b69f;
    border-radius: 4px;
    padding: 20px;
    box-shadow: 1px 1px 1px black;
    position: fixed;
    width: 380px;
    top: 10px;
    left: 10px; 
    z-index: 10000;
    }

ul#navmenu_panel { margin: 0px; padding:0px; margin-left: 40px}
ul#navmenu_panel li {
     margin-left: 2px;
         list-style: none;
}

#edycja_szybka label{      
    font-size: 11px;
    font-weight: normal;
    margin-top: 10px;
    color: white;}


#edycja_szybka label.nadtytul { font-size: 14px;margin-top: 20px;  }
#edycja_szybka input { color: black}
#edycja_szybka  .k1-2 { float: left; width: 50%; box-sizing:border-box}
#edycja_szybka .clearfloat.kreska {     height: 30px }



.paginacja { padding: 30px 0 20px 0; color: gray; font-size:11px  }

a.przycisk {  background: #f5f5f5; padding: 6px; border: solid 1px #cccccc; margin: 10px; border-radius: 4px; 

  margin: -4px 5px 9px 0px !important;
  font-size: 11px;
  color: #666;
  font-weight: bold;
  text-shadow: 0 1px 0 #fff;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #ddd;
  padding: 10px;
}  

a.przycisk:hover {   background-color: #f1f1f1} 

/*stopka*/

/* Panel górna belka komunikatów panelu */


#komunikaty-widget {
    background: #C80000;
    color: white;
    position: relative;
    border-bottom: solid 1px #8c1d21;
    width: 100%;
    box-sizing: border-box;
    margin-bottom:20px;
}


 
#komunikaty-widget li {   color: white; margin: 10px 40px 0 30px; font-size:14px  }
#komunikaty-widget  div.close_panel { position:absolute; right: 30px; top: 30px; cursor: pointer ; }
#komunikaty-widget  div.close_panel:hover { color: orange}

.modal-header {
   
    display: none!important; /* ukrycie nagłówka modal */
}



 /* belka poziom nawigacja */
.menu_poziom_2015 { position:relative;  height:33px; overflow: hidden; background: #f2f2f2;   border: 1px solid #ddd; margin: 10px 0px 10px 0;-moz-border-radius: 4px;-webkit-border-radius: 4px;border-radius: 4px; padding:  0px}
.menu_poziom_2015 a { opacity: 0.5; float: left; line-height: 31px;    font-size: 11px;color: #666;margin: 0 10px 0 10px;  font-weight: bold;text-shadow: 0 1px 0 #fff;}
a.i_wstecz { display:block; float: left; background: url(img/ic.gif) 0 0 no-repeat; text-indent: -300em; overflow: hidden; width:25px; height:33px; }
a.i_odswiez{ display:block; float: left; background: url(img/ic.gif) -38px 0 no-repeat; text-indent: -300em; overflow: hidden; width:27px; height:33px; }
a.iq_home{ display:block; float: left; background: url(img/ic.gif) -88px 0 no-repeat; text-indent: -300em; overflow: hidden; width:24px; height:33px; }
.i_strzalka {opacity: 0.2;   width: 23px; height:33px; background: url(img/ic.gif) -21px 0 no-repeat; display:block; float: left ; text-indent: -300em; overflow: hidden;  }


.menu_poziom_2015 a.nexti , .menu_poziom_2015 a.previ {  font-size: 12px;   border:solid 1px gray; border-radius:10px; padding: 4px; line-height: 11px; margin-top:5px  }
 

/*  #ikony_kategorii   */
#ikony_kategorii   { margin: 15px 0 15px 0}
#ikony_kategorii a {  display:block; float:left   ;opacity: 0.9;    filter: alpha(opacity=40); margin: -4px 5px 9px 0px !important ; 
 font-size: 12px;color: #666;  font-weight: bold;text-shadow: 0 1px 0 #fff; 
-moz-border-radius: 4px;-webkit-border-radius: 4px;border-radius: 4px; border: 1px solid #ddd; padding: 10px; margin: 5px 2px 2px 0px; background: white  }
#ikony_kategorii a.status_1  { opacity: 1;    filter: alpha(opacity=100); }


p.info {   
	
	
  background-color: #fbf9e9;
  border: 1px solid #e3cf57;
  color: #212121;  
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  display: block;
  margin: 20px 0;
  padding: 15px;
  text-align: left;
  
    }



@import url(http://fonts.googleapis.com/css?family=Lato:400,100,700,300);
 
/*  NOWE OKNO FNACYBOX - styl dla czystej strony */
body#nowe_okno , body.panel { margin: 40px; min-width:700px; background: white; font-family: 'Lato', sans-serif!important;  height:100% ; font-size:15px;    }


 .onpanel.podpowiedz { background: #fcefc0; border: solid 1px #f6ca2f; padding: 18px 50px 18px 50px; margin: 10px 0 10px 0; font-size: 12px ; }



/*  newsy.tpl    */
.belka_g { font-size:12px; color: #cccccc; padding: 4px 0 20px 0}




span.st_wst { display:block;font-weight:bold; padding: 10px 0 10px 0  }
span.st_opis {display:block; ; padding: 10px 0 10px 0  }
span.st_wst , span.st_opis { line-height: 22px}

li.artykul { list-style: none; margin: 30px 0 14px 0; padding: 10px ; padding-bottom:20px;  position:relative; min-height: 130px; }
li.artykul.widok_0 {opacity: 0.2 }
 a.czytaj_wiecej {display:block ; float:right;  padding: 10px 0 10px 0 ;   font-size:11px     }

li.artykul h2 {font-size:23px;  }  
li.artykul p.wstep { line-height: 20px; margin: 10px 0 10px 0  ; }
li.artykul img.miniatura { float:left;  margin: 0 20px 20px 0 ;width:100px; height:auto  }
div.news_opis { clear:both; border-top: dotted 1px gray; padding-top:10px; color:gray }
div.news_opis span {  position: relative; font-size: 11px; padding:0 10px 0 20px; display:block; float:left   }
div.news_opis span::before {  content: '';  position: absolute; left: 0px; top: -8px; display:block; width:25px; height:25px; background: url(img/ikony_pliki.svg)  -40px -10px  no-repeat ;opacity: 0.3 }
div.news_opis span.licznik::before { background-position: -157px	 -10px  }
div.news_opis span.data::before { background-position: -68px	   -10px  }
div.news_opis span.plikow::before { background-position: -10px	    -10px }
div.news_opis span.obrazow::before { background-position: -187px	  -10px   }
div.news_opis span.level::before { background-position: -337px	    -10px }

   div.edit_panel   { position:absolute; background: #f5f5f5; border-radius-:20px;   top:10px; left: -40px; padding-bottom:4px; }
   div.edit_panel a { display:block;  text-indent: -300em; overflow: hidden; width:25px; height:25px; background: url(img/ikony_pliki.svg)  -245px -10px  no-repeat; margin:5px; }
   div.edit_panel a.pliki {background-position: -277px -10px; } 
   div.edit_panel a.move.up {background-position: -356px -10px;  } 
   div.edit_panel a.move.down {background-position: -319px -10px;  } 
  div.edit_panel a.move.start {background-position: -337px -10px;  } 

  div.edit_panel a.move.up ,  
   div.edit_panel a.move.down , 
  div.edit_panel a.move.start {   margin-top:0px; margin-bottom:0px; height:17px } 


/* fotogaleria strona */
#albumy { clear: both }
li.album { text-align:center; height: 380px; position:relative; background: white;width:45%; float: left; margin: 0px 40px 40px 1px; list-style:none; overflow: hidden; border-radius:5px;box-shadow: 3px 3px 3px #888888;}
li.album img.miniatura { }
li.album  div.news_opis {left: 100px;; position:absolute; bottom:15px; text-align: center; width:70% ; border:none}
li.album  div.edit_panel   {   top:10px; left:  20px; opacity: 0.6  }
li.album  div.edit_panel:hover   {    opacity: 1 }
li.album .padding { padding:15px 15px 25px 15px; }


#galeria 				{    clear:both; margin: 10px 0 10px 0}
#galeria div.obraz 		{   float: left; width:147px; height:147px; overflow: hidden; }
#galeria div.obraz img 	{ width:147px; height:auto;   }

 
#galeria div.obraz img::hover 	{ width:200px; height:auto;    }

/* assonary galeria */
 .box {  margin: 1px;  padding: 0px;  float: left;}
 .box img  {  display: block;  width: 100%; }

 
 
.col3 { width: 152px; }
 
.col3 img { max-width: 152px; }
  
 
.transitions-enabled.masonry {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.transitions-enabled.masonry  .masonry-brick {
  -webkit-transition-property: left, right, top;
     -moz-transition-property: left, right, top;
       -o-transition-property: left, right, top;
          transition-property: left, right, top;
}


/* disable transitions on container */
.transitions-enabled.infinite-scroll.masonry {
  -webkit-transition-property: none;
     -moz-transition-property: none;
       -o-transition-property: none;
          transition-property: none;
}

 


img.miniatura_big { padding: 15px 0 20px 0}

/*  #pliki */
#pliki { margin: 50px 0 20px 0  }
#pliki::hover {}
#pliki h2 { margin: 10px 0 10px 0 ; position:relative ; padding-left: 30px ; clear:both}
#pliki h2::before {  content: '';  position: absolute; left: 4px; top: -4px; display:block; width:25px; height:25px; background: url(img/ikony_pliki.svg)  -10px -10px  no-repeat ;opacity: 0.8  }
#pliki a.plik { display:block ;  clear:both; position:relative; padding:25px; margin-bottom:1px; color:gray;  opacity: 1;
   transition: opacity .45s ease-in-out;
   -moz-transition: opacity .45s ease-in-out;
   -webkit-transition: opacity .45s ease-in-out;}
#pliki .file_icon { margin-left: 0px } 
 


#pliki a.plik:nth-child(odd){ background-color:#fafafa;  border-bottom: solid 1px #e1e1e1 }
#pliki a.plik:nth-child(even)    { background-color:#f5f5f5;  border-bottom: solid 1px #dcdada  }
#pliki a.plik:hover {  opacity: 0.5; background: white; color:black ; color:black; }

#pliki div.plik_opis  {  margin: 7px 0 2px 0  }
#pliki div.plik_opis span { position: relative; font-size: 11px; padding:0 10px 0 20px; display:block; float:left}
#pliki div.plik_opis span::before {  content: '';  position: absolute; left: 0px; top: -8px; display:block; width:25px; height:25px; background: url(img/ikony_pliki.svg)  -40px -10px  no-repeat ;opacity: 0.3   }
#pliki div.plik_opis span.data::before 		{ background-position-x: -70px  }
#pliki div.plik_opis span.odslon::before 	{ background-position-x: -99px  }



/* newsy belka g */
.belka_g a     {   }
.belka_g .elementy_widoku   { float: right; margin: 30px 0 10px 0}
.belka_g .elementy_widoku  span { padding:10px 5px 10px 40px; display: block; float: left; position:relative   }

.belka_g .data_d::before {   content: '';  position: absolute; left: 2px; top: 0px; display:block; width:40px; height:40px; background: url(img/ikon.png)  -40px 0  no-repeat}
.belka_g .data_ed::before {   content: '';  position: absolute; left: 2px; top: 0px; display:block; width:40px; height:40px; background: url(img/ikon.png)  -80px 0  no-repeat}
.belka_g .autor::before {   content: '';  position: absolute; left: 2px; top: 0px; display:block; width:40px; height:40px; background: url(img/ikon.png)  0px 0  no-repeat}
.belka_g .count::before {  content: '';  position: absolute; left: 2px; top: 0px; display:block; width:40px; height:40px; background: url(img/ikon.png)  -120px 0  no-repeat}
.belka_g .count e {  margin-right:20px;}
.belka_g a.drukuj {display:block; text-indent: -300em; overflow: hidden; width:39px; height:39px; background: url(img/ikon.png)   -160px 0  no-repeat  ;float:left  }

.belka_g .share-buttons { float: right; margin-right:-2px; margin-top:10px;   transform:scale(0.8);}
.belka_g .share-buttons a { margin-right: 2px; display:block; text-indent: -300em; overflow: hidden; width:39px; height:39px; background: url(img/ikon.png)  0 0 no-repeat  ;float:left   }

.belka_g a.facebook	{ background-position: -240px 0   }
.belka_g a.twitter	{ background-position: -200px 0   }
.belka_g a.google{	 background-position: -280px 0   }
.belka_g a.linkedin	{ background-position: -320px 0   }
.belka_g a.email	{ background-position: -360px 0   } 
.belka_g a.rss		{ background-position: -400px 0   }


/* USER */
b.uprawnienia { position:relative; background-color: #f5f5f5;  padding:3px 10px 3px 20px ; border:solid 1px gray;  
border-radius: 14px; margin: 4px;  display:block; float: left}

.rola_1 , 
.rola_2 {   background-image: url("/plugins/ui/css/custom-theme/images/ui-icons_888888_256x240.png"); 
width: 15px; height:15px;  }



b.uprawnienia span.rola_1  { background-position: -144px -96px; position:absolute; top: 3px; left: 4px;  } 
b.uprawnienia span.rola_2 {  background-position: -176px -112px;  position:absolute; top: 3px; left: 4px;    }


ul.ostatnie_logowania li { margin: 2px 2px 2px 10px ; list-style: none; border-bottom: dotted 1px gray; padding:5px; font-size:12px;}
ul.ostatnie_logowania li small { font-size:11px; margin: 0 10px 0 10px; }
ul.ostatnie_logowania li small.ip { float: right; color: gray} 

 
ul#raport {   padding: 20px; margin: 20px; border: 1px solid #fcefa1;  background: #fbf9ee  ;  color: #363636;} /* raport danych  po założeniu konta */
 
 
 
 
 
.formularz_logowania { width: 600px; margin: 50px auto 50px auto; position: relative; 
background: url(img/ikony_logowanie.svg) no-repeat right -20px}




.formularz_logowania .komunikat {
    padding: 20px;
    background: antiquewhite;
    border: solid 1px #cd0a0a;
    border-radius: 5px;
    margin: 20px 0 20px 0;
    display:none
}


 
.formularz_logowania  input[type="text"] , .formularz_logowania  input[type="password"] ,
.formularz_logowania  input[type="email"] 




 {
  display: block ;   width: 390px;  height: 49px;
  border: 2px solid #e5e5e5;
  background: #f6f6f6;
  padding-left: 18px;
  padding-right: 18px;
  box-sizing: border-box;
  margin-bottom: 20px;
  outline: 0;
  font-size: 14px;
  padding-top: 0;
}

.formularz_logowania input.zaloguj {
  width: 228px;
  height: 50px;
  overflow: hidden;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  background: #c80000; 
  color: #fff;
  border: 2px solid #c80000; 
  outline: 0;
  cursor: pointer;
  margin: 0 0 30px 0;
  outline: 0;
  float: #c80000; 
  
 }
  

/* FORMULARZE SERWISU   */



form.onpanel 			{ font-size: 16px!important; position: relative; margin: 30px} 
form.onpanel  			input[type="text"] , form.onpanel input[type="password"] , form.onpanel input[type="file"] ,form.onpanel select  
 { border:solid 1px #cccccc ; margin:10px 0 10px 0; width:90%; padding: 5px ; border-radius: 3px} 
 
form.onpanel  			input.levele[type="text"] {     width:30px; height:20px}
/* .konto form div { border:solid 1px gray}*/



ol#menu_level  { margin: 20px 0 20px 20px       } /* edycja pozycji menu w formularzu edycji strony   */
ol#menu_level li { font-weight:bold; margin: 5px 0 1 10px;    cursor: move; border:solid 1px #cccccc; 
background: #f5f5f5; padding:5px; border-radius:2px; max-width:200px; font-size: 11px; }
ol#menu_level li.pokazi0 {  font-weight:normal; color:gray   }
ol#menu_level li.selected { color: #c80000;} 


.kategorie_powiazane li a { color:black}
.kategorie_powiazane li a.selected { color: #c80000; }

.polowa { width: 49%; float: left}

.kolumna_1_3 { width: 32%; float:left  ;}
.kolumna_1_3 .polowa.adres { width: 190px; }
.kolumna_1_3 .polowa.nr { width: 40px; }
.kolumna_1_3 .polowa.kod { width: 70px; }


.kolumna { width:47%; float: left; padding:  0px}

.kolumna_1_2  { width:49%;  float: left; padding:  10px 0 10px 0px; margin: 10px 0 10px 1px;  }
.kolumna_1_2  div.s   { float: left; width: 110px; height: 20px   }
.kolumna_1_4 { width:24%;  float: left; padding:  10px 0 10px 0px; margin: 10px 0 10px 1px; }

#rejestracja_errorloc {    }
#rejestracja_errorloc li, #rejestracja_errorloc ul { margin:0; padding:0; list-style: none}
#rejestracja_errorloc li {   border: 1px solid #fcefa1;  background: #fbf9ee  ;  color: #363636; padding:10px; margin:2px}


.clearfloat.kreska { border-bottom:dotted 1px #cccccc}




/* =======================================================================================================
   =================================================== PANEL =============================================
   ======================================================================================================= */

 
 div.main_padding { padding: 10px 40px 10px 40px; width: 100%; box-sizing:border-box;  }
 
 
h3.modul { border-bottom: dotted 1px #cccccc; padding: 10px 0 10px 0; margin: 40px 0 10px 0; clear:both; color: gray} 


form.onpanel   label {  font-size: 12px;   }
form.onpanel label.nadtytul {    display: block;     padding: 20px 5px 5px 0px ;color: #c80000;     } /* label w formularzu stanowiące tytuł czerwony */



.onpanel  #newsy_edycja textarea , .onpanel  form#newsy_edycja input[type="text"] { width: 100%; padding:5px;margin-bottom: 5px}
#newsy_edycja div.kafel   {font-size: 11px;text-align: center; width: 63px; height: 50px;background: url(img/ikony_typow_stron.png) no-repeat 3px 5px #f2f2f2; float: left;   overflow: hidden;border: 1px solid #ddd;margin: 1px 4px 5px 0 ;-webkit-border-radius: 4px;border-radius: 4px; padding: 80px 1px 1px 1px ;overflow: hidden  }  
#newsy_edycja div.kafel  input { display: block; margin:1px 1px 5px 20px}  
#newsy_edycja div.kafel label  { padding: 1px; }

#newsy_edycja label#news  { background-position: -55px 5px; }  
#newsy_edycja #rozdzialy  { background-position: -115px 5px}  
#newsy_edycja  #galeria  { background-position: -175px 5px}  
#newsy_edycja div.kafel  input.innytyp {  margin-left: 2px; width: 53px;  }
label.checked {color: red!important}


div.wybor_kategoria input[type='text'] {  width:  50px  }




/* formularz konta, adresu */

form.formularz_konta { min-width: 870px  } /* minimalna szerokość okna w nowm oknie */
form.formularz_konta div.kolumna_1_3 		{ width:  242px ; float: left; padding:0px; margin: 0 45px 0 0 ; }
 			
form.formularz_konta div.kolumna_1_3:nth-of-type(4) { margin:0px!important;    }

 
label.obowiazkowy:after 	{ content: " * " ; color: red   }

.konto form.formularz_konta  .kafel { background: #f5f5f5 ; padding: 5px; border: solid 1px #cccccc; margin: 2px; float: left; border-radius: 5px;}


.konto form.formularz_konta   input.rola { margin-left:20px;}
.konto form.formularz_konta   input.rola::before     { content: "" ; width:15px; height:15px;   display: block; margin: -3px 0 0 -19px;  background-image: url("/plugins/ui/css/custom-theme/images/ui-icons_888888_256x240.png"); 	   }
.konto form.formularz_konta   input.rola.a1::before  { background-position: -144px -96px;   } 
.konto form.formularz_konta   input.rola.a2::before {  background-position: -176px -112px;   }



form.formularz_konta  input[type="text"] , 
form.formularz_konta  input[type="password"] , 
form.formularz_konta  input[type="file"] , 
form.formularz_konta  input[type="date"] , 
form.formularz_konta  textarea,
form.formularz_konta  select   {   
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);  -webkit-transition: border-color ease-in-out 1s, box-shadow ease-in-out 0.15s; 
    transition: border-color ease-in-out 1s, box-shadow ease-in-out 0.15s;  border:solid 1px #cccccc ; margin:0px!important; width:92%; padding: 5px ; border-radius: 2px}
 
form.formularz_konta  input:focus ,  form.formularz_konta  textarea:focus , form.formularz_konta  select:focus  { border-color: #C80000;
 
 
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(200,0, 0, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(200,0, 0, 0.6);
 

}
 
form.formularz_konta  textarea { margin:10px 0 10px 0; width:92%; height: 90%    }

form.formularz_konta div.dodajdane input[type="checkbox"] { margin-top: 10px; }
form.formularz_konta div.dodajdane label { display:inline;   position: relative   ;  top: 0px; }

form.formularz_konta div.twarz { position: relative }
form.formularz_konta div.twarz div.face {width: 83px; height: 107px; float: left; background: url(img/user.png) no-repeat 0px -13px;    } 
form.formularz_konta div.twarz div.face img.avatar { width: 83px; height: auto;}


form.formularz_konta div.twarz    input[type="file"] { border: none; width: 140px;   }
form.formularz_konta div.twarz input.usun_twarz { position: absolute; bottom: 0px; right: 10px;  border: none; width:38px; height:35px;  background: url(img/user.png) no-repeat -88px -50px; overflow:hidden; text-indent: -300em;    }


img.avatar { width: 30px; height:auto; float: left; margin-right: 10px}



/* 2015-09 siatka formularza, ustala wysokość linii w poziomie */
.formularz_box  {  padding: 45px 0 0 0  ; margin:0px; position:relative;     }
.formularz_box label { position:absolute; display:block; margin:0; font-size:11px;top: 25px; left:0px;  font-style:italic; color: gray!important ;padding:0px!important;  } 
.formularz_box.oneline { }
.formularz_box.twolines { height: 103px;   }
.formularz_box.threelines { height: 205px;  } 

.formularz_box.oneline div.polowa { float:left; width: 48% ;   }  
.formularz_box.oneline div.polowa input  { } 




/* przycik ustawień administracyjnych przykład w formatce konto_formularz */
div.admin_pokaz {   transition: width 1s ease-in-out; cursor: grab ;	margin: 10px 0 10px 0; text-indent:  -300em; overflow:hidden;  background:url(img/admin.png) no-repeat 0 0 ; width: 52px; height: 45px; border-radius: 6px; opacity:0.3}
div.admin_pokaz:hover {  opacity:1; width:224px;        }

 

/*   ##########################################     PANEL   ################################################################ */
body#nowe_okno { margin: 0px;
    padding: 0px;
    font-family: 'LatoLatinWebLight'!important;
    font-size: 17px;
    padding-right: 21px;
    box-sizing: border-box; }
body#nowe_okno a { color: #c80000!important  }
body#nowe_okno h1, body#nowe_okno h2, body#nowe_okno h3 { color:gray}



/* belka odcinająca w panelu */
div.belka_top { background: #ECECEC; padding: 40px; position:relative; margin:  0px  0px 20px  0px;  }
div.belka_top h2 {  color: #636362 ;  text-shadow: 0 1px 0 #fff; font-size:20px; margin:10px 0px; padding:0px; font-weight:normal; }


/*  tagi */
.konto div.admin_pokaz { margin-bottom:  -3px; margin-left: 10px }

#newsy_edycja div.tagi  { padding:20px; background: #f5f5f5; border-radius:5px; border:solid 1px #cccccc; margin-top:4px;}
#newsy_edycja div.tagi label { float: left; padding: 1px 10px 1px 4px; color:black!important}
#newsy_edycja div.tagi input[type="checkbox"] { float: left;}



.kategorie_powiazane ol {    margin-left:  7px;  padding-left: 10px;    list-style: none;   }
.kategorie_powiazane  li   {  padding-left:  0px; margin:6px ;   list-style: none;  }

#newsy_edycja /* taby  prezentujące formularz modyfikacji strony  */
 select.kategoria  					{  width: 190px}
input.levele 						{ width: 20px; height:10px;margin: 0px; padding:0px; font-size:10px; text-align: center; margin-left: -30px }
.kreska_lewa_pion 					{  border-right:dotted 1px #cccccc; }
.kolumna.kreska_lewa_pion 			{margin-right: 20px!important}

form.onpanel textarea.tytul 		{ height: 25px }
form.onpanel textarea.wstep 		{ min-height: 160px  }
form.onpanel textarea.opis 			{  min-height: 620px  }


form.onpanel .button_top 			{  position:absolute; top: 0px; right: 0px;z-index: 100}
form .button_top , form  .button_bottom {  background: #c80000; color: white; border-radius: 15px    }

form.formularz_konta input.button_top {z-index: 100; background: url(img/user.png) no-repeat -90px -1px;   
width:140px; height: 41px; border: none;  position:absolute; right: 40px; top:  50px;  border-radius: 3px   }





.kolumna_1_3 em 					{ min-height: 35px; display: block; color: #cccccc}
.rmk 								{ border: dotted 1px gray; margin-top: 4px; padding: 4px}

.kategorie_powiazane li a.widok_0     {  opacity: 0.5;}
.kategorie_powiazane li a.zamknieta::before     { content:" * " ; color:black}

 
/* panel switch on off */
.onoffswitch {   
    
    
        z-index: 1001;
    position: fixed;
    width: 90px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    left: 70px;
    bottom: -5px;
    
    }
.onoffswitch-checkbox {    display: none;}
.onoffswitch-label {    display: block; overflow: hidden; cursor: pointer;      border-radius: 1px;}
.onoffswitch-inner 									{    display: block; width: 200%; margin-left: -100%;    -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s; -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;}
.onoffswitch-inner:before, .onoffswitch-inner:after {    display: block; float: left; width: 50%; height: 38px; padding: 0; line-height: 38px; font-size: 19px; color: white;  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
.onoffswitch-inner:before {content: "ON";  padding-left: 10px;    background-color: #990000; color: #FFFFFF;}
 
.onoffswitch-switch {    display: block; width: 32px; margin: 0px;  background: url(img/panel.png) no-repeat 2px -1px  #c80000;    border: 2px solid  #c80000 ;    position: absolute; top: 0; bottom: 0; right: 64px;  -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;  -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {    margin-left: 0;}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {    right: 0px; }



.admininfo {background: #f5f5f5; border: solid 1px #cccccc; border-radius:5px; padding:15px; font-size:11px; }





/* FILEMANAGER.tpl     */

.lista_plikow { margin:0px;padding:0px;width:100%;	box-shadow: 1px 1px 5px #888888;}
.lista_plikow li { list-style:none ;margin:0; padding: 0 }


li.linia {  display:block; padding: 10px 6px 10px 70px ; width:160px; height: 50px; float: left;  position: relative;  background-color:#f5f5f5;
  margin: 2px 2px 0 0 }

.linia input[type="checkbox"] { position: absolute;top: 2px; right: 10px}

/*.lista_plikow .linia:nth-child(odd){ background-color:#f5f5f5; }
.lista_plikow .linia::nth-child(even)    { background-color:#ffffff; }
*/
.linia:hover {  }



#filemanager div.sortowanie  {    padding: 10px ;box-sizing:border-box; width: 100%; background: #f5f5f5 ; margin: 10px 0 10px 0}
#filemanager div.sortowanie  a:hover { color: black}
#filemanager div.sortowanie  a.selected { font-weight:bold} 
#filemanager div.sortowanie  a.selected.kierunek_0:after { content: " ↑" ; }
#filemanager div.sortowanie  a.selected.kierunek_1:after { content: " ↓" ; }
#filemanager div.sortowanie button { float: right; }

.lista_plikow .linia span.plik { font-weight:bold; display:block  }
.lista_plikow .linia span.wielkosc , .lista_plikow .linia span.kategorie  { margin-right: 5px; font-size:11px; color: gray }
.linia span.kategorie  { display: block }
.lista_plikow a.ui-icon-newwin { float: left; margin-right: 10px;   } 
.lista_plikow .linia span.count {  margin-right: 5px; font-size:11px; color: gray   }
.lista_plikow .linia.widok_0   { opacity: 0.4;    filter: alpha(opacity=40); }
.lista_plikow .linia.widok_0   a{  text-decoration: line-through }

.lista_plikow .linia .form_edit { display:none ; font-size: 11px; z-index:  1011; position:absolute} 
.lista_plikow .linia .form_edit input { margin: 0px 0px 0px  0px; width: 30px}
.lista_plikow .linia .form_edit input[type="text"].opis { width: 130px}





form.onpanel  .lista_plikow label  { padding:  0px!important; margin:0px}
.lista_plikow .linia     p {  white-space: nowrap;  width: 150px; overflow: hidden; text-overflow:    ellipsis;}



.filemanager .operacje { position:relative; background: #f9e3e3; border: solid 1px #c80000; padding: 20px; margin: 20px 0 20px 0;-moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;    }
.filemanager .operacje   input.usun { position: absolute; top: 20px; right: 20px; background: #c80000; color: white;    }
 .filemanager .operacje  input.edit {  background: rgba(140,198,63,1); color: white; border-radius:3px;    }

 
 .imagecounter { width: 1px; height:auto} /* obraz wywoływany w fancyboxie do podnoszenia licznika odłon */
 
 .filemanager img.miniatura {   width: 60px; height:auto;    position:absolute; left: 1px; top: 1px;z-index: 10; max-height: 70px }
 
 /* IKONY PLIKÓW */
.file_icon  {box-shadow: 1px 1px 1px #888888;position: relative;float: left; margin: 5px 10px 5px -55px;width: 35px;max-width: 35px; height:32px; background: red; color: white; text-align: center; line-height: 23px; font-size:13px ; font-weight:bold 	}
.file_icon::before {	content: "";	position: absolute;	top: -8px;	left: 0;width: 0;	height: 0;	border-left: 26px solid red;	border-right: 8px solid transparent;	border-bottom: 8px solid red;   }
.file_icon::after {	content: "";	position: absolute;	top: -8px;	right: 0;width: 0;	height: 0;	border-bottom: 8px solid white;	border-right: 9px solid transparent;  opacity: 0.7;    filter: alpha(opacity=70);} 


.file_icon.jpg , .file_icon.jpeg {  background: #339933  }
.file_icon.jpg::before , .file_icon.jpeg::before { border-left-color: #339933;	border-bottom-color: #339933 ; }

.file_icon.doc , .file_icon.docx {  background: #3366cc  }
.file_icon.doc::before , .file_icon.docx::before { border-left-color: #3366cc;	border-bottom-color: #3366cc ; }

.file_icon.rtf  {  background: #3ff0099  }
.file_icon.rtf::before  { border-left-color: #ff0099;	border-bottom-color: #ff0099 ; }

.file_icon.mp3  {  background: #f8b133  }
.file_icon.mp3::before  { border-left-color: #f8b133;	border-bottom-color: #f8b133 ; }

.file_icon.pdf {  background: #cc3333  }
.file_icon.pdf::before { border-left-color: #cc3333;	border-bottom-color: #cc3333 ; }



/*    paginacja */
.paginacja { padding: 10px ; background: #f5f5f5;   color: gray}
.paginacja .raport {   float: left; padding: 6px 6px 0 0 }
.paginacja .strony { float: right;   min-width: 400px} 
 
.paginacja a { border: solid 1px #cccccc; padding: 6px; margin: 10px 2px 10px 0 ; color:gray ; background: white}
.paginacja a.b_current {  opacity: 0.5;    filter: alpha(opacity=50);  }
.paginacja form { margin:20px; padding:0; display: inline!important;  } 
.paginacja form input[type="text"] { width: 20px; padding: 5px;   }
.paginacja form label { margin-left: 30px; float: left;}



/* wyszukiwarka styl wspólny body.szukaj   div.wyszukiwarka */
div.wyszukiwarka_main { position:relative   }
div.wyszukiwarka_main input[type="text"]  { padding: 10px; border: solid 1px #cccccc; width:400px ; margin: 0 0 20px 0  }
div.wyszukiwarka_main input[type="submit"] { background: url(img/search.png) no-repeat 0 0 ;width: 40px ; height: 40px; 
overflow: hidden; text-indent: -300em ; border: none; position:absolute; top: 3px; left: 370px;   }
div.wyszukiwarka_main label { font-size: 11px; color: gray}
div.szukajinfo {  font-size: 11px; padding: 5px 10px 0px 10px; color: gray  }

body.szukaj div.main  p { padding:0px; margin:0px; }
body.szukaj li.artykul {
     
    margin: 30px 0px 0px 0;
    padding:  0px;
    position: relative;
    min-height:  30px; }


/* BELKA PANEL       */
 
.open {display:block!important;}



/*
#admin_belka  { position:fixed; z-index:101; bottom:0px; left: 0px;  height:100px;width: 100%;   background: #333333;     color:#cccccc; border-bottom: solid 1px black; border-top: solid 1px #333333 }

*/

#admin_belka {
    position: absolute;
    z-index: 10001;
    bottom: 0px;
    left: -60px;
    height: 100%;   
   
    background:    #333333;
    color: #cccccc;
    border-bottom: solid 1px black;
    border-top: solid 1px #333333;
    box-shadow: 1px 1px 2px black;
    border-right: solid 1px #555;
    transition: width .5s;
   
}

#admin_belka a#nav { width:60px }

#admin_belka.pokazana {   width: 60px; }
#admin_belka.otwarta {
    width: 100%;
    max-width: 420px;
}

#admin_belka.schowana {width: 2px;   }



#poleedycji::-webkit-scrollbar-track
{
    
    border-radius: 1px;
    background-color: transparent;
}

#poleedycji::-webkit-scrollbar
{
    width: 6px;
     
}

#poleedycji::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
    background-color: #777;
}




/* #admin_belka.otwarta wywołuje mutton menu */ 

/* Warstwa startuje zwinięta (width:0). Pozycjonowanie oparte o left/top,
   bez ujemnych marginesów — poprzednia wersja miała margin-top:-38px
   i padding-top:29px, przez co treść wchodziła pod belkę. */
#admin_belka div#poleedycji {
    /* position: fixed (nie absolute) — warstwa musi być zakotwiczona do
       VIEWPORTU, nie do #admin_belka/<body>. #admin_belka sam jest
       position: absolute względem <body>, a <body> ma wysokość całej
       (potencjalnie długiej) strony, nie okna przeglądarki. Efekt przy
       absolute: wysokość #poleedycji liczyła się od wysokości strony,
       więc na widokach z dużą ilością treści (np. lista kilkudziesięciu
       zdjęć) górna/dolna krawędź warstwy wychodziła poza ekran i
       overflow-y:auto przewijał coś, co i tak było poza kadrem —
       obserwowane jako „nie da się przewinąć listy w dół". */
    position: fixed;
    top: 0;
    left: 60px;                 /* dokładnie za wąską belką */
    width: 0;
    height: 100vh;
    background: #3c3c3c;
    border-left: solid 1px #4a4a4a;
    box-sizing: border-box;
    overflow: hidden;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: width .28s ease, opacity .28s ease, visibility .28s;
    -webkit-overflow-scrolling: touch;   /* płynne przewijanie na iOS */
}

#admin_belka.otwarta div#poleedycji {
    width: 360px;
    opacity: 1;
    visibility: visible;
}
 
/* ── PRZESTARZAŁE: style starego edytora menu (#navmenu_panel) ──────
   Zastąpione przez drzewo struktury (.drzewo-*, sekcja niżej).
   Zostawione, bo clients/_trzebiatow/templates/panel_cms.php nadal
   renderuje panel_menu.tpl przez własną kontrolkę 'menu'.
   Nie kolidują z nowym drzewem — inne selektory.                     */
 #navmenu_panel  a {
    font-size: 14px;
    font-weight: none;
    
    font-weight: 100;
}
#navmenu_panel ul { padding-bottom:5px }
#navmenu_panel ul li.otworz ul { padding-bottom: 20px }



a.menu_steruj {
    background: url(img/user_grupy.png) no-repeat;
    width: 23px;
    display: block;
    float: left;
    margin-right: 3px;
    text-indent: -300em;
    background-position: -21px -3px;
    background-size: 60px;
    margin-left: -22px;
}

#navmenu_panel ul li li a.menu_steruj { display:none }


#navmenu_panel ul li {
    margin: 0px 1px 1px -20px;
    position: relative;
    list-style: none;
}


#navmenu_panel ul ul li  { opacity: .6}
 
 #navmenu_panel a.edit {    display: block;
    position: absolute;
    top: 0px;
    left: -35px;
    width: 20px;
    margin-right: 10px;
    overflow: hidden;
    height: 17px;
    background: url(img/ikony_panel.svg) no-repeat -147px -7px;
    background-size: 324px;
    /* border: solid 1px red; */
    text-indent: -300em;
    opacity: .2;
 
 }   
 
 #navmenu_panel a { color: white}  
#navmenu_panel a.widok_0 { 

    color: gray;
    text-decoration: line-through;
 

}     
 

/* ukrycie niepotrzebnych welementów menu   */


  
 
 

/* Definicje a.controlpanel i a.zamknijpanel były tu zduplikowane —
   drugi zestaw (niżej) i tak nadpisywał pierwszy (position: fixed →
   absolute). Zostawiono jedną, obowiązującą wersję. */


/* schowajmy drugi poziom */


ul#navmenu_panel li li li {

display: none;



}

ul#navmenu_panel li.otworz li {

display: block;



}
  
a.controlpanel {
    position: absolute;
    top: 88px;
    left: 47px;
    display: block;
    color: gray;
    /* border: solid 1px gray; */
    padding: 2px 10px;
    border-radius: 5px;
    z-index: 20000;
    background: url(img/ikony_panel.svg) no-repeat -473px -63px rgba(25, 25, 25, 0.49);
    width: 60px;
    height: 40px;
    text-indent: -300em;
    box-sizing: border-box;
    transition: position 1s;
}

#admin_belka.pokazana a.controlpanel { left: -0px   }
a.controlpanel.schowaj { left: 60px   }
a.controlpanel.pokaz {     background-position: -473px -14px; left:56px }


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — druga warstwa (edytor menu / formularze)
   ══════════════════════════════════════════════════════════════════ */

/* wskaźnik rozwinięcia przy "Edytor menu" — strzałka wynika ze stanu
   aria-expanded, więc nie da się jej rozjechać z faktycznym stanem */
.admin_belka1 #nav a.edytormenu { position: relative; }

.admin_belka1 #nav a.edytormenu::after {
    content: "";
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, .55);
    transition: transform .25s ease, border-top-color .25s ease;
    transform-origin: 50% 30%;
}

.admin_belka1 #nav a.edytormenu[aria-expanded="true"]::after {
    transform: rotate(-90deg);
    border-top-color: #fff;
}

.admin_belka1 #nav a.edytormenu.selected {
    border-color: #7ab8ff;
    box-shadow: inset 0 0 0 1px rgba(122, 184, 255, .35);
}

/* nagłówek warstwy — stały, treść pod nim się przewija */
.poleedycji_naglowek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: #333;
    border-bottom: solid 1px #4a4a4a;
    position: sticky;
    top: 0;
    z-index: 2;
}

.poleedycji_tytul {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #e8e8e8;
}

a.zamknijpanel {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 20px;
    line-height: 1;
    color: #cfcfcf;
    text-decoration: none;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    background: transparent;
    transition: background .2s, color .2s, border-color .2s;
}

a.zamknijpanel:hover,
a.zamknijpanel:focus-visible {
    background: #d64545;
    border-color: #d64545;
    color: #fff;
}

#poleedycji_tresc { padding: 8px 12px 24px; }

/* komunikaty stanu ładowania drzewa menu */
.panel_ladowanie,
.panel_blad {
    padding: 16px 4px;
    font-size: 13px;
    color: #b9b9b9;
}

.panel_blad { color: #ffb4b4; }
.panel_blad a { color: #fff; text-decoration: underline; }

/* tło pod warstwą — tylko na wąskich ekranach (reguła w @media niżej) */
.panel_backdrop { display: none; }




#admin_belka a.kompania {  
            width: 100%;
    height: 84px;
    background: url(img/ikony_panel.svg) no-repeat -535px 0 rgba(25, 25, 25, 0.49);
    display: block;
    margin-bottom: 40px;
     }
     
     
     
     
.admin_belka1 {  padding:0px   ;     font-size:12px;    }

 .admin_belka2 { overflow:hidden;    
 overflow:hidden; position:absolute; bottom:0px; left:0px; 
width:100%; padding:5px 0px 5px 0px  ; 
color:gray ;font-style:italic; font-size:11px; background: #191919 ;     height: 20px;
box-sizing: border-box;
overflow: hidden;
 }
.admin_belka1:hover { width:100%; }
 



#admin_belka div.komunikat_logowanie {  width: 500px; margin: 30px auto;   }
#admin_belka div.komunikat_logowanie p{ color: #f5f5f5 ; font-size:14px  }





#admin_belka .mrg {  	}
.admin_belka2 input[type="text"] { background: #191919; border: none;   color: #cccccc; font-size:11px; padding-left: 5px}
.admin_belka2  b { margin-right: 20px ; color: #cccccc}

 
.admin_belkaszara {  
    margin-top: 0px;
    background: gray;
    padding: 3px 0 3px 0;
    font-size: 11px;
    height: 1px;
    overflow: hidden;
 }
 
 
.admin_belkaszara a { color: white}
.admin_belkaszara a:hover { color: #f5f5f5}

/* klawisze panelu */
#admin_belka  #nav {       width: 60px;}



.admin_belka1 #nav a { display: block; float: left; width: 40px; height:40px; text-indent:-300em; overflow: hidden; border:solid 2px gray;margin: 15px 10px 1px 10px;
-webkit-border-radius:  39px;-moz-border-radius:  39px;border-radius:  39px;
 				-webkit-transition: background 500ms ease-out 100ms;
    			-moz-transition: background 500ms ease-out 100ms;
    			-o-transition: background 500ms ease-out 100ms;
    			transition: cubic-bezier(0, 1.3, 0.62, 0.21) background 500ms ease-out 100ms;    			 
				background: url(img/ikony_panel.svg) no-repeat -5px -15px ;
}



/* belka w nowym oknie pozwalająca się przełączać do kolejnych okien   */
div#belka_podreczna { position:absolute; top:230px ; right: 5px; z-index: 100; opacity: .2 ; transition: opacity 500ms ease-out 100ms;  }
div#belka_podreczna:hover { opacity: 1}
div#belka_podreczna a { 
							background:white;
							display: block;
							width: 40px;
							height: 40px;
							text-indent: -300em;
							overflow: hidden;
							border: 2px solid #808080;
							margin: 15px 10px 1px;
							border-radius: 39px;
							transition: background 500ms ease-out 100ms;
							background: transparent url("img/ikony_panel.svg") no-repeat scroll -5px -15px;
 					}






/* panel, konta */
div.p_belka_g { border-bottom: dotted 1px gray; padding:  0px 0 20px 0; margin-bottom: 10px;  }
div.p_belka_g a { color: gray; font-weight: normal}
div.panel_kreska  { border-bottom: dotted 1px #cccccc; height: 2px; margin: 10px 0 10px 0   } /*kreska kropkowana jako spójny rodzielacz graficzny w pwnelu */









.admin_belka1 #nav a.dodaj {  background-position: -5px -15px }
.admin_belka1 #nav a.edytuj , div#belka_podreczna a.edytuj {  background-position: -348px -15px }
.admin_belka1 #nav a.konta {  background-position: -55px -15px }
.admin_belka1 #nav a.pliki , div#belka_podreczna a.pliki {  background-position: -101px -17px }
.admin_belka1 #nav a.rejestr , div#belka_podreczna a.rejestr  {  background-position: -152px -17px }
.admin_belka1 #nav a.ustawienia {  background-position: -206px -17px }
.admin_belka1 #nav a.schowek {  background-position: -255px -15px }
.admin_belka1 #nav a.pomoc {  background-position: -390px -15px }
.admin_belka1 #nav a.edytormenu {  background-position: -432px -15px }
.admin_belka1 #nav a.mapa_panel {  background-position: -303px -18px; }


  


.admin_belka1 #nav a.dodaj:hover {  background-position: -5px -65px ; }
.admin_belka1 #nav a.edytuj:hover {  background-position: -348px -65px ; }
.admin_belka1 #nav a.konta:hover {  background-position: -55px -65px }
.admin_belka1 #nav a.pliki:hover {  background-position: -101px -67px }
.admin_belka1 #nav a.rejestr:hover {  background-position: -152px -67px }
.admin_belka1 #nav a.ustawienia:hover {  background-position: -206px -67px }
.admin_belka1 #nav a.schowek:hover {  background-position: -255px -66px }
.admin_belka1 #nav a.pomoc:hover {  background-position: -390px -66px }
.admin_belka1 #nav a.edytormenu:hover ,.admin_belka1 #nav  a.edytormenu.selected {  background-position: -432px -66px }

.admin_belka1 #nav a.mapa_panel:hover {  background-position: -303px -66px; }

/* Ikona koperty dla linku wysyłki newslettera — inline SVG, NIEZALEŻNA od
   sprite'a ikony_panel.svg (żeby dopisanie nowego kształtu do ręcznie
   rysowanego pliku Illustratora nie ryzykowało przesunięcia/nadpisania
   istniejących ikon). Dotąd klasa "newsletter" nie miała własnej reguły
   background-position, więc dziedziczyła domyślne tło #nav a (plus/dodaj). */
.admin_belka1 #nav a.newsletter-biuletyn {
	background: #767676 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect x="2" y="4" width="20" height="16" rx="2" fill="none" stroke="%23ffffff" stroke-width="1.8"/><path d="M3 6l9 7 9-7" fill="none" stroke="%23ffffff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;
	background-size: 22px 22px;
}
.admin_belka1 #nav a.newsletter-biuletyn:hover {
	background-color: #4a90d9;
}


.admin_belka1 #nav a:hover { background-color: #cccccc;  border-color:#990000 }






.pole_admin {/* wyszazenie*/ background: #f5f5f5; border:solid 1px #cccccc; padding: 10px; border-radius: 10px; margin-bottom: 10px; width: 90% }
.pole_admin  label { color: gray; font-size: 13px; display:block ; margin: 10px 0 10px 0 }


/*adres */
#lista_kont.adresy div.linia  span.id { width: 60px;    }
span.rodzic a { width:25px;  height:25px;  display:block; text-indent:-300em; overflow: hidden ; background: url(img/user.png  ) no-repeat -200px -85px ; opacity: .4}
span.rodzic.rdz0 a  {  background-position: -198px -53px  }
span.autor a{  width:25px;  height:25px;  display:block; text-indent:-300em; overflow: hidden ; background: url(img/user.png  ) no-repeat -135px -52px ; opacity: .4   }
div.pn { display:block; position:absolute; right: 50px; top:104px; }
div.pn a , div.pn span { display:block; float: left; padding: 0px;  width:25px;  height:25px;  display:block; text-indent:-300em; overflow: hidden ; background: url(img/user.png  ) no-repeat -135px -52px ; opacity: .2 ; border: solid 1px #999999 ; border-radius: 4px; margin:2px }
div.pn a.ed {   background-position: -97px -91px   }
div.pn a.dod {   background-position: -135px -91px   }
div.pn span.del {   background-position: -96px -57px ; padding: 0px;    }
div.pn a:hover , div.pn span:hover { opacity: .7}
#lista_kont.adresy div.linia span.mapa   { display:block; position:absolute; right: 180px; top:9px;      width:25px;  height:25px;  display:block; text-indent:-300em; overflow: hidden ; background: url(img/user.png  ) no-repeat -169px -56px ; opacity: .4 ;   }

#lista_kont.adresy div.linia  span.nazwa { width: 490px;    }






/* KONTO  */
#lista_kont {}
#lista_kont p { margin: 10px 0 10px 0}
div.linia { position:relative ; padding: 6px; margin-bottom:1px; font-size:12px;  clear:both; min-height: 20px;   }
div.linia:nth-child(odd)	{ background-color:#fafafa;  border-bottom: solid 1px #e1e1e1 }
div.linia:nth-child(even)    { background-color:#f5f5f5;  border-bottom: solid 1px #dcdada  }

#lista_kont .linia  span { min-width: 30px; display: block; float: left }
#lista_kont .linia.status1 span.id {   text-decoration: line-through   }
#lista_kont .linia span.id {  width: 130px; overflow: hidden  ; max-width:150px; }
#lista_kont .linia span.nazwa {  width: 290px; overflow: hidden   }
#lista_kont .linia span.ikona {   position: absolute; left: 40px;  }
#lista_kont .linia span.ikona img { width: 20px ;height: auto}
#lista_kont .linia span.ic {  min-width:  15px!important;  overflow: hidden ; height: 15px; background-position: -112px -112px; background-image: url("/plugins/ui/css/custom-theme/images/ui-icons_888888_256x240.png");           }
#lista_kont .linia span.email.ic {   background-position: -80px -96px;  }
#lista_kont .linia span.grupy {    margin-left: 20px; }
 
#lista_kont .linia span.grupa {  position: relative; background: #f5f5f5;  padding: 5px;  border: solid 1px #cccccc;  margin: 2px;  float: left;  border-radius: 5px; font-size:11px; padding-left: 15px }
#lista_kont .linia span.locked.st1 {     background-position: -192px -96px;      } 
#lista_kont .linia span.locked.st0 {       background-position: -208px -96px;     } 

#lista_kont .linia span.grupa::before {
position:absolute;
content: ""; left: 18px; 
  width: 15px;
  height: 15px;
  display: block;
  margin: -3px 0 0 -19px;
  background-image: url("/plugins/ui/css/custom-theme/images/ui-icons_888888_256x240.png");}

#lista_kont .linia span.grupa.r_1::before { background-position: -144px -96px; }
#lista_kont .linia span.grupa.r_2::before {   background-position: -176px -112px; }



/*  */
.grupy_select  {  float: right; width: 300px; position:relative ; margin-right: 20px;  }
.grupy_select select { padding: 6px; margin: 4px; width: 150px;   }
.grupy_select a , .grupy_select span { opacity:.5;  position:absolute; top: 0px; left: 170px; overflow: hidden; text-indent: -300em; 
width: 39px; height:34px; background: url(img/user_grupy.png) no-repeat 0 0  }
.grupy_select span.dodaj { left: 210px; background-position:-40px;  }
.grupy_select span.del { left: 250px; background-position:-72px;   }
.grupy_select a:hover , .grupy_select span:hover { opacity: 1} 
/*  UPLOADER  */
.ajax-file-upload-statusbar { width: 320px; }
.ajax-file-upload-filename {width: 100%;height: auto;margin: 0 5px 5px 10px;color: #807579}
.ajax-file-upload-progress {margin: 0 10px 5px 10px;position: relative;width: 250px;border: 1px solid #ddd;padding: 1px;border-radius: 3px;display: inline-block}
.ajax-file-upload-bar {background-color: #c80000;width: 0;height: 20px;border-radius: 3px;color:#FFFFFF;}
.ajax-file-upload-percent {position: absolute;display: inline-block;top: 3px;left: 48%}
.ajax-file-upload-red {
-moz-box-shadow: inset 0 39px 0 -24px #e67a73;
-webkit-box-shadow: inset 0 39px 0 -24px #e67a73;
box-shadow: inset 0 39px 0 -24px #e67a73;
background-color: #e4685d;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
display: inline-block;
color: #fff;
font-family: arial;
font-size: 13px;
font-weight: normal;
padding: 4px 15px;
text-decoration: none;
text-shadow: 0 1px 0 #b23e35;
cursor: pointer;
vertical-align: top;
margin-right:5px;
}
.ajax-file-upload-green {
background-color: #77b55a;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
margin: 0;
padding: 0;
display: inline-block;
color: #fff;
font-family: arial;
font-size: 13px;
font-weight: normal;
padding: 4px 15px;
text-decoration: none;
cursor: pointer;
text-shadow: 0 1px 0 #5b8a3c;
vertical-align: top;
margin-right:5px;
}
.ajax-file-upload { width: 60%; margin:50px  auto 0 auto;
padding: 15px 20px;	cursor:pointer;		line-height:20px; 
  text-decoration: none;  border-radius: 3px;  -webkit-border-radius: 3px;  -moz-border-radius: 3px;  -moz-box-shadow: 0 2px 0 0 #e8e8e8;  -webkit-box-shadow: 0 2px 0 0 #e8e8e8;
  box-shadow: 0 2px 0 0 #e8e8e8;   padding: 6px 10px 4px 10px;   color: #fff;  background: #c80000;  }
  
.ajax-file-upload:hover {      background: red;      }
.ajax-upload-dragdrop  { background:  #f5f5f5;  position: relative ;   height: 150px; margin: 20px 0 20px 0; border:1px dotted gray;	width:90%;color: #DADCE3;	text-align:center;vertical-align:middle;	padding: 0px;}

.ajax-upload-dragdrop b {  display:block; margin-top: 20px;}



/* adresy menu */





#menus ul li { margin: 5px;} 
a.button_dol ,  a#back-top  {
 
    position: fixed;
    bottom: -26px;
    z-index: 1002;
    display: block;
    text-align: center;
    text-decoration: none;
    color: white;
 
    transition: .5s;
    background: gray;
      border: solid 2px gray;
    border-radius: 120px;
    width: 40px;
    height: 61px;
     
    opacity: .6;
    overflow: hidden;
    text-indent:-300em;
    background: url(img/ikony_panel.svg) no-repeat  ;
    
}


a#back-top {       right: 65px;  

 
   
     background-position: -540px -68px;

 }
a.button_dol  {     
    right: 18px;
    background-position:  -56px -64px;
   
    }


 
 
body#nowe_okno  a.button_dol  , body#nowe_okno a#back-top  { display:none!important }






.nawigacja {    float: right;     margin-top: 37px;} /* news filtr */

/* YOUTUBE */
.ytb { width:100%; height: 400px;    background-position: center; background-repeat: no-repeat;    position: relative; display: block; overflow: hidden;  transition: all 200ms ease-out;  cursor: pointer;  margin: 40px auto 0 auto;}
.ytb .play {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ+CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;
    background-size: 64px 64px;    position: absolute;    height: 100%;    width: 100%;    opacity: .8;    filter: alpha(opacity=80);    transition: all 0.2s ease-out;
}

.ytb .play:hover {    opacity: 1;    filter: alpha(opacity=100);}

.ytb img { display:none}

a.panelinfo { display: block; position:absolute; bottom:1px; left: 1px; font-size: 9px; color: gray}




#ajaxloader1 { border: solid 1px gray; position: fixed; top: 11%; left: 50%; width: 100px; background: white; z-index:1000; text-align: center; opacity: .6; border-radius: 20px}


/* kalendarz */
.kalendarz .main { min-height: 300px}
.kalendarz .belka h2 {float: left}
.kalendarz div.sterowanie { float:right; margin-left: 30px; margin-top: 30px;}
.kalendarz div.tryby { float:right; margin-left: 30px; margin-top: 30px;}

.kalendarz div.sterowanie a , .kalendarz div.tryby a { display: block; float: left; margin-left: 29px;  text-decoration:none}

.kalendarz div.tryby a.selected {  background: var(--mocny); color: white; padding: 1px  6px 1px 6px; border-radius: 20px;             }
.kalendarz div.sterowanie a.next, .kalendarz div.sterowanie a.prev {   border: solid 1px var(--mocny);
    color: var(--mocny);
    width: 22px;
     
    border-radius: 17px;
    padding: 1px;
    opacity: .9; transition: 1s;  text-align: center  ; margin:  0px 20px 0px 20px          }
    
 .kalendarz div.sterowanie a.dzis { margin-left: -5px;     }   
    
    
.kalendarz div.sterowanie a:hover { opacity: .3   }
.kalendarz .kalendarz_karta {  min-height: 300px;   overflow:hidden;  margin-bottom: 20px;         }
.kalendarz .row.main { padding: 20px 0 40px 0 }
.kalendarz a.dzis { opacity: .4}
.kalendarz a.selected { opacity: 1}

.kalendarzyk table { width: 100%}
.kalendarzyk  td {  text-align: center; padding: 5px 0 5px 0; border-bottom:solid 1px #f5f5f5 }
.kalendarzyk  td a {  color:black; text-decoration: none }
.kalendarzyk  td.swieto a{ color: var(--mocny)}
.kalendarzyk  td.sobota a{ color: gray}

.kalendarzyk  td.dzis { border-bottom:solid 2px var(--mocny)}
.kalendarzyk  td.selected {  background:  #f5f5f5}
.kalendarzyk .naglowek { font-size: 22px;    margin-bottom: 13px;    text-align: center;}
.kalendarzyk .naglowek sup{ font-size: 12px;    }

.kalendarz_karta .karta {    min-height:200px;  position:relative    }
.kalendarz_karta .karta:nth-child(4n+1) { clear:both}

.kalendarz_karta .karta .naglowek .dzien { font-size: 18px;    display: block;    margin-top: 20px;}
.kalendarz_karta .karta.swieto .naglowek   {  color:var(--mocny) }

.kalendarz_karta .karta .naglowek .cyfra { font-weight: bold;          }
.kalendarz_karta .karta .naglowek .miesac {  font-size:11px  }
.kalendarz_karta .karta .naglowek { border-bottom: solid 1px  #f5f5f5; margin-left: -10px;margin-right: -10px }

.kalendarz_karta .karta a.dodaj {
    position: absolute;
    right: 20px;
    top: 34px;
    font-size: 28px;
}

.kalendarz div.debug { display:none}
.kalendarz_karta .karta div.event { border-bottom: solid 1px #f5f5f5; font-size: 14px; padding:26px 10px 6px 0; overflow:hidden; margin-left: -11px;}
.kalendarz_karta .karta div.event span.godz { font-size:15px ; color: var(--szary); display:block; }
.kalendarz_karta .karta div.event.ukryty .tresc {  opacity: .4  }


.kalendarz div.row.main { background: white;}

#formularz_edit { background: white; padding: 10px 0 20px 0; }
#formularz_edit label { font-size: 11px; color: gray }


/* formatka CONFIG */
.fconfig .grupa h2 {
	border-bottom: solid 1px #8080801c;
	padding: 11px 0 7px;
	font-weight: unset;
}
.fconfig .grupa h2 sup { font-size: 14px;     }

.fconfig .klucz {
	display: block;
	width: 158px;
	float: left;
	opacity: .5;
}
.fconfig .linia a.edytuj {
	display: block;
	width: 33px;
	height: 32px;
	background: url(img/user.png) no-repeat -74px -70px;
	float: right;
	text-indent: -300em;
	overflow: hidden;
	border: ;
	margin-top: -6px;
	/* border: solid 1px red; */
	background-size: 192px;
}



.fconfig .linia textarea {
	width: 96%;
	padding: 12px;
	border: none;
}

 


.fconfig .linia .modul , .fconfig .linia .moduldwa  {
	width: 40%;
	margin-bottom: 15px;
	float: left;
	margin-top: 19px;
	 
}

.fconfig  .conf_anuluj {
	float: right;
	margin-right: 17px;
}

.fconfig .linia .moduldwa input {
	width: 19px;
}

.fconfig div.miejsce_formularzy {
    
    margin-top:20px;
    
    
    
}


div.addZmienna {
	padding: 26px 0px;
}

/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — urządzenia dotykowe i wąskie ekrany

   Granica 768 px jest zsynchronizowana ze stałą PANEL_MOBILE_MAX
   w biblioteki/js/3.2.panel.js — przy zmianie popraw OBA miejsca.
   ══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    /* warstwa przykrywa ekran: na telefonie nie ma miejsca na układ obok siebie */
    #admin_belka div#poleedycji {
        left: 0;
        width: 0;
        max-width: 100vw;
        z-index: 10;
        box-shadow: 2px 0 14px rgba(0, 0, 0, .5);
    }

    #admin_belka.otwarta div#poleedycji {
        width: 86vw;
        max-width: 400px;
    }

    /* tło zamykające warstwę kliknięciem obok */
    .panel_backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .45);
        opacity: 0;
        visibility: hidden;
        transition: opacity .28s ease, visibility .28s;
        z-index: 9;
    }

    body.panel_warstwa_otwarta .panel_backdrop {
        opacity: 1;
        visibility: visible;
    }

    /* treść pod warstwą nie może się przewijać razem z nią */
    body.panel_warstwa_otwarta { overflow: hidden; }

    /* cele dotykowe — minimum 44 px wg wytycznych dostępności */
    a.zamknijpanel {
        width: 44px;
        height: 44px;
        font-size: 24px;
    }

    .poleedycji_naglowek { padding: 12px 14px; }

    #navmenu_panel a {
        min-height: 40px;
        display: flex;
        align-items: center;
    }

    a.menu_steruj {
        width: 40px;
        height: 40px;
        background-position: -12px 6px;
        margin-left: -40px;
    }
}

/* Użytkownicy z ustawieniem „ogranicz animacje" nie dostają przejść */
@media (prefers-reduced-motion: reduce) {
    #admin_belka,
    #admin_belka div#poleedycji,
    .panel_backdrop,
    .admin_belka1 #nav a.edytormenu::after,
    a.zamknijpanel {
        transition: none;
    }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — formularz ustawień w drugiej warstwie
   (zastępuje stronę /ustawienia otwieraną w eModal)
   Renderowany przez biblioteki/js/3.2.panel.config.js
   ══════════════════════════════════════════════════════════════════ */

.panel_cfg { font-size: 13px; color: #ddd; }

/* pasek akcji nad listą */
.panel_cfg_pasek {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.panel_cfg_pasek a {
    flex: 0 0 auto;
    padding: 6px 10px;
    font-size: 12px;
    color: #ddd;
    text-decoration: none;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    transition: background .2s, border-color .2s, color .2s;
}

.panel_cfg_pasek a:hover,
.panel_cfg_pasek a:focus-visible {
    background: #4a4a4a;
    border-color: #7a7a7a;
    color: #fff;
}

/* komunikat zwrotny (odpowiednik #komunikaty-widget ze starej strony) */
#panel_cfg_komunikat {
    margin: 0 0 10px;
    padding: 8px 10px;
    font-size: 12px;
    border-radius: 6px;
    background: #2f4f34;
    border: solid 1px #46714d;
    color: #d8f0da;
}

#panel_cfg_komunikat.panel_cfg_komunikat_blad {
    background: #4f2f2f;
    border-color: #714646;
    color: #f0d8d8;
}

/* grupa zmiennych */
.panel_cfg_grupa {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: solid 1px #4a4a4a;
}

.panel_cfg_grupa:last-child { border-bottom: none; }

.panel_cfg_grupa h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #9fc4e8;
}

.panel_cfg_grupa h3 a.panel_cfg_dodaj_zmienna {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    color: #cfcfcf;
    text-decoration: none;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
}

.panel_cfg_grupa h3 a.panel_cfg_dodaj_zmienna:hover { background: #4a4a4a; color: #fff; }

/* pojedyncza zmienna */
.panel_cfg_linia {
    padding: 7px 0;
    border-bottom: dotted 1px #4a4a4a;
}

.panel_cfg_linia:last-of-type { border-bottom: none; }

.panel_cfg_naglowek_linii {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.panel_cfg_klucz {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    color: #e8e8e8;
    word-break: break-all;
}

.panel_cfg_wartosc {
    margin-top: 2px;
    font-size: 12px;
    color: #a9a9a9;
    word-break: break-word;
}

/* akcje przy zmiennej — ujawniane na hover, na dotyku zawsze widoczne */
.panel_cfg_akcje {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
    opacity: 0;
    transition: opacity .18s;
}

.panel_cfg_linia:hover .panel_cfg_akcje,
.panel_cfg_linia:focus-within .panel_cfg_akcje { opacity: 1; }

.panel_cfg_akcje a {
    font-size: 11px;
    color: #9fc4e8;
    text-decoration: none;
    white-space: nowrap;
}

.panel_cfg_akcje a:hover { text-decoration: underline; }
.panel_cfg_akcje a.panel_cfg_usun { color: #e79a9a; }
.panel_cfg_akcje a.panel_cfg_usun.napewno { color: #fff; background: #b33; padding: 1px 6px; border-radius: 4px; }

.panel_cfg_pusto {
    margin: 4px 0;
    font-size: 12px;
    font-style: italic;
    color: #8a8a8a;
}

/* formularze (dodanie grupy/zmiennej, edycja) */
.panel_cfg_form {
    margin: 8px 0 4px;
    padding: 10px;
    background: #333;
    border: solid 1px #4f4f4f;
    border-radius: 8px;
}

.panel_cfg_form label {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #a9a9a9;
}

.panel_cfg_form input[type="text"],
.panel_cfg_form input[type="number"],
.panel_cfg_form select,
.panel_cfg_form textarea {
    display: block;
    width: 100%;
    margin-top: 3px;
    padding: 7px 8px;
    font-size: 13px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
    box-sizing: border-box;
}

.panel_cfg_form textarea { resize: vertical; min-height: 60px; }

.panel_cfg_form input:focus,
.panel_cfg_form select:focus,
.panel_cfg_form textarea:focus {
    outline: none;
    border-color: #7ab8ff;
    box-shadow: 0 0 0 2px rgba(122, 184, 255, .2);
}

.panel_cfg_form_akcje {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

.panel_cfg_form button {
    padding: 7px 14px;
    font-size: 12px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background .2s;
}

.panel_cfg_form button:hover { background: #3a86d8; }
.panel_cfg_form button.panel_cfg_btn_usun { background: #b33; }
.panel_cfg_form button.panel_cfg_btn_usun:hover { background: #d64545; }

.panel_cfg_form a.panel_cfg_anuluj_form {
    font-size: 12px;
    color: #a9a9a9;
    text-decoration: none;
}

.panel_cfg_form a.panel_cfg_anuluj_form:hover { color: #fff; text-decoration: underline; }

.panel_cfg_podpowiedz {
    margin: 8px 0 0;
    font-size: 11px;
    color: #8a8a8a;
}

@media (max-width: 768px) {
    /* na dotyku nie ma hovera — akcje muszą być widoczne od razu */
    .panel_cfg_akcje { opacity: 1; }

    .panel_cfg_pasek a,
    .panel_cfg_form button {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — drzewo struktury serwisu (3.2.panel.drzewo.js)

   Nawigacja w stylu eksploratora plików: rozwijane gałęzie, wcięcia
   poziomów, ikona edycji parametrów przy każdej pozycji.
   ══════════════════════════════════════════════════════════════════ */

.panel_drzewo { font-size: 13px; color: #ddd; }

.drzewo-pasek {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.drzewo-pasek a {
    padding: 5px 9px;
    font-size: 11px;
    color: #ddd;
    text-decoration: none;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
    transition: background .2s, border-color .2s;
}

.drzewo-pasek a:hover { background: #4a4a4a; border-color: #7a7a7a; color: #fff; }

/* listy i wcięcia poziomów */
.panel_drzewo ul.drzewo-galaz {
    list-style: none;
    margin: 0;
    padding: 0 0 0 16px;
}

.panel_drzewo ul.drzewo-korzen { padding-left: 0; }

/* pionowa prowadnica gałęzi — czytelna hierarchia jak w eksploratorze */
.panel_drzewo ul.drzewo-galaz:not(.drzewo-korzen) {
    margin-left: 7px;
    border-left: 1px solid #4f4f4f;
}

.panel_drzewo li.drzewo-poz { margin: 0; padding: 0; list-style: none; }

.drzewo-wiersz {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 2px;
    border-radius: 4px;
    min-height: 28px;
}

.drzewo-wiersz:hover { background: #454545; }

/* strzałka rozwijania */
a.drzewo-strzalka {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    position: relative;
    text-decoration: none;
    border-radius: 3px;
}

a.drzewo-strzalka::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    margin: -4px 0 0 -2px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid #b8b8b8;
    transition: transform .18s ease;
    transform-origin: 25% 50%;
}

a.drzewo-strzalka[aria-expanded="true"]::before { transform: rotate(90deg); }
a.drzewo-strzalka:hover::before { border-left-color: #fff; }

.drzewo-strzalka-pusta { flex: 0 0 auto; width: 18px; }

/* ikona edycji parametrów — zawsze widoczna, nie opacity .2 jak w starym
   drzewie, gdzie klienci jej nie znajdowali */
a.drzewo-edytuj {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    position: relative;
    border: solid 1px transparent;
    border-radius: 4px;
    text-decoration: none;
    opacity: .55;
    transition: opacity .18s, background .18s, border-color .18s;
}

/* ołówek rysowany CSS-em — niezależny od sprite'a i jego przesunięć */
a.drzewo-edytuj::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 11px;
    height: 11px;
    background: linear-gradient(135deg, transparent 42%, #cfcfcf 42%, #cfcfcf 58%, transparent 58%);
}

a.drzewo-edytuj::after {
    content: "";
    position: absolute;
    right: 4px;
    top: 4px;
    width: 5px;
    height: 5px;
    background: #9fc4e8;
    clip-path: polygon(100% 0, 100% 100%, 0 0);
}

.drzewo-wiersz:hover a.drzewo-edytuj { opacity: 1; }

a.drzewo-edytuj:hover,
a.drzewo-edytuj:focus-visible {
    opacity: 1;
    background: #2f6fb5;
    border-color: #4a8fd8;
}

/* tytuł pozycji */
a.drzewo-tytul {
    flex: 1 1 auto;
    min-width: 0;
    color: #f0f0f0;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.drzewo-tytul:hover { color: #fff; text-decoration: underline; }

/* ── POZYCJE UKRYTE I SPOZA MENU ──────────────────────────────────
   Stary styl (#navmenu_panel a.widok_0) dawał `color: gray` +
   `text-decoration: line-through` na ciemnym tle — klienci zgłaszali,
   że tego nie da się przeczytać. Zamiast tego: pełny kontrast tekstu
   i osobna, mała etykieta mówiąca WPROST, o co chodzi.              */

.drzewo-poz.ukryta > .drzewo-wiersz a.drzewo-tytul { color: #cfcfcf; }
.drzewo-poz.poza-menu > .drzewo-wiersz a.drzewo-tytul { color: #dcdcdc; }

.drzewo-znacznik {
    flex: 0 0 auto;
    padding: 1px 6px;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .03em;
    text-transform: uppercase;
    border-radius: 3px;
    white-space: nowrap;
}

.znacznik-ukryta {
    color: #ffd9a8;
    background: rgba(180, 110, 20, .28);
    border: 1px solid rgba(220, 150, 60, .45);
}

.znacznik-poza {
    color: #c9d6e8;
    background: rgba(90, 110, 140, .28);
    border: 1px solid rgba(130, 155, 190, .45);
}

/* stany pomocnicze gałęzi */
.drzewo-ladowanie,
.drzewo-pusto,
.drzewo-blad {
    padding: 5px 4px;
    font-size: 12px;
    font-style: italic;
    color: #9a9a9a;
    list-style: none;
}

.drzewo-blad { color: #ffb4b4; font-style: normal; }

/* formularz parametrów strony */
.panel_param a.param-powrot {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    color: #9fc4e8;
    text-decoration: none;
}

.panel_param a.param-powrot:hover { color: #fff; text-decoration: underline; }

.panel_cfg_form label.param-przelacznik {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
    font-size: 13px;
    letter-spacing: 0;
    color: #ddd;
}

.panel_cfg_form label.param-przelacznik input[type="checkbox"] {
    width: auto;
    margin: 0;
    flex: 0 0 auto;
}

/* sekcja „ogranicz dostęp dla grup" w formularzu parametrów strony */
.param-grupy {
    margin-top: 4px;
    margin-bottom: 12px;
    padding-top: 10px;
    border-top: dotted 1px #4a4a4a;
}

.param-grupy-etykieta { display: block; margin-bottom: 8px; }

.param-grupy-dziedzicz { margin-bottom: 6px; color: #9fc4e8; }

.param-grupa-poz { margin-left: 6px; margin-bottom: 5px; }

@media (max-width: 768px) {
    /* dotyk: brak hovera, więc ikona edycji i wiersze muszą być większe */
    a.drzewo-edytuj { opacity: 1; width: 32px; height: 32px; }
    a.drzewo-edytuj::before { top: 10px; left: 10px; }
    a.drzewo-edytuj::after { right: 8px; top: 8px; }

    .drzewo-wiersz { min-height: 40px; gap: 6px; }
    a.drzewo-strzalka { width: 30px; height: 30px; }
    .drzewo-strzalka-pusta { width: 30px; }
    a.drzewo-tytul { font-size: 14px; }
    .panel_drzewo ul.drzewo-galaz { padding-left: 12px; }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — ulubione strony (3.2.panel.ulubione.js)

   Zastąpiły martwy „Schowek" (/panel/schowek — brak kontrolera i tabeli).
   Gwiazdka odkłada bieżącą stronę, pozycja „Ulubione" otwiera listę.
   ══════════════════════════════════════════════════════════════════ */

/* dymek potwierdzenia przy klikaniu gwiazdki poza widokiem listy */
.panel_ulub_dymek {
    position: fixed;
    left: 74px;
    bottom: 24px;
    z-index: 10050;
    padding: 9px 14px;
    font-size: 13px;
    color: #fff;
    background: #2f6fb5;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}

.panel_ulub_dymek.widoczny { opacity: 1; transform: translateY(0); }
.panel_ulub_dymek_blad { background: #b33; }

/* przełącznik „ta strona w ulubionych" — JEDYNA gwiazdka w interfejsie.
   Wcześniej była też w belce, przez co dwie ikony robiły to samo. */
a.panel_ulub_przelacznik {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    padding: 9px 11px;
    text-decoration: none;
    color: #ddd;
    background: #333;
    border: solid 1px #5a5a5a;
    border-radius: 7px;
    transition: background .2s, border-color .2s;
}

a.panel_ulub_przelacznik:hover { background: #444; border-color: #7a7a7a; }

a.panel_ulub_przelacznik .panel_ulub_gwiazdka::before {
    content: "°6";                /* pusta gwiazdka */
    font-size: 20px;
    line-height: 1;
    color: #cfcfcf;
    transition: color .2s, transform .2s;
    display: inline-block;
}

a.panel_ulub_przelacznik:hover .panel_ulub_gwiazdka::before {
    color: #ffd24a;
    transform: scale(1.12);
}

a.panel_ulub_przelacznik.aktywna {
    background: rgba(255, 193, 7, .12);
    border-color: rgba(255, 193, 7, .5);
}

a.panel_ulub_przelacznik.aktywna .panel_ulub_gwiazdka::before {
    content: "°5";                /* wypełniona = strona jest na liście */
    color: #ffc107;
}

.panel_ulub_przelacznik_opis { font-size: 12.5px; }

/* lista ulubionych w warstwie */
.panel_ulub { font-size: 13px; color: #ddd; }

.panel_ulub_pusto {
    padding: 14px 4px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #9a9a9a;
    font-style: italic;
}

ul.panel_ulub_lista { list-style: none; margin: 0; padding: 0; }

li.panel_ulub_poz {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 8px 26px 8px 4px;
    border-bottom: dotted 1px #4a4a4a;
}

li.panel_ulub_poz:last-child { border-bottom: none; }
li.panel_ulub_poz:hover { background: #454545; border-radius: 4px; }

a.panel_ulub_tytul {
    flex: 1 1 auto;
    min-width: 0;
    color: #f0f0f0;
    text-decoration: none;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.panel_ulub_tytul:hover { color: #fff; text-decoration: underline; }

.panel_ulub_notatka {
    flex: 1 0 100%;
    font-size: 11.5px;
    color: #a9a9a9;
    font-style: italic;
}

.panel_ulub_data {
    flex: 0 0 auto;
    font-size: 10.5px;
    color: #8a8a8a;
    white-space: nowrap;
}

a.panel_ulub_zdejmij {
    position: absolute;
    top: 6px;
    right: 2px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    color: #9a9a9a;
    text-decoration: none;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .18s, background .18s, color .18s;
}

li.panel_ulub_poz:hover a.panel_ulub_zdejmij,
li.panel_ulub_poz:focus-within a.panel_ulub_zdejmij { opacity: 1; }

a.panel_ulub_zdejmij:hover { background: #b33; color: #fff; }

@media (max-width: 768px) {
    /* dotyk: brak hovera — przycisk usuwania zawsze widoczny i większy */
    a.panel_ulub_zdejmij { opacity: 1; width: 32px; height: 32px; top: 4px; }
    li.panel_ulub_poz { padding: 10px 38px 10px 4px; min-height: 44px; }
    .panel_ulub_dymek { left: 12px; right: 12px; bottom: 16px; text-align: center; }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — rejestr zdarzeń w warstwie (3.2.panel.rejestr.js)

   MOBILE-FIRST: karty zamiast tabeli. Tabela w warstwie 360 px
   wymuszałaby przewijanie w poziomie, które na telefonie jest
   najgorszym możliwym sposobem czytania listy.
   ══════════════════════════════════════════════════════════════════ */

.panel_rejestr { font-size: 13px; color: #ddd; }

/* pole szukania */
.rej-szukaj-box { margin-bottom: 10px; }

#rej_szukaj {
    width: 100%;
    padding: 9px 11px;
    font-size: 14px;            /* 14px+ — iOS nie przybliża przy focusie */
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    box-sizing: border-box;
    -webkit-appearance: none;
}

#rej_szukaj:focus {
    outline: none;
    border-color: #7ab8ff;
    box-shadow: 0 0 0 2px rgba(122, 184, 255, .2);
}

/* filtry kategorii — poziomy pasek przewijany kciukiem */
.rej-filtry {
    display: flex;
    gap: 5px;
    margin-bottom: 12px;
    padding-bottom: 4px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rej-filtry::-webkit-scrollbar { display: none; }

a.rej-filtr {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 11px;
    font-size: 12px;
    color: #cfcfcf;
    text-decoration: none;
    white-space: nowrap;
    background: #333;
    border: solid 1px #4f4f4f;
    border-radius: 20px;
    transition: background .18s, border-color .18s, color .18s;
}

a.rej-filtr:hover { background: #444; color: #fff; }

a.rej-filtr.aktywny {
    background: #2f6fb5;
    border-color: #4a8fd8;
    color: #fff;
}

.rej-licznik {
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .14);
}

/* lista kart */
ul.rej-lista { list-style: none; margin: 0; padding: 0; }

li.rej-poz {
    padding: 9px 10px 9px 12px;
    margin-bottom: 6px;
    background: #333;
    border: solid 1px #454545;
    border-left: 3px solid #6c757d;   /* pasek kategorii */
    border-radius: 6px;
}

/* kolor paska wg kategorii — rozpoznanie typu zdarzenia „na rzut oka" */
li.rej-kat-logowanie { border-left-color: #4a8fd8; }
li.rej-kat-konta     { border-left-color: #b07bd8; }
li.rej-kat-api       { border-left-color: #4aa96c; }
li.rej-kat-pliki     { border-left-color: #d8a34a; }
li.rej-kat-inne      { border-left-color: #6c757d; }

.rej-glowa {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 3px;
}

.rej-znacznik {
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    color: #9fc4e8;
    word-break: break-all;
}

.rej-data {
    flex: 0 0 auto;
    font-size: 11px;
    color: #8a8a8a;
    white-space: nowrap;
}

.rej-opis {
    font-size: 12.5px;
    line-height: 1.45;
    color: #e8e8e8;
    word-break: break-word;
}

.rej-stopka {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 5px;
    font-size: 11px;
    color: #9a9a9a;
}

.rej-osoba { color: #cfcfcf; }
.rej-art { color: #9fc4e8; }
.rej-ip { font-family: Consolas, monospace; }

/* komunikaty i doładowanie */
.rej-info {
    padding: 14px 4px;
    font-size: 12.5px;
    font-style: italic;
    color: #9a9a9a;
    list-style: none;
}

.rej-blad { color: #ffb4b4; font-style: normal; }

button.rej-wiecej {
    display: block;
    width: 100%;
    margin: 8px 0 20px;
    padding: 11px;
    font-size: 13px;
    font-family: inherit;
    color: #ddd;
    background: #3a3a3a;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    cursor: pointer;
    transition: background .2s;
}

button.rej-wiecej:hover:not(:disabled) { background: #4a4a4a; color: #fff; }
button.rej-wiecej:disabled { opacity: .55; cursor: default; }

@media (max-width: 768px) {
    /* dotyk: większe cele, luźniejsze karty */
    a.rej-filtr { padding: 9px 13px; font-size: 13px; min-height: 40px; }
    li.rej-poz { padding: 11px 12px 11px 14px; margin-bottom: 8px; }
    .rej-opis { font-size: 13px; }
    button.rej-wiecej { padding: 14px; min-height: 48px; }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — pliki i zdjęcia w warstwie (3.2.panel.pliki.js)

   Zastępuje okno iframe filemanagera. MOBILE-FIRST: siatka miniatur
   zaznaczanych dotykiem, pasek akcji przyklejony do dołu warstwy.
   ══════════════════════════════════════════════════════════════════ */

.panel_pliki { font-size: 13px; color: #ddd; padding-bottom: 60px; }

/* zakładki: artykuł / schowek */
.plk-zakladki { display: flex; gap: 6px; margin-bottom: 10px; }

a.plk-zakladka {
    flex: 1 1 auto;
    padding: 9px 10px;
    font-size: 12.5px;
    text-align: center;
    color: #cfcfcf;
    text-decoration: none;
    background: #333;
    border: solid 1px #4f4f4f;
    border-radius: 6px;
    transition: background .18s, border-color .18s, color .18s;
}

a.plk-zakladka:hover { background: #444; color: #fff; }
a.plk-zakladka.aktywna { background: #2f6fb5; border-color: #4a8fd8; color: #fff; }

.plk-licznik {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 6px;
    font-size: 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .18);
}

.plk-naglowek-art {
    font-size: 11.5px;
    color: #9a9a9a;
    margin-bottom: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.plk-wgraj {
    display: block;
    margin-bottom: 10px;
    padding: 10px;
    font-size: 12.5px;
    text-align: center;
    color: #ddd;
    text-decoration: none;
    background: transparent;
    border: dashed 1px #5a5a5a;
    border-radius: 6px;
}

a.plk-wgraj:hover { background: #3a3a3a; border-color: #7a7a7a; color: #fff; }

/* siatka miniatur — 2 kolumny na telefonie, 3 gdy warstwa szersza */
ul.plk-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

li.plk-kafel {
    position: relative;
    padding: 0;
    background: #333;
    border: solid 2px transparent;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color .15s;
}

li.plk-kafel.zaznaczony { border-color: #4a8fd8; }
li.plk-kafel.ukryty { opacity: .62; }

.plk-podglad {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #262626;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.plk-podglad img { width: 100%; height: 100%; object-fit: cover; display: block; }

.plk-ikona-plik {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #9a9a9a;
    padding: 4px 8px;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
}

/* ptaszek zaznaczenia — widoczny dopiero po wyborze */
.plk-ptaszek {
    position: absolute;
    top: 5px; left: 5px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #4a8fd8;
    opacity: 0;
    transform: scale(.6);
    transition: opacity .15s, transform .15s;
}

.plk-ptaszek::after {
    content: "";
    position: absolute;
    left: 6px; top: 3px;
    width: 5px; height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

li.plk-kafel.zaznaczony .plk-ptaszek { opacity: 1; transform: scale(1); }

.plk-znacznik-ukryty {
    position: absolute;
    bottom: 4px; left: 4px;
    padding: 1px 5px;
    font-size: 9.5px;
    text-transform: uppercase;
    color: #ffd9a8;
    background: rgba(120, 70, 10, .82);
    border-radius: 3px;
}

li.plk-kafel.plk-okladka { border-color: #d8a94a; }

.plk-znacznik-okladka {
    position: absolute;
    top: 5px; right: 5px;
    padding: 1px 6px;
    font-size: 9.5px;
    text-transform: uppercase;
    color: #3c2c05;
    background: #d8a94a;
    border-radius: 3px;
    font-weight: 700;
}

a.plk-nrz.plk-ikona:hover { background: #d8a94a; border-color: #ecc262; color: #3c2c05; }

.plk-nazwa {
    padding: 5px 6px 0;
    font-size: 11px;
    line-height: 1.3;
    color: #e8e8e8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.plk-meta { padding: 1px 6px 6px; font-size: 10px; color: #8a8a8a; }

a.plk-zdejmij {
    position: absolute;
    top: 4px; right: 4px;
    width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; line-height: 1;
    color: #fff;
    text-decoration: none;
    background: rgba(0, 0, 0, .55);
    border-radius: 50%;
}

a.plk-zdejmij:hover { background: #b33; }

/* podpinanie schowka pod stronę */
.plk-podepnij {
    margin-bottom: 12px;
    padding: 11px;
    background: #333;
    border: solid 1px #4f4f4f;
    border-radius: 7px;
}

.plk-podepnij label {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #a9a9a9;
}

#plk_cel {
    width: 100%;
    padding: 9px 10px;
    font-size: 14px;          /* 14px+ — iOS nie przybliża przy focusie */
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
    box-sizing: border-box;
    -webkit-appearance: none;
}

#plk_cel:focus { outline: none; border-color: #7ab8ff; box-shadow: 0 0 0 2px rgba(122,184,255,.2); }

.plk-podepnij-akcje {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

#plk_podepnij {
    padding: 8px 15px;
    font-size: 12.5px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#plk_podepnij:hover:not(:disabled) { background: #3a86d8; }
#plk_podepnij:disabled { opacity: .5; cursor: default; }

#plk_wyczysc { font-size: 11.5px; color: #a9a9a9; text-decoration: none; }
#plk_wyczysc:hover { color: #fff; text-decoration: underline; }

/* pasek akcji — przyklejony do dołu warstwy, w zasięgu kciuka */
.plk-pasek {
    position: sticky;
    bottom: 0;
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 10px -12px -8px;
    padding: 10px 12px;
    background: #2b2b2b;
    border-top: solid 1px #4f4f4f;
}

.plk-pasek.widoczny { display: flex; }
.plk-pasek-info { flex: 1 0 100%; font-size: 11.5px; color: #a9a9a9; }
.plk-pasek-info b { color: #fff; }

button.plk-akcja {
    flex: 1 1 auto;
    padding: 9px 8px;
    font-size: 12px;
    font-family: inherit;
    color: #ddd;
    background: #3a3a3a;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
    cursor: pointer;
    transition: background .18s;
}

button.plk-akcja:hover { background: #4a4a4a; color: #fff; }
button.plk-akcja-usun { color: #e79a9a; }
button.plk-akcja-usun:hover { background: #b33; color: #fff; }
button.plk-akcja.napewno { background: #b33; color: #fff; border-color: #d64545; }

.plk-info {
    grid-column: 1 / -1;
    padding: 16px 4px;
    font-size: 12.5px;
    line-height: 1.55;
    font-style: italic;
    color: #9a9a9a;
    text-align: center;
}

.plk-blad { color: #ffb4b4; font-style: normal; }

/* podpowiedzi autocomplete (jQuery UI) w ciemnej warstwie */
.ui-autocomplete {
    max-height: 240px;
    overflow-y: auto;
    background: #333;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    z-index: 10100;
}

.ui-autocomplete .ui-menu-item-wrapper {
    padding: 8px 10px;
    font-size: 12.5px;
    color: #ddd;
}

.ui-autocomplete .ui-menu-item-wrapper.ui-state-active {
    background: #2f6fb5;
    border: none;
    color: #fff;
}

@media (min-width: 560px) {
    ul.plk-lista { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    /* dotyk: większe cele akcji */
    a.plk-zakladka { padding: 11px 10px; min-height: 44px; }
    button.plk-akcja { padding: 12px 8px; min-height: 44px; }
    #plk_podepnij { padding: 11px 18px; min-height: 44px; }
    a.plk-zdejmij { width: 30px; height: 30px; font-size: 19px; }
}


/* ── PANEL CMS — wgrywanie plików, opisy, obrót (uzupełnienie) ────── */

.plk-upload {
    margin-bottom: 12px;
    padding: 10px;
    background: #313131;
    border: solid 1px #4a4a4a;
    border-radius: 7px;
}

/* pole wyboru plików: etykieta udaje przycisk, input schowany —
   natywny <input type=file> jest nie do ostylowania i brzydki na telefonie */
label.plk-wgraj {
    display: block;
    margin: 0 0 8px;
    padding: 14px 10px;
    font-size: 12.5px;
    text-align: center;
    color: #ddd;
    background: transparent;
    border: dashed 1px #5a5a5a;
    border-radius: 6px;
    cursor: pointer;
    transition: background .18s, border-color .18s;
}

label.plk-wgraj:hover { background: #3a3a3a; border-color: #7a7a7a; color: #fff; }
label.plk-wgraj input[type="file"] { display: none; }

.plk-wybrane { font-size: 11.5px; color: #a9a9a9; margin-bottom: 8px; }
.plk-wybrane b { color: #fff; }
.plk-wybrane-nazwy { display: block; font-size: 10.5px; color: #8a8a8a; margin-top: 2px; }

label.plk-pelna {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    font-size: 12px;
    color: #cfcfcf;
    cursor: pointer;
}

label.plk-pelna input { width: auto; margin: 0; flex: 0 0 auto; }

#plk_wyslij {
    width: 100%;
    padding: 10px;
    font-size: 13px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#plk_wyslij:hover:not(:disabled) { background: #3a86d8; }
#plk_wyslij:disabled { opacity: .45; cursor: default; }

.plk-postep {
    height: 5px;
    margin-top: 8px;
    background: #262626;
    border-radius: 3px;
    overflow: hidden;
}

.plk-postep-pasek {
    height: 100%;
    width: 0;
    background: #4a8fd8;
    transition: width .2s;
}

/* narzędzia na kaflu — opis i obrót */
.plk-narzedzia {
    display: flex;
    gap: 4px;
    padding: 0 6px 6px;
}

a.plk-nrz {
    flex: 0 0 auto;
    min-width: 26px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    font-size: 11px;
    color: #b8b8b8;
    text-decoration: none;
    background: #3d3d3d;
    border: solid 1px #4f4f4f;
    border-radius: 4px;
}

a.plk-nrz:hover { background: #2f6fb5; border-color: #4a8fd8; color: #fff; }
a.plk-nrz.pracuje { opacity: .5; pointer-events: none; }

/* formularz opisu wewnątrz kafla */
.plk-opis-form {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    background: rgba(30, 30, 30, .96);
    border-radius: 4px;
}

.plk-opis-pole {
    flex: 1 1 auto;
    width: 100%;
    padding: 6px 7px;
    font-size: 12px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
    box-sizing: border-box;
    resize: none;
}

.plk-opis-pole:focus { outline: none; border-color: #7ab8ff; }

.plk-opis-akcje { display: flex; align-items: center; gap: 8px; }

.plk-opis-zapisz {
    padding: 6px 12px;
    font-size: 11.5px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.plk-opis-zapisz:hover { background: #3a86d8; }
a.plk-opis-anuluj { font-size: 11px; color: #a9a9a9; text-decoration: none; }
a.plk-opis-anuluj:hover { color: #fff; text-decoration: underline; }

@media (max-width: 768px) {
    a.plk-nrz { min-width: 34px; height: 32px; font-size: 12px; }
    label.plk-wgraj { padding: 16px 10px; min-height: 48px; }
    #plk_wyslij { padding: 13px; min-height: 46px; }
    .plk-opis-zapisz { padding: 9px 14px; min-height: 38px; }
}


/* ── PANEL CMS — podgląd zdjęcia i ostrzeżenie o limicie ─────────── */

/* ostrzeżenie przy wyborze zbyt dużej partii plików */
.plk-ostrzezenie {
    display: block;
    margin-top: 6px;
    padding: 7px 9px;
    font-size: 11.5px;
    line-height: 1.45;
    color: #ffd9a8;
    background: rgba(180, 110, 20, .22);
    border: 1px solid rgba(220, 150, 60, .45);
    border-radius: 5px;
}

/* lupa na kaflu — powiększenie bez zaznaczania pliku */
a.plk-lupa {
    position: absolute;
    top: 5px; right: 5px;
    width: 26px; height: 26px;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; line-height: 1;
    color: #fff;
    text-decoration: none;
    background: rgba(0, 0, 0, .55);
    border-radius: 5px;
    opacity: 0;
    transition: opacity .15s, background .15s;
}

li.plk-kafel:hover a.plk-lupa { opacity: 1; }
a.plk-lupa:hover { background: #2f6fb5; }

/* okno podglądu — nad warstwą panelu */
.plk-podglad-okno {
    position: fixed;
    inset: 0;
    z-index: 10200;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}

.plk-podglad-okno.widoczne { opacity: 1; }

.plk-podglad-tlo {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .88);
}

.plk-podglad-tresc {
    position: relative;
    z-index: 1;
    max-width: 94vw;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.plk-podglad-tresc img {
    max-width: 94vw;
    max-height: 82vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, .6);
}

.plk-podglad-opis {
    max-width: 90vw;
    font-size: 12.5px;
    color: #d8d8d8;
    text-align: center;
    word-break: break-word;
}

a.plk-podglad-zamknij {
    position: absolute;
    top: 14px; right: 16px;
    z-index: 2;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    font-size: 30px; line-height: 1;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
}

a.plk-podglad-zamknij:hover { background: #d64545; }

@media (max-width: 768px) {
    /* dotyk: brak hovera — lupa zawsze widoczna i większa */
    a.plk-lupa { opacity: 1; width: 34px; height: 34px; font-size: 15px; }
    .plk-podglad-tresc img { max-height: 74vh; }
}


/* ── PANEL CMS — sortowanie plików i opcje zaawansowane ──────────── */

/* Opcja „nie zmniejszaj zdjęć" schowana pod rozwijanym blokiem —
   nadużywana psuje wydajność serwisu, więc nie może kusić z pierwszego
   planu. Kto jej potrzebuje (skany, druk), ten ją znajdzie. */
details.plk-opcje { margin-bottom: 9px; }

details.plk-opcje summary {
    font-size: 11px;
    color: #8a8a8a;
    cursor: pointer;
    padding: 3px 0;
    list-style: none;
    user-select: none;
}

details.plk-opcje summary::-webkit-details-marker { display: none; }
details.plk-opcje summary::before { content: "▸ "; font-size: 9px; }
details.plk-opcje[open] summary::before { content: "▾ "; }
details.plk-opcje summary:hover { color: #cfcfcf; }

label.plk-pelna {
    display: block;
    margin: 6px 0 0;
    padding: 7px 9px;
    font-size: 11.5px;
    color: #cfcfcf;
    background: #2b2b2b;
    border: solid 1px #454545;
    border-radius: 5px;
    cursor: pointer;
}

label.plk-pelna input { width: auto; margin: 0 6px 0 0; }

.plk-pelna-uwaga {
    display: block;
    margin-top: 3px;
    padding-left: 20px;
    font-size: 10px;
    line-height: 1.4;
    color: #8a8a8a;
}

/* pasek kolejności */
.plk-sortowanie {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 9px;
    padding: 7px 9px;
    background: #313131;
    border: solid 1px #454545;
    border-radius: 6px;
}

.plk-sort-etykieta { font-size: 11px; color: #9a9a9a; flex: 0 0 auto; }

#plk_sort_wg {
    flex: 1 1 auto;
    min-width: 0;
    padding: 6px 7px;
    font-size: 12px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
}

#plk_sort_wg:focus { outline: none; border-color: #7ab8ff; }

a.plk-sort-kier {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #cfcfcf;
    text-decoration: none;
    background: #3d3d3d;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
}

a.plk-sort-kier:hover { background: #2f6fb5; border-color: #4a8fd8; color: #fff; }

@media (max-width: 768px) {
    #plk_sort_wg { padding: 9px 8px; min-height: 40px; font-size: 13px; }
    a.plk-sort-kier { width: 40px; height: 40px; font-size: 16px; }
    label.plk-pelna { padding: 10px; }
}


/* ── PANEL CMS — przeciąganie miniatur (kolejność w galerii) ─────── */

.plk-podpowiedz-dnd {
    margin: 0 0 8px;
    font-size: 10.5px;
    line-height: 1.4;
    color: #8a8a8a;
    font-style: italic;
}

button.plk-zapisz-kol {
    flex: 0 0 auto;
    padding: 6px 10px;
    font-size: 11.5px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button.plk-zapisz-kol:hover:not(:disabled) { background: #3a86d8; }
button.plk-zapisz-kol:disabled { opacity: .5; cursor: default; }

/* kafel w trakcie przeciągania */
li.plk-kafel.plk-przeciagany {
    opacity: .85;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .55);
    border-color: #4a8fd8;
}

/* miejsce docelowe — pokazuje, gdzie kafel wyląduje */
li.plk-kafel-miejsce {
    list-style: none;
    border: dashed 2px #4a8fd8;
    border-radius: 6px;
    background: rgba(74, 143, 216, .1);
    min-height: 120px;
}

/* kursor sygnalizujący, że kafel da się chwycić */
li.plk-kafel { cursor: grab; }
li.plk-kafel.plk-przeciagany { cursor: grabbing; }

@media (max-width: 768px) {
    /* na dotyku przeciąganie startuje po krótkim przytrzymaniu
       (delay w sortable) — podpowiedź musi to tłumaczyć */
    .plk-podpowiedz-dnd { font-size: 11px; }
    button.plk-zapisz-kol { padding: 9px 12px; min-height: 38px; }
    li.plk-kafel-miejsce { min-height: 150px; }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — mapa i punkty GPS (3.2.panel.mapa.js)

   Zastępuje okno iframe /panel?artykul=X&mapy. Moduł globalny —
   działa w każdym serwisie, bo tabela news_gps jest w rdzeniu.
   ══════════════════════════════════════════════════════════════════ */

.panel_mapa { font-size: 13px; color: #ddd; }

.mapa-podpowiedz {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.45;
    color: #9a9a9a;
    font-style: italic;
}

/* płótno mapy — pełna szerokość warstwy */
.mapa-plotno {
    width: 100%;
    height: 300px;
    margin-bottom: 12px;
    border: solid 1px #4f4f4f;
    border-radius: 6px;
    background: #262626;
    /* Leaflet rysuje własne warstwy — bez tego kafle wychodzą poza
       zaokrąglone rogi kontenera */
    overflow: hidden;
}

.mapa-blad {
    padding: 20px 12px;
    font-size: 12.5px;
    line-height: 1.5;
    text-align: center;
    color: #ffb4b4;
}

/* Leaflet w ciemnym panelu — domyślne sterowanie jest jasne i gryzie
   się z resztą warstwy */
.mapa-plotno .leaflet-control-zoom a {
    background: #3a3a3a;
    color: #e8e8e8;
    border-color: #5a5a5a;
}

.mapa-plotno .leaflet-control-zoom a:hover { background: #4a4a4a; color: #fff; }

.mapa-plotno .leaflet-control-attribution {
    background: rgba(40, 40, 40, .82);
    color: #a9a9a9;
    font-size: 9.5px;
}

.mapa-plotno .leaflet-control-attribution a { color: #9fc4e8; }

.mapa-naglowek-listy {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9a9a9a;
}

.mapa-licznik {
    padding: 1px 7px;
    font-size: 10.5px;
    color: #fff;
    background: #2f6fb5;
    border-radius: 10px;
}

/* lista punktów */
ul.mapa-lista { list-style: none; margin: 0; padding: 0; }

li.mapa-punkt {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 6px;
    border-bottom: dotted 1px #4a4a4a;
}

li.mapa-punkt:last-child { border-bottom: none; }
li.mapa-punkt:hover { background: #3d3d3d; border-radius: 4px; }

.mapa-numer {
    flex: 0 0 auto;
    width: 20px; height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 700;
    color: #fff;
    background: #2f6fb5;
    border-radius: 50%;
}

.mapa-tresc { flex: 1 1 auto; min-width: 0; }

.mapa-opis {
    display: block;
    font-size: 12.5px;
    color: #e8e8e8;
    word-break: break-word;
}

.mapa-opis-edytowalny { cursor: pointer; border-bottom: dashed 1px transparent; }
.mapa-opis-edytowalny:hover { color: #7ab8ff; border-bottom-color: #7ab8ff; }

.mapa-wsp {
    display: block;
    margin-top: 2px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    color: #8a8a8a;
}

.mapa-akcje { flex: 0 0 auto; display: flex; gap: 5px; align-items: center; }

.mapa-akcje a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    font-size: 11px;
    color: #b8b8b8;
    text-decoration: none;
    background: #3d3d3d;
    border: solid 1px #4f4f4f;
    border-radius: 4px;
}

.mapa-akcje a:hover { background: #2f6fb5; border-color: #4a8fd8; color: #fff; }
.mapa-akcje a.mapa-usun { color: #e79a9a; font-size: 15px; }
.mapa-akcje a.mapa-usun:hover { background: #b33; color: #fff; }
.mapa-akcje a.mapa-usun.napewno {
    background: #b33; color: #fff; font-size: 10px; padding: 0 8px;
}

/* formularz opisu punktu — zastępuje treść .mapa-opis-wrap W MIEJSCU opisu,
   więc musi się dobrze zachować jako blok na całej szerokości kolumny
   treści, nie jako flex-child <li> (stąd display:flex na samym wrapperze,
   nie float/inline). */
.mapa-opis-wrap { display: block; }

.mapa-opis-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.mapa-opis-pole {
    flex: 1 1 100%;
    min-width: 0;
    padding: 7px 8px;
    font-size: 13px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
}

.mapa-opis-pole:focus { outline: none; border-color: #7ab8ff; }

.mapa-opis-zapisz {
    padding: 7px 12px;
    font-size: 11.5px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.mapa-opis-zapisz:hover { background: #3a86d8; }
a.mapa-opis-anuluj { font-size: 11px; color: #a9a9a9; text-decoration: none; }
a.mapa-opis-anuluj:hover { color: #fff; text-decoration: underline; }

.mapa-info {
    padding: 14px 4px;
    font-size: 12.5px;
    font-style: italic;
    color: #9a9a9a;
    list-style: none;
    text-align: center;
}

@media (max-width: 768px) {
    /* dotyk: wyższa mapa i większe cele */
    .mapa-plotno { height: 260px; }
    .mapa-akcje a { min-width: 36px; height: 36px; font-size: 13px; }
    .mapa-akcje a.mapa-usun { font-size: 18px; }
    .mapa-opis-zapisz { padding: 10px 14px; min-height: 40px; }
    li.mapa-punkt { padding: 10px 6px; }
}


/* ── PANEL CMS — numerowane markery i ukryte punkty mapy ─────────── */

/* Marker z numerem — ten sam, co w tabeli pod mapą. Przy kilkudziesięciu
   punktach domyślne pinezki Leafletu są nie do rozróżnienia. */
.mapa-marker-numer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: #2f6fb5;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}

.mapa-marker-numer span {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

/* punkt ukryty — inny kolor, żeby od razu było widać, że nie trafia
   na stronę publiczną */
.mapa-marker-numer.ukryty { background: #7a7a7a; opacity: .75; }

/* wiersz ukrytego punktu w tabeli */
li.mapa-punkt.mapa-ukryty .mapa-opis { color: #a9a9a9; }
li.mapa-punkt.mapa-ukryty .mapa-numer { background: #6c757d; }

.mapa-znacznik-ukryty {
    display: inline-block;
    margin-left: 6px;
    padding: 0 5px;
    font-family: inherit;
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #ffd9a8;
    background: rgba(180, 110, 20, .28);
    border: 1px solid rgba(220, 150, 60, .45);
    border-radius: 3px;
}

.mapa-akcje a.mapa-widok { font-size: 13px; }
.mapa-akcje a.mapa-widok:hover { background: #4a8fd8; border-color: #6aa5e8; }

@media (max-width: 768px) {
    .mapa-akcje a.mapa-widok { font-size: 15px; }
}


/* ══════════════════════════════════════════════════════════════════
   PANEL CMS — konta użytkowników w warstwie (3.2.panel.konta.js)
   ══════════════════════════════════════════════════════════════════ */

.panel_konta { font-size: 13px; color: #ddd; }

.kt-pasek {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.kt-pasek-info { color: #cfcfcf; }

a.kt-dodaj, a.kt-grupy-link {
    padding: 6px 10px;
    font-size: 12px;
    color: #cfcfcf;
    text-decoration: none;
    background: #333;
    border: solid 1px #4f4f4f;
    border-radius: 6px;
}

a.kt-dodaj:hover, a.kt-grupy-link:hover { background: #444; color: #fff; }

.kt-szukaj-box { margin-bottom: 10px; }

#kt_szukaj {
    width: 100%;
    padding: 9px 11px;
    font-size: 14px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    box-sizing: border-box;
    -webkit-appearance: none;
}

#kt_szukaj:focus {
    outline: none;
    border-color: #7ab8ff;
    box-shadow: 0 0 0 2px rgba(122, 184, 255, .2);
}

.kt-filtry-miejsce { margin-bottom: 12px; }

#kt_filtr_grupa {
    width: 100%;
    padding: 8px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #f0f0f0;
    background: #262626;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
}

/* lista kart kont */
ul.kt-lista { list-style: none; margin: 0; padding: 0; }

li.kt-kafel {
    padding: 9px 10px;
    margin-bottom: 6px;
    background: #333;
    border: solid 1px #454545;
    border-left: 3px solid #4a8fd8;
    border-radius: 6px;
}

li.kt-kafel.kt-zablokowane { border-left-color: #d64545; opacity: .8; }

.kt-glowa {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.kt-login { font-weight: 700; color: #f0f0f0; font-size: 13.5px; }
.kt-id { font-size: 11px; color: #8a8a8a; }
.kt-nazwa { font-size: 12px; color: #cfcfcf; margin-top: 2px; }
.kt-email { font-size: 11.5px; color: #9fc4e8; margin-top: 1px; word-break: break-all; }

.kt-stopka {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.kt-grupa {
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .14);
    color: #cfcfcf;
}

.kt-znacznik-blok {
    font-size: 9.5px;
    text-transform: uppercase;
    padding: 1px 6px;
    border-radius: 3px;
    color: #ffd9d9;
    background: rgba(180, 30, 30, .35);
}

.kt-akcje {
    display: flex;
    gap: 10px;
    margin-top: 7px;
    padding-top: 7px;
    border-top: dotted 1px #4a4a4a;
}

.kt-akcje a {
    font-size: 11.5px;
    color: #9fc4e8;
    text-decoration: none;
}

.kt-akcje a:hover { color: #fff; text-decoration: underline; }
.kt-akcje a.kt-usun { color: #e79a9a; }
.kt-akcje a.kt-usun.napewno { color: #fff; background: #b33; padding: 1px 6px; border-radius: 3px; }

.kt-info {
    padding: 14px 4px;
    font-size: 12.5px;
    font-style: italic;
    color: #9a9a9a;
    list-style: none;
}

.kt-blad { color: #ffb4b4; font-style: normal; }

button.kt-wiecej {
    display: block;
    width: 100%;
    margin: 8px 0 20px;
    padding: 11px;
    font-size: 13px;
    font-family: inherit;
    color: #ddd;
    background: #3a3a3a;
    border: solid 1px #5a5a5a;
    border-radius: 6px;
    cursor: pointer;
    transition: background .2s;
}

button.kt-wiecej:hover:not(:disabled) { background: #4a4a4a; color: #fff; }
button.kt-wiecej:disabled { opacity: .55; cursor: default; }

/* formularz dodania/edycji konta */
.kt-form-miejsce { margin-bottom: 14px; }

.kt-form {
    padding: 12px;
    background: #2c2c2c;
    border: solid 1px #4a4a4a;
    border-radius: 8px;
}

.kt-form-tytul { margin: 0 0 10px; font-size: 13.5px; color: #f0f0f0; }

label.kt-pole {
    display: block;
    margin-bottom: 9px;
    font-size: 11.5px;
    color: #9a9a9a;
}

label.kt-pole input {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 8px 9px;
    font-size: 13px;
    font-family: inherit;
    color: #f0f0f0;
    background: #1f1f1f;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
    box-sizing: border-box;
}

label.kt-pole input:focus { outline: none; border-color: #7ab8ff; }

label.kt-pole-checkbox {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    font-size: 12.5px;
    color: #e8e8e8;
}

.kt-grupy-box { margin-bottom: 12px; }

.kt-pole-etykieta {
    display: block;
    margin-bottom: 6px;
    font-size: 11.5px;
    color: #9a9a9a;
}

label.kt-grupa-linia {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 0;
    font-size: 12.5px;
    color: #e8e8e8;
}

.kt-sel-rola {
    margin-left: auto;
    padding: 4px 6px;
    font-size: 11.5px;
    font-family: inherit;
    color: #f0f0f0;
    background: #1f1f1f;
    border: solid 1px #5a5a5a;
    border-radius: 4px;
}

.kt-sel-rola:disabled { opacity: .4; }

.kt-form-akcje {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

button.kt-zapisz {
    padding: 8px 14px;
    font-size: 12.5px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

button.kt-zapisz:hover:not(:disabled) { background: #3a86d8; }
button.kt-zapisz:disabled { opacity: .5; cursor: default; }

a.kt-anuluj { font-size: 11.5px; color: #a9a9a9; text-decoration: none; }
a.kt-anuluj:hover { color: #fff; text-decoration: underline; }

/* panel zarządzania grupami */
.kt-grupy-miejsce { margin-bottom: 14px; }

.kt-grupy-panel {
    padding: 12px;
    background: #2c2c2c;
    border: solid 1px #4a4a4a;
    border-radius: 8px;
}

.kt-grupy-naglowek {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px;
    color: #f0f0f0;
}

a.kt-grupy-zamknij {
    font-size: 18px;
    line-height: 1;
    color: #a9a9a9;
    text-decoration: none;
}

a.kt-grupy-zamknij:hover { color: #fff; }

ul.kt-grupy-lista { list-style: none; margin: 0 0 10px; padding: 0; }

li.kt-grupy-poz {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 12.5px;
    color: #e8e8e8;
    border-bottom: dotted 1px #454545;
}

li.kt-grupy-poz small { color: #8a8a8a; }

a.kt-grupa-usun {
    font-size: 15px;
    line-height: 1;
    color: #e79a9a;
    text-decoration: none;
}

a.kt-grupa-usun:hover { color: #fff; }
a.kt-grupa-usun.napewno {
    font-size: 10px;
    color: #fff;
    background: #b33;
    padding: 1px 6px;
    border-radius: 3px;
}

.kt-grupa-dodaj-form {
    display: flex;
    gap: 6px;
}

.kt-grupa-dodaj-form input {
    flex: 1 1 auto;
    padding: 7px 8px;
    font-size: 12.5px;
    font-family: inherit;
    color: #f0f0f0;
    background: #1f1f1f;
    border: solid 1px #5a5a5a;
    border-radius: 5px;
}

.kt-grupa-dodaj-form button {
    padding: 7px 12px;
    font-size: 12px;
    font-family: inherit;
    color: #fff;
    background: #2f6fb5;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.kt-grupa-dodaj-form button:hover { background: #3a86d8; }

@media (max-width: 768px) {
    .kt-akcje a { padding: 4px 0; }
    button.kt-wiecej { padding: 14px; min-height: 48px; }
    label.kt-pole input { padding: 10px; }
    button.kt-zapisz { padding: 11px 16px; min-height: 40px; }
}
