/* ═══════════════════════════════════════════════════════════
   LASERFORCE PORTAL v2.3 — Mobile-First Complete Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Visibility Classes ──────────────────────────────────── */
#lfp-root .lfp-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
#lfp-root .lfp-visible-flex {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  pointer-events: auto !important;
}
#lfp-root .lfp-visible-block {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  pointer-events: auto !important;
}

/* ── Tokens ──────────────────────────────────────────────── */
#lfp-root {
  --c:   #00e5ff;
  --g:   #00ff88;
  --r:   #ff3358;
  --y:   #ffcc00;
  --pu:  #c77dff;
  --bg:  #050810;
  --bg2: #0a1020;
  --pan: #0d1628;
  --bdr: #1e3050;
  --txt: #c8d8f0;
  --dim: #4a6080;
  font-family: 'Rajdhani','Segoe UI',sans-serif !important;
  font-size: 15px !important;
  color: var(--txt) !important;
  background: var(--bg) !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  height: auto !important;
  min-height: 0 !important;
}
#lfp-root *, #lfp-root *::before, #lfp-root *::after {
  box-sizing: border-box !important;
}
#lfp-root p, #lfp-root h1, #lfp-root h2, #lfp-root h3 {
  margin: 0 !important; padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   AUTH — Login/Register
   ══════════════════════════════════════════════════════════ */
#lfp-auth {
  /* Block statt Flex — kein Stretch auf Parent-Höhe */
  display: block !important;
  padding: 40px 16px !important;
  background: var(--bg) !important;
  background-image:
    linear-gradient(rgba(0,229,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.025) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
}
.lfp-card {
  width: 100% !important;
  max-width: 480px !important;
  background: var(--pan) !important;
  border: 1px solid var(--bdr) !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 auto !important;
}
.lfp-card::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--c), transparent) !important;
}
.lfp-logo {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; padding: 28px 16px 18px !important; gap: 6px !important;
}
.lfp-logo svg { filter: drop-shadow(0 0 10px var(--c)); }
.lfp-logo-title {
  font-family: 'Orbitron',monospace !important;
  font-size: 20px !important; font-weight: 900 !important; letter-spacing: 5px !important;
  color: #fff !important; text-align: center !important;
}
.lfp-logo-sub {
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 10px !important; letter-spacing: 3px !important;
  color: var(--c) !important; opacity: .7 !important; text-align: center !important;
}
.lfp-tab-bar { display: flex !important; border-bottom: 1px solid var(--bdr) !important; }
.lfp-tab {
  flex: 1 !important; padding: 14px 8px !important;
  background: none !important; border: none !important;
  color: var(--dim) !important; font-family: 'Orbitron',monospace !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: 2px !important;
  cursor: pointer !important; transition: all .2s !important;
  position: relative !important; text-align: center !important;
}
.lfp-tab.active { color: var(--c) !important; background: rgba(0,229,255,.03) !important; }
.lfp-tab.active::after {
  content: '' !important; position: absolute !important;
  bottom: -1px !important; left: 0 !important; right: 0 !important;
  height: 2px !important; background: var(--c) !important;
}
.lfp-steps-bar { display: flex !important; border-bottom: 1px solid var(--bdr) !important; background: var(--bg2) !important; }
.lfp-step {
  flex: 1 !important; padding: 10px 4px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important;
  font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important;
  letter-spacing: 1px !important; color: var(--dim) !important;
}
.lfp-sn {
  width: 16px !important; height: 16px !important; border-radius: 50% !important;
  border: 1px solid currentColor !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 9px !important; flex-shrink: 0 !important;
}
.lfp-step.active { color: var(--c) !important; }
.lfp-step.done { color: var(--g) !important; }
.lfp-step.done .lfp-sn::after { content: '✓' !important; }
.lfp-step.done .lfp-sl { display: none !important; }
.lfp-pane { display: none !important; padding: 20px 16px !important; }
.lfp-pane.active { display: block !important; }
.lfp-pane-inner { padding: 18px 16px !important; }
.lfp-field { margin-bottom: 14px !important; }
.lfp-field label {
  display: block !important; font-family: 'Share Tech Mono',monospace !important;
  font-size: 9px !important; letter-spacing: 2px !important;
  color: var(--c) !important; margin-bottom: 6px !important; opacity: .8 !important;
}
#lfp-root input[type=text],
#lfp-root input[type=password] {
  width: 100% !important; background: var(--bg2) !important;
  border: 1px solid var(--bdr) !important; color: #fff !important;
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 15px !important; padding: 12px 14px !important; outline: none !important;
  border-radius: 4px !important; -webkit-appearance: none !important; display: block !important;
}
#lfp-root input:focus { border-color: var(--c) !important; }
#lfp-root input.ok  { border-color: var(--g) !important; }
#lfp-root input.err { border-color: var(--r) !important; }
.lfp-hint { display: block !important; font-size: 11px !important; color: var(--dim) !important; margin-top: 4px !important; }
.lfp-row  { display: flex !important; gap: 8px !important; }
.lfp-row input { flex: 1 !important; min-width: 0 !important; }
.lfp-btn-primary {
  width: 100% !important; padding: 14px !important; margin-top: 4px !important;
  background: rgba(0,64,96,.8) !important;
  border: 1px solid var(--c) !important; color: var(--c) !important;
  font-family: 'Orbitron',monospace !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: 3px !important; text-align: center !important;
  cursor: pointer !important; border-radius: 4px !important; display: block !important;
}
.lfp-btn-primary:disabled { opacity: .35 !important; cursor: not-allowed !important; }
.lfp-btn-verify {
  background: transparent !important; border: 1px solid var(--c) !important; color: var(--c) !important;
  font-family: 'Orbitron',monospace !important; font-size: 10px !important; font-weight: 700 !important;
  padding: 0 12px !important; cursor: pointer !important; min-width: 80px !important;
  border-radius: 4px !important; white-space: nowrap !important;
}
.lfp-btn-verify:disabled { opacity: .35 !important; }
.lfp-btn-row { display: flex !important; gap: 10px !important; margin-top: 4px !important; }
.lfp-btn-confirm {
  flex: 1 !important; padding: 12px !important; background: transparent !important;
  border: 1px solid var(--g) !important; color: var(--g) !important;
  font-family: 'Orbitron',monospace !important; font-size: 10px !important;
  font-weight: 700 !important; letter-spacing: 2px !important; cursor: pointer !important;
  border-radius: 4px !important; text-align: center !important;
}
.lfp-btn-back {
  background: transparent !important; border: 1px solid var(--bdr) !important; color: var(--dim) !important;
  font-family: 'Share Tech Mono',monospace !important; font-size: 13px !important;
  padding: 10px 14px !important; cursor: pointer !important; border-radius: 4px !important;
}
.lfp-scan { display: none !important; margin-top: 8px !important; background: var(--bg2) !important;
  border: 1px solid var(--bdr) !important; padding: 10px 12px !important;
  position: relative !important; overflow: hidden !important; border-radius: 4px !important; }
.lfp-scan.active { display: block !important; }
.lfp-scan-bar { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important; background: linear-gradient(90deg, transparent, var(--c), transparent) !important;
  animation: lfpSH 1.1s linear infinite !important; }
@keyframes lfpSH { from{transform:translateX(-100%)} to{transform:translateX(100%)} }
.lfp-scan-steps { list-style: none !important; }
.lfp-scan-steps li { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; padding:2px 0 !important; }
.lfp-scan-steps li.done { color:var(--g) !important; }
.lfp-scan-steps li.done::before { content:'✓ ' !important; }
.lfp-scan-steps li.cur  { color:var(--c) !important; animation:lfpBl .7s infinite !important; }
.lfp-scan-steps li.cur::before { content:'▶ ' !important; }
@keyframes lfpBl { 0%,100%{opacity:1}50%{opacity:.2} }
.lfp-vstatus { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; margin-top:6px !important; }
.lfp-vstatus.ok { color:var(--g) !important; }
.lfp-vstatus.fail { color:var(--r) !important; }
.lfp-cn-box { background:rgba(0,229,255,.04) !important; border:1px solid rgba(0,229,255,.2) !important;
  padding:16px !important; margin-bottom:16px !important; text-align:center !important; border-radius:4px !important; }
.lfp-cn-label { font-family:'Share Tech Mono',monospace !important; font-size:9px !important; letter-spacing:2px !important; color:var(--dim) !important; margin-bottom:8px !important; display:block !important; }
.lfp-cn-val { font-family:'Orbitron',monospace !important; font-size:22px !important; font-weight:900 !important; color:var(--c) !important; word-break:break-word !important; display:block !important; }
.lfp-cn-aka { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; margin-top:4px !important; display:block !important; }
.lfp-cn-sub { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; margin-top:6px !important; display:block !important; }
.lfp-msg { display:none; padding:10px 12px !important; margin-bottom:12px !important;
  font-family:'Share Tech Mono',monospace !important; font-size:11px !important; border-left:3px solid !important; border-radius:2px !important; }
.lfp-msg-error   { display:block !important; background:rgba(255,51,88,.07) !important; border-color:var(--r) !important; color:var(--r) !important; }
.lfp-msg-success { display:block !important; background:rgba(0,255,136,.07) !important; border-color:var(--g) !important; color:var(--g) !important; }
.lfp-msg-info { display:block !important; background:rgba(241,196,15,.07) !important; border-color:rgba(241,196,15,.3) !important; color:#f1c40f !important; }

/* ══════════════════════════════════════════════════════════
   TOPBAR — kompakt, alles sichtbar
   ══════════════════════════════════════════════════════════ */
#lfp-member { background: var(--bg) !important; }

.lfp-topbar {
  background: var(--pan) !important; border-bottom: 1px solid var(--bdr) !important;
  padding: 0 12px !important; display: flex !important;
  align-items: center !important; justify-content: space-between !important;
  height: 48px !important; position: sticky !important; top: 0 !important; z-index: 1000 !important;
  gap: 8px !important;
}
.lfp-topbar-brand {
  font-family: 'Orbitron',monospace !important; font-size: 11px !important;
  font-weight: 900 !important; letter-spacing: 1px !important; color: var(--c) !important;
  white-space: nowrap !important; flex-shrink: 1 !important; min-width: 0 !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
}
.lfp-topbar-right {
  display: flex !important; align-items: center !important;
  gap: 6px !important; flex-shrink: 0 !important;
}
#lfp-uname {
  font-family: 'Orbitron',monospace !important; font-size: 11px !important;
  font-weight: 700 !important; color: #fff !important;
  white-space: nowrap !important; max-width: 90px !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
}
#lfp-uid { display: none !important; } /* auf mobile immer versteckt */
.lfp-btn-settings {
  background: transparent !important; border: 1px solid var(--bdr) !important; color: var(--dim) !important;
  font-size: 15px !important; width: 32px !important; height: 32px !important; cursor: pointer !important;
  border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; padding: 0 !important;
}
.lfp-btn-logout {
  background: transparent !important; border: 1px solid var(--bdr) !important; color: var(--dim) !important;
  font-family: 'Share Tech Mono',monospace !important; font-size: 9px !important; letter-spacing: 1px !important;
  padding: 6px 10px !important; cursor: pointer !important; border-radius: 4px !important; white-space: nowrap !important;
}

/* ══════════════════════════════════════════════════════════
   NAV-BAR — kompakt, alle Tabs sichtbar
   ══════════════════════════════════════════════════════════ */
.lfp-nav-bar {
  background: var(--pan) !important; border-bottom: 1px solid var(--bdr) !important;
  display: flex !important; width: 100% !important;
  position: sticky !important; top: 48px !important; z-index: 99 !important;
}
.lfp-nav-btn {
  flex: 1 !important;
  padding: 10px 4px !important;
  background: none !important; border: none !important; border-bottom: 2px solid transparent !important;
  color: var(--dim) !important; font-family: 'Orbitron',monospace !important;
  font-size: 8px !important; font-weight: 700 !important; letter-spacing: 1px !important;
  cursor: pointer !important; transition: all .2s !important; text-align: center !important;
  white-space: nowrap !important; min-width: 0 !important;
}
.lfp-nav-btn:hover  { color: var(--c) !important; }
.lfp-nav-btn.active { color: var(--c) !important; border-bottom-color: var(--c) !important; background: rgba(0,229,255,.04) !important; }
.lfp-nav-icon { font-size: 14px !important; display: block !important; margin-bottom: 2px !important; }

/* ══════════════════════════════════════════════════════════
   CONTENT & SETTINGS
   ══════════════════════════════════════════════════════════ */
.lfp-content { padding: 14px !important; max-width: 1400px !important; margin: 0 auto !important; width: 100% !important; }

.lfp-settings-panel { display:none !important; background:var(--pan) !important; border:1px solid var(--bdr) !important; border-top:2px solid var(--c) !important; margin-bottom:14px !important; }
.lfp-settings-panel.open { display:block !important; }
.lfp-settings-header { display:flex !important; align-items:center !important; justify-content:space-between !important; padding:12px 14px !important; background:var(--bg2) !important; border-bottom:1px solid var(--bdr) !important; }
.lfp-settings-title { font-family:'Orbitron',monospace !important; font-size:10px !important; font-weight:700 !important; letter-spacing:2px !important; color:var(--c) !important; }
.lfp-settings-close { background:none !important; border:none !important; color:var(--dim) !important; cursor:pointer !important; font-size:18px !important; padding:0 !important; }
.lfp-settings-body { display:block !important; padding:14px !important; }
.lfp-settings-section { margin-bottom:20px !important; }
.lfp-settings-section:last-child { margin-bottom:0 !important; }
.lfp-settings-section-title { font-family:'Share Tech Mono',monospace !important; font-size:9px !important; letter-spacing:2px !important; color:var(--c) !important; margin-bottom:12px !important; display:block !important; }
.lfp-settings-divider { display:none !important; }
.lfp-btn-save { padding:11px 18px !important; background:transparent !important; border:1px solid var(--c) !important; color:var(--c) !important; font-family:'Orbitron',monospace !important; font-size:9px !important; font-weight:700 !important; letter-spacing:2px !important; cursor:pointer !important; border-radius:4px !important; }
.lfp-btn-save:disabled { opacity:.35 !important; }
.lfp-btn-delete { padding:11px 18px !important; background:transparent !important; border:1px solid var(--r) !important; color:var(--r) !important; font-family:'Orbitron',monospace !important; font-size:9px !important; font-weight:700 !important; letter-spacing:2px !important; cursor:pointer !important; border-radius:4px !important; }

/* ══════════════════════════════════════════════════════════
   HERO — horizontal, kompakt
   ══════════════════════════════════════════════════════════ */
.lfp-hero {
  display: flex !important; align-items: center !important; gap: 14px !important;
  background: var(--pan) !important; border: 1px solid var(--bdr) !important;
  border-top: 2px solid var(--c) !important;
  padding: 16px !important; margin-bottom: 12px !important; border-radius: 4px !important;
}
.lfp-hero-avatar {
  width: 54px !important; height: 54px !important; border: 2px solid var(--c) !important;
  border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(0,229,255,.07) !important; flex-shrink: 0 !important;
}
.lfp-hero-info { flex: 1 !important; min-width: 0 !important; }
.lfp-hero-name {
  font-family: 'Orbitron',monospace !important; font-size: 20px !important;
  font-weight: 900 !important; color: #fff !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
  white-space: nowrap !important; display: block !important; margin-bottom: 4px !important;
}
.lfp-hero-aka { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; margin-bottom:8px !important; display:block !important; }
.lfp-hero-badges {
  display: flex !important; flex-wrap: wrap !important; gap: 5px !important;
}
.lfp-badge {
  font-family:'Share Tech Mono',monospace !important; font-size:10px !important;
  padding:3px 8px !important; border:1px solid var(--bdr) !important;
  color:var(--txt) !important; border-radius:3px !important; white-space:nowrap !important;
}
.lfp-badge.cyan   { border-color:rgba(0,229,255,.4) !important;  color:var(--c) !important;  background:rgba(0,229,255,.06) !important; }
.lfp-badge.yellow { border-color:rgba(255,204,0,.4) !important;   color:var(--y) !important;  background:rgba(255,204,0,.06) !important; }
.lfp-badge.green  { border-color:rgba(0,255,136,.4) !important;   color:var(--g) !important;  background:rgba(0,255,136,.06) !important; }

/* ══════════════════════════════════════════════════════════
   STAT CARDS — 2 Spalten auf Mobile, 6 auf Desktop
   ══════════════════════════════════════════════════════════ */
.lfp-stats-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important; margin-bottom: 14px !important;
}
.lfp-sc {
  background: var(--pan) !important; border: 1px solid var(--bdr) !important;
  border-top: 3px solid var(--c) !important; padding: 12px !important;
  border-radius: 4px !important;
}
.lfp-sc.lfp-green  { border-top-color: var(--g) !important; }
.lfp-sc.lfp-yellow { border-top-color: var(--y) !important; }
.lfp-sc.lfp-purple { border-top-color: var(--pu) !important; }
.lfp-sc-label { font-family:'Share Tech Mono',monospace !important; font-size:8px !important; letter-spacing:1px !important; color:var(--dim) !important; text-transform:uppercase !important; display:block !important; margin-bottom:5px !important; }
.lfp-sc-value { font-family:'Orbitron',monospace !important; font-weight:700 !important; color:#fff !important; font-size:15px !important; word-break:break-word !important; display:block !important; line-height:1.2 !important; }
.lfp-sc.lfp-green  .lfp-sc-value { color:var(--g) !important; }
.lfp-sc.lfp-yellow .lfp-sc-value { color:var(--y) !important; }
.lfp-sc.lfp-purple .lfp-sc-value { color:var(--pu) !important; }

/* ══════════════════════════════════════════════════════════
   SECTION HEADERS
   ══════════════════════════════════════════════════════════ */
.lfp-sec-hdr { display:flex !important; align-items:center !important; gap:8px !important; margin-bottom:10px !important; flex-wrap:wrap !important; }
.lfp-sec-title { font-family:'Orbitron',monospace !important; font-size:10px !important; font-weight:700 !important; letter-spacing:2px !important; color:var(--c) !important; white-space:nowrap !important; }
.lfp-sec-line  { flex:1 !important; height:1px !important; background:linear-gradient(90deg,var(--bdr),transparent) !important; min-width:10px !important; }
.lfp-centre-tag { display:inline-flex !important; align-items:center !important; gap:5px !important; font-family:'Share Tech Mono',monospace !important; font-size:9px !important; color:var(--g) !important; border:1px solid rgba(0,255,136,.3) !important; padding:3px 8px !important; border-radius:3px !important; white-space:nowrap !important; }
.lfp-dot-green { width:6px !important; height:6px !important; border-radius:50% !important; background:var(--g) !important; flex-shrink:0 !important; }
.lfp-btn-refresh { background:transparent !important; border:1px solid var(--c) !important; color:var(--c) !important; font-family:'Share Tech Mono',monospace !important; font-size:10px !important; padding:6px 12px !important; cursor:pointer !important; border-radius:4px !important; white-space:nowrap !important; }
.lfp-btn-refresh:disabled { opacity:.35 !important; }

/* ══════════════════════════════════════════════════════════
   ARENA — Card-Layout statt Tabelle
   ══════════════════════════════════════════════════════════ */
.lfp-arena { margin-bottom:6px !important; border-radius:4px !important; overflow:hidden !important; }
.lfp-arena-header {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  padding:12px 14px !important; background:var(--bg2) !important; border:1px solid var(--bdr) !important;
  cursor:pointer !important; gap:8px !important;
}
.lfp-arena-header.lfp-target { border-color:rgba(0,255,136,.4) !important; background:rgba(0,255,136,.03) !important; }
.lfp-arena-name { font-family:'Orbitron',monospace !important; font-size:10px !important; font-weight:600 !important; color:var(--txt) !important; flex:1 !important; min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.lfp-arena-header.lfp-target .lfp-arena-name { color:var(--g) !important; }
.lfp-arena-meta { display:flex !important; align-items:center !important; gap:8px !important; flex-shrink:0 !important; }
.lfp-arena-count { font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--c) !important; }
.lfp-chevron { font-size:12px !important; color:var(--dim) !important; }
.lfp-arena-body { display:none !important; border:1px solid var(--bdr) !important; border-top:none !important; }
.lfp-arena-body.open { display:block !important; }

/* Card-Layout für Arena-Zeilen (keine horizontale Tabelle) */
.lfp-arena-cards { padding:10px !important; display:flex !important; flex-direction:column !important; gap:6px !important; }
.lfp-arena-row-card {
  background: var(--bg2) !important; border:1px solid var(--bdr) !important;
  border-radius:4px !important; padding:10px 12px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:8px !important; flex-wrap:wrap !important;
}
.lfp-arc-name { font-family:'Orbitron',monospace !important; font-size:11px !important; font-weight:600 !important; color:#fff !important; flex:1 !important; min-width:120px !important; }
.lfp-arc-stats { display:flex !important; gap:12px !important; flex-wrap:wrap !important; }
.lfp-arc-stat { text-align:center !important; }
.lfp-arc-stat-val { font-family:'Orbitron',monospace !important; font-size:13px !important; font-weight:700 !important; color:var(--c) !important; display:block !important; }
.lfp-arc-stat-lbl { font-family:'Share Tech Mono',monospace !important; font-size:8px !important; color:var(--dim) !important; display:block !important; letter-spacing:1px !important; }

/* ══════════════════════════════════════════════════════════
   MISSIONEN — Card-Layout statt Tabelle
   ══════════════════════════════════════════════════════════ */
.lfp-mission-cards { display:flex !important; flex-direction:column !important; gap:6px !important; }
.lfp-mission-card {
  background:var(--pan) !important; border:1px solid var(--bdr) !important;
  border-left:3px solid var(--c) !important; border-radius:4px !important;
  padding:10px 12px !important; display:flex !important; align-items:center !important;
  justify-content:space-between !important; gap:10px !important; flex-wrap:wrap !important;
}
.lfp-mc-name { font-family:'Share Tech Mono',monospace !important; font-size:12px !important; color:#fff !important; flex:1 !important; min-width:100px !important; }
.lfp-mc-date { font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--dim) !important; white-space:nowrap !important; }
.lfp-mc-score { font-family:'Orbitron',monospace !important; font-size:14px !important; font-weight:700 !important; color:var(--y) !important; white-space:nowrap !important; }

/* Fallback: Tabelle nur wenn nötig */
.lfp-tbl-wrap { background:var(--pan) !important; border:1px solid var(--bdr) !important; overflow-x:auto !important; border-radius:4px !important; }
.lfp-tbl-wrap table { width:100% !important; border-collapse:collapse !important; min-width:320px !important; }
.lfp-tbl-wrap th { background:var(--bg2) !important; font-family:'Share Tech Mono',monospace !important; font-size:9px !important; letter-spacing:1px !important; color:var(--c) !important; padding:9px 12px !important; text-align:left !important; border-bottom:1px solid var(--bdr) !important; white-space:nowrap !important; }
.lfp-tbl-wrap td { font-family:'Share Tech Mono',monospace !important; font-size:12px !important; color:var(--txt) !important; padding:8px 12px !important; border-bottom:1px solid rgba(30,48,80,.4) !important; }
.lfp-tbl-wrap tr:last-child td { border-bottom:none !important; }
.lfp-empty { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; padding:24px !important; text-align:center !important; display:block !important; }

/* ══════════════════════════════════════════════════════════
   OVERLAY
   ══════════════════════════════════════════════════════════ */
.lfp-overlay { display:none; position:fixed !important; inset:0 !important; background:rgba(5,8,16,.9) !important; z-index:99999 !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:14px !important; }
.lfp-spinner { width:44px !important; height:44px !important; border:3px solid var(--bdr) !important; border-top-color:var(--c) !important; border-radius:50% !important; animation:lfpSpin 1s linear infinite !important; }
@keyframes lfpSpin { to{transform:rotate(360deg)} }
.lfp-overlay-text { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; letter-spacing:2px !important; color:var(--c) !important; }

/* ══════════════════════════════════════════════════════════
   CLAN & SOCIAL
   ══════════════════════════════════════════════════════════ */
.lfp-clan-empty-box { text-align:center !important; padding:32px 16px !important; background:var(--pan) !important; border:1px solid var(--bdr) !important; margin-bottom:16px !important; border-radius:4px !important; }
.lfp-clan-empty-icon { font-size:40px !important; color:var(--dim) !important; margin-bottom:10px !important; display:block !important; }
.lfp-clan-empty-title { font-family:'Orbitron',monospace !important; font-size:16px !important; font-weight:700 !important; color:var(--txt) !important; margin-bottom:6px !important; display:block !important; }
.lfp-clan-empty-sub { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; display:block !important; }
.lfp-clan-create-form { background:var(--pan) !important; border:1px solid var(--bdr) !important; border-top:2px solid var(--c) !important; padding:16px !important; border-radius:4px !important; }
.lfp-clan-form-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
.lfp-clan-header {
  display: flex !important; flex-direction: row !important;
  align-items: flex-start !important; gap: 14px !important;
  background: var(--pan) !important; border: 1px solid var(--bdr) !important;
  border-top: 2px solid var(--c) !important; padding: 16px !important;
  margin-bottom: 12px !important; border-radius: 4px !important;
}
.lfp-clan-img, .lfp-clan-img-placeholder {
  width: 64px !important; height: 64px !important; min-width: 64px !important;
  border-radius: 50% !important; object-fit: cover !important;
  border: 2px solid var(--bdr) !important; flex-shrink: 0 !important;
}
.lfp-clan-img-placeholder {
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: var(--bg2) !important; font-size: 26px !important; color: var(--dim) !important;
}
.lfp-clan-header-info {
  flex: 1 !important; min-width: 0 !important; overflow: hidden !important;
}
.lfp-clan-tag-badge {
  font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important;
  color: var(--c) !important; margin-bottom: 3px !important; display: block !important;
}
.lfp-clan-name {
  font-family: 'Orbitron',monospace !important; font-size: 16px !important;
  font-weight: 900 !important; color: #fff !important; margin-bottom: 4px !important;
  word-break: break-word !important; white-space: normal !important; display: block !important;
}
.lfp-clan-desc {
  font-family: 'Share Tech Mono',monospace !important; font-size: 11px !important;
  color: var(--dim) !important; margin-bottom: 4px !important;
  word-break: break-word !important; white-space: normal !important; display: block !important;
}
.lfp-clan-meta {
  font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important;
  color: var(--dim) !important; display: block !important;
}
.lfp-clan-roles { display: flex !important; gap: 6px !important; margin-top: 8px !important; flex-wrap: wrap !important; }
.lfp-role-badge { font-family:'Share Tech Mono',monospace !important; font-size:9px !important; padding:3px 8px !important; border-radius:3px !important; letter-spacing:1px !important; }
.lfp-role-badge.captain   { background:rgba(255,204,0,.1) !important; border:1px solid var(--y) !important; color:var(--y) !important; }
.lfp-role-badge.cocaptain { background:rgba(0,229,255,.1) !important; border:1px solid var(--c) !important; color:var(--c) !important; }
.lfp-clan-members-section,.lfp-clan-requests { background:var(--pan) !important; border:1px solid var(--bdr) !important; padding:14px !important; margin-bottom:10px !important; border-radius:4px !important; }
.lfp-clan-invite-row { margin-top:14px !important; }
.lfp-clan-actions { display:flex !important; gap:8px !important; flex-wrap:wrap !important; margin-top:12px !important; }
.lfp-clan-member-row { display:flex !important; align-items:center !important; gap:8px !important; padding:9px 0 !important; border-bottom:1px solid rgba(30,48,80,.5) !important; flex-wrap:wrap !important; }
.lfp-clan-member-row:last-of-type { border-bottom:none !important; }
.lfp-member-name { font-family:'Orbitron',monospace !important; font-size:12px !important; color:#fff !important; font-weight:700 !important; }
.lfp-member-id   { font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--dim) !important; }
.lfp-btn-small { padding:5px 10px !important; background:transparent !important; border:1px solid var(--c) !important; color:var(--c) !important; font-family:'Share Tech Mono',monospace !important; font-size:10px !important; cursor:pointer !important; border-radius:3px !important; white-space:nowrap !important; }
.lfp-btn-small.danger { border-color:var(--r) !important; color:var(--r) !important; }

/* Clan Cards — 1 Spalte auf Mobile */
.lfp-clans-grid { display:flex !important; flex-direction:column !important; gap:10px !important; }
.lfp-clan-card { background:var(--pan) !important; border:1px solid var(--bdr) !important; padding:14px !important; border-radius:4px !important; }
.lfp-clan-card-top { display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:10px !important; }
.lfp-clan-card-img,.lfp-clan-card-img-placeholder { width:48px !important; height:48px !important; border-radius:50% !important; object-fit:cover !important; border:1px solid var(--bdr) !important; flex-shrink:0 !important; }
.lfp-clan-card-img-placeholder { display:flex !important; align-items:center !important; justify-content:center !important; background:var(--bg2) !important; font-size:20px !important; color:var(--dim) !important; }
.lfp-clan-card-tag  { font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--c) !important; }
.lfp-clan-card-name { font-family:'Orbitron',monospace !important; font-size:14px !important; font-weight:700 !important; color:#fff !important; }
.lfp-clan-card-count{ font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--dim) !important; }
.lfp-clan-card-desc { font-family:'Share Tech Mono',monospace !important; font-size:11px !important; color:var(--dim) !important; margin-bottom:8px !important; }
.lfp-clan-card-captain { margin:6px 0 8px !important; }
.lfp-clan-card-actions { display:flex !important; gap:8px !important; flex-wrap:wrap !important; }

/* Freunde */
.lfp-friends-search,.lfp-friends-section { background:var(--pan) !important; border:1px solid var(--bdr) !important; padding:14px !important; margin-bottom:10px !important; border-radius:4px !important; }
.lfp-friend-row { display:flex !important; align-items:center !important; gap:8px !important; padding:9px 0 !important; border-bottom:1px solid rgba(30,48,80,.4) !important; flex-wrap:wrap !important; }
.lfp-friend-row:last-child { border-bottom:none !important; }
.lfp-req-badge { display:inline-block !important; background:var(--r) !important; color:#fff !important; font-size:9px !important; font-weight:700 !important; padding:1px 5px !important; border-radius:10px !important; margin-left:4px !important; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — Alle Geräteklassen
   
   📱 Handy:       < 640px   (default — Mobile First)
   📱 Großes Handy: 480px+
   💻 Tablet:       640px+
   🖥  Laptop:       1024px+
   🖥  Desktop:      1440px+
   📺  TV/4K:        1920px+
   ══════════════════════════════════════════════════════════ */

/* 📱 Großes Handy (480px+) */
@media (min-width: 480px) {
  .lfp-logo-title { font-size: 22px !important; }
  .lfp-hero-name  { font-size: 22px !important; }
  .lfp-stats-grid { grid-template-columns: repeat(3,1fr) !important; }
  .lfp-clan-form-grid { grid-template-columns: 1fr 1fr !important; }
}

/* 💻 Tablet (640px+) */
@media (min-width: 640px) {
  .lfp-topbar { height: 54px !important; padding: 0 20px !important; }
  .lfp-nav-bar { top: 54px !important; }
  .lfp-nav-btn { font-size: 9px !important; padding: 12px 10px !important; }
  #lfp-uid { display: inline !important; font-family:'Share Tech Mono',monospace !important; font-size:10px !important; color:var(--dim) !important; }
  .lfp-topbar-brand { font-size: 12px !important; letter-spacing: 1px !important; }
  .lfp-content { padding: 18px !important; }
  .lfp-hero { padding: 18px !important; gap: 16px !important; }
  .lfp-hero-name { font-size: 24px !important; }
  .lfp-hero-avatar { width: 60px !important; height: 60px !important; }
  .lfp-stats-grid { grid-template-columns: repeat(3,1fr) !important; gap: 10px !important; }
  .lfp-sc-value { font-size: 16px !important; }
  .lfp-clans-grid { display: grid !important; grid-template-columns: repeat(2,1fr) !important; }
  .lfp-settings-body { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; padding: 20px !important; }
  .lfp-card { max-width: 500px !important; }
  .lfp-arena-row-card { flex-wrap: nowrap !important; }
}

/* 🖥 Laptop (1024px+) — Tabellen statt Cards */
@media (min-width: 1024px) {
  .lfp-topbar { height: 56px !important; padding: 0 28px !important; }
  .lfp-nav-bar { top: 56px !important; }
  .lfp-nav-btn { font-size: 10px !important; letter-spacing: 2px !important; padding: 14px 12px !important; }
  .lfp-topbar-brand { font-size: 13px !important; letter-spacing: 2px !important; }
  .lfp-content { padding: 22px !important; max-width: 1400px !important; }
  .lfp-hero { padding: 22px 24px !important; gap: 20px !important; }
  .lfp-hero-name { font-size: 26px !important; }
  .lfp-hero-avatar { width: 64px !important; height: 64px !important; }
  .lfp-stats-grid { grid-template-columns: repeat(6,1fr) !important; gap: 10px !important; }
  .lfp-sc-value { font-size: clamp(12px, 1.3vw, 18px) !important; }
  .lfp-sc { padding: 14px !important; }
  .lfp-clans-grid { grid-template-columns: repeat(3,1fr) !important; }
  .lfp-settings-body { grid-template-columns: 1fr 1fr 1fr !important; padding: 24px !important; }
  .lfp-clan-name { font-size: 22px !important; }
  /* Tabellen anzeigen, Cards verstecken */
  .lfp-arena-cards   { display: none !important; }
  .lfp-mission-cards { display: none !important; }
  .lfp-arena-table   { display: block !important; }
  .lfp-mission-table { display: block !important; }
}

/* 🖥 Großer Desktop (1440px+) */
@media (min-width: 1440px) {
  .lfp-content { padding: 28px !important; }
  .lfp-hero { padding: 26px 28px !important; }
  .lfp-hero-name { font-size: 28px !important; }
  .lfp-hero-avatar { width: 70px !important; height: 70px !important; }
  .lfp-sc-value { font-size: 18px !important; }
  .lfp-sc { padding: 18px !important; }
  .lfp-clans-grid { grid-template-columns: repeat(4,1fr) !important; }
  .lfp-nav-btn { font-size: 11px !important; padding: 16px 20px !important; }
  .lfp-topbar { height: 60px !important; }
  .lfp-nav-bar { top: 60px !important; }
  .lfp-arena-row-card { padding: 14px 20px !important; }
}

/* 📺 TV / 4K (1920px+) */
@media (min-width: 1920px) {
  #lfp-root { font-size: 17px !important; }
  .lfp-content { padding: 40px !important; max-width: 1800px !important; }
  .lfp-hero { padding: 32px !important; gap: 28px !important; border-radius: 6px !important; }
  .lfp-hero-name { font-size: 34px !important; }
  .lfp-hero-avatar { width: 86px !important; height: 86px !important; }
  .lfp-hero-avatar svg { transform: scale(1.3) !important; }
  .lfp-sc { padding: 22px !important; }
  .lfp-sc-value { font-size: 22px !important; }
  .lfp-sc-label { font-size: 10px !important; }
  .lfp-clans-grid { grid-template-columns: repeat(5,1fr) !important; gap: 16px !important; }
  .lfp-stats-grid { gap: 14px !important; margin-bottom: 24px !important; }
  .lfp-nav-btn { font-size: 13px !important; padding: 18px 24px !important; letter-spacing: 3px !important; }
  .lfp-nav-icon { font-size: 18px !important; margin-bottom: 4px !important; }
  .lfp-topbar { height: 70px !important; }
  .lfp-nav-bar { top: 70px !important; }
  .lfp-topbar-brand { font-size: 15px !important; letter-spacing: 3px !important; }
  #lfp-uname { font-size: 14px !important; max-width: 200px !important; }
  .lfp-btn-logout { font-size: 11px !important; padding: 10px 18px !important; }
  .lfp-arena-row-card { padding: 16px 24px !important; }
  .lfp-arc-name { font-size: 14px !important; }
  .lfp-arc-stat-val { font-size: 18px !important; }
  .lfp-arc-stat-lbl { font-size: 10px !important; }
  .lfp-mission-card { padding: 16px 20px !important; }
  .lfp-mc-name { font-size: 14px !important; }
  .lfp-mc-score { font-size: 18px !important; }
  .lfp-badge { font-size: 12px !important; padding: 5px 14px !important; }
  .lfp-logo-title { font-size: 28px !important; }
}

/* ══════════════════════════════════════════════════════════
   TABELLEN / CARDS — Responsive Umschaltung
   Mobile: Cards sichtbar, Tabelle versteckt
   Desktop (1024px+): Tabelle sichtbar, Cards versteckt
   ══════════════════════════════════════════════════════════ */

/* Mobile default: Cards sichtbar */
.lfp-arena-table  { display: none !important; }
.lfp-mission-table { display: none !important; }
.lfp-arena-cards  { display: flex !important; }
.lfp-mission-cards { display: flex !important; }

/* Tabellen-Styling (Desktop) */
.lfp-arena-table table,
.lfp-mission-table table { width:100% !important; border-collapse:collapse !important; }
.lfp-arena-table th,
.lfp-mission-table th {
  background: var(--bg2) !important; font-family:'Share Tech Mono',monospace !important;
  font-size: 10px !important; letter-spacing: 1px !important; color: var(--c) !important;
  padding: 10px 14px !important; text-align: left !important;
  border-bottom: 1px solid var(--bdr) !important; white-space: nowrap !important;
}
.lfp-arena-table td,
.lfp-mission-table td {
  font-family: 'Share Tech Mono',monospace !important; font-size: 13px !important;
  color: var(--txt) !important; padding: 9px 14px !important;
  border-bottom: 1px solid rgba(30,48,80,.4) !important; white-space: nowrap !important;
}
.lfp-arena-table tr:last-child td,
.lfp-mission-table tr:last-child td { border-bottom: none !important; }
.lfp-arena-table tr:hover td,
.lfp-mission-table tr:hover td { background: rgba(0,229,255,.02) !important; }

/* ══════════════════════════════════════════════════════════
   RANGLISTE
   ══════════════════════════════════════════════════════════ */
.lfp-ranking-subtitle {
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 11px !important; color: var(--g) !important;
  margin-bottom: 4px !important; letter-spacing: 1px !important;
}
.lfp-ranking-cache {
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 10px !important; color: var(--dim) !important;
  margin-bottom: 14px !important;
}
.lfp-ranking-loading { animation: lfpBl .8s infinite !important; }

.lfp-ranking-table {
  background: var(--pan) !important;
  border: 1px solid var(--bdr) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

/* Header */
.lfp-ranking-header {
  display: grid !important;
  grid-template-columns: 44px 1fr 90px 110px 110px 100px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 10px 14px !important;
  background: var(--bg2) !important;
  border-bottom: 1px solid var(--bdr) !important;
}
.lfp-ranking-header span {
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 9px !important; letter-spacing: 2px !important;
  color: var(--c) !important;
}

/* Zeilen */
.lfp-ranking-row {
  display: grid !important;
  grid-template-columns: 44px 1fr 90px 110px 110px 100px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid rgba(30,48,80,.4) !important;
  transition: background .15s !important;
}
.lfp-ranking-row:last-child { border-bottom: none !important; }
.lfp-ranking-row:hover { background: rgba(0,229,255,.02) !important; }
.lfp-ranking-me  { background: rgba(0,229,255,.04) !important; border-left: 2px solid var(--c) !important; }
.lfp-ranking-top:nth-child(2) { border-left: 2px solid gold !important; }
.lfp-ranking-top:nth-child(3) { border-left: 2px solid silver !important; }
.lfp-ranking-top:nth-child(4) { border-left: 2px solid #cd7f32 !important; }

.lfp-rk-pos {
  font-family: 'Orbitron',monospace !important;
  font-size: 14px !important; font-weight: 700 !important;
  color: var(--dim) !important; text-align: center !important;
}
.lfp-ranking-top .lfp-rk-pos { font-size: 18px !important; }

.lfp-rk-player { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
.lfp-rk-codename {
  font-family: 'Orbitron',monospace !important; font-size: 13px !important;
  font-weight: 700 !important; color: #fff !important;
  overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
}
.lfp-ranking-me .lfp-rk-codename { color: var(--c) !important; }
.lfp-rk-name {
  font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important;
  color: var(--dim) !important; overflow: hidden !important;
  text-overflow: ellipsis !important; white-space: nowrap !important;
}

.lfp-rk-missions {
  font-family: 'Orbitron',monospace !important; font-size: 15px !important;
  font-weight: 700 !important; color: var(--y) !important;
  text-align: right !important;
}
.lfp-ranking-top:nth-child(2) .lfp-rk-missions { color: gold !important; font-size: 17px !important; }

.lfp-rk-since, .lfp-rk-last {
  font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important;
  color: var(--dim) !important; white-space: nowrap !important;
}
.lfp-rk-action { display: flex !important; justify-content: flex-end !important; }

/* Mobile Ranking — kompakteres Grid */
@media (max-width: 768px) {
  .lfp-ranking-header { display: none !important; }
  .lfp-ranking-row {
    grid-template-columns: 36px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 4px 8px !important;
    padding: 10px 12px !important;
  }
  .lfp-rk-pos     { grid-row: 1 / 3 !important; font-size: 16px !important; align-self: center !important; }
  .lfp-rk-player  { grid-column: 2 !important; grid-row: 1 !important; }
  .lfp-rk-missions{ grid-column: 3 !important; grid-row: 1 !important; font-size: 14px !important; text-align: right !important; }
  .lfp-rk-since   { grid-column: 2 !important; grid-row: 2 !important; }
  .lfp-rk-last    { display: none !important; }
  .lfp-rk-action  { grid-column: 3 !important; grid-row: 2 !important; }
}

/* Ranking Filter Buttons */
.lfp-ranking-filter {
  display: flex !important; gap: 8px !important;
  margin-bottom: 10px !important; flex-wrap: wrap !important;
}
.lfp-filter-btn {
  padding: 8px 16px !important; background: transparent !important;
  border: 1px solid var(--bdr) !important; color: var(--dim) !important;
  font-family: 'Orbitron',monospace !important; font-size: 9px !important;
  font-weight: 700 !important; letter-spacing: 2px !important;
  cursor: pointer !important; border-radius: 4px !important; transition: all .2s !important;
}
.lfp-filter-btn.active {
  border-color: var(--c) !important; color: var(--c) !important;
  background: rgba(0,229,255,.06) !important;
}
.lfp-filter-btn:hover { border-color: var(--c) !important; color: var(--c) !important; }

/* Medaillen-Farben */
.lfp-rk-medal-0 { color: gold !important; font-size: 16px !important; }
.lfp-rk-medal-1 { color: silver !important; font-size: 15px !important; }
.lfp-rk-medal-2 { color: #cd7f32 !important; font-size: 14px !important; }

/* ══ ELO Suche & Pagination ══════════════════════════════════ */
.lfp-elo-search-row {
  margin-bottom: 12px !important;
}
.lfp-elo-search-row input {
  width: 100% !important;
  max-width: 380px !important;
  background: var(--bg2) !important;
  border: 1px solid var(--bdr) !important;
  color: #fff !important;
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
  outline: none !important;
}
.lfp-elo-search-row input:focus { border-color: var(--c) !important; }

.lfp-pagination {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 14px !important;
  background: var(--pan) !important;
  border-top: 1px solid var(--bdr) !important;
}
.lfp-pg-btn {
  min-width: 36px !important; height: 36px !important;
  background: transparent !important;
  border: 1px solid var(--bdr) !important; color: var(--dim) !important;
  font-family: 'Orbitron',monospace !important; font-size: 11px !important;
  cursor: pointer !important; border-radius: 4px !important; transition: all .2s !important;
}
.lfp-pg-btn:hover { border-color: var(--c) !important; color: var(--c) !important; }
.lfp-pg-btn.active { border-color: var(--c) !important; color: var(--c) !important; background: rgba(0,229,255,.08) !important; font-weight: 700 !important; }

/* ══ Schriftgröße global größer ══════════════════════════════ */
#lfp-root {
  font-size: 15px !important;
}
#lfp-root .lfp-rk-codename { font-size: 14px !important; }
#lfp-root .lfp-rk-name     { font-size: 12px !important; }
#lfp-root .lfp-rk-missions { font-size: 15px !important; }
#lfp-root .lfp-rk-since,
#lfp-root .lfp-rk-last,
#lfp-root .lfp-rk-action   { font-size: 12px !important; }
#lfp-root .lfp-ranking-header span { font-size: 10px !important; letter-spacing: 1px !important; }
#lfp-root .lfp-member-name  { font-size: 13px !important; }
#lfp-root .lfp-member-id    { font-size: 11px !important; }
#lfp-root .lfp-sc-value     { font-size: 17px !important; }
#lfp-root .lfp-sc-label     { font-size: 10px !important; }
#lfp-root .lfp-tbl-wrap td  { font-size: 13px !important; }
#lfp-root .lfp-tbl-wrap th  { font-size: 11px !important; }
#lfp-root .lfp-arc-name     { font-size: 13px !important; }
#lfp-root .lfp-arc-stat-val { font-size: 14px !important; }
#lfp-root .lfp-arc-stat-lbl { font-size: 10px !important; }
#lfp-root .lfp-mc-name      { font-size: 13px !important; }
#lfp-root .lfp-mc-score     { font-size: 15px !important; }
#lfp-root .lfp-mc-date      { font-size: 11px !important; }

/* ── Laserball Rangliste ───────────────────────────────────── */
.lfp-lb-header {
  display: grid !important;
  grid-template-columns: 44px 1fr 70px 70px 70px 70px 70px 70px 60px !important;
  gap: 6px !important;
  align-items: center !important;
  padding: 10px 14px !important;
  background: var(--bg2) !important;
  border-bottom: 1px solid var(--bdr) !important;
}
.lfp-lb-header span {
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 9px !important; letter-spacing: 1px !important; color: var(--c) !important;
}
.lfp-lb-row {
  display: grid !important;
  grid-template-columns: 44px 1fr 70px 70px 70px 70px 70px 70px 60px !important;
  gap: 6px !important;
  align-items: center !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid rgba(30,48,80,.4) !important;
}
.lfp-lb-row:last-child { border-bottom: none !important; }
.lfp-lb-col {
  font-family: 'Orbitron',monospace !important;
  font-size: 13px !important; text-align: center !important;
}
@media (max-width: 768px) {
  .lfp-lb-header { display: none !important; }
  .lfp-lb-row {
    grid-template-columns: 36px 1fr 50px 50px 50px !important;
    grid-template-rows: auto auto !important;
    gap: 4px 6px !important;
  }
  .lfp-lb-row .lfp-rk-pos    { grid-row: 1/3 !important; align-self: center !important; }
  .lfp-lb-row .lfp-rk-player { grid-column: 2 !important; grid-row: 1 !important; }
  /* Pässe und Steals auf Mobile ausblenden */
  .lfp-lb-row span:nth-child(5),
  .lfp-lb-row span:nth-child(6) { display: none !important; }
}

/* ══ Verwarnungs-System ═══════════════════════════════════════ */
.lfp-warn-banner {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: rgba(231,76,60,.12) !important;
  border: 1px solid rgba(231,76,60,.5) !important;
  border-left: 4px solid #e74c3c !important;
  border-radius: 4px !important;
  padding: 14px 18px !important;
  margin: 12px 16px 0 !important;
}
.lfp-warn-banner-icon { font-size: 24px !important; flex-shrink: 0 !important; }
.lfp-warn-banner-text { flex: 1 !important; font-family: 'Share Tech Mono',monospace !important; font-size: 13px !important; color: #fff !important; }
.lfp-warn-banner-text strong { color: #e74c3c !important; }

.lfp-modal-overlay {
  display: none !important;
  pointer-events: none !important;
}
.lfp-modal-overlay.lfp-modal-open {
  display: flex !important;
  pointer-events: auto !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.7) !important;
  z-index: 99999 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}
.lfp-modal-box {
  background: var(--bg2) !important;
  border: 1px solid #e74c3c !important;
  border-top: 3px solid #e74c3c !important;
  border-radius: 6px !important;
  width: 100% !important;
  max-width: 520px !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
}
.lfp-modal-hdr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--bdr) !important;
  font-family: 'Orbitron',monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #e74c3c !important;
}
.lfp-warn-section {
  padding: 12px 20px 4px !important;
  font-family: 'Share Tech Mono',monospace !important;
  font-size: 12px !important;
  color: var(--dim) !important;
  border-top: 1px solid var(--bdr) !important;
}
.lfp-warn-item {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid rgba(30,48,80,.3) !important;
}
.lfp-warn-num  { color: #e74c3c !important; font-size: 13px !important; flex-shrink: 0 !important; font-family: 'Orbitron',monospace !important; }
.lfp-warn-text { flex: 1 !important; font-family: 'Share Tech Mono',monospace !important; font-size: 13px !important; color: #fff !important; }
.lfp-warn-date { font-family: 'Share Tech Mono',monospace !important; font-size: 10px !important; color: var(--dim) !important; flex-shrink: 0 !important; }

/* Verwarnungen in Stats-Tab */
#lfp-my-warnings-section { margin-bottom: 20px !important; }


/* ══════════════════════════════════════════════════════════
   RESPONSIVE OVERHAUL — Mobile / Tablet / TV
   Breakpoints:
     Default = Mobile-first (< 480px)
     480px   = Smartphone landscape
     640px   = Tablet (already partially done)
     1024px  = Laptop (already done)
     1440px  = Desktop (already done)
     1920px  = TV / 4K (already done)
   ══════════════════════════════════════════════════════════ */

/* ── VIEWPORT META GUARD ─────────────────────────────────
   Ensure content doesn't overflow viewport                */
#lfp-root {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
#lfp-root * {
  max-width: 100% !important;
  word-break: break-word !important;
}
#lfp-root table {
  max-width: 100% !important;
  word-break: normal !important;
}

/* ── NAV — horizontal scroll on mobile ──────────────────── */
.lfp-nav-bar {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
}
.lfp-nav-bar::-webkit-scrollbar { display: none !important; }
.lfp-nav-btn {
  flex: 0 0 auto !important;
  min-width: 70px !important;
  padding: 10px 12px !important;
  font-size: 8px !important;
  min-height: 52px !important;
}

/* ── TOUCH TARGETS — min 44px ────────────────────────────── */
#lfp-root button,
#lfp-root [role="button"] {
  min-height: 36px !important;
}
#lfp-root .lfp-nav-btn { min-height: 52px !important; }
#lfp-root input[type="text"],
#lfp-root input[type="password"],
#lfp-root input[type="number"],
#lfp-root select,
#lfp-root textarea {
  min-height: 44px !important;
  font-size: 16px !important; /* prevents iOS zoom */
}

/* ── MODALS — full-screen on mobile ─────────────────────── */
.lfp-modal-overlay.lfp-modal-open {
  padding: 0 !important;
  align-items: flex-end !important; /* bottom sheet on mobile */
}
.lfp-modal-box {
  max-width: 100% !important;
  width: 100% !important;
  max-height: 92vh !important;
  border-radius: 16px 16px 0 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.lfp-modal-hdr {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: var(--bg2) !important;
}

/* General modal same treatment */
#lfp-general-modal.lfp-modal-open {
  padding: 0 !important;
  align-items: flex-end !important;
}
#lfp-general-modal .lfp-modal-box {
  max-height: 92vh !important;
  border-radius: 16px 16px 0 0 !important;
}

/* Info modals */
#lfp-info-modal-ranking.lfp-modal-open,
#lfp-info-modal-elo.lfp-modal-open {
  padding: 0 !important;
  align-items: flex-end !important;
}
#lfp-info-modal-ranking .lfp-modal-box,
#lfp-info-modal-elo .lfp-modal-box {
  max-height: 92vh !important;
  border-radius: 16px 16px 0 0 !important;
  overflow-y: auto !important;
}

/* ── TABLES — horizontal scroll wrapper ─────────────────── */
#lfp-root .lfp-tbl-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 4px !important;
}
#lfp-root table {
  min-width: 400px !important;
}

/* ELO leaderboard table */
.lfp-elo-table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ── STATS GRID — 2 cols on small mobile ────────────────── */
.lfp-stats-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.lfp-sc {
  padding: 10px !important;
}
.lfp-sc-value {
  font-size: 14px !important;
}
.lfp-sc-label {
  font-size: 8px !important;
}

/* ── HERO SECTION ────────────────────────────────────────── */
.lfp-hero {
  padding: 14px !important;
  gap: 10px !important;
}
.lfp-hero-name {
  font-size: 18px !important;
}
.lfp-hero-avatar {
  width: 48px !important;
  height: 48px !important;
}

/* ── TOPBAR ──────────────────────────────────────────────── */
.lfp-topbar {
  padding: 0 10px !important;
  height: 48px !important;
}
.lfp-topbar-brand {
  font-size: 10px !important;
  letter-spacing: 0px !important;
}
#lfp-uname {
  max-width: 90px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
}
.lfp-btn-logout {
  font-size: 8px !important;
  padding: 6px 10px !important;
}

/* ── SEASON RANKING CARDS ────────────────────────────────── */
/* Tier roadmap - scrollable on mobile */
.lfp-season-tiers-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Champion boxes stack on mobile */
.lfp-champ-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* ELO leaderboard rows */
.lfp-elo-row {
  padding: 10px 8px !important;
}

/* ── CLAN SECTION ────────────────────────────────────────── */
.lfp-clan-form-grid {
  grid-template-columns: 1fr !important;
}
.lfp-clan-invite-row {
  flex-direction: column !important;
}

/* ── PROFILE HISTORY TABLE ───────────────────────────────── */
#lfp-profile-content table {
  min-width: 360px !important;
}
#lfp-profile-content .lfp-tbl-wrap {
  overflow-x: auto !important;
}

/* ── POINTS TAB ──────────────────────────────────────────── */
#lfp-points-wrap > div {
  padding: 12px !important;
}

/* ── CONTENT PADDING ─────────────────────────────────────── */
.lfp-content {
  padding: 10px !important;
}

/* ── REFRESH BAR ─────────────────────────────────────────── */
#lfp-refresh-bar {
  padding: 8px 10px !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

/* ══════════════════════════════════════════════════════════
   480px — Small phone landscape / larger phone
   ══════════════════════════════════════════════════════════ */
@media (min-width: 480px) {
  .lfp-nav-btn {
    min-width: 80px !important;
    font-size: 8px !important;
  }
  .lfp-modal-overlay.lfp-modal-open,
  #lfp-general-modal.lfp-modal-open,
  #lfp-info-modal-ranking.lfp-modal-open,
  #lfp-info-modal-elo.lfp-modal-open {
    padding: 16px !important;
    align-items: center !important;
  }
  .lfp-modal-box,
  #lfp-general-modal .lfp-modal-box,
  #lfp-info-modal-ranking .lfp-modal-box,
  #lfp-info-modal-elo .lfp-modal-box {
    border-radius: 8px !important;
    max-width: 480px !important;
  }
  .lfp-stats-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .lfp-hero-name { font-size: 20px !important; }
  .lfp-hero-avatar { width: 54px !important; height: 54px !important; }
}

/* ══════════════════════════════════════════════════════════
   640px — Tablet (extend existing rules)
   ══════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  .lfp-nav-btn {
    flex: 1 0 auto !important;
    font-size: 9px !important;
    min-width: 0 !important;
  }
  #lfp-root input[type="text"],
  #lfp-root input[type="password"],
  #lfp-root input[type="number"],
  #lfp-root select {
    font-size: 14px !important; /* restore normal size on tablet */
  }
  .lfp-content { padding: 16px !important; }
  .lfp-champ-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  }
}

/* ══════════════════════════════════════════════════════════
   TABLET LANDSCAPE / SMALL LAPTOP: modal centered
   ══════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
  .lfp-modal-overlay.lfp-modal-open,
  #lfp-general-modal.lfp-modal-open,
  #lfp-info-modal-ranking.lfp-modal-open,
  #lfp-info-modal-elo.lfp-modal-open {
    padding: 20px !important;
    align-items: center !important;
  }
  .lfp-modal-box,
  #lfp-general-modal .lfp-modal-box,
  #lfp-info-modal-ranking .lfp-modal-box,
  #lfp-info-modal-elo .lfp-modal-box {
    border-radius: 8px !important;
    max-width: 560px !important;
    max-height: 85vh !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile / Tablet / TV Optimierung
   ══════════════════════════════════════════════════════════════ */

/* ── MOBILE BASE (< 480px) ─────────────────────────────────── */
@media (max-width: 479px) {

  /* Nav: 2 Reihen, größere Touch-Targets */
  .lfp-nav-bar {
    flex-wrap: wrap !important;
    position: sticky !important;
    top: 0 !important;
  }
  .lfp-nav-btn {
    flex: 1 1 calc(33.33% - 2px) !important;
    min-width: 0 !important;
    padding: 12px 2px !important;
    font-size: 7px !important;
    min-height: 54px !important;
  }
  .lfp-nav-icon {
    display: block !important;
    margin: 0 auto 4px !important;
    font-size: 14px !important;
  }

  /* Stats grid: 2 Spalten auf Klein-Handy */
  .lfp-stats-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  .lfp-sc { padding: 10px 8px !important; }
  .lfp-sc-label { font-size: 8px !important; }
  .lfp-sc-value { font-size: 16px !important; }
  .lfp-small { font-size: 11px !important; }

  /* Header: stacked */
  .lfp-member-hdr {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 12px !important;
  }

  /* Modals: Vollbild auf Handy */
  .lfp-modal-overlay { align-items: flex-end !important; padding: 0 !important; }
  .lfp-modal-box {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 90vh !important;
    border-radius: 12px 12px 0 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
  }
  .lfp-general-modal .lfp-modal-box { border-radius: 12px 12px 0 0 !important; }
  .lfp-modal-body { padding: 12px !important; font-size: 13px !important; }
  .lfp-modal-hdr { padding: 14px 12px 10px !important; }

  /* Content padding */
  .lfp-content { padding: 10px 8px !important; }

  /* Profil Button */
  #lfp-profile-btn {
    width: 100% !important;
    padding: 14px !important;
    font-size: 13px !important;
  }

  /* Season: tier-Kacheln — 2 pro Reihe */
  .lfp-season-tiers { grid-template-columns: 1fr 1fr !important; }

  /* ELO Tabelle: horizontal scrollbar */
  .lfp-elo-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  
  /* Buttons größer */
  .lfp-btn, .lfp-btn-save, .lfp-btn-small {
    min-height: 40px !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
  }

  /* Refresh Bar */
  #lfp-refresh-wrap { flex-direction: column !important; gap: 8px !important; }
  #lfp-refresh-status { font-size: 10px !important; }
}

/* ── SMARTPHONE (480px – 767px) ────────────────────────────── */
@media (min-width: 480px) and (max-width: 767px) {

  .lfp-nav-btn {
    padding: 10px 4px !important;
    font-size: 8px !important;
    min-height: 48px !important;
  }

  .lfp-stats-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  .lfp-modal-overlay { align-items: flex-end !important; padding: 0 !important; }
  .lfp-modal-box {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 88vh !important;
    border-radius: 10px 10px 0 0 !important;
  }
  .lfp-modal-body { font-size: 13px !important; }

  .lfp-content { padding: 12px 10px !important; }
  .lfp-elo-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
}

/* ── TABLET (768px – 1023px) ───────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {

  .lfp-nav-btn {
    padding: 12px 6px !important;
    font-size: 9px !important;
    min-height: 48px !important;
  }

  .lfp-stats-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px !important;
  }

  .lfp-modal-box {
    max-width: 680px !important;
    max-height: 85vh !important;
  }
  .lfp-modal-body { font-size: 14px !important; }

  .lfp-content { padding: 16px 14px !important; }
}

/* ── DESKTOP / TV ab 1440px ────────────────────────────────── */
@media (min-width: 1440px) {

  .lfp-stats-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
  }

  .lfp-nav-btn {
    font-size: 11px !important;
    padding: 14px 8px !important;
  }

  .lfp-content { padding: 24px !important; }

  .lfp-modal-box {
    max-width: 700px !important;
    max-height: 80vh !important;
  }
  .lfp-modal-body { font-size: 15px !important; }
}

/* ── ALLE GRÖSSEN: Touch-freundliche Allgemein-Fixes ───────── */
@media (max-width: 1023px) {

  /* Tabellen: horizontal scrollbar statt Überlauf */
  .lfp-table-wrap, table {
    overflow-x: auto !important;
    display: block !important;
    max-width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Grids mit fester px-Größe: auto-fit */
  [style*="grid-template-columns: repeat(auto-fit, minmax(130px"] {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important;
  }

  /* Kein overflow-hidden auf Root */
  #lfp-root { overflow-x: hidden !important; }

  /* Mission-Detail Modal: groß genug */
  #lfp-general-modal .lfp-modal-box {
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  /* Historien-Tabelle: scrollbar */
  #lfp-profile-content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  /* Refresh-Bar */
  #lfp-refresh-bar-wrap { flex-wrap: wrap !important; }

  /* ELO Chart Wrap */
  #lfp-elo-chart-wrap { overflow-x: auto !important; }

  /* Clan-Mitglieder */
  .lfp-clan-members-grid {
    grid-template-columns: 1fr !important;
  }

  /* Settings Modal */
  .lfp-settings-modal .lfp-modal-box {
    max-height: 88vh !important;
    overflow-y: auto !important;
  }

  /* Pagination: größere Buttons */
  .lfp-page-btn {
    min-width: 36px !important;
    min-height: 36px !important;
    font-size: 13px !important;
  }

  /* Search input: volle Breite */
  .lfp-search-input { width: 100% !important; max-width: 100% !important; }

  /* Clan-Invite Row */
  .lfp-clan-invite-row input { width: 100% !important; }
}


/* ════════════════════════════════════════════════════════════
   APP-MODE MOBILE — echtes App-Feeling auf dem Handy
   Bottom Navigation · Card Design · Native Feel
   ════════════════════════════════════════════════════════════ */

/* ════════ NUR HANDY/TABLET: max 1023px ════════════════════ */
@media (max-width: 1023px) {

  /* ── Root: volle Breite, kein Überlauf ─────────────────── */
  #lfp-root {
    width: 100% !important;
    overflow-x: hidden !important;
    background: #060a14 !important;
  }

  /* ── TOPBAR: kompakt wie App-Header ────────────────────── */
  .lfp-topbar {
    height: 52px !important;
    padding: 0 14px !important;
    padding-top: env(safe-area-inset-top, 0) !important;
    background: rgba(6, 10, 20, 0.97) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(0,229,255,0.1) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
  }
  .lfp-topbar-brand {
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    max-width: 130px !important;
  }
  .lfp-topbar-brand svg { width: 18px !important; height: 18px !important; flex-shrink: 0 !important; }
  .lfp-topbar-user   { font-size: 13px !important; font-weight: 700 !important; }
  .lfp-btn-logout    { padding: 5px 10px !important; font-size: 9px !important; min-height: 30px !important; border-radius: 6px !important; }
  .lfp-btn-settings  { width: 34px !important; height: 34px !important; border-radius: 50% !important; }

  /* ── TOP NAV: UNSICHTBAR auf Handy (durch Bottom Nav ersetzt) */
  .lfp-nav-bar {
    display: none !important;
  }

  /* ── BOTTOM NAVIGATION (App-Style) ────────────────────── */
  #lfp-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 300 !important;
    background: rgba(5, 9, 20, 0.98) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border-top: 1px solid rgba(0,229,255,0.18) !important;
    box-shadow: 0 -4px 40px rgba(0,0,0,0.7), 0 -1px 0 rgba(0,229,255,0.08) !important;
    padding: 8px 4px !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    gap: 0 !important;
    align-items: stretch !important;
  }
  .lfp-bnav-btn {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 4px 2px 2px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: rgba(120,145,180,0.55) !important;
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 9px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: color 0.15s, transform 0.15s !important;
    position: relative !important;
    min-height: 54px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .lfp-bnav-btn:active { transform: scale(0.9) !important; }
  .lfp-bnav-btn.active { color: #00e5ff !important; }
  /* Active: glowing pill background behind icon */
  .lfp-bnav-btn.active .lfp-bnav-icon {
    background: rgba(0,229,255,0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 0 14px rgba(0,229,255,0.2) !important;
  }
  .lfp-bnav-icon {
    width: 42px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    transition: background 0.2s, box-shadow 0.2s !important;
  }
  .lfp-bnav-icon svg { width: 22px !important; height: 22px !important; stroke-width: 1.6 !important; }
  .lfp-bnav-label { line-height: 1 !important; font-size: 9px !important; }
  .lfp-bnav-btn.active .lfp-bnav-label { font-weight: 700 !important; }
  .lfp-bnav-btn .lfp-req-badge {
    position: absolute !important;
    top: 2px !important; right: 50% !important;
    transform: translateX(16px) !important;
    min-width: 17px !important; height: 17px !important;
    font-size: 9px !important; padding: 0 4px !important;
    border-radius: 9px !important;
    background: #ff3358 !important; color: #fff !important;
    font-weight: 900 !important;
  }

  /* ── CONTENT: Abstand für Top + Bottom Nav ─────────────── */
  .lfp-content {
    padding: 12px 10px !important;
    padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    min-height: calc(100dvh - 52px) !important;
  }

  /* ── HERO CARD ─────────────────────────────────────────── */
  .lfp-hero {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
    border-radius: 14px !important;
    background: rgba(13, 22, 40, 0.9) !important;
    border: 1px solid rgba(0,229,255,0.12) !important;
    border-top: 2px solid rgba(0,229,255,0.4) !important;
  }
  .lfp-hero-avatar {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(0,229,255,0.4) !important;
    box-shadow: 0 0 16px rgba(0,229,255,0.15) !important;
    flex-shrink: 0 !important;
  }
  .lfp-hero-info { flex: 1 !important; min-width: 0 !important; }
  .lfp-hero-name {
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: 1px !important;
    margin-bottom: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .lfp-hero-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .lfp-badge {
    font-size: 9px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    letter-spacing: 0 !important;
  }

  /* ── STAT CARDS ────────────────────────────────────────── */
  .lfp-stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }
  .lfp-sc {
    border-radius: 12px !important;
    padding: 12px 10px !important;
    background: rgba(13, 22, 40, 0.8) !important;
    border: 1px solid rgba(30, 48, 80, 0.8) !important;
    min-height: 70px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .lfp-sc-label {
    font-size: 8px !important;
    letter-spacing: 1px !important;
    opacity: 0.6 !important;
    margin-bottom: 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .lfp-sc-value {
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    word-break: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    overflow-wrap: break-word !important;
  }
  .lfp-small { font-size: 12px !important; }

  /* ── MODALS: echtes Bottom Sheet ─────────────────────── */
  .lfp-modal-overlay,
  #lfp-general-modal,
  #lfp-warning-modal,
  #lfp-settings-modal,
  #lfp-info-modal-ranking,
  #lfp-info-modal-elo {
    align-items: flex-end !important;
    padding: 0 !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
  }
  .lfp-modal-box {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 22px 22px 0 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-top: 1px solid rgba(0,229,255,0.2) !important;
    max-height: 92dvh !important;
    display: flex !important;
    flex-direction: column !important;
    background: rgba(10, 16, 30, 0.99) !important;
  }
  .lfp-modal-hdr {
    flex-shrink: 0 !important;
    padding: 20px 16px 12px !important;
    position: relative !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  .lfp-modal-hdr::before {
    content: '' !important;
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 36px !important;
    height: 4px !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 2px !important;
  }
  .lfp-modal-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 14px 16px max(20px, env(safe-area-inset-bottom)) !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
  }
  .lfp-modal-body p  { margin-bottom: 12px !important; }
  .lfp-modal-body h3 { font-size: 12px !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }

  /* ── BUTTONS ───────────────────────────────────────────── */
  #lfp-root button {
    border-radius: 10px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .lfp-btn, .lfp-btn-save {
    min-height: 42px !important;
    padding: 10px 16px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }
  .lfp-btn-small {
    min-height: 34px !important;
    padding: 7px 12px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
  }
  /* Prevent iOS input zoom */
  #lfp-root input, #lfp-root select, #lfp-root textarea {
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  /* ── PROFILE BUTTON ────────────────────────────────────── */
  #lfp-profile-btn {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  /* ── REFRESH BAR ────────────────────────────────────────── */
  #lfp-refresh-wrap {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: rgba(13,22,40,0.7) !important;
    border: 1px solid rgba(30,48,80,0.6) !important;
    margin-bottom: 12px !important;
  }
  #lfp-refresh-btn  { width: 100% !important; min-height: 44px !important; border-radius: 10px !important; }
  #lfp-refresh-status { font-size: 11px !important; text-align: center !important; }
  #lfp-refresh-next   { font-size: 10px !important; text-align: center !important; }

  /* ── TABELLEN ───────────────────────────────────────────── */
  #lfp-root table {
    font-size: 11.5px !important;
    white-space: nowrap !important;
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 10px !important;
  }
  #lfp-root td, #lfp-root th { padding: 9px 8px !important; }

  /* ── CLAN ───────────────────────────────────────────────── */
  .lfp-clan-invite-row > div {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .lfp-clan-invite-row input { width: 100% !important; }
  .lfp-clan-member-grid { grid-template-columns: 1fr !important; }
}

/* ── WINZIGES HANDY (<380px): nochmals verkleinern ─────── */
@media (max-width: 379px) {
  .lfp-hero-name   { font-size: 15px !important; }
  .lfp-hero-avatar { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .lfp-badge       { font-size: 8px !important; padding: 2px 6px !important; }
  .lfp-sc-value    { font-size: 14px !important; }
  .lfp-sc          { padding: 10px 8px !important; min-height: 60px !important; }
  .lfp-sc-label    { font-size: 7px !important; }
  .lfp-bnav-label  { font-size: 6px !important; }
  .lfp-bnav-icon svg { width: 16px !important; height: 16px !important; }
  .lfp-topbar-brand { max-width: 90px !important; font-size: 8px !important; }
}

/* ── GROSSES HANDY (480-767): 3-Spalten Stats ──────────── */
@media (min-width: 480px) and (max-width: 767px) {
  .lfp-stats-grid  { grid-template-columns: repeat(3, 1fr) !important; }
  .lfp-sc-value    { font-size: 17px !important; }
  .lfp-hero-name   { font-size: 19px !important; }
  .lfp-hero-avatar { width: 58px !important; height: 58px !important; min-width: 58px !important; }
  .lfp-bnav-icon svg { width: 20px !important; height: 20px !important; }
  .lfp-bnav-btn    { font-size: 8px !important; }
}

/* ── TABLET (768-1023): Bottom Nav, 4-Spalten ───────────── */
@media (min-width: 768px) and (max-width: 1023px) {
  .lfp-stats-grid  { grid-template-columns: repeat(4, 1fr) !important; gap: 10px !important; }
  .lfp-sc-value    { font-size: 20px !important; }
  .lfp-sc          { padding: 14px 12px !important; min-height: 80px !important; }
  .lfp-hero-avatar { width: 64px !important; height: 64px !important; min-width: 64px !important; }
  .lfp-hero-name   { font-size: 22px !important; }
  .lfp-bnav-btn    { font-size: 9px !important; }
  .lfp-bnav-icon svg { width: 22px !important; height: 22px !important; }
  .lfp-content     { padding: 16px 14px !important; padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important; }
  .lfp-modal-box   { max-width: min(560px, 98vw) !important; margin: auto !important; border-radius: 18px !important; }
  .lfp-modal-overlay, #lfp-general-modal, #lfp-warning-modal,
  #lfp-settings-modal, #lfp-info-modal-ranking, #lfp-info-modal-elo {
    align-items: flex-end !important;
  }
  #lfp-root table  { font-size: 12.5px !important; }
  #lfp-root td, #lfp-root th { padding: 10px 10px !important; }
}

/* ════════ NUR DESKTOP: 1024px+ (oben bleibt unverändert) ═ */
@media (min-width: 1024px) {
  /* Bottom Nav: auf Desktop ausblenden */
  #lfp-bottom-nav { display: none !important; }
  /* Top Nav wieder anzeigen */
  .lfp-nav-bar    { display: flex !important; }
  /* Modals: zentriert, nicht Bottom Sheet */
  .lfp-modal-overlay, #lfp-general-modal, #lfp-warning-modal,
  #lfp-settings-modal, #lfp-info-modal-ranking, #lfp-info-modal-elo {
    align-items: center !important;
    padding: 20px !important;
    backdrop-filter: blur(4px) !important;
  }
  .lfp-modal-box {
    max-width: 640px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(0,229,255,0.2) !important;
    max-height: 88vh !important;
    width: 100% !important;
  }
  .lfp-modal-hdr::before { display: none !important; }
  .lfp-modal-hdr   { padding: 18px 22px 12px !important; }
  .lfp-modal-body  { padding: 16px 22px 24px !important; font-size: 14px !important; }
  .lfp-content     { padding: 22px !important; }
  #lfp-root table  { font-size: 13px !important; white-space: normal !important; }
  #lfp-root td, #lfp-root th { padding: 10px 12px !important; }
  #lfp-root button { border-radius: 4px !important; }
  .lfp-btn, .lfp-btn-save { min-height: 34px !important; }
  .lfp-btn-small           { min-height: 28px !important; }
}

@media (min-width: 1440px) {
  .lfp-content { max-width: 1600px !important; margin: 0 auto !important; padding: 28px 44px !important; }
  .lfp-sc-value { font-size: 22px !important; }
  .lfp-modal-box { max-width: 700px !important; }
  .lfp-modal-body { font-size: 15px !important; }
}

/* ── BRAND: kurz auf Handy ──────────────────────────────── */
.lfp-brand-short { display: none !important; }
.lfp-brand-full  { display: inline !important; }
@media (max-width: 479px) {
  .lfp-brand-full  { display: none !important; }
  .lfp-brand-short { display: inline !important; }
  .lfp-hide-mobile { display: none !important; }
}
