            body{
            caret-color: transparent;
                font-family:segoe ui;    
                font-size:20px;
                /*font-size:26px;*/
                padding:0px;  
                margin:0px;
                width:100%;
                height:100%;   
                }
                    #fs,#capo{
             display:none;
            color:#E7EBED;
            left:50%;
            vertical-align: middle;
            padding:30px;
            position: absolute;  
            z-index: 10;
            background-color: #37464F;
            border-radius: 10px;
            cursor: pointer;}
            
    .loader {
    margin: auto;
    /*text-align: center;*/
    z-index: 99;
    left:calc(50%-120px);
    top:150px;
  border: 16px solid #f3f3f3; /* Light grey */
  border-top: 16px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
  opacity: 50%;
  position:relative;
  display:none;
    position: fixed;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);


}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}        
            
            
.container {  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "a b"
    "c d"
    "e f";
    width: 100%; 
  height: 100%; 
}

.a { grid-area: a; background-color: yellow; }

.b { grid-area: b; }

.c { grid-area: c; }

.d { grid-area: d; }

.e { grid-area: e; }

.f { grid-area: f; }

.nadpis{
    width:80%;
    float: left;
    padding: 1% ;
    font-size: 5vw;
}
#playlistin,#hledejin{display: flex;
	align-items: center;
	position: relative;
	max-width: 100%;
    width:97%;
    margin-left: 1%;
    font-size: 5vw;
    border: 0 none ;
    background-color:  #0b1220;
    color:yellow;
}
hr{
    border: 1px solid yellow;
    width:100%;
}
.skupina{
font-size:2.3vw;
font-style: italic;
}
.fsm{
    float:right;

}



#hledej,#playlist,#playlistseznam,#ackam,#skupm{
z-index: 99;
background-color: rgba(55,70,79);
color:yellow;
width:100%;
height:100%;
display: none;
position: absolute;
overflow: hidden;
padding:   1% ;
}
#vysledek,#playlistvysledek,#playlistseznamvysledek,#ackavysledek,#skupvysledek{
    height:90%;
}

#playlistvysledekL,#playlistvysledekR{
    width:49%;
    height:88%;
    font-size: 2vw;
}
#playlistvysledekL{
    float: left;
}
#playlistvysledekR{
    float: right;
}

#hledejtx,#playlisttx{
    width:98%;
    height:60px;
    background-color: green;
}
#capo{
margin-top:10%;
    color:yellow;
    text-transform: uppercase;
}

            .odkaz{
                color:#E7EBED;   
                text-decoration:none;      
               margin:4%;       
                display:block;         
                }
            #odkazy{     
                padding:10px;      
                margin:20px;   
                display:none;
                }   
            
            
 img {
    position: fixed;
    left: 0;
    top: 0;

    width: 100vw;
    height: 100vh;

    object-fit: contain;
    object-position: left top;

    display: block;
}
            
            .bd{
                max-height:100%;
                max-width:100%;
                display:block;    
                }
            #sw{
                position: absolute;
                top: 0;
                left: 0;
                width: 30%;
                height: 33%;
                z-index: 8;
                background-color: rgba(0,0,0,0.0); /*dim the background*/
                }       
            #sw{
                position: absolute;
                top: 0;
                left: 0;
                width: 30%;
                height: 33%;
                z-index: 8;
                background-color: rgba(0,0,0,0.0); /*dim the background*/
                }       
            #TL,#TC,#TR,#ML,#MC,#MR,#BL,#BC,#BR{
                position: absolute;
                width: 30%;
                height: 30%;
                z-index: 8;
                background-color: rgba(0,0,0,0.0); /*dim the background*/
                
                }
                #TL{
                    left: 1%;
                    top: 1%;
                }
                #TC{
                    left: 34%;
                    top: 1%;
                }
                #TR{
                    left:67%;
                    top:1%;
                }
                #ML{
                    left: 1%;
                    top: 34%;
                }
                #MC{
                    left: 34%;
                    top: 34%;
                }
                #MR{
                    left:67%;
                    top:34%;
                }
                #BL{
                    left: 1%;
                    top: 67%;
                }
                #BC{
                    top: 67%;
                    left: 34%;
                } 
                #BR{
                    left:67%;
                    top:67%;
                }
               
                
                .menu{
                
                   padding:10px;
                   cursor: pointer;
                   /*padding: 2% ;*/ 
                }
            #itemsmenu{
                display:none;
                position: absolute;
                top: 0px;
                left: 65%;
                width: 30%;
                height: 25%;
                z-index: 9;
                background-color: rgba(55,70,79,0.95); /*dim the background*/
                color:yellow;
                font-size:4vw;
                padding:5px;
                }
            #menu{
                position: absolute;
                top: 0;
                left: 30%;
                width: 30%;
                height: 33%;
                z-index: 8;
                background-color: rgba(0,0,0,0.0); /*dim the background*/
                }       
      
                #openinfo{
                position: absolute;
                top:66%;
                left: 0;
                width: 50%;
                height: 33%;
                z-index: 88;
                background-color: rgba(0,0,0,0.0); /*dim the background*/
                display: none;
                }
                #res{
                    color:white;
                }
                #sea{
                  background-color: black;
                  opacity:95%;
                  position: absolute;
                  left: 0px;
                  top:0px;
                  width: 100%;
                  height: 100%;
                  display: none;
                  z-index: 66;
                }
                #s_pl {
                    width:98%;
                   
                }
                .input{

text-align: center;

}
.btx{
    float:right;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 5vw;
    cursor: pointer;
}
              #info{
                position: absolute;
                bottom: 0px;
                left: 0;
                width: 100%;
                z-index: 9;
                /*background-color: rgba(55,70,79,0.95); /*dim the background*/
                background-color: #0b1220;
                color:yellow;
                color:#e5e7eb;
                color: rgb(118,118,118);
                display: none;
                }
                #skladba{
                    font-size:6vw;
                    padding:0.6%;
                    color:white;
                }
                #skupina{
                    font-size:4vw;
                    padding:0.6%;
                }
                #ipaddr{
                    display:none;
                }
                #posledni{
                color:silver;
                    font-size:4vw;
                    padding:0.6%;
                }
                #bpm, #b0, #tra,#hodiny{
                    font-size:4vw;
                    padding:0.6%;
                }
                #hodiny{
                font-size:4vw;
                    color: rgb(58,58,58);
                    
                }
              #uzivatel{
                    font-size:2vw;
                    padding:0.6%;
                }
                #JSMetroContainer{
                    position: absolute;
                top: 28%;
                left:5%;
                width:90%;
                height:10%;
                z-index: 8;
                display:none;
                }
                #timeSignature{
	position:relative;
	top:20px;
	left:68px;
	width:38px;
	height:15px;
	text-align:center;
	font-size:10px;
}
.selpl{
    background-color: red;
}
                #Beat{
                
	position:relative;
	top:0px;
	left:0%;
	width:100%;
	height:100%;
	text-align:center;
     vertical-align: middle;
	font-size:59vw;
    /*font-weight: bold;*/
	font-family: Viga, Tahoma, Geneva, sans-serif;
    /*    display:none;*/
}
.odk{
    cursor: pointer;
}

#sel,#selplaylist,#selpl,#selplL,#selplR,#acka,#skup{
overflow: auto;
height: 90%;
cursor: pointer;
}
 .it{
    cursor: pointer;
    padding-top: 2%;
    padding-bottom: 2%;
    padding: 2% ;
    width:90%;
    
 }
 
 .noselect {
  user-select: none;
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE/Edge */
}

 
*,
*::before,
*::after {
  box-sizing: border-box;
}
select {
  /* A reset of styles, including removing the default dropdown arrow*/
  appearance: none;
  /* Additional resets for further consistency*/
  background-color: transparent;
  border: none;
  padding: 0 1em 0 0;
  margin: 0;
  width: 100%;
 height:100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  background-color: rgba(55,70,79,0.95);
color:yellow;

}
::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}
::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(55,70,79,0.0);
  -webkit-box-shadow: 0 0 1px rgba(55,70,79,0.0);
}

.input {
	font-size: 18px;
	padding: 5px 10px;
	width: 100%;
	padding-left: 35px;
	outline: none;
	background: #FFFFFF;
	color: #000000;
	border: 1px solid #C4D1EB;
	border-radius: 5px;
	box-shadow: 3px 3px 2px 0px #E2E2E2;
	transition: .3s ease;
}

.input:focus {
	background: #F2F2F2;
	border: 1px solid #5A7EC7;
	border-radius: 10px;
}

.input::placeholder {
	color: #DDDDDD;
}

.svg_icon {
	position: absolute;
	left: 10px;
	fill: #4660DC;
	width: 18px;
	height: 18px;
}
.switch {
  position: relative;
  display: inline-block;
  width: 8vw;
  height: 4.5vw;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
  border: 2px solid yellow;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #37464F;
  -webkit-transition: .4s;
  transition: .4s;
  border: 2px solid yellow;
}

.slider:before {
  position: absolute;
  content: "";
  height: 3.2vw;
  width: 3.2vw;
  left: 0.2vw;
  bottom: 0.35vw;
  border-color:yellow;
  border:2px;
  background-color: yellow;
  -webkit-transition: .4s;
  transition: .4s;
  border: 2px solid yellow;
}

input:checked + .slider {
  background-color: #37464F;
  border-color:yellow;
  border:2px;
  border: 2px solid yellow;
}

input:focus + .slider {
  box-shadow: 0 0 1px #37464F;
  border-color:yellow;
  border:2px;
  border: 2px solid yellow;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
  border-color:yellow;
  border:2px;
  border: 2px solid yellow;
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
  border-color:yellow;
  border:2px;
  border: 2px solid yellow;
}

.slider.round:before {
  border-radius: 50%;
  border-color:yellow;
  border:2px;
  border: 2px solid yellow;
  
}
#hledejin2{
    border: 1px solid yellow;
}
.drag-over {
      background-color: #cce5ff;
    }
    .serie-divider {
  display: contents;
  justify-content: space-between;
  align-items: center;
  border-top: 2px dashed #aaa;
  padding: 5px 10px;
  margin: 10px 0;
  font-weight: bold;
  
}

.remove-divider-btn {
  background: transparent;
  border: none;
  font-size: 3vw;
  color: red;
  cursor: pointer;
  padding: 0;
}

.remove-divider-btn:hover {
  
}
label{
    font-size: 2vw;
}
.btnMenu{
    color:yellow;
    background-color: transparent;
    padding: 1% ;
    font-size: 20px;
    border:none;
    cursor: pointer;
}
.btnMenu:hover {
	background-color:rgba(45, 60, 69);
}
html, body{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden;      /* zabrání posunům */
}
#hledej,
#playlist,
#playlistseznam,
#ackam,
#skupm{
    position: fixed;
    inset: 0;
    width:100vw;
    height:99vh;
    overflow:auto;
}
/* ===== Vyhledávání (stejný styl jako editor) ===== */

#hledej,#playlist,
#playlistseznam,
#ackam,
#skupm{
  position: fixed;
  inset: 0;
  display: none;              /* zobrazíš přes JS */
  background: rgba(15, 23, 42, 0.98); /* tmavé jako editor */
  color: #e5e7eb;
  z-index: 99;
  padding: 14px;
  overflow: hidden;
}

/* horní lišta */
 .nadpis{
  float: left;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  color: #e5e7eb;
}

/* zavírací X – jako tlačítko */
 .btx{
  float: right;
  cursor: pointer;
  user-select: none;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #334155;
  background: #0b1220;
  color: #e5e7eb;
  font-size: 16px;
  line-height: 1;
}
 .btx:hover{
  background: #111827;
}

/* čistý layout pod hlavičkou */
 .nadpis,
 .btx{
  line-height: 36px;
}
#hledej:after{
  content:"";
  display:block;
  clear:both;
}

/* input jako v editoru */
#hledejin{
  width: 100%;
  margin: 12px 0 10px 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #334155;
  background: #0f172a;
  color: #e5e7eb;
  font-size: 16px;
  outline: none;
}
#hledejin:focus{
  border-color: #22c55e;
  box-shadow: 0 0 0 2px rgba(34,197,94,0.18);
}

/* divider */
 hr{
  border: 0;
  border-top: 1px solid #334155;
  margin: 10px 0 12px 0;
}

/* seznam výsledků */
#vysledek, #playlistseznamvysledek{
  display: block;
  width: 80%;
}

/* wrapper výsledků */
#sel{
  border: 1px solid #334155;
  border-radius: 12px;
  background: #0b1220;
  overflow: hidden;
}

/* jedna položka */
 .it{
  padding: 12px 12px;
  cursor: pointer;
  border-top: 1px solid #1f2a3a;
  color: #e5e7eb;
  font-size: 20px;
}
 .it:first-child{ border-top: 0; }

 .it:hover{
  background: #111827;
}

/* skupina pod názvem / vedle */
 .skupina{
  margin-left: 10px;
  font-size: 13px;
  opacity: .75;
  font-style: italic;
  color: #cbd5e1;
}

/* pokud chceš skupinu na nový řádek (hezčí na mobilu), odkomentuj:
#sel .skupina{ display:block; margin-left:0; margin-top:4px; }
*/

 mobilní zvětšení 
@media (max-width: 700px){
  #hledej{ padding: 10px; }
  #hledej .nadpis{ font-size: 16px; }
  #hledejin{ font-size: 16px; }
  #sel .it{ font-size: 16px; padding: 12px 10px; }
}
/* ===== TXT MENU (rozbalovačka po kliknutí na #TR) ===== */
#txtMenu{
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 9999;
  width: 280px;
  background: rgba(55,70,79,0.98);
  border: 1px solid rgba(255,255,0,0.55);
  border-radius: 10px;
  display: none;
  padding: 10px;
  color: yellow;
}

#txtMenu .mhead{
  display: block;
  font-size: 4vw; /* přizpůsobí se tvému stylu */
  margin-bottom: 10px;
}

#txtMenu .mitem{
  display: block;
  width: 100%;
  padding: 10px;
  margin: 6px 0;
  background: rgba(0,0,0,0.15);
  border: 1px solid rgba(255,255,0,0.35);
  border-radius: 10px;
  color: yellow;
  cursor: pointer;
  text-align: left;
}

#txtMenu .mitem:hover{
  background: rgba(45,60,69,0.9);
}

#txtMenu .mclose{
  float:right;
  padding: 0 8px;
  cursor:pointer;
  border: 1px solid rgba(255,255,0,0.35);
  border-radius: 8px;
}
.it .num{
  display:inline-block;
  min-width: 4.2em;      /* aby se názvy hezky srovnaly */
  font-weight: 700;
  color: rgba(255,255,255,0.65);
}
.statusbar{
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255,255,255,0.25);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.status-msg{
  font-size: 1.1em;
  color: #ff6b6b; /* default: neuloženo */
}

.status-msg.ok{
  color: #22c55e; /* uložené */
}

.status-count{
  font-size: 0.95em;
  color: #9be;
}
.statusline{
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255,255,255,0.25);
  font-size: 1.05em;
  color: #ff6b6b; /* výchozí – neuloženo */
}

.statusline.ok{
  color: #22c55e;
}

.statusline .sep{
  opacity: .6;
  padding: 0 6px;
}
.userbtn{
  border:1px solid #334155; background:#0f172a; color:#cbd5e1;
  padding:6px 10px; border-radius:999px; text-decoration:none; white-space:nowrap;
  transition:background .12s ease-in-out;
  cursor: pointer;
}
.btn-save{
 background: rgba(34,197,94,0.90);
  color: #041b0d;
}
.userbtn:hover{ background:#111827; }
.userbtn.active{ background:#22c55e; color:#052e16; border-color:transparent; }

/* ===== OPRAVA VYHLEDÁVÁNÍ ===== */

#hledej,
#playlistseznam {
    opacity: 1 !important;
    filter: none !important;
}

#playlistseznamvysledek,
#playlistseznamvysledek #selpl,
#playlistseznamvysledek .it {
    opacity: 1 !important;
    filter: none !important;
    color: #e5e7eb !important;
}

#playlistFilter {
    opacity: 1 !important;
    background: #0f172a !important;
    color: #e5e7eb !important;
    border: 1px solid #334155 !important;
    outline: none;
}

#playlistFilter:focus {
    opacity: 1 !important;
    background: #0f172a !important;
    color: #e5e7eb !important;
    border-color: #22c55e !important;
}