/* ApexGuard – "ruhig & professionell" (Schwarz/Rot/Silber seit 2.26)
   Wird als LETZTES Stylesheet geladen (nach Inline-Theme und wow.css) und überschreibt sie gezielt.
   Prinzip: neutrale Schiefer-Töne, dünne Linien, eine Akzentfarbe. Orange/Gelb nur für Warnungen. */

/* ===== Farben ===== */
:root{
  --c-bg:#0A0A0C; --c-surface:#131316; --c-surface2:#1A1A1E; --c-line:#26262B; --c-line2:#36363D;
  --c-text:#EDEDF0; --c-muted:#9A9AA3; --c-accent:#E5232B; --c-warn:#E4AB3C; --c-crit:#FF6B3D;
  /* bestehende Variablen auf die neue Palette legen */
  --dx-navy:var(--c-bg); --dx-navy0:#070708; --dx-teal:var(--c-surface); --dx-line:var(--c-line); --dx-line2:var(--c-line2);
  --dx-white:var(--c-text); --dx-muted:var(--c-muted); --dx-yellow:var(--c-warn); --dx-orange:var(--c-crit);
  --bg:var(--c-bg); --panel:var(--c-surface); --panel2:var(--c-surface2); --border:var(--c-line); --text:var(--c-text);
  --muted:var(--c-muted); --blue:var(--c-accent); --good:var(--c-accent); --warn:var(--c-warn); --bad:var(--c-crit); --critical:var(--c-crit);
  --w-ice:var(--c-accent); --w-yellow:var(--c-warn); --w-orange:var(--c-crit); --w-navy:var(--c-bg);
}
body{background:var(--c-bg)!important;color:var(--c-text);font-family:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif!important;font-size:14.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.panel-title,.top-title,.metric-value,.user-name{font-family:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;font-weight:600;letter-spacing:-.01em}
.sidebar{background:#070708!important;border-right:1px solid var(--c-line)!important}
.logo{background:var(--c-accent)!important}.logo:after{color:var(--c-bg)!important}
.panel,.metric,.cg-card,.modal{background:var(--c-surface)!important;border:1px solid var(--c-line)!important;box-shadow:none!important;border-radius:12px}
input,select,textarea{background:#070708!important;color:var(--c-text)!important;border-color:var(--c-line)!important}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-accent)!important;box-shadow:0 0 0 3px rgba(229,35,43,.15)}
.btn{background:transparent;color:var(--c-text);border-color:var(--c-line2)}
.btn:hover{border-color:var(--c-accent);background:rgba(229,35,43,.06)}

/* ===== Kopfbereich ===== */
.eyebrow,.top-live{letter-spacing:.14em;color:var(--c-muted);font-weight:600}
.title{font-size:26px;font-weight:600;letter-spacing:-.02em}

/* ===== Dashboard ===== */
#page-dashboard.page.active{gap:16px}
/* das zweite Status-Banner ist durch den Hero überflüssig */
#page-dashboard .dx-banner{display:none}

/* Hero: ein ruhiger Statusstreifen */
.wd-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 28px;border-radius:12px;
  background:var(--c-surface)!important;border:1px solid var(--c-line)!important;box-shadow:none!important;position:relative;overflow:hidden}
.wd-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c-accent)}
.wd-hero.warn:before{background:var(--c-warn)}
.wd-hero.crit:before{background:var(--c-crit)}
.wd-hero.crit{box-shadow:none!important;border-color:rgba(255,107,61,.45)!important}
.wd-radar{display:none}
.wd-copy small{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;font-weight:600;color:var(--c-muted);text-transform:uppercase}
.wd-copy small:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 4px rgba(229,35,43,.14)}
.wd-hero.warn .wd-copy small:before{background:var(--c-warn);box-shadow:0 0 0 4px rgba(228,171,60,.16)}
.wd-hero.crit .wd-copy small:before{background:var(--c-crit);box-shadow:0 0 0 4px rgba(255,107,61,.18)}
.wd-copy h2{margin:8px 0 4px;font:600 28px/1.15 'IBM Plex Sans',sans-serif;letter-spacing:-.02em;color:var(--c-text)}
.wd-copy p{margin:0;font-size:14.5px;color:var(--c-muted)}
.wd-meter{margin-top:16px;max-width:360px}
.wd-meter-row{font-size:12px;color:var(--c-muted);letter-spacing:.08em;margin-bottom:6px}
.wd-meter-bar{height:6px;background:var(--c-line)}
.wd-meter-bar i{background:var(--c-accent);background-size:auto}
.wd-hero.warn .wd-meter-bar i{background:var(--c-warn)}.wd-hero.crit .wd-meter-bar i{background:var(--c-crit)}
.wd-big strong{font:600 56px/1 'IBM Plex Sans',sans-serif;color:var(--c-text);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.wd-hero.warn .wd-big strong{color:var(--c-warn)}.wd-hero.crit .wd-big strong{color:var(--c-crit)}
.wd-big small{font-size:12.5px;color:var(--c-muted)}
.wd-spark{height:36px;gap:3px}
.wd-spark i{background:var(--c-line2);opacity:1;width:5px}
.wd-spark i.hi{background:var(--c-warn)}.wd-spark i.cr{background:var(--c-crit)}

/* Kennzahlen */
.dx-kpis{gap:12px}
.dx-kpi{padding:18px 20px;border-radius:12px;background:var(--c-surface);border:1px solid var(--c-line);gap:6px}
.dx-kpi:hover{border-color:var(--c-line2);background:var(--c-surface2)}
.dx-kpi span{font-size:12.5px;color:var(--c-muted);letter-spacing:.02em}
.dx-kpi strong{font:600 30px/1.1 'IBM Plex Sans',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.dx-kpi small{font-size:12.5px}

/* Karten */
.dx-grid-main,.dx-grid-bottom{gap:16px}.dx-side{gap:16px}
.dx-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px}
.dx-card h2{font:600 15px/1.2 'IBM Plex Sans',sans-serif;letter-spacing:0}
.dx-pad{padding:20px 22px}
.dx-card-head{padding:16px 22px}
.dx-head-link{color:var(--c-accent);font-weight:500;font-size:13px}
.dx-head-link:hover{text-decoration:underline}
.dx-live i{background:var(--c-accent)}
.dx-event,.dx-eco{border-bottom:1px solid var(--c-line)}
.dx-event:last-child,.dx-eco:last-child{border-bottom:0}
.dx-event:hover,.dx-eco:hover{background:rgba(255,255,255,.015)}
.dx-btn{border-color:var(--c-line2);border-radius:8px}.dx-btn:hover{border-color:var(--c-accent)}
.dx-chip{border-radius:6px;font-size:11px;letter-spacing:.06em}
.dx-chip-low{box-shadow:inset 0 0 0 1px var(--c-line2);color:var(--c-muted)}
.dx-chip-mid{box-shadow:inset 0 0 0 1px var(--c-warn)}
.dx-bar{background:var(--c-line)}
.dx-dot{width:20px;height:20px;border-radius:50%;font-size:11px}
.dx-dot.ok{background:rgba(229,35,43,.16);color:var(--c-accent)}
.dx-dot.warn{background:rgba(228,171,60,.18);color:var(--c-warn)}
.dx-dot.off{background:var(--c-line);color:var(--c-muted)}
.dx-hours{height:130px;border-bottom:1px solid var(--c-line)}
.dx-hours i{border-radius:2px 2px 0 0}

/* Leere Zustände: ruhig und positiv statt leerer Fläche */
.dx-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:140px;text-align:center;color:var(--c-muted);padding:28px 24px}
.dx-pad .dx-empty{min-height:80px;padding:8px 0}
.dx-activity .dx-empty{min-height:220px}
.dx-empty:before{content:"✓";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:rgba(229,35,43,.12);color:var(--c-accent);font-size:16px;font-weight:700}

/* ===== Seitenleiste ===== */
.sidebar{height:100vh;width:232px!important;padding:18px 12px 14px!important;background:#070708!important;box-shadow:none!important;display:flex;flex-direction:column}
.main{margin-left:232px}
.brand{margin:0 6px 18px;gap:10px;font-size:16px;font-weight:600;letter-spacing:-.01em;align-items:center}
.brand .logo{width:30px;height:30px;border-radius:8px}
.brand em{display:none}
.sidebar-live{display:none} /* doppelt zur API-Anzeige unten */

.nav{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-line2) transparent}
.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:var(--c-line2);border-radius:3px}.nav::-webkit-scrollbar-track{background:transparent}
.nav-home,.nav-item{display:flex!important;align-items:center;gap:11px;padding:7px 11px!important;border-radius:8px;
  font-size:13.5px!important;font-weight:500;color:var(--c-muted)!important;background:transparent!important;box-shadow:none!important;transform:none!important;text-decoration:none}
.nav-home:hover,.nav-item:hover{background:rgba(255,255,255,.04)!important;color:var(--c-text)!important;transform:none!important}
.nav-home.active,.nav-item.active{background:rgba(229,35,43,.11)!important;color:var(--c-text)!important;box-shadow:none!important}
.nav-home i,.nav-item i{display:grid;place-items:center;width:20px;height:20px;flex:none;color:var(--c-muted)!important;font-style:normal}
.nav-home:hover i,.nav-item:hover i{color:var(--c-text)!important}
.nav-home.active i,.nav-item.active i{color:var(--c-accent)!important}
.nav-home svg,.nav-item svg{display:block}
.nav-item small{margin-left:auto;min-width:20px;padding:1px 7px;border-radius:99px;background:var(--c-line);color:var(--c-text);font-size:11px;font-weight:600;text-align:center}
.nav-item.active small{background:rgba(229,35,43,.22)}

/* Gruppen: immer offen, Titel nur als Abschnittsüberschrift */
.nav-group{margin-top:10px}
.nav-group-head{width:auto;padding:0 11px 6px!important;background:transparent!important;cursor:default;pointer-events:none;
  font-size:11px!important;font-weight:600;letter-spacing:.08em!important;text-transform:uppercase;color:#707078!important}
.nav-group-head b,.nav-group-title i{display:none}
.nav-group-items{display:grid!important;opacity:1!important;gap:2px;animation:none!important}
.nav-group-items .nav-item{margin:0!important;padding:7px 11px!important}

/* unten: Status und Benutzer */
.sidebottom{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;flex:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--c-line);display:flex;flex-direction:column;gap:10px}
.sidebar-mini-status{display:flex;align-items:center;justify-content:space-between;padding:0 6px;background:transparent!important;border:0!important;
  font-size:11.5px!important;font-weight:500;color:var(--c-muted);letter-spacing:.02em}
.sidebar-mini-status span{display:flex;align-items:center;gap:7px;text-transform:none}
.sidebar-mini-status small{font-size:11px;color:#707078}
.user-mini{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:10px;background:var(--c-surface)!important;border:1px solid var(--c-line)!important}
.user-avatar{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:600;font-size:13px;background:rgba(229,35,43,.16)!important;color:var(--c-accent)!important}
.user-name{font-size:13px;font-weight:600}
.user-mini .role{font-size:11.5px;color:var(--c-muted);letter-spacing:.02em}

@media(max-width:900px){.wd-hero{grid-template-columns:1fr;gap:18px;text-align:left;justify-items:start}.wd-big{text-align:left}.wd-spark{justify-content:flex-start}.wd-meter{margin-inline:0}}
@media(max-width:900px){
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;height:100vh!important;width:68px!important;padding:14px 8px!important;
    border-bottom:0!important;border-right:1px solid var(--c-line)!important}
  .main{margin-left:68px}
  .sidebar-mini-status{justify-content:center}.sidebar-mini-status small{display:none}
  .sidebar-mini-status span{font-size:0;gap:0}.sidebar-mini-status span i{font-size:12px}
  .user-mini{justify-content:center;padding:6px}.user-mini>div:not(.user-avatar){display:none}
  .nav-home,.nav-item{justify-content:center;padding:10px!important}
  .nav-home span,.nav-item span,.nav-item small{display:none}
  .nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--c-line)}
  .nav-group-head{display:none}
  .brand{justify-content:center;margin-bottom:14px}.brand span:not(.logo){display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Startseite (abgemeldet): ruhig und abschreckend, nicht überladen ===== */
body.c-public{background:var(--c-bg)!important}
.c-wrap{max-width:1120px;margin:0 auto;padding:28px clamp(16px,4vw,40px) 40px;min-height:100vh;position:relative;isolation:isolate}
.c-wrap:before{content:"";position:absolute;inset:0 0 auto 0;height:520px;z-index:-1;pointer-events:none;
  background:radial-gradient(640px 320px at 78% 0%,rgba(229,35,43,.10),transparent 70%)}
.c-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:64px}
.c-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px;letter-spacing:-.01em}
.c-brand img{width:32px;height:32px;border-radius:8px;object-fit:cover}
.c-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border-radius:99px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-muted);font-size:12.5px;font-weight:500}
.c-pill i{width:7px;height:7px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 3px rgba(229,35,43,.16)}
.c-pill.alert{border-color:rgba(255,107,61,.45);color:#FF9472}.c-pill.alert i{background:var(--c-crit);box-shadow:0 0 0 3px rgba(255,107,61,.18)}

.c-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.c-kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent)}
.c-hero h1{margin:16px 0 18px;font:600 clamp(36px,5vw,58px)/1.06 'IBM Plex Sans',sans-serif;letter-spacing:-.03em;color:var(--c-text)}
.c-hero h1 span{display:block;margin-top:8px;font-size:.5em;font-weight:500;letter-spacing:-.015em;color:var(--c-muted)}
.c-hero p{margin:0;max-width:540px;font-size:16.5px;line-height:1.65;color:#C2C2C8}
.c-hero p b{color:var(--c-text);font-weight:600}
.c-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
.c-btn{display:inline-flex;align-items:center;height:46px;padding:0 24px;border-radius:10px;background:var(--c-accent);color:#fff!important;
  font-weight:600;font-size:15px;text-decoration:none;transition:background .15s,transform .15s}
.c-btn:hover{background:#FF3B42;transform:translateY(-1px)}
.c-btn:focus-visible{outline:2px solid var(--c-text);outline-offset:3px}
.c-cta span{font-size:13px;color:var(--c-muted)}

.c-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:14px;padding:22px 24px}
.c-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.c-card-head b{font-size:14px;font-weight:600}
.c-card-head span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--c-muted)}
.c-card-head i{width:7px;height:7px;border-radius:50%;background:var(--c-accent);animation:cPulse 2.4s ease-in-out infinite}
@keyframes cPulse{50%{opacity:.35}}
.c-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:18px;border-bottom:1px solid var(--c-line)}
.c-stat strong{display:block;font:600 30px/1.1 'IBM Plex Sans',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--c-text)}
.c-stat small{display:block;margin-top:5px;font-size:12px;color:var(--c-muted)}
.c-feed{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.c-feed-row{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:#C2C2C8}
.c-feed-row i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--c-warn)}
.c-feed-row i.ok{background:var(--c-accent)}
.c-feed-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-feed-row time{font-size:12px;color:var(--c-muted);white-space:nowrap}

.c-section{margin-top:72px}
.c-section h2{margin:0 0 20px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.c-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.c-tile{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-surface);transition:border-color .15s}
.c-tile:hover{border-color:var(--c-line2)}
.c-tile i{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:rgba(229,35,43,.1);color:var(--c-accent)}
.c-tile b{display:block;font-size:14.5px;font-weight:600;margin-bottom:3px}
.c-tile span{display:block;font-size:13px;line-height:1.5;color:var(--c-muted)}

.c-warn{display:flex;align-items:center;gap:16px;margin-top:28px;padding:18px 22px;border-radius:12px;border:1px solid rgba(255,107,61,.3);background:rgba(255,107,61,.06)}
.c-warn i{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:rgba(255,107,61,.14);color:var(--c-crit)}
.c-warn b{display:block;font-size:15px;font-weight:600}
.c-warn span{display:block;margin-top:2px;font-size:13.5px;color:#C9B4AC}
.c-foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--c-line);text-align:center;font-size:12px;color:#707078}

@media(max-width:900px){
  .c-top{margin-bottom:40px}
  .c-hero{grid-template-columns:1fr;gap:32px}
  .c-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-section{margin-top:48px}
}
@media(max-width:560px){
  .c-pill{display:none}
  .c-tiles{grid-template-columns:1fr}
  .c-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.c-stat strong{font-size:24px}
}

/* ===== Reste des alten Themes an die ruhige Palette angleichen ===== */
.metric-icon{background:rgba(229,35,43,.10)!important;color:var(--c-accent)!important;border:0!important}
.player-table th,.logrow.header,thead th{background:#0E0E10!important;color:var(--c-muted)!important}
.player-table td{border-color:var(--c-line)!important}
.player-table tbody tr:hover{background:rgba(255,255,255,.02)}
.lm-btn,.lm-card,.lm-hud{background:var(--c-surface)!important;border-color:var(--c-line)!important;box-shadow:none!important}
.lm-btn:hover{border-color:var(--c-accent)!important}
.security-subcount{background:rgba(229,35,43,.10)!important;border-color:var(--c-line2)!important;color:var(--c-text)!important}
/* Spielerliste: kompakter, Aktion-Spalte immer sichtbar */
.player-table{min-width:0!important}
.player-table td.cut{max-width:170px;overflow:hidden;text-overflow:ellipsis}
.player-table td.cut.srv{max-width:260px}
.player-table td.act,.player-table th:last-child{position:sticky;right:0;z-index:2;background:#0E0E10!important;box-shadow:-8px 0 12px -8px rgba(0,0,0,.6)}
.player-table td.act{background:var(--c-surface,#101C24)!important}

/* ===== ApexGuard-Branding (2.26) ===== */
.logo{background:url(/apexguard-icon.png) center/contain no-repeat!important;border-radius:0!important;box-shadow:none!important;animation:none!important}
.logo:after{content:none!important}
.user-avatar{color:var(--c-text)!important}
/* Ruhezustand nicht rot einfärben: Rot ist Marke, Ruhe = Silber */
.wd-hero:before,.wd-meter-bar i{background:#B9BCC4}
.wd-copy small:before,.c-pill i,.c-card-head i,.c-feed-row i.ok,.dx-live i{background:#C9CCD3;box-shadow:0 0 0 3px rgba(201,204,211,.14)}
.dx-dot.ok{background:rgba(201,204,211,.12);color:#C9CCD3}
/* Startseite ApexGuard */
.c-brand span em{font-style:normal;color:var(--c-accent)}
.c-hero-logo{display:flex;justify-content:center}
.c-hero-logo img{width:min(400px,100%);height:auto;filter:drop-shadow(0 0 70px rgba(229,35,43,.22))}
.c-hero h1 span{color:var(--c-accent)}
.c-note{margin-top:14px;font-size:13px;color:var(--c-muted)}
.c-btn2{display:inline-flex;align-items:center;height:46px;padding:0 22px;border-radius:10px;border:1px solid var(--c-line2);color:var(--c-text)!important;
  font-weight:600;font-size:15px;text-decoration:none;transition:border-color .15s,background .15s}
.c-btn2:hover{border-color:var(--c-accent);background:rgba(229,35,43,.06)}
.c-live{margin-top:48px}
.c-live-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.c-live .c-stats{border-bottom:0;padding-bottom:0}
.c-live .c-feed{margin-top:0}
.c-ops-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:20px 22px;border:1px solid var(--c-line);border-radius:12px;
  background:linear-gradient(90deg,rgba(229,35,43,.08),transparent 70%)}
.c-ops-cta b{display:block;font-size:15px;font-weight:600}
.c-ops-cta span{display:block;margin-top:3px;font-size:13.5px;color:var(--c-muted)}
.c-ops-cta .c-btn2{flex:none}
#betreiber{scroll-margin-top:24px}
@media(max-width:900px){.c-hero-logo{order:-1}.c-hero-logo img{width:min(260px,70%)}.c-live-grid{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){.c-ops-cta{flex-direction:column;align-items:stretch}.c-ops-cta .c-btn2{justify-content:center}}
.c-foot a{color:var(--c-muted);text-decoration:underline;text-underline-offset:2px}.c-foot a:hover{color:var(--c-text)}
.dx-empty:before{background:rgba(201,204,211,.10);color:#C9CCD3}
.status .dot,.top-live i,.sidebar-mini-status i{background:#C9CCD3!important;box-shadow:0 0 0 3px rgba(201,204,211,.14)!important}
/* Panel-Login (2.27): Übersicht liegt auf apexguard.de, hier nur Anmeldung */
.ag-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:32px 16px;
  background:radial-gradient(560px 320px at 50% 18%,rgba(229,35,43,.13),transparent 70%)}
.ag-login-card{width:min(420px,100%);padding:34px 32px 28px;border:1px solid var(--c-line);border-radius:16px;background:var(--c-surface);text-align:center}
.ag-login-logo{width:76px;height:76px;filter:drop-shadow(0 0 28px rgba(229,35,43,.3))}
.ag-login-brand{margin-top:14px;font:600 24px/1.2 'IBM Plex Sans',sans-serif;letter-spacing:-.01em}
.ag-login-brand em{font-style:normal;color:var(--c-accent)}
.ag-login-brand span{font-weight:500;color:var(--c-muted)}
.ag-login-card p{margin:12px 0 24px;font-size:14px;line-height:1.6;color:var(--c-muted)}
.ag-login-btn{width:100%;justify-content:center}
.ag-login-status{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:12.5px;color:var(--c-muted)}
.ag-login-status i{width:7px;height:7px;border-radius:50%;background:#C9CCD3;box-shadow:0 0 0 3px rgba(201,204,211,.14)}
.ag-login-status.alert{color:#FF9472}.ag-login-status.alert i{background:var(--c-crit)}
.ag-login-foot{font-size:12px;color:#707078}
.ag-login-foot a{color:var(--c-muted);text-underline-offset:2px}.ag-login-foot a:hover{color:var(--c-text)}
/* Server-Umschalter (2.28) */
.ag-srv-bar{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 20px}
.ag-srv{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--c-line2);background:transparent;color:var(--c-muted);font:500 13px 'IBM Plex Sans',sans-serif;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.ag-srv:hover{color:var(--c-text);border-color:var(--c-muted)}
.ag-srv.on{color:var(--c-text);border-color:var(--c-accent);background:rgba(229,35,43,.1)}
.ag-srv i{width:7px;height:7px;border-radius:50%;background:#55555c}
.ag-srv i.up{background:#C9CCD3;box-shadow:0 0 0 3px rgba(201,204,211,.14)}
.ag-srv .srv-tag{margin:0}
.ag-srv-chip{display:inline-block;padding:0 7px;margin-right:4px;border-radius:6px;border:1px solid var(--c-line2);font:600 11px/1.6 'IBM Plex Sans',sans-serif;color:var(--c-muted);vertical-align:middle;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Spielerliste (2.29): Reiter, kompakte Spalten, Seiten */
#page-players .toolbar{align-items:center;gap:12px;flex-wrap:wrap}
#page-players .toolbar input{flex:1;min-width:220px}
.pl-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--c-line);border-radius:10px;background:#070708}
.pl-tab{height:32px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--c-muted);font:500 13px 'IBM Plex Sans',sans-serif;cursor:pointer}
.pl-tab b{margin-left:4px;font-weight:600;color:var(--c-text);font-variant-numeric:tabular-nums}
.pl-tab:hover{color:var(--c-text)}
.pl-tab.on{background:var(--c-surface2);color:var(--c-text);box-shadow:inset 0 0 0 1px var(--c-line2)}
.player-table td{vertical-align:middle}
.pl-status{white-space:nowrap;width:1%}
.pl-live{display:inline-flex;align-items:center;gap:7px;font:600 13px 'IBM Plex Mono',monospace;color:var(--c-text)}
.pl-live i{width:7px;height:7px;border-radius:50%;background:#C9CCD3;box-shadow:0 0 0 3px rgba(201,204,211,.14)}
.pl-off{font-size:12px;color:#6b6b73}
.pl-who b{display:block;font-weight:600;color:var(--c-text);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-who small{display:block;font-size:12px;color:var(--c-muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-ban{display:inline-block;margin-top:3px;padding:0 6px;border-radius:5px;font:600 10.5px/1.6 'IBM Plex Sans',sans-serif;letter-spacing:.06em;color:#FF8E8E;border:1px solid rgba(229,35,43,.45);background:rgba(229,35,43,.08)}
.pl-ids{white-space:nowrap}
.pl-ids span{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:6px;border:1px solid var(--c-line);font:500 11.5px 'IBM Plex Mono',monospace;color:var(--c-muted)}
.pl-ids .pl-muted{border:0;padding:0}
.pl-server{white-space:nowrap;width:1%}
.pl-srv{font-size:12px;color:var(--c-muted);max-width:150px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.pl-seen{white-space:nowrap;color:var(--c-muted);font-size:13px;width:1%}
.pl-on .pl-seen{color:var(--c-text)}
.pl-act{white-space:nowrap;width:1%}
.pl-act .action-btn{text-transform:none;letter-spacing:0;font-size:12.5px;padding:6px 11px}
.pl-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--c-line);font-size:13px;color:var(--c-muted)}
.pl-pager:empty{display:none}
.pl-pager>div{display:flex;align-items:center;gap:10px}
.pl-pager .btn[disabled]{opacity:.4;cursor:default}
.pl-page{font-variant-numeric:tabular-nums}
@media(max-width:700px){.pl-ids,.player-table th:nth-child(3){display:none}}
