/* background: rgba(34,34,34,1); */
/* Grünton: rgba(109,146,37,1);  */
/* Blauton: rgba(21,46,117,1); */

@import "/lib/dist/css/bootstrap.min.css";
@import "/lib/fonts/font-awesome/css/font-awesome.min.css";
*{
margin:0;
padding:0;
border:0;
}
html,
body{
position:relative;
font-size:100%;
font-family:Arial;
font-size:16px;
font-weight:400;
background:rgba(232, 236, 239,1);
color:rgba(15,15,15,1);
}
.form-control{
padding: 6px 6px;
}
.deak{
opacity:0.3;
}
.row.stretch{
display:flex;
justify-content:flex-start;
align-items:stretch;
align-content:flex-start;
}
.selector li{
cursor:pointer;
}
.selector li:hover{
color:rgba(21,46,117,1);
}
.tc{
text-align:center;
}
.tr{
text-align:right;
}
.tj{
text-align:justify;
}
.tl{
text-align:left;
}
p{
position:relative;
margin:bottom:20px;
}
h1{
font-weight:300;
margin:0 auto 40px auto;
text-align:center;
font-size:36px;
line-height:48px;
}
h1 small{
font-size:16px;
line-height:18px;
}
h2{
font-size:28px;
line-height:36px;
font-weight:400;
}
input-group-addon.mw100,
.mw100{ min-width:100px; }
.input-group-addon.mw120,
.mw120{ min-width:120px; }
.input-group-addon.mw140,
.mw140{ min-width:140px; }
.input-group-addon.mw150,
.mw150{ min-width:150px; }
.input-group-addon.mw180,
.mw180{ min-width:180px; }
.input-group-addon.mw200,
.mw200{ min-width:200px; }
.w100{
width:100%; 
min-width:100%;
max-width:100%;
}
/*** Buttons ****/
.btn-group{
width:100%;
display:flex;
justify-content:center;
align-items:center;
align-content:center;
}
.button_ws,
a.button_ws{
height:100%;
padding:5px;
background:rgba(255,255,255,1);
color:rgba(60,60,60,1);
text-decoration:none;
}
.button_ws:hover,
a.button_ws:hover{
background:rgba(21,46,117,0.2); 
text-decoration:none;
}
.logbox button,
.logbox button.subb{
width:100%;
background:rgba(39,106,134,1);
color:rgba(255,255,255,1);
border-radius:3px;
font-weight:500;
margin:0 auto 5px auto;
padding:10px 15px;
text-align:center;
border:rgba(255,255,255,0.5) 1px solid;
}
.logbox button.subb{
background:rgba(39,106,134,0.5);
}
.logbox button:hover,
.logbox button.subb:hover{
background:rgba(21,46,117,1); 
box-shadow:rgba(255,255,255,1) 0 0 5px;
}
/*** HEADER ***/
/* Alte header{}-Regel entfernt - ersetzt durch die schlankere Navbar-Version weiter unten
   (im Projekt wird <header> nur noch in navbar.php verwendet) */
.headerbg{
position:fixed;
top:0;
left:0;
right:0;
z-index:0;
display:block;
height:300px;
background:rgba(39,106,134,1);
}
.big{
height:300px;
}
header .headnav{
position:relative;
top:0;
margin:0 auto;
display:flex;
justify-content:space-between;
align-items:center;
align-content:center;
background:rgba(255,255,255,1);
color:rgba(15,15,15,1);
font-size:16px;
letter-spacing:1px;
padding:5px 15px;
border-radius:15px;
}
.headnav .title,
.headnav nav{
position:relative;
display:inline-block;
max-width:40%;
max-width:40vw;
overflow:hidden;
}
.headnav .title{
color:rgba(60,60,60,1);
display:flex;
justify-content:space-between;
align-items:center;
justify-content:center;
}
.headnav .title i{
font-size:50px;
line-height:50px;
margin-right:20px;
}
.headnav .title div{
display:inline-block;
} 
.headnav .title span{
display:block;
font-size:18px;
line-height:24px;
}
.headnav .title small{
display:block;
font-size:12px;
line-height:16px;
}
.headnav ul{
position:relative;
list-style-type:none;
display:flex;
justify-content:space-between;
align-items:center;
align-content:center;
margin:0;
}
.headnav ul li{
display:flex;
justify-content:center;
align-items:center;
align-content:center;
margin:0 10px;
padding:5px 10px;
cursor:pointer;
}
.headnav ul li:hover{
background:rgba(21,46,117,0.2); 
border-radius:5px;
}
.headnav ul li i{
font-size:24px;
line-height:24px;
margin-right:5px;
color:rgba(39,106,134,1);
}
.headnav ul li i:last-of-type{
margin-left:5px;
}
/*** Seitennavigation ***/
.sidebar ul li{
position:relative;
box-sizing:border-box;
overflow:hidden;
max-width:200px;
list-style-type:none;
margin:0;
padding:0 10px;
border:0;
}
.sidebar .activ{
text-decoration:underline;
color:rgba(39,106,134,1);
}
/*** MAIN ***/
main{
position:relative;
margin-top:120px;
display:block;
}
.main_log{
margin-top:-120px;
margin-top:0;
}
.main_dash{
margin-top:120px;
}
.main_log h1{
position:relative;
margin-bottom:20px;
display:block;
color:rgba(255,255,255,1);
}
.main_log p{
font-size:16px;
line-height:20px;
margin-bottom:40px;
}
.main_dash h1,
.main_dash h1 small{
position:relative;
margin-bottom:20px;
display:block;
color:rgba(255,255,255,1);
}
.main_dash .row{
margin:20px 0;
}
.main_dash .box_ws,
.main_doku .box_ws{
background:rgba(255,255,255,1);
display:block;
min-height:150px;
padding:15px;
border:rgba(220,220,220,1) 1px solid;
border-radius:10px;
}
.main_dash .box_ws small,
.main_doku .box_ws small{
position:relative;
display:block;
font-size:12px;
line-height:16px;
}
.main_dash .box_ws h2,
.main_doku .box_ws h2{
margin-top:0;
}
.main_dash .box_ws h2 small,
.main_doku .box_ws h2 small{
display:inline-block;
}
.main_dash .box_ws ul,
.main_dash .box_ws ol,
.main_doku .box_ws ul,
.main_doku .box_ws ol{
margin:20px auto 20px 20px;
list-style-type:none;
}
.main_dash .box_ws ol{
list-style-type: square;
}
.main_dash .box_ws ol li{
padding:5px 0;
}
.main_dash .box_ws ul li{
position:relative;
display:block;
padding:10px 0;
border-bottom:rgba(15,15,15,0.5) 1px solid;
}
.main_dash .selcomp{
position:absolute;
top:-30px;
left:35px;
z-index:10;
width:300px;
}
.box_ws .userlist li{
border-radius:5px;
display:flex;
}
.box_ws .userlist li:hover{
background:rgba(21,46,117,0.2); 
cursor:pointer;
}
.box_ws .userlist li span{
position:relative;
width:90%;
box-sizing:border-box;
overflow:hidden;
}
.box_ws .userlist li i{
position:absolute;
top:10px;
right:10px;
z-index:2;
width:30px;
height:30px;
display:flex;
justify-content:center;
align-items:center;
font-size:1.3rem;
padding:5px 10px;
}
.box_ws .userlist li i:hover{
color:rgba(255,0,0,1);
cursor:pointer;
}
.box_ws .settings a h3{
margin:5px 0;
font-size:1.2rem;
color:rgba(15,15,15,1);
text-decoration:none;
}
.box_ws .settings .panel a{
position:relative;
display:block;
}
.box_ws .settings .panel a i{
position:absolute;
top:10px;
right:10px;
z-index:2;
color:rgba(15,15,15,0.3);
font-size:20px;
}
.main_dash .box_ws .settings ul{
margin:0 0;
}
.main_dash .box_ws .settings ul li,
.main_dash .box_ws .settings ul li ul li{
border:0;
padding:5px;
}
.main_dash .box_ws .settings ul li ul li{
display:flex;
align-items:flex-start;
align-content:flex-start;
justify-content:space-between;
padding-left:28px;
}
.box_ws .settings ul li ul{
margin-left:30px;
}
.box_ws nav a{
cursor:pointer;
color:rgba(15,15,15,1);
}
.box_ws nav a:hover{
color:rgba();
}


/*** login ***/
.logbox{
position:relative;
top:0;
margin:0px auto;
box-sizing:border-box;
width:350px;
padding:10px;
background:rgba(255,255,255,1);
color:rgba(15,15,15,1);
border-radius:10px;
border:rgba(220,220,220,1) 1px solid;
text-align:center;
}
.logbox .input-group{
margin-bottom:5px;
}
.logbox .input-group-addon{
min-width:120px;
}
.logbox .input-group:last-of-type{
margin-bottom:20px;
}
.logbox small,
.logbox SMALL{
font-size:12px;
}
.logbox span{
font-size:1.3rem;
font-weight:500;
margin:5px 0px 20px 0px;
}
.logbox input{
padding:5px;
width:95%;
}
.logbox i{
margin-right:10px;
}
.logbox .dcheck{
position:relative;
display:inline-block;
width:20px;
height:20px;
margin:5px 20px 5px 0;
}
.logbox .ab {
position: relative;
margin: 5px auto 15px 0px;
display: block;
}
video{
border:rgba(34,34,34,1) 0px solid;
box-shadow:rgba(80,80,80,1) 0px 0px 5px;
}
.lost,
.login,
.auth{
position:relative;
display:block;
box-sizing:border-box;
overflow:hidden;
height:0px;
}
.userbox,
.applicationbox,
.settingsbox,
.helpbox,
.infobox{
position:fixed;
top:85px;
right:40px;
z-index:99;
width:200px;
display:none;
box-sizing:border-box;
overflow:hidden;
background:rgba(255,255,255,1);
border:rgba(220,220,220,1) 1px solid;
border-radius:0 0 5px 5px;
color:rgba(15,15,15,1);
padding:10px;
}
.applicationbox,
.settingsbox{
right:90px;
width:400px;
}
.helpbox{
right:300px;
width:150px;
}
.infobox{
right:400px;
width:150px;
}
.userbox a,
.applicationbox a,
.settingsbox a,
.helpbox a,
.infobox a{
display:block;
padding:5px 0;
color:rgba(15,15,15,1);
}
.open{
height:auto;
}
.zeigen{
display:block;
}
/* Alarme und Meldungen */
.sysmeldung{
position:fixed;
top:10px;
left:50%;
z-index:9999;
width:500px;
max-width:90%;
max-width:90vw;
transform:translate(-50%,0);
padding:25px;
background:rgba(255,255,255,1);
border:rgba(80,80,80,0.8) 1px solid;
border-radius:5px;
text-align:center;
}
.sysmeldung.info{ 
background:rgba(255,255,0,1);
}
.sysmeldung.alert{ 
background:rgba(255,0,0,1);
color:rgba(255,255,255,1);
}
.sysmeldung span{
display:block;
margin:5px auto;
font-size:18px;
font-weight:600;
}
/*** Applicationbox -> Navigation ***/
.applicationbox ul,
.settingsbox ul{
list-style-type:none;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
align-items:flex-start;
align-content:flex-start;
}
.applicationbox ul li,
.settingsbox ul li{
position:relative;
display:flex;
justify-content:flex-start;
align-items:center;
align-content:center;
width:42%;
padding:5px 10px;
text-decoration:none;
}

.applicationbox ul li:hover,
.applicationbox ul li:hover a,
.applicationbox ul li:hover i,
.settingsbox ul li:hover,
.settingsbox ul li:hover i{
text-decoration:none;
color:rgba(39,106,134,1);
cursor:pointer;
}
.applicationbox ul li i,
.settingsbox ul li i{
margin-right:5px;
}
/***** Dashboard ****/
.main_dash .box_ws ul{
margin:20px 0;
}
/********************************************* Dateisystem *******************************************/
.main_doku .box_ws ul{
margin:20px 0;
}
.dmstoolblock{
position:relative;
margin-bottom:10px;
display:flex;
justify-content:space-between;
align-items:center;
align-content:flex-start;
}
.btndms,
.dmstoolblock button,
.event button,
.eventmax button,
.eventmax a,
.eventmed button{
positon:relative;
display:inline-block;
font-family: inherit;
font-size: inherit;
line-height: inherit;
min-width:150px;
padding:5px;
background:rgba(39,106,134,1);
color:rgba(255,255,255,1);
font-weight:normal;
border-radius:5px;
border:rgba(20,20,20,0.5) 1px solid;
text-align:center;
}
.btndms:hover,
.dmstoolblock button:hover,
.event button:hover,
.eventmax button:hover,
.eventmax a:hover,
.eventmed button:hover{
color:rgba(39,106,134,1);
background:rgba(255,255,255,1);
text-decoration:none;
}
.dmstoolblock .dmssuch{
positon:relative;
width:200px;
display:flex;
justify-content:space-between;
align-items:center;
align-content:flex-start;
background:rgba(39,106,134,1);
color:rgba(255,255,255,1);
font-weight:normal;
border-radius:5px;
border:rgba(20,20,20,0.5) 1px solid;
}
.dmstoolblock .dmssuch i{
min-width:50px;
text-align:center;
}
.Listbox{
position:relative;
margin:20px 0;
padding:0;
text-align:left;
padding: 0;
height: auto;
overflow: hidden;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
}
.Listbox button{
position:relative;
min-width:180px;
margin:10px 5px;
background:Basisfarbe;
z-index:20;
color:#fff;
padding:15px 20px;
border-radius:3px;
box-shadow:#252525 0px 0px 5px;
}
.Listbox button:hover{
color:#aaa;
}
.reliste,
.reliste2{
position:relative;
display:block;
margin:1px;
padding: 4px 10px  4px 4px;
background:rgba(255,255,255,0.9);
color:rgba(1,1,1,1.0);
cursor: context-menu;
border-radius:5px;
text-align:left;
}
.reliste:hover{
background:rgba(232, 236, 239,1);
}
.reliste:hover strong,
.reliste:hover i{
color:rgba(255,255,255,1);
}
.reliste a:hover,
.reliste a:hover i{
color:rgba(200,200,200,1);
}
.reliste i,
.reliste2 i{
float:right;
margin-left:10px;
font-size:20px;
cursor:pointer;
}
.reliste i:hover{
color: rgba(120,184,61,1);
}
.reliste.inuse i:hover{
color:red;
cursor:not-allowed;
}
.reliste.inuse{
cursor:not-allowed;
}
.reliste.free{
cursor:context-menu;
}
.dateitabelle{
position:relative;
width:100%;
}
.dateitabelle th{
background:rgba(232, 236, 239,1);
border:rgba(1,1,1,1) 1px solid;
padding:2px;
text-align:center;
}
.dateitabelle tr:hover{
background:rgba(232, 236, 239,1);
}
.dateitabelle td{
padding:2px;
}
.dateitabelle td i{
margin:0 5px;
font-size:1.1rem;
cursor:pointer;
}
.dateitabelle td i:hover{
color:rgba(109,146,37,1);
}
/****************** Übersicht Mandanten **************/
input[type="checkbox"] {
position: absolute;
top:1px;
left:1px;
right:1px;
width:100%;
height:45px;
z-index: 11;
cursor: pointer;
opacity: 0;
}
.settings input[type="checkbox"],
.reliste input[type="checkbox"],
.datevapi input[type="checkbox"] {
position:relative;
top:0;
left:0;
right:auto;
bottom:auto;
display:inline-block;
width:20px;
height:auto;
margin:0 10px 0 0;
border:1px #111 sold;
opacity:1;
font-size:20px;
line-height:20px;
}
.checkWrap {
position: absolute;
top:5px;
right:10px;
z-index:4;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top:rgba(40,40,40,0.8) 15px solid;
}
input:hover .checkWarp:hover {
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top:rgba(109,146,37,0.9) 15px solid;
}
input[type="checkbox"]:checked ~ .checkWrap {
border-bottom: 15px solid #454545;
border-top: 0;
}
input[type="checkbox"]:checked ~ .Listbox {
height: auto;
}

/**************************************************************** Footer **********************************************************/
footer{
position:fixed;
bottom:0;
left:0;
z-index:2;
width:100%;
display:block;
padding:2px 10px;
background:rgba(34,34,34,1);
color:rgba(255,255,255,1);
border-top:rgba(255,255,255,1) 1px solid;
text-align:center;
box-shadow:#111 1px 1px 8px;
}
footer a{
color:rgba(255,255,255,1);
text-decoration:none;
}
footer a:hover{
color:#ccc;
}
footer i.fa{
width:20px;
}
/*** Tabellen ***/
.listuser{
postion:relative;
width:100%;
text-align:left;
border:rgba(60,60,60,0.6) 1px solid;
}
.listuser th,
.listuser tr:hover{
background:rgba(39,106,134,1);
}
.listuser .tbl_tools i{
padding:0 3px;
min-width:20px;
cursor:pointer;
}
.listuser .tbl_tools i:hover{
color:rgba(255,255,255,1);
}
/* System- und Warnmeldungen */
#Systemmeldung,
.meldung,
#Warnmeldung{
position:fixed;
top:1px;
left:1px;
right:1px;
z-index:999;
display:block;
box-sizing:border-box;
background: rgba(255,255,255,1);
color: rgba(39,106,134,1);
text-align:center;
margin:0 auto;
padding:0;
border:0;
height:0;
overflow:hidden;
box-shadow:rgba(20,20,20,1) 1px 1px 3px;
animation-name:hoehe;
animation-duration: 5.0s;
animation-iteration-count: 1;
animation-timing-function: ease-out;
}
#Systemmeldung span{
display:block;
font-size:1.1rem;
}
#Systemmeldung h1,
.meldung h2,
#Warnmeldung h2{
color:rgba(250,250,250,1);
font-size:1.3rem;
font-weight:bold;
text-align:center;
}
#Warnmeldung{
background:rgba(255,0,0,1.0);
color:#fff;
}
#Warnmeldung h2{
color:#fff;
margin:10px 0;
}
/* Meldungen Blenden Eventboxen */
#Blende,
.Blende,
#eventform,
.eventbox2,
#eventbox{
position:fixed;
top:5px;
left:5px;
right:5px;
bottom:5px;
z-index:999;
background:rgba(20,20,20,0.8);
padding: auto;
text-align:center;
}
#eventform,
.eventbox,
.eventbox2{
display:none;
}
/************* Dateiupload und Vorschau *********/
.pdfprev{
position:relative;
display:inline-block;
overflow:hidden;
width:200px; 
height:300px; 
margin: 5px;
padding:5px;
border:rgba(80,80,80,0.5) 1px solid;
background:rgba(245,245,245,1);
text-align:center;
transition-duration: 0.5s;
}
.pdfprev.big{
width:400px;
height:600px;
height:80vh;
width:calc(85vh*0.666);
}
.pdfprev img{
width:96%;
height:auto;
}
.pdfprev .pdftoolbar{
position:absolute;
bottom:0;
left:0;
right:0;
z-index:2;
display:flex;
align-items:space-between;
align-content:center;
justify-content:space-between;
height:5px;
background:rgba(255,255,255,1);
border:rgba(80,80,80,1) 1px solid;
overflow:hidden;
transition-duration: 0.5s;
}
.pdfprev:hover .pdftoolbar{
height:40px;
}
.pdfzoom{
position:absolute;
top:0;
right:0;
z-index:2;
width: 36px;
height: 36px;
background:rgba(255,255,255,1);
}
.pdfzoom i,
.pdfzoom .fa{
font-size: 24px;
line-height: 24px;
cursor:pointer;
color:rgba(80,80,80,0.7);
}
.pdftoolbar input[type="checkbox"] ,
.pdftoolbar i,
.pdftoolbar .fa{
position: relative;
top: 0;
left: 0;
right: auto;
bottom: auto;
display: inline-block;
opacity: 1;
width: 36px;
height: 36px;
padding:5px 10px;
font-size: 24px;
line-height: 24px;
cursor:pointer;
color:rgba(80,80,80,0.7);
}
.pdftoolbar input[type="checkbox"] {
margin: 0 10px 0 0;
border: rgba(80,80,80,0.7) 1px solid;
}
.pdfvprev,
.pdfvnex{
width:30px;
height:45px;
background: rgba(80,80,80,0.5);
border:rgba(0,0,0,0.3) 1px solid;
color:rgba(255,255,255,1);
cursor:pointer;
font-size:40px;
line-height:40px;
display:block;
}
.pdfvprev{
position:absolute;
top:50%;
z-index:10;
right:1px;
}
.pdfvnex{
position:absolute;
top:50%;
z-index:10;
left:1px;
}
.weiss{ background:rgba(255,255,255,1); }
.dateiupload{
position:relative;
height:100%; 
height:100vh;
overflow-y:auto;
background:rgba(255,255,255,1);
}
.abfrage{
display:none;
position:fixed;
top:50%;
left:50%;
z-index:10000;
width:500px;
max-width:500px;
max-width:500px;
min-height:50px;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
overflow-y:auto;
background:#fff;
color:#111;
text-align:left;
border:#111 1px solid;
border-radius:5px;
box-shadow:0px 0px 10px #252525;
padding:10px;
text-align:center;
}
.belegbox .abfrage button{
display:block;
margin:5px auto;
}
#close{
position:absolute;
top:5px;
right:5px;
background:rgba(255,255,255,1);
color:rgba(1,1,1,1);
padding: 5px 8px;
border-radius:50%;
border:0;
z-index:999;
cursor:pointer;
}
.close{
background:rgba(255,255,255,1);
color:rgba(1,1,1,1);
padding: 8px 12px;
text-decoration:none;
border:0px;
}
/**** Boxen ****/
.eventbox .event,
.eventbox .eventmax,
.eventbox2 .eventmax,
.eventbox .eventmed,
.eventbox2 .eventmed,
.eventbox2 .event{
postion:relative;
margin:10% auto;
display:block;
overflow:hidden;
box-sizing:border-box;
width:500px;
background:rgba(255,255,255,1);
color:rgba(80,80,80,1);
border:rgba(1,1,1,1) 2px solid;
border-radius:5px;
box-shadow:rgba(80,80,80,1) 0px 0px 5px;
padding:20px;
}
.eventbox .eventmed,
.eventbox2 .eventmed{
margin:5px auto;
width:46%;
width:46vw;
height:99vh;
max-height:99%;
max-height:99vh;
overflow-y:auto;
}
.eventbox .eventmax,
.eventbox2 .eventmax{
position:relative;
box-sizing:border-box;
margin:5px;
width:99%;
width:99vw;
height:99%;
height:99vh;
overflow-y:auto;
}
.eventmax .footbut,
.eventmed .footbut{
position:absolute;
bottom:5px;
left:50%;
z-index:2;
transform:translate(-50%,0);
display:inline-block;
}
/****************************************** Animationen *********************************************************/
@keyframes hoehe{
  0% {
height: 90px;
padding:10px;
border:rgba(20,20,20,1) 1px solid;
}
 95%{
height:90px; 
padding:10px;
border:rgba(20,20,20,1) 1px solid;
}
100% {
height: 0;
padding:0;
border:0;
}
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
/*** Min - Widths ***/
.input-group-addon.mw100,
.mw100{ min-width:100px; }
.input-group-addon.mw120,
.mw120{ min-width:120px; }
.input-group-addon.mw140,
.mw140{ min-width:140px; }
.input-group-addon.mw150,
.mw150{ min-width:150px; }
.input-group-addon.mw180,
.mw180{ min-width:180px; }
.input-group-addon.mw200,
.mw200{ min-width:200px; }
.w100{
width:100%; 
min-width:100%;
max-width:100%;
}
.trans{
opacity:0.65;
}
.maxh80{
height:80px;
max-height:80px;
overflow-y:auto;
}
.maxh100{
height:100px;
max-height:100px;
overflow-y:auto;
}
.maxh150{
height:150px;
max-height:150px;
overflow-y:auto;
}
.maxh200{
height:200px;
max-height:200px;
overflow:hidden;
}
.maxh280{
height:280px;
max-height:280px;
overflow:hidden;
}
.box_ws table{
    border:rgba(80,80,80,0.6) 1px solid;

}
.box_ws table tr:nth-child(even){ background:#eee; }
.box_ws table tr:nth-child(odd){ background:#fff; }
.box_ws table th,
.box_ws table td{
    padding:2px 5px; 
    border:rgba(80,80,80.6) 1px solid;
}
.context{
  position:fixed;
  top:0%;
  left:0;
  z-index:10;
  display:none;
  box-sizing:border-box;
  width:100%;
  height:100%;
  background:rgba(87, 85, 85, 0.8);
}
.cbox{
  position:fixed;
  top:0%;
  left:0;
  top:40%;
  left:50%;
  z-index:11;
  box-sizing:border-box;
  width:950px;
  max-width:90%;
  min-height:100px;
  height:auto;
  max-height:90vh;
  background:rgba(255,255,255,1);
  color:rgba(0,0,0,1);
  padding:10px;
  border:rgba(80,80,80,0.8) 1px solid;
  border-radius: 15px;
  transform:translate(-50%,-40%);
  overflow:hidden;
}
.cbox .box{
  position:relative;
  display:block;
  box-sizing:border-box;
  height:55vh;
  max-height:55%;
  max-height:55vh;
  overflow-y:auto;  
}

.w400{
  position:relative;
  margin:20px auto;
  width:400px;
  text-align:center;
}
.dateimeldung{
  position:fixed;
  top:50%;
  left:50%;
  z-index:10;
  width:800px;
  padding:15px;
  color:rgba(80,80,80,1);
  background:rgba(255,255,255,1);
  border:rgba(80,80,80,1) 1px solid;
  border-radius:5px;transform:translate(-50%,-50%);
  text-align:center
}
.dateimeldung h1,.dateimeldung h2{
  color:rgba(80,80,80,1)
}
.tl{text-align:left}
.tc{text-align:center}
tr{text-align:right}
.liste{
  display:block; 
  background:#fff; 
  padding:15px; 
  border:#000 1px solid
}
table{ 
  border-collapse: collapse; 
  width: 100% 
}
table th,
table td {
  padding: 5px;  
  border: 1px solid #000
}
table tr:nth-child(2n){ background-color: #f2f2f2 }
/*table tr:hover{ 
  background-color: #333; 
  color: #fff; 
  cursor:pointer
}*/
.preloader{
  position:fixed; 
  top:0; 
  left:0; 
  bottom:0;
  right:0; 
  z-index:999; 
  background:rgba(20,20,20,0.8); 
  min-height: 250px; 
  display:none; 
  justify-content:center; 
  align-items:center;
}
.loader-wrap {
    position: relative;
    width: 250px;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loader-ring {
    position: absolute;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    border: 5px solid rgba(144, 238, 144, 0.12);
    border-top: 5px solid #90ee90;
    border-right: 5px solid #7CFC00;
    animation: spin 1s linear infinite;
    box-shadow: 0 0 25px rgba(144, 238, 144, 0.35);
}
.loader-text {
    color: #90ee90;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 4px;
    text-shadow: 0 0 10px rgba(144, 238, 144, 0.7);
    text-align:center
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* ===================================================================
   Ehemals style.css - hierher zusammengeführt, Duplikate entfernt
   =================================================================== */

/*** Login-Seite ***/
.login-page{
    max-width:400px;
    margin:60px auto;
    padding:0 20px;
}
.login-header{
    padding:10px 20px 24px 20px;
    text-align:center;
}
.login-header h1{
    color:rgba(30,30,30,1);
    font-size:26px;
    font-weight:700;
    margin:0;
}
.login-card{
    background:rgba(255,255,255,1);
    border-radius:16px;
    box-shadow:rgba(15,15,15,0.12) 0 4px 20px;
    padding:24px;
    position:relative;
}
.login-card h2{
    text-align:center;
    font-size:18px;
    font-weight:700;
    margin-bottom:20px;
    color:rgba(20,20,20,1);
}
.login-field{
    display:flex;
    align-items:stretch;
    border:rgba(210,210,210,1) 1px solid;
    border-radius:8px;
    margin-bottom:14px;
    overflow:hidden;
    position:relative;
}
.login-field:focus-within{
    border-color:rgba(39,106,134,1);
}
.login-field-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    flex-shrink:0;
    background:rgba(245,246,247,1);
    color:rgba(120,120,120,1);
    border-right:rgba(210,210,210,1) 1px solid;
}
.login-field input{
    flex:1;
    min-width:0;
    border:0;
    padding:12px 14px;
    font-size:14px;
    outline:none;
}
.login-field input[type="password"]{
    padding-right:40px;
}
.login-submit-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:rgba(39,106,134,1);
    color:rgba(255,255,255,1);
    border:0;
    border-radius:8px;
    padding:12px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    margin-top:8px;
}
.login-submit-btn:hover{
    background:rgba(30,85,110,1);
}
.login-ssl-note{
    text-align:center;
    font-size:12px;
    color:rgba(39,106,134,1);
    margin-top:16px;
    margin-bottom:0;
}

/*** Navbar (neue Version, ersetzt die alte header{}-Regel weiter oben) ***/
header{
    position:relative;
    display:block;
    padding:15px 20px;
    background:rgba(39, 106, 134, 1);
}
.headnav{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    max-width:1400px;
    margin:0 auto;
    padding:10px 25px;
    background:rgba(255,255,255,1);
    border-radius:15px;
    box-shadow:rgba(15,15,15,0.15) 0 4px 12px;
}
.headnav .title{
    display:flex;
    align-items:center;
}
.headnav .title div{
    font-size:22px;
    font-weight:700;
    letter-spacing:0.5px;
    color:rgba(30,30,30,1);
}
.headnav .title small{
    display:block;
    margin-top:2px;
    font-size:11px;
    font-weight:400;
    color:rgba(130,130,130,1);
}
.headnav > ul{
    position:relative;
    list-style-type:none;
    display:flex;
    align-items:center;
    margin:0;
    padding:0;
}
.headnav > ul > li{
    position:relative;
    display:flex;
    align-items:center;
    margin:0 4px;
    padding:8px 14px;
    border-radius:6px;
    color:rgba(15,15,15,1);
    font-weight:500;
    cursor:pointer;
    transition:background 0.15s ease;
}
.headnav > ul > li > i{
    margin-right:8px;
    font-size:18px;
    color:rgba(39,106,134,1);
}
.headnav .submenu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:20;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-width:220px;
    list-style-type:none;
    margin:0;
    padding:8px 0;
    background:rgba(255,255,255,1);
    border:rgba(220,220,220,1) 1px solid;
    border-radius:8px;
    box-shadow:rgba(15,15,15,0.15) 0 4px 12px;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.15s ease, visibility 0s linear 0.15s;
}
.headnav .submenu::before{
    content:'';
    position:absolute;
    top:-8px;
    left:0;
    right:0;
    height:8px;
}
.headnav > ul > li.open .submenu{
    opacity:1;
    visibility:visible;
    transition:opacity 0.15s ease, visibility 0s linear 0s;
}
.headnav .submenu li{
    display:flex;
    align-items:center;
    min-height:36px;
    padding:6px 16px;
    color:rgba(60,60,60,1);
    font-weight:400;
}
.headnav .submenu li:hover{
    background:rgba(39,106,134,0.08);
}
.headnav .submenu a{
    display:flex;
    align-items:center;
    width:100%;
    color:inherit;
    text-decoration:none;
}
.headnav .submenu a:hover{
    color:rgba(39,106,134,1);
}
.headnav .submenu i{
    margin-right:10px;
    width:16px;
    text-align:center;
    color:rgba(39,106,134,1);
}

/*** Admin Panel ***/
.admin-wrap{
    max-width:1200px;
    margin:30px auto;
    padding:0 20px;
}
.admin-flash{
    margin-bottom:20px;
    padding:12px 16px;
    border-radius:8px;
    font-weight:500;
}
.admin-flash.ok{ background:rgba(120,184,61,0.15); color:rgba(70,120,30,1); }
.admin-flash.err{ background:rgba(220,53,69,0.12); color:rgba(180,30,40,1); }
.rw-info-box{
    display:flex;
    align-items:center;
    gap:12px;
    margin:16px 0;
    padding:12px 18px;
    border-radius:8px;
    background:rgba(39,106,134,0.1);
    border-left:4px solid rgba(39,106,134,1);
    color:rgba(30,60,75,1);
    font-weight:500;
    text-align:left;
}
.rw-info-box i{ font-size:20px; color:rgba(39,106,134,1); }
.admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}
@media (max-width:800px){ .admin-grid{ grid-template-columns:1fr; } }
.admin-card{
    background:rgba(255,255,255,1);
    border-radius:12px;
    box-shadow:rgba(15,15,15,0.08) 0 2px 10px;
    padding:20px;
}
.admin-card h2{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:18px;
    margin-bottom:16px;
    color:rgba(30,30,30,1);
}
.admin-card h2 i{ color:rgba(39,106,134,1); }
.admin-field{
    margin-bottom:10px;
}
.admin-field label{
    display:block;
    font-size:12px;
    font-weight:600;
    color:rgba(100,100,100,1);
    margin-bottom:4px;
}
.admin-field input[type="text"],
.admin-field input[type="email"],
.admin-field input[type="password"],
.admin-field select{
    width:100%;
    box-sizing:border-box;
    padding:8px 10px;
    border:rgba(210,210,210,1) 1px solid;
    border-radius:6px;
    font-size:14px;
}
.admin-field.checkbox{
    display:flex;
    align-items:center;
    gap:8px;
}
.admin-field.checkbox label{ margin:0; }
.pw-toggle-wrap{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    width:100%;
}
.input-group .pw-toggle-wrap{
    flex:1;
}
.pw-toggle-wrap input{
    flex:1 1 auto !important;
    min-width:0 !important;
    padding-right:36px !important;
    box-sizing:border-box !important;
    margin:0 !important;
}
.pw-toggle-eye{
    position:absolute !important;
    top:50% !important;
    bottom:auto !important;
    right:0 !important;
    left:auto !important;
    transform:translateY(-50%) !important;
    width:34px !important;
    height:34px !important;
    margin:0 !important;
    background:none !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    z-index:2;
    cursor:pointer;
    color:rgba(150,150,150,1);
}
.pw-toggle-eye:hover{
    color:rgba(39,106,134,1);
}
.admin-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 16px;
    background:rgba(39,106,134,1);
    color:rgba(255,255,255,1);
    border:0;
    border-radius:6px;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    text-decoration:none;
}
.admin-btn.small{ padding:5px 10px; font-size:12px; }
.admin-btn.ghost{ background:rgba(39,106,134,0.1); color:rgba(39,106,134,1); }
.admin-btn.danger{ background:rgba(220,53,69,0.9); }
.admin-toolbar{
    display:flex;
    gap:10px;
    margin-bottom:16px;
    flex-wrap:wrap;
}
.admin-toolbar input,
.admin-toolbar select{
    padding:8px 10px;
    border:rgba(210,210,210,1) 1px solid;
    border-radius:6px;
    font-size:14px;
}
.admin-toolbar input[type="search"]{ flex:1; min-width:180px; }
.admin-table-wrap{
    border:rgba(228,228,228,1) 1px solid;
    border-radius:12px;
    overflow:hidden;
}
.admin-table-scroll{
    overflow-x:auto;
}

/*** Export-Seite ***/
.export-action{
    text-align:right;
    white-space:nowrap;
}
.export-download-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 16px;
    background:rgba(39,106,134,0.1);
    color:rgba(39,106,134,1);
    border:0;
    border-radius:6px;
    font-size:12px;
    font-weight:500;
    cursor:pointer;
}
.export-download-btn:hover{
    background:rgba(39,106,134,0.2);
}
.export-download-btn:disabled{
    background:rgba(120,120,120,0.1);
    color:rgba(150,150,150,1);
    cursor:not-allowed;
}
.export-download-btn:disabled:hover{
    background:rgba(120,120,120,0.1);
}
.export-delete-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 16px;
    background:rgba(220,53,69,1);
    color:rgba(255,255,255,1);
    border:0;
    border-radius:6px;
    font-size:12px;
    font-weight:500;
    cursor:pointer;
}
.export-delete-btn:hover{
    background:rgba(190,40,55,1);
}
.admin-table{
    width:100%;
    border-collapse:collapse;
}
.admin-table th{
    text-align:left;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    background-color:rgba(39,106,134,0.06) !important;
    color:rgba(120,120,120,1) !important;
    padding:12px 16px;
    border:0;
    cursor:pointer;
    user-select:none;
}
.admin-table td{
    padding:12px 16px;
    font-size:14px;
    vertical-align:middle;
    text-align:left;
    border:0;
    background-color:rgba(255,255,255,1) !important;
    color:rgba(15,15,15,1) !important;
}
.admin-table tr:not(:last-child) td{ border-bottom:rgba(235,235,235,1) 1px solid; }
.admin-role-tag{
    font-weight:700;
    color:rgba(200,40,40,1);
}
.admin-actions{ display:flex; gap:6px; }
.modal-overlay{
    display:none;
    position:fixed;
    inset:0;
    z-index:1000;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,15,15,0.5);
}
.modal-overlay.open{ display:flex; }
.modal-box{
    position:relative;
    width:100%;
    max-width:440px;
    max-height:90vh;
    overflow-y:auto;
    background:rgba(255,255,255,1);
    border-radius:12px;
    box-shadow:rgba(0,0,0,0.3) 0 10px 40px;
    padding:24px;
}
.modal-box h3{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:17px;
    margin-bottom:16px;
    color:rgba(30,30,30,1);
}
.modal-box h3 i{ color:rgba(39,106,134,1); }
.modal-close{
    position:absolute;
    top:14px;
    right:14px;
    background:none;
    border:0;
    font-size:16px;
    color:rgba(140,140,140,1);
    cursor:pointer;
}
.modal-close:hover{ color:rgba(39,106,134,1); }
.modal-box form button[type="submit"]{ margin-top:6px; width:100%; justify-content:center; }

/*** Template-Builder ***/
.tpl-auswertung-select{
    max-width:420px;
    margin-bottom:20px;
}
.tpl-wrap{
    max-width:1000px;
    margin:30px auto;
    padding:0 20px;
}
.tpl-wrap h1{
    font-size:24px;
    margin-bottom:8px;
    color:rgba(30,30,30,1);
}
.tpl-wrap > p,
.tpl-card > p{
    margin-bottom:20px;
    color:rgba(100,100,100,1);
}
.tpl-card{
    background:rgba(255,255,255,1);
    border-radius:12px;
    box-shadow:rgba(15,15,15,0.08) 0 2px 10px;
    padding:20px;
}
.tpl-h-table td input[type="checkbox"].tpl-check{
    position:static;
    top:auto;
    left:auto;
    right:auto;
    z-index:auto;
    display:inline-block;
    width:18px;
    height:18px;
    opacity:1;
    margin:0;
    cursor:pointer;
}
.tpl-h-table td input[type="checkbox"].tpl-check:disabled{
    opacity:0.45;
    cursor:not-allowed;
}
.tpl-table-scroll{
    overflow-x:auto;
}
.tpl-h-table{
    border-collapse:collapse;
}
.tpl-h-table th{
    padding:10px 16px;
    background:rgba(39,106,134,0.06);
    color:rgba(60,60,60,1);
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    text-align:center;
    border:rgba(228,228,228,1) 1px solid;
}
.tpl-h-table td{
    padding:12px 16px;
    border:rgba(228,228,228,1) 1px solid;
    text-align:center;
}
.tpl-h-table th{
    background-color:rgba(39,106,134,0.06) !important;
    color:rgba(60,60,60,1) !important;
}
.tpl-h-table td{
    background-color:rgba(255,255,255,1) !important;
    color:rgba(15,15,15,1) !important;
}
.dashboard{
    display:flex;
    justify-content:center;
    gap:40px;
    margin-top:50px;
}
.card{
    width:240px;
    height:220px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:12px;
    text-decoration:none;
    color:#333;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    transition:.25s;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.card:hover{
    transform:translateY(-6px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.card svg{
    width:90px;
    height:90px;
    fill:#337ab7;
    stroke:#337ab7;
    stroke-width:4;
    margin-bottom:20px;
}
.card h3{
    margin:0;
    font-size:24px;
}