*{box-sizing:border-box} :root{--bg:#0b0e10;--panel:#14181b;--panel2:#101416;--line:#283036;--text:#f4f7f9;--muted:#7e8b95;--cyan:#08d8ee;--orange:#ff8a35;--green:#31e89a;--red:#ff5e70;--violet:#a58cff}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,select,input{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#0f1315;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{height:99px;padding:26px 21px;border-bottom:1px solid var(--line)}.brand-main{font-weight:900;font-style:italic;font-size:19px;line-height:1}.brand-main span{color:#09d9f1}.brand-main b{color:#ff702d}.brand-sub{font-size:8px;letter-spacing:3px;margin-top:9px}.sidebar nav{padding:22px 10px;overflow:auto;flex:1}.nav-group{font-size:9px;letter-spacing:1.7px;color:#60717c;padding:10px 10px 7px}.nav-item{height:39px;display:flex;align-items:center;gap:10px;padding:0 12px;color:#d9e1e6;text-decoration:none;border-radius:8px;font-size:13px;font-weight:650;margin:1px 0;border-left:3px solid transparent}.nav-item span{width:16px;color:#91a0aa}.nav-item.active{background:#20262a;border-left-color:var(--cyan);color:#fff}.nav-item em{margin-left:auto;font-style:normal;font-size:8px;color:#59656d}.nav-item.disabled{opacity:.55;cursor:default}.sidebar-bottom{border-top:1px solid var(--line);padding:16px 18px;display:flex;align-items:center;gap:10px}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.sidebar-bottom a{margin-left:auto;color:#9aa7af;text-decoration:none}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.content{grid-column:2;min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 29px;background:#0d1113;position:sticky;top:0;z-index:5}.topbar h1{font-size:23px;margin:0 0 3px}.topbar p{margin:0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:8px;align-items:center}.top-actions select,.icon-btn,.logout-btn{height:39px;background:#0f1315;color:#fff;border:1px solid var(--line);border-radius:9px;padding:0 13px}.top-actions select{min-width:220px}.icon-btn{width:43px;cursor:pointer;font-size:18px}.logout-btn{display:flex;align-items:center;text-decoration:none;font-size:12px}main{padding:26px 29px 50px}.server-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.server-tab{height:61px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.server-tab.active{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.server-tab small{display:block;color:#78909d;font-size:9px;letter-spacing:1.4px}.server-tab strong{display:block;margin-top:3px;color:var(--accent);font-size:16px}.badge{font-size:9px;font-weight:900;padding:6px 9px;border-radius:99px}.badge.online{color:var(--green);background:#123c2e}.badge.offline{color:var(--red);background:#421b22}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stats article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:17px 15px;min-height:83px}.stats label,.metric label{display:block;color:#8aa0ae;font-size:9px;letter-spacing:1.2px}.stats strong{display:block;font-size:24px;margin-top:9px}.stats small{display:block;color:#64737d;font-size:9px;margin-top:3px}.server-grid{display:grid;grid-template-columns:repeat(2,minmax(380px,1fr));gap:16px}.server-card{--accent:var(--cyan);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:13px;padding:18px;box-shadow:0 18px 35px rgba(0,0,0,.13)}.server-card.cyan{--accent:var(--cyan)}.server-card.orange{--accent:var(--orange)}.server-card.violet{--accent:var(--violet)}.server-card-head{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{color:#78909d;font-size:9px;letter-spacing:1.4px;font-weight:800}.server-card h2{color:var(--accent);font-size:22px;margin:5px 0 3px}.map-sub{font-size:12px;color:#91a0a8}.server-meta{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;display:flex;justify-content:space-between;color:#8ba1ae;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.metric{background:#0f1315;border:1px solid var(--line);border-radius:9px;padding:11px;min-height:57px}.metric strong{display:block;margin-top:7px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{border:1px solid #334047;background:#20272b;color:#fff;border-radius:8px;padding:9px 14px;font-weight:750;cursor:pointer}.actions .start{background:#174253;color:#79d9f0}.actions .restart{background:#4a3015;color:#ffba67;border-color:#74491d}.actions .stop{background:#451b22;color:#ff8997;border-color:#71303a}.actions button:disabled{opacity:.35;cursor:not-allowed}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:20;padding:4vw}.modal.open{display:block}.modal-box{height:92vh;background:#0d1113;border:1px solid #354047;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px #000}.modal-head{height:70px;border-bottom:1px solid var(--line);padding:13px 18px;display:flex;justify-content:space-between;align-items:center}.modal-head small{color:#738690;font-size:9px;letter-spacing:1.5px}.modal-head h2{margin:3px 0 0;font-size:18px}.modal-head button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.modal pre{height:calc(100% - 70px);overflow:auto;margin:0;padding:18px;color:#a9c0cc;font:12px/1.55 Consolas,monospace;white-space:pre-wrap}.toast{position:fixed;right:25px;bottom:25px;background:#172126;border:1px solid #344149;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#142027 0,#0b0e10 45%)}.login-card{width:min(420px,calc(100vw - 32px));background:#111619;border:1px solid #293238;border-radius:16px;padding:34px;box-shadow:0 30px 90px #0008}.login-brand{font-size:30px;font-weight:900;font-style:italic}.login-brand span{color:var(--cyan)}.login-brand b{color:var(--orange)}.login-sub{font-size:9px;letter-spacing:3px;margin-top:8px}.login-card h1{font-size:22px;margin:31px 0 5px}.login-card p{color:var(--muted);font-size:12px;margin:0 0 24px}.login-card label{font-size:9px;letter-spacing:1.4px;color:#8ba0ac}.login-card input{width:100%;margin:7px 0 11px;padding:13px;background:#0b0f11;border:1px solid #354047;border-radius:8px;color:#fff}.login-card button{width:100%;padding:12px;border:0;border-radius:8px;background:linear-gradient(90deg,#05bcd2,#08d8ee);font-weight:900;color:#071013;cursor:pointer}.login-error{color:#ff7b89;font-size:12px;margin-top:12px}
@media(max-width:1050px){.shell{grid-template-columns:78px 1fr}.sidebar{width:78px}.brand{padding:29px 11px}.brand-main{font-size:18px}.brand-sub,.nav-group,.nav-item:not(.active) em,.nav-item{font-size:0}.nav-item span{font-size:17px;margin:auto}.sidebar-bottom div:not(.status-dot),.sidebar-bottom a{display:none}.content{grid-column:2}.server-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}.sidebar{display:none}.content{grid-column:auto}.topbar{padding:0 14px}.top-actions select{min-width:130px;max-width:150px}.logout-btn{display:none}main{padding:16px}.server-tabs{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.server-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.server-card{padding:14px}}

/* V2.2 branding */
.brand-main b,.login-brand b{color:var(--orange)}
.brand-main{font-size:21px;letter-spacing:.4px}
.brand-sub{font-size:7.5px;letter-spacing:2.1px}
.login-brand{font-size:34px;letter-spacing:.5px}
.login-sub{font-size:9px;letter-spacing:2.5px}

/* Final Kuschelecke branding */
:root{--brand-purple:#a855f7}
.brand-main b,.brand-main span,.login-brand b,.login-brand span{color:var(--brand-purple)!important}
.brand-main{font-size:21px!important;letter-spacing:.5px}
.brand-sub{font-size:7.5px!important;letter-spacing:2.4px;color:#9aa6af}
.login-brand{font-size:34px!important;letter-spacing:.6px}
.login-sub{font-size:9px!important;letter-spacing:3px;color:#9aa6af}

/* V2.4 final branding */
.login-brand,.login-brand b,.brand-main,.brand-main b{
    font-style:normal!important;
    transform:none!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:900!important;
    color:#a855f7!important;
}
.login-brand{font-size:34px!important;letter-spacing:1px!important}
.login-sub{font-size:9px!important;letter-spacing:3.4px!important;color:#aab4bd!important}
.brand-main{font-size:20px!important;letter-spacing:.8px!important}
.brand-sub{font-size:7.5px!important;letter-spacing:2.3px!important;color:#aab4bd!important}

/* V2.5 Discord OAuth */
.discord-login{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;margin-top:26px;padding:17px 20px;border-radius:11px;background:#5865F2;color:#fff;text-decoration:none;font-weight:800;font-size:16px;transition:.18s ease}
.discord-login:hover{filter:brightness(1.08);transform:translateY(-1px)}
.discord-mark{font-size:19px}
.oauth-warning,.discord-id-box{margin-top:24px;padding:14px 16px;border:1px solid #34404a;border-radius:10px;background:#0b1115;color:#b9c5ce}
.discord-user{display:flex;align-items:center;gap:10px;margin-left:auto}
.discord-user img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.discord-user div{display:flex;flex-direction:column;line-height:1.1}
.discord-user small{color:#8d9aa4;font-size:11px;margin-top:3px}
.discord-user a{margin-left:8px;color:#aab4bd;text-decoration:none;font-size:12px}
.login-copy{color:#8fa0aa}

/* V2.7 settings */
.settings-card{width:min(920px,92vw);max-height:86vh;overflow:auto}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.settings-grid label{display:flex;flex-direction:column;gap:7px;color:#9eabb5;font-size:12px}
.settings-grid input{background:#090f13;border:1px solid #2b3740;color:#eef4f7;border-radius:9px;padding:11px 12px;outline:none}
.settings-grid input:focus{border-color:#16bfd2}
.settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.settings-message{min-height:20px;margin-top:12px;color:#9eabb5;font-size:12px}
.btn.warning{background:#f59e0b;color:#101010}
@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}

/* V2.8 dedicated settings page */
.content-page{padding:18px 22px 28px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.page-head h1{margin:3px 0 5px;font-size:25px}
.page-head p{margin:0;color:#7f8d97}
.eyebrow{font-size:9px;letter-spacing:2px;color:#7d8c96}
.page-server-select{display:flex;align-items:center;gap:10px}
.page-server-select label{font-size:11px;color:#8c9aa4}
.page-server-select select{background:#0c1216;color:#edf4f7;border:1px solid #34414a;border-radius:9px;padding:10px 34px 10px 12px}
.settings-tabs{display:flex;gap:6px;border-bottom:1px solid #222d34;margin-bottom:16px;overflow:auto}
.settings-tab{background:transparent;border:0;color:#7f8d97;padding:12px 15px;border-bottom:2px solid transparent;cursor:pointer;font-weight:700}
.settings-tab.active{color:#c084fc;border-bottom-color:#a855f7}
.settings-panel{background:#11171b;border:1px solid #27323a;border-radius:12px;padding:20px}
.settings-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.setting-field{display:flex;flex-direction:column;gap:7px}
.setting-field span{font-size:11px;color:#8f9da7;text-transform:uppercase;letter-spacing:.7px}
.setting-field input{background:#090e11;color:#eef4f7;border:1px solid #2b3740;border-radius:9px;padding:12px 13px;outline:none}
.setting-field input:focus{border-color:#a855f7}
.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:17px;border-top:1px solid #222d34}
@media(max-width:760px){
  .page-head,.settings-footer{align-items:stretch;flex-direction:column}
  .settings-page-grid{grid-template-columns:1fr}
}

#navSettings{opacity:1!important;pointer-events:auto!important;cursor:pointer!important}
#navSettings .soon{display:none!important}

[hidden]{display:none!important}
#settingsPage{padding:0}
#navSettings{opacity:1!important;pointer-events:auto!important;cursor:pointer!important}


/* Servereinstellungen – Action Buttons */
#settingsPageSave,
#settingsPageSaveRestart {
    appearance: none;
    border: 1px solid #29343b;
    border-radius: 8px;
    padding: 10px 18px;
    min-height: 40px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
#settingsPageSave {
    background: #182126;
    color: #f4f7f8;
}
#settingsPageSave:hover {
    background: #202c32;
    border-color: #3d4b52;
}
#settingsPageSaveRestart {
    background: #9d3cff;
    border-color: #9d3cff;
    color: #fff;
}
#settingsPageSaveRestart:hover {
    background: #ad5aff;
    border-color: #ad5aff;
}
#settingsPageSave:active,
#settingsPageSaveRestart:active { transform: translateY(1px); }

/* Live-Konsole innerhalb der Servereinstellungen */
.settings-console {
    width: 100%;
    grid-column: 1 / -1;
}
.settings-console-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.settings-console-toolbar strong {
    display: block;
    color: #f4f7f8;
    font-size: 14px;
}
.settings-console-toolbar span {
    display: block;
    margin-top: 3px;
    color: #78909c;
    font-size: 11px;
}
.settings-console-actions {
    display: flex;
    gap: 8px;
}
.settings-console-actions button {
    appearance: none;
    background: #182126;
    color: #f4f7f8;
    border: 1px solid #29343b;
    border-radius: 7px;
    padding: 8px 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.settings-console-actions button:hover {
    background: #202c32;
    border-color: #9d3cff;
}
#settingsConsoleOutput {
    box-sizing: border-box;
    width: 100%;
    min-height: 420px;
    max-height: 58vh;
    overflow: auto;
    margin: 0;
    padding: 16px;
    border: 1px solid #26343b;
    border-radius: 9px;
    background: #080d10;
    color: #b9c9d0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
}

#navOverview,#navSettings{opacity:1!important;pointer-events:auto!important;cursor:pointer!important}
#overviewPage[hidden],#settingsPage[hidden]{display:none!important}

/* Zentrale Serverauswahl über die Server-Kacheln */
.server-tab {
    cursor: pointer;
    user-select: none;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.server-tab:hover {
    background: #171e22;
    transform: translateY(-1px);
}
.server-tab.active {
    border-color: var(--accent) !important;
    box-shadow: inset 3px 0 0 var(--accent);
}

/* Kartenmanager */
.map-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}
#mapSearch{width:min(430px,100%);background:#10171b;border:1px solid #26343b;color:#eef4f6;border-radius:8px;padding:11px 13px;outline:none}
#mapSearch:focus{border-color:#9d3cff}
#mapCount{font-size:12px;color:#78909c}
.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.map-card{background:#11181c;border:1px solid #243139;border-radius:10px;padding:16px;min-width:0}
.map-card.active{border-color:#9d3cff;box-shadow:inset 3px 0 0 #9d3cff}
.map-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.map-card small{color:#6f848e;font-size:10px;font-weight:800;letter-spacing:.08em}
.map-card h3{margin:4px 0 0;color:#f3f6f7;font-size:15px}
.map-card code{display:block;margin:14px 0;color:#82949c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-active-badge{background:rgba(157,60,255,.14);border:1px solid #9d3cff;color:#c994ff;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}
.map-card-actions button{width:100%;appearance:none;border:1px solid #33434b;background:#182126;color:#f4f7f8;border-radius:7px;padding:9px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.map-card-actions button:hover:not(:disabled){border-color:#9d3cff;background:#20282e}
.map-card-actions button:disabled{opacity:.55;cursor:default}
.empty-state{grid-column:1/-1;color:#78909c;padding:30px;text-align:center;border:1px dashed #2b3940;border-radius:10px}
@media(max-width:1050px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.map-grid{grid-template-columns:1fr}}

/* Fahrzeugmanager */
.vehicle-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px}
#vehicleSearch{width:min(430px,100%);background:#10171b;border:1px solid #26343b;color:#eef4f6;border-radius:8px;padding:11px 13px;outline:none}
#vehicleSearch:focus{border-color:#9d3cff}
.vehicle-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#vehicleCount,#vehicleSelectionCount{font-size:12px;color:#78909c}
.secondary-btn{border:1px solid #33434b;background:#182126;color:#dfe7ea;border-radius:7px;padding:8px 10px;cursor:pointer}
.vehicle-hint{color:#738892;font-size:11px;margin-bottom:15px}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:78px}
.vehicle-card{display:flex;gap:12px;background:#11181c;border:1px solid #243139;border-radius:10px;padding:14px;cursor:pointer;min-width:0}
.vehicle-card:hover{border-color:#3b4b53}.vehicle-card.selected{border-color:#9d3cff;box-shadow:inset 3px 0 0 #9d3cff}
.vehicle-card input{margin-top:3px;accent-color:#9d3cff}.vehicle-card-main{min-width:0;flex:1}
.vehicle-card-top{display:flex;justify-content:space-between;gap:8px}.vehicle-card small{color:#6f848e;font-size:9px;font-weight:800;letter-spacing:.07em}
.vehicle-card h3{font-size:14px;color:#f3f6f7;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-card-top>span{font-size:10px;color:#80939b;white-space:nowrap}
.vehicle-files{margin-top:10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.vehicle-files code{color:#82949c;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-savebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:rgba(12,17,20,.96);border-top:1px solid #26343b;padding:13px 0;backdrop-filter:blur(8px)}
.vehicle-savebar button{border:1px solid #33434b;background:#182126;color:#f4f7f8;border-radius:7px;padding:10px 14px;font-weight:700;cursor:pointer}
.vehicle-savebar .primary-action{background:#8f35ed;border-color:#a24df2}
@media(max-width:1050px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.vehicle-manager-toolbar{align-items:stretch;flex-direction:column}.vehicle-grid{grid-template-columns:1fr}}
