:root{
 --ls-bg:#0f172a;
 --ls-panel:#172235;
 --ls-panel-2:#1e293b;
 --ls-border:#334155;
 --ls-border-soft:#2b3b54;
 --ls-text:#e6effc;
 --ls-muted:#9fb2cc;
 --ls-blue:#335fb8;
 --ls-blue-hover:#4b7bec;
 --ls-input:#f8fafc;
 --ls-input-text:#0f172a;
 --ls-red:#ff5c6c;
 --ls-yellow:#f4c542;
 --ls-green:#37d67a;
}
html{background:var(--ls-bg);}
body.leitstelle-theme,
body:not(.legacy-theme){
 background:var(--ls-bg) !important;
 color:var(--ls-text) !important;
 font-family:Arial,Segoe UI,sans-serif !important;
}
body:not(.legacy-theme) .header,
body:not(.legacy-theme) header,
body:not(.legacy-theme) .topbar,
body:not(.legacy-theme) #header{
 background:#142033 !important;
 color:var(--ls-text) !important;
 border-bottom:1px solid var(--ls-border) !important;
 box-shadow:none !important;
}
body:not(.legacy-theme) .container,
body:not(.legacy-theme) #content,
body:not(.legacy-theme) #main{
 background:var(--ls-bg) !important;
 color:var(--ls-text) !important;
}
body:not(.legacy-theme) .card,
body:not(.legacy-theme) .section,
body:not(.legacy-theme) .filterBar,
body:not(.legacy-theme) #sidebar,
body:not(.legacy-theme) #historyModal,
body:not(.legacy-theme) #imageModal{
 background:var(--ls-panel) !important;
 color:var(--ls-text) !important;
 border:1px solid var(--ls-border) !important;
 border-radius:8px !important;
 box-shadow:none !important;
}
body:not(.legacy-theme) h1,
body:not(.legacy-theme) h2,
body:not(.legacy-theme) h3{
 color:var(--ls-text) !important;
}
body:not(.legacy-theme) input,
body:not(.legacy-theme) select,
body:not(.legacy-theme) textarea{
 background:var(--ls-input) !important;
 color:var(--ls-input-text) !important;
 border:1px solid #53657e !important;
 border-radius:6px !important;
 box-sizing:border-box !important;
}
body:not(.legacy-theme) button,
body:not(.legacy-theme) .tab,
body:not(.legacy-theme) td button,
body:not(.legacy-theme) .home-btn{
 background:var(--ls-blue) !important;
 color:#fff !important;
 border:1px solid rgba(116,154,214,.42) !important;
 border-radius:6px !important;
 font-weight:700 !important;
 box-shadow:none !important;
}
body:not(.legacy-theme) button:hover,
body:not(.legacy-theme) .tab:hover,
body:not(.legacy-theme) td button:hover{
 background:var(--ls-blue-hover) !important;
}
body:not(.legacy-theme) .tab.active,
body:not(.legacy-theme) .filterBar button.active{
 background:#e6effc !important;
 color:#142033 !important;
}
body:not(.legacy-theme) table{
 background:#f8fafc !important;
 color:#0f172a !important;
 border-collapse:collapse !important;
 border:1px solid var(--ls-border) !important;
 border-radius:8px !important;
 overflow:hidden !important;
 box-shadow:none !important;
}
body:not(.legacy-theme) th{
 background:#20304a !important;
 color:#f8fafc !important;
 border-bottom:1px solid var(--ls-border) !important;
}
body:not(.legacy-theme) td{
 border-bottom:1px solid #d7aeb5 !important;
 color:#0f172a !important;
}
body:not(.legacy-theme) tr.kritisch td,
body:not(.legacy-theme) .card.kritisch{
 background:#ffc2ca !important;
 color:#0f172a !important;
}
body:not(.legacy-theme) tr.fg td,
body:not(.legacy-theme) .card.fg{
 background:#ffe9a8 !important;
 color:#0f172a !important;
}
body:not(.legacy-theme) iframe{
 background:#fff !important;
 border:1px solid var(--ls-border) !important;
 border-radius:8px !important;
}
body.mobile-shell{
 min-height:100vh;
 padding:0 !important;
 background:var(--mobile-bg) !important;
 color:var(--mobile-text) !important;
}
body.mobile-shell[data-mobile-theme="dark"]{
 --mobile-bg:#05070d;
 --mobile-panel:#0f172a;
 --mobile-panel-2:#172235;
 --mobile-text:#f8fafc;
 --mobile-muted:#aab7c8;
 --mobile-border:#334155;
 --mobile-accent:#4b7bec;
 --mobile-input:#f8fafc;
 --mobile-input-text:#0f172a;
}
body.mobile-shell[data-mobile-theme="light"]{
 --mobile-bg:#f4f6f9;
 --mobile-panel:#ffffff;
 --mobile-panel-2:#e8edf3;
 --mobile-text:#0f172a;
 --mobile-muted:#475569;
 --mobile-border:#cfd8e5;
 --mobile-accent:#335fb8;
 --mobile-input:#ffffff;
 --mobile-input-text:#0f172a;
}
body.mobile-shell .header,
body.mobile-shell [style*="position:sticky"]{
 background:var(--mobile-panel) !important;
 color:var(--mobile-text) !important;
 border-bottom:1px solid var(--mobile-border) !important;
 box-shadow:0 8px 22px rgba(0,0,0,.18) !important;
}
body.mobile-shell .content,
body.mobile-shell .container,
body.mobile-shell #list{
 background:var(--mobile-bg) !important;
 color:var(--mobile-text) !important;
}
body.mobile-shell .card{
 background:var(--mobile-panel) !important;
 color:var(--mobile-text) !important;
 border:1px solid var(--mobile-border) !important;
 border-radius:12px !important;
 box-shadow:none !important;
}
body.mobile-shell .menu{
 gap:10px !important;
 padding:10px !important;
}
body.mobile-shell .menu .card{
 aspect-ratio:auto !important;
 min-height:92px !important;
 font-size:16px !important;
}
body.mobile-shell input,
body.mobile-shell select,
body.mobile-shell textarea{
 background:var(--mobile-input) !important;
 color:var(--mobile-input-text) !important;
 border:1px solid var(--mobile-border) !important;
 border-radius:8px !important;
 box-sizing:border-box !important;
}
body.mobile-shell button,
body.mobile-shell .mobile-theme-toggle{
 background:var(--mobile-accent) !important;
 color:#fff !important;
 border:1px solid rgba(116,154,214,.42) !important;
 border-radius:8px !important;
 font-weight:800 !important;
}
.mobile-theme-toggle{
 position:fixed;
 right:10px;
 bottom:10px;
 z-index:5000;
 min-width:46px;
 height:42px;
 padding:0 12px;
 font-size:18px;
 box-shadow:0 8px 20px rgba(0,0,0,.25) !important;
}
body.mobile-shell .ticker{
 background:var(--mobile-panel-2) !important;
 color:var(--mobile-text) !important;
 border:1px solid var(--mobile-border) !important;
}
body.mobile-shell .history{
 background:var(--mobile-panel-2) !important;
 color:var(--mobile-text) !important;
 border-color:var(--mobile-border) !important;
}
@media (max-width:700px){
 body.mobile-shell .menu{grid-template-columns:1fr 1fr !important;}
 body.mobile-shell .header{font-size:17px !important;padding:10px !important;}
 body.mobile-shell .content{padding-top:110px !important;}
}

.loginPanel{max-width:360px;margin:12vh auto 0 auto;padding:18px;background:var(--ls-panel);border:1px solid var(--ls-border);border-radius:10px;color:var(--ls-text);display:flex;flex-direction:column;gap:10px;}
.loginPanel h2{margin:0 0 6px 0;}
.loginPanel input{width:100%;height:36px;}
.loginPanel button{height:36px;}
