/* =====================================================
   LAST HORIZON — UNIFIED THEME
   Red: #FB3640 | Black: #000F08 | Mono Green: #1aff6e
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Share+Tech+Mono&family=Barlow+Condensed:wght@300;400;600;700;900&family=Barlow:ital,wght@0,300;0,400;0,500;1,300&display=swap');

:root {
  --red:        #FB3640;
  --red-dark:   #c0232b;
  --red-glow:   rgba(251,54,64,0.4);
  --bg:         #060606;
  --bg2:        #0a0a0a;
  --surface:    rgba(18,18,18,0.9);
  --surface2:   rgba(251,54,64,0.06);
  --text:       #e0e0e0;
  --text-dim:   #707070;
  --text-muted: #3a3a3a;
  --green:      #1aff6e;
  --green-dim:  rgba(26,255,110,0.12);
  --border:     rgba(251,54,64,0.18);
  --border-g:   rgba(26,255,110,0.1);
  --fn-title:   'Bebas Neue', sans-serif;
  --fn-mono:    'Share Tech Mono', monospace;
  --fn-head:    'Barlow Condensed', sans-serif;
  --fn-body:    'Barlow', sans-serif;
  --max:        1280px;
  --radius:     0px;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: #060606;
  color: var(--text);
  font-family: var(--fn-body);
  overflow-x: hidden;
  min-height: 100vh;
}

/* NOISE */
body::before {
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9998;
}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--red)}

/* ─── TYPOGRAPHY ─── */
h1,h2,h3,h4 { font-family:var(--fn-title); letter-spacing:0.04em; line-height:0.95; }
p { line-height:1.7; }
a { text-decoration:none; color:inherit; }

/* ─── NAVBAR ─── */
.lh-nav {
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:64px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1rem,4vw,3rem);
  background:linear-gradient(180deg,rgba(6,6,6,0.98),rgba(6,6,6,0.88));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px);
}
.nav-logo {
  display:flex;align-items:center;gap:10px;
  font-family:var(--fn-title);font-size:1.35rem;letter-spacing:0.12em;
  color:var(--text);
}
.nav-logo img { width:32px;height:32px;object-fit:contain; }
.nav-logo span { color:var(--red); }
.nav-links {
  display:flex;align-items:center;gap:2rem;list-style:none;
}
.nav-links a {
  font-family:var(--fn-head);font-size:0.8rem;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;color:var(--text-dim);
  transition:color .2s;position:relative;
}
.nav-links a::after {
  content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;
  background:var(--red);transform:scaleX(0);transition:transform .2s;transform-origin:left;
}
.nav-links a:hover,.nav-links a.active { color:var(--text); }
.nav-links a:hover::after,.nav-links a.active::after { transform:scaleX(1); }
.nav-right { display:flex;align-items:center;gap:.75rem; }
.nav-user {
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--fn-mono);font-size:.72rem;color:var(--text-dim);letter-spacing:.05em;
}
.nav-user img {
  width:28px;height:28px;border-radius:50%;
  border:1px solid rgba(251,54,64,.4);
}
/* mobile toggle */
.nav-toggle {
  display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;
}
.nav-toggle span {
  display:block;width:22px;height:2px;background:var(--text-dim);transition:.2s;
}
@media(max-width:820px){
  .nav-links{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(6,6,6,.98);flex-direction:column;gap:0;border-bottom:1px solid var(--border);padding:1rem 0;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:.75rem clamp(1rem,4vw,3rem);width:100%;}
  .nav-toggle{display:flex;}
}

/* ─── STATUS BAR ─── */
.lh-statusbar {
  position:fixed;top:64px;left:0;right:0;z-index:999;
  background:rgba(251,54,64,.07);border-bottom:1px solid var(--border);
  padding:5px clamp(1rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--fn-mono);font-size:.68rem;color:var(--text-dim);letter-spacing:.1em;
}
.sbar-dot {
  display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);
  margin-right:6px;animation:pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 6px var(--green)}50%{opacity:.4;box-shadow:none}}
.sbar-items{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;}
@media(max-width:600px){.lh-statusbar{display:none;}}

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--fn-head);font-weight:700;font-size:.85rem;
  letter-spacing:.15em;text-transform:uppercase;
  padding:.65rem 1.6rem;border:none;cursor:pointer;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:all .2s;position:relative;overflow:hidden;
}
.btn::before {
  content:'';position:absolute;inset:0;
  background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .35s;
}
.btn:hover::before{transform:translateX(100%);}
.btn-red   {background:var(--red);color:#fff;}
.btn-red:hover{box-shadow:0 0 28px var(--red-glow),0 6px 20px rgba(0,0,0,.5);transform:translateY(-2px);}
.btn-ghost {background:transparent;color:var(--text);border:1px solid var(--border);}
.btn-ghost:hover{border-color:var(--red);color:var(--red);background:rgba(251,54,64,.05);}
.btn-green {background:rgba(26,255,110,.12);color:var(--green);border:1px solid rgba(26,255,110,.3);}
.btn-green:hover{background:rgba(26,255,110,.2);box-shadow:0 0 16px rgba(26,255,110,.2);}
.btn-sm { padding:.45rem 1.1rem;font-size:.75rem; }
.btn-lg { padding:.85rem 2.2rem;font-size:.95rem; }
.btn-full{width:100%;}

/* Discord button */
.btn-discord {
  background:#5865F2;color:#fff;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
}
.btn-discord:hover{box-shadow:0 0 20px rgba(88,101,242,.5);transform:translateY(-2px);}

/* ─── SECTION HELPERS ─── */
.page-wrap { padding-top:90px; max-width:var(--max);margin:0 auto;padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem); }
.section { padding:5rem 0; }
.section-alt { background:rgba(10,10,10,.5); }
.section-tag {
  font-family:var(--fn-mono);font-size:.7rem;letter-spacing:.3em;color:var(--red);
  text-transform:uppercase;margin-bottom:.6rem;
  display:flex;align-items:center;gap:.6rem;
}
.section-tag::before{content:'//';opacity:.5;}
.section-title { font-family:var(--fn-title);font-size:clamp(2.8rem,5vw,4.5rem);color:var(--text); }
.section-title span{color:var(--red);}
.section-line { width:50px;height:2px;background:var(--red);margin-top:1.2rem;position:relative; }
.section-line::after{content:'';position:absolute;right:-16px;top:0;width:5px;height:2px;background:var(--red);opacity:.4;}
.section-hdr { margin-bottom:3rem; }

/* ─── CARDS ─── */
.lh-card {
  background:var(--surface);border:1px solid var(--border);
  padding:2rem;position:relative;overflow:hidden;
  transition:transform .25s,box-shadow .25s;
}
.lh-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 30px rgba(251,54,64,.06);}
.lh-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s;
}
.lh-card:hover::before{transform:scaleX(1);}

/* ─── STATUS CHIPS ─── */
.chip {
  font-family:var(--fn-mono);font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;padding:3px 9px;
}
.chip-pending{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.3);}
.chip-accepted{background:rgba(26,255,110,.1);color:var(--green);border:1px solid rgba(26,255,110,.3);}
.chip-denied{background:rgba(251,54,64,.1);color:var(--red);border:1px solid rgba(251,54,64,.3);}

/* ─── FORM STYLES ─── */
.lh-form-wrap { max-width:780px;margin:0 auto; }
.f-group { margin-bottom:1rem; }
.f-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
@media(max-width:600px){.f-row{grid-template-columns:1fr;}}
.f-label {
  display:block;font-family:var(--fn-mono);font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.35rem;
}
.f-label .req{color:var(--red);}
.f-input, .f-select, .f-textarea {
  width:100%;background:rgba(20,20,20,.7);
  border:1px solid rgba(251,54,64,.18);color:var(--text);
  font-family:var(--fn-mono);font-size:.82rem;padding:.7rem 1rem;
  outline:none;transition:all .2s;letter-spacing:.02em;
}
.f-input:focus,.f-select:focus,.f-textarea:focus{
  border-color:var(--red);background:rgba(251,54,64,.04);
  box-shadow:0 0 0 3px rgba(251,54,64,.08);
}
.f-input::placeholder,.f-textarea::placeholder{color:var(--text-muted);}
.f-select{
  appearance:none;cursor:pointer;padding-right:2.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FB3640' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;
}
.f-select option{background:#0a0a0a;}
.f-textarea{resize:vertical;min-height:110px;}
.f-divider{
  border:none;border-top:1px solid var(--border);margin:1.8rem 0;position:relative;
}
.f-divider::after{
  content:attr(data-label);position:absolute;left:0;top:50%;transform:translateY(-50%);
  background:var(--bg);padding-right:.8rem;
  font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.2em;color:var(--red);text-transform:uppercase;
}
.radio-row{display:flex;gap:1.5rem;align-items:center;margin-top:.4rem;}
.radio-opt{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--fn-mono);font-size:.8rem;color:var(--text-dim);cursor:pointer;
}
.radio-opt input{accent-color:var(--red);}

/* ─── ALERTS ─── */
.alert{padding:1rem 1.2rem;margin-bottom:1.2rem;font-family:var(--fn-mono);font-size:.78rem;line-height:1.6;letter-spacing:.03em;}
.alert-success{background:rgba(26,255,110,.07);border:1px solid rgba(26,255,110,.25);color:var(--green);}
.alert-error  {background:rgba(251,54,64,.07);border:1px solid rgba(251,54,64,.25);color:var(--red);}
.alert-info   {background:rgba(88,101,242,.07);border:1px solid rgba(88,101,242,.25);color:#818cf8;}

/* ─── TABS ─── */
.lh-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:2rem;}
.lh-tab{
  font-family:var(--fn-head);font-size:.82rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  padding:.85rem 1.6rem;color:var(--text-dim);cursor:pointer;border:none;background:none;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;
}
.lh-tab.active{color:var(--red);border-bottom-color:var(--red);background:rgba(251,54,64,.04);}
.lh-tab:hover:not(.active){color:var(--text);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .3s ease;}

/* ─── GRID HELPERS ─── */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

/* ─── HERO ─── */
.lh-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;    /* stack from bottom so statsbar anchors at bottom */
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
  background: #060606;
}
/* Hero background image layer */
.hero-bg-img {
  position:absolute;inset:0;z-index:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  /* Image is set via inline style in index.php */
}
/* Dark overlay on top of image so text stays readable */
.hero-bg-img::after {
  content:'';
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(6,6,6,0.55) 0%,
      rgba(6,6,6,0.35) 40%,
      rgba(6,6,6,0.55) 75%,
      rgba(6,6,6,0.92) 100%
    ),
    radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(6,6,6,0.7) 100%);
}
.hero-grid-bg {
  position:absolute;inset:0;z-index:1;
  background-image:
    linear-gradient(rgba(251,54,64,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(251,54,64,.04) 1px,transparent 1px);
  background-size:60px 60px;
  animation:grid-move 25s linear infinite;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
}
@keyframes grid-move{0%{background-position:0 0}100%{background-position:60px 60px}}
.hero-glow {
  position: absolute; inset: 0; z-index: 1;
  /* Base red center glow */
  background: radial-gradient(ellipse 55% 45% at 50% 52%, rgba(251,54,64,0.10) 0%, transparent 65%);
  pointer-events: none;
}

8%   { opacity: 1; }
  90%  { opacity: 0.3; }
  100% { transform: translateY(-85vh)  scaleX(3)   ; opacity: 0; }
}
/* Red scan line at very top */
.hero-bloodline {
  position:absolute;top:0;left:0;right:0;height:2px;z-index:4;
  background:linear-gradient(90deg,transparent 0%,var(--red) 25%,rgba(251,54,64,.5) 50%,var(--red) 70%,transparent 100%);
  box-shadow:0 0 18px var(--red-glow);
}
/* Subtle scanlines */
.hero-scanlines {
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);
}
/* Bottom fade to page */
.hero-bottom-fade {
  position:absolute;bottom:0;left:0;right:0;height:180px;z-index:2;
  background:linear-gradient(transparent,#060606);
  pointer-events:none;
}
.hero-content{position:relative;z-index:3;text-align:center;max-width:880px;padding:110px 1.5rem 2rem;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.hero-eyebrow{
  font-family:var(--fn-mono);font-size:.72rem;letter-spacing:.3em;color:var(--red);
  text-transform:uppercase;margin-bottom:1.2rem;
  display:flex;align-items:center;justify-content:center;gap:.8rem;
}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:35px;height:1px;background:var(--red);opacity:.4;}
.hero-h1{
  font-family:var(--fn-title);font-size:clamp(5rem,13vw,10rem);
  letter-spacing:.02em;line-height:.9;color:#ffffff;
  text-shadow:0 2px 40px rgba(0,0,0,.8), 0 0 80px rgba(251,54,64,.15);
}
.hero-h1 .accent{
  display:block;color:var(--red);
  text-shadow:0 0 40px var(--red-glow),0 0 80px rgba(251,54,64,.2),0 2px 20px rgba(0,0,0,.9);
}
@keyframes glitch-1{
  0%,96%,100%{clip-path:none;transform:none;}
  97%{clip-path:inset(30% 0 55% 0);transform:translateX(-4px);}
  98%{clip-path:inset(60% 0 10% 0);transform:translateX(4px);}
  99%{clip-path:inset(5% 0 80% 0);transform:translateX(-2px);}
}
.hero-h1 .accent{animation:glitch-1 7s ease-in-out infinite;}
.hero-sub{
  font-family:var(--fn-head);font-size:clamp(.9rem,2vw,1.2rem);font-weight:300;
  letter-spacing:.3em;color:rgba(200,200,200,0.7);text-transform:uppercase;margin:.8rem 0 1.5rem;
}
.hero-desc{font-size:.95rem;color:rgba(180,180,180,0.75);line-height:1.8;max-width:520px;margin:0 auto 2.5rem;}
.hero-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.hero-statsbar{
  display:flex;border-top:1px solid rgba(251,54,64,.15);
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(6,6,6,0.85);backdrop-filter:blur(12px);
  z-index:3;
}
.hstat{
  flex:1;padding:1.2rem;text-align:center;border-right:1px solid rgba(251,54,64,.1);
  transition:background .2s;
}
.hstat:last-child{border-right:none;}
.hstat:hover{background:rgba(251,54,64,.04);}
.hstat-val{font-family:var(--fn-title);font-size:1.8rem;color:var(--red);letter-spacing:.05em;line-height:1;}
.hstat-lbl{font-family:var(--fn-mono);font-size:.6rem;letter-spacing:.2em;color:var(--text-dim);margin-top:3px;text-transform:uppercase;}

/* ─── FOOTER ─── */
.lh-footer{border-top:1px solid var(--border);background:rgba(5,5,5,.9);margin-top:4rem;}
.footer-inner{max-width:var(--max);margin:0 auto;padding:3.5rem clamp(1rem,4vw,3rem) 1.5rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand{font-family:var(--fn-title);font-size:1.6rem;letter-spacing:.1em;margin-bottom:.8rem;}
.footer-brand span{color:var(--red);}
.footer-tagline{font-family:var(--fn-mono);font-size:.72rem;color:var(--text-muted);line-height:1.7;letter-spacing:.04em;}
.footer-col-title{font-family:var(--fn-head);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.footer-links a{font-family:var(--fn-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.04em;transition:color .2s;display:flex;align-items:center;gap:.4rem;}
.footer-links a:hover{color:var(--red);}
.footer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.footer-copy{font-family:var(--fn-mono);font-size:.65rem;color:var(--text-muted);letter-spacing:.1em;}
.footer-copy span{color:var(--red);}

/* ─── PLAYER DASHBOARD ─── */
.dash-shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 90px);border:1px solid var(--border);}
@media(max-width:768px){.dash-shell{grid-template-columns:1fr;}}
.dash-side{background:rgba(12,12,12,.8);border-right:1px solid var(--border);padding:1.5rem 0;}
.dash-side-profile{padding:0 1.2rem 1.2rem;border-bottom:1px solid var(--border);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;}
.dash-avatar{width:38px;height:38px;border-radius:50%;border:1px solid rgba(251,54,64,.35);}
.dash-username{font-family:var(--fn-head);font-size:.88rem;font-weight:700;letter-spacing:.06em;color:var(--text);}
.dash-tag{font-family:var(--fn-mono);font-size:.62rem;color:var(--text-muted);}
.dash-nav-item{
  display:flex;align-items:center;gap:.7rem;padding:.6rem 1.2rem;
  font-family:var(--fn-mono);font-size:.72rem;color:var(--text-dim);cursor:pointer;
  transition:all .15s;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
}
.dash-nav-item.active{color:var(--red);background:rgba(251,54,64,.06);border-right:2px solid var(--red);}
.dash-nav-item:hover:not(.active){color:var(--text);background:rgba(255,255,255,.02);}
.dash-main{padding:2rem;}
.dash-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;}
@media(max-width:600px){.dash-stat-row{grid-template-columns:1fr;}}
.dash-stat{background:rgba(15,15,15,.6);border:1px solid var(--border);padding:1rem;}
.dash-stat-lbl{font-family:var(--fn-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;}
.dash-stat-val{font-family:var(--fn-title);font-size:1.6rem;color:var(--red);letter-spacing:.05em;line-height:1;}
.dash-stat-val.green{color:var(--green);}
.dash-app-row{
  background:rgba(15,15,15,.4);border:1px solid var(--border);
  padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.6rem;
}
.dash-app-name{font-family:var(--fn-head);font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);}
.dash-app-meta{font-family:var(--fn-mono);font-size:.62rem;color:var(--text-muted);margin-top:2px;}

/* ─── ADMIN PANEL ─── */
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 64px);}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr;}}
.admin-side{background:rgba(8,8,8,.95);border-right:1px solid var(--border);padding:1.5rem 0;}
.admin-side-hdr{padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--border);margin-bottom:1rem;}
.admin-side-title{font-family:var(--fn-title);font-size:1.3rem;letter-spacing:.08em;color:var(--red);}
.admin-side-sub{font-family:var(--fn-mono);font-size:.65rem;color:var(--text-muted);margin-top:2px;letter-spacing:.05em;}
.admin-nav{display:flex;flex-direction:column;}
.admin-nav a,
a.admin-nav {
  font-family:var(--fn-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
  padding:.58rem 1.2rem;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  border-right:2px solid transparent;transition:all .15s;text-decoration:none;
}
.admin-nav a:hover,
a.admin-nav:hover { color:var(--text);background:rgba(255,255,255,.02); }
.admin-nav a.active,
a.admin-nav.active { color:var(--red);background:rgba(251,54,64,.06);border-right-color:var(--red); }
.admin-main{padding:2rem;overflow-x:auto;}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;}
.admin-page-title{font-family:var(--fn-title);font-size:2rem;letter-spacing:.05em;}
.admin-filters{display:flex;gap:.5rem;flex-wrap:wrap;}
.filter-btn{
  font-family:var(--fn-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.35rem .9rem;background:none;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all .15s;
}
.filter-btn.active{background:rgba(251,54,64,.15);border-color:rgba(251,54,64,.4);color:var(--red);}
.filter-btn:hover:not(.active){border-color:var(--text-dim);color:var(--text);}

/* Admin table */
.admin-table-wrap{border:1px solid var(--border);overflow:hidden;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{
  font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-muted);padding:.85rem 1.2rem;text-align:left;
  background:rgba(15,15,15,.7);border-bottom:1px solid var(--border);font-weight:normal;
}
.admin-table td{
  padding:.85rem 1.2rem;border-bottom:1px solid rgba(251,54,64,.05);
  font-family:var(--fn-mono);font-size:.76rem;color:var(--text-dim);vertical-align:middle;
}
.admin-table tr:hover td{background:rgba(251,54,64,.025);}
.admin-table td:first-child{color:var(--text);font-weight:600;}
.tbl-actions{display:flex;gap:.4rem;}

/* App detail modal */
.lh-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:10000;
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
  opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(4px);
}
.lh-modal-overlay.open{opacity:1;pointer-events:all;}
.lh-modal{
  background:var(--bg);border:1px solid var(--border);
  max-width:680px;width:100%;max-height:88vh;overflow-y:auto;
  transform:translateY(16px);transition:transform .2s;
}
.lh-modal-overlay.open .lh-modal{transform:translateY(0);}
.lh-modal-hdr{
  padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.lh-modal-title{font-family:var(--fn-title);font-size:1.5rem;letter-spacing:.05em;}
.lh-modal-close{
  background:none;border:1px solid var(--border);color:var(--text-dim);
  width:28px;height:28px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.lh-modal-close:hover{border-color:var(--red);color:var(--red);}
.lh-modal-body{padding:1.5rem;}
.app-detail-row{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.04);}
.app-detail-lbl{font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem;}
.app-detail-val{font-family:var(--fn-mono);font-size:.8rem;color:var(--text);letter-spacing:.02em;line-height:1.6;}

/* ─── DENY MODAL ─── */
.deny-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:20000;
  display:none;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(4px);
}
.deny-modal.open{display:flex;}
.deny-box{background:var(--bg);border:1px solid rgba(251,54,64,.4);width:100%;max-width:400px;padding:1.5rem;}
.deny-box h3{font-family:var(--fn-title);font-size:1.6rem;color:var(--red);margin-bottom:1rem;}
.deny-box textarea{width:100%;background:rgba(20,20,20,.7);border:1px solid var(--border);color:var(--text);font-family:var(--fn-mono);font-size:.8rem;padding:.7rem 1rem;outline:none;resize:vertical;min-height:90px;margin-bottom:1rem;}
.deny-box textarea:focus{border-color:var(--red);}
.deny-box-btns{display:flex;justify-content:flex-end;gap:.6rem;}

/* ─── LOGIN / AUTH PAGES ─── */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem;}
.auth-card{background:var(--surface);border:1px solid var(--border);padding:2.5rem;width:100%;max-width:420px;}
.auth-logo{font-family:var(--fn-title);font-size:2rem;letter-spacing:.1em;margin-bottom:.2rem;}
.auth-logo span{color:var(--red);}
.auth-sub{font-family:var(--fn-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.06em;margin-bottom:2rem;}

/* ─── RULES PAGE ─── */
.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border);}
.rule-card{background:var(--bg);padding:1.8rem;transition:background .2s;}
.rule-card:hover{background:rgba(251,54,64,.03);}
.rule-card h3{font-family:var(--fn-head);font-size:.85rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;}
.rule-card ul{list-style:none;}
.rule-card li{font-family:var(--fn-mono);font-size:.76rem;color:var(--text-dim);padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.03);display:flex;align-items:flex-start;gap:.5rem;letter-spacing:.03em;line-height:1.5;}
.rule-card li::before{content:'▶';color:var(--red);font-size:.45rem;margin-top:4px;flex-shrink:0;opacity:.7;}

/* ─── FEATURES GRID ─── */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);}
.feat-card{background:var(--bg);padding:2rem;position:relative;overflow:hidden;transition:background .2s;}
.feat-card:hover{background:rgba(251,54,64,.03);}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.feat-card:hover::before{transform:scaleX(1);}
.feat-num{position:absolute;top:1.5rem;right:1.5rem;font-family:var(--fn-title);font-size:3.5rem;color:rgba(251,54,64,.05);line-height:1;letter-spacing:-.05em;}
.feat-icon{width:44px;height:44px;margin-bottom:1.2rem;color:var(--red);}
.feat-title{font-family:var(--fn-head);font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:.6rem;}
.feat-desc{font-size:.85rem;line-height:1.65;color:var(--text-dim);}

/* ─── PLAYER LIST ─── */
.player-table-wrap{border:1px solid var(--border);overflow:hidden;}
.player-table{width:100%;border-collapse:collapse;}
.player-table th{font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding:.75rem 1rem;text-align:left;background:rgba(15,15,15,.7);border-bottom:1px solid var(--border);font-weight:normal;}
.player-table td{padding:.65rem 1rem;border-bottom:1px solid rgba(251,54,64,.04);font-family:var(--fn-mono);font-size:.76rem;color:var(--text-dim);}
.player-table tr:hover td{background:rgba(251,54,64,.02);}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.reveal.show{opacity:1;transform:none;}

/* ─── INLINE MISC ─── */
.text-red{color:var(--red);}
.text-green{color:var(--green);}
.text-dim{color:var(--text-dim);}
.text-muted{color:var(--text-muted);}
.mono{font-family:var(--fn-mono);}
.mb-1{margin-bottom:.5rem;}.mb-2{margin-bottom:1rem;}.mb-3{margin-bottom:1.5rem;}.mb-4{margin-bottom:2rem;}
.mt-1{margin-top:.5rem;}.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}
.flex{display:flex;}.items-center{align-items:center;}.justify-between{justify-content:space-between;}
.gap-sm{gap:.5rem;}.gap-md{gap:1rem;}.gap-lg{gap:1.5rem;}
.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0;}

/* =====================================================
   SERVER STATS LIVE POPUP (bottom widget)
   ===================================================== */
.server-popup {
  position:fixed;
  bottom:1.5rem;
  right:1.5rem;
  z-index:5000;
  width:320px;
  background:rgba(8,8,8,0.97);
  border:1px solid rgba(251,54,64,0.3);
  box-shadow:0 0 40px rgba(0,0,0,0.8), 0 0 20px rgba(251,54,64,0.1);
  transform:translateY(120%);
  opacity:0;
  transition:transform .45s cubic-bezier(.22,.68,0,1.2), opacity .35s ease;
  pointer-events:none;
}
.server-popup.show {
  transform:translateY(0);
  opacity:1;
  pointer-events:all;
}
.server-popup.hiding {
  transform:translateY(120%);
  opacity:0;
}
.sp-topbar {
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem .9rem;
  border-bottom:1px solid rgba(251,54,64,.15);
  background:rgba(251,54,64,.07);
}
.sp-title {
  font-family:var(--fn-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red);display:flex;align-items:center;gap:.5rem;
}
.sp-close {
  background:none;border:none;color:var(--text-muted);cursor:pointer;
  font-size:.9rem;line-height:1;padding:0;transition:color .15s;
}
.sp-close:hover { color:var(--red); }
.sp-body { padding:.9rem; }
.sp-server-name {
  font-family:var(--fn-title);font-size:1.4rem;letter-spacing:.05em;
  color:var(--text);margin-bottom:.75rem;line-height:1;
}
.sp-server-name span { color:var(--red); }
.sp-stats {
  display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem;
}
.sp-stat {
  background:rgba(20,20,20,.5);border:1px solid var(--border);padding:.6rem .75rem;
}
.sp-stat-val {
  font-family:var(--fn-title);font-size:1.3rem;color:var(--red);
  letter-spacing:.05em;line-height:1;
}
.sp-stat-val.online-val { color:var(--green); }
.sp-stat-lbl {
  font-family:var(--fn-mono);font-size:.55rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-muted);margin-top:2px;
}
.sp-status-row {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.8rem;
}
.sp-online-badge {
  display:flex;align-items:center;gap:.4rem;
  font-family:var(--fn-mono);font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;
}
.sp-dot {
  width:6px;height:6px;border-radius:50%;
  animation:pulse-dot 2s ease-in-out infinite;
}
.sp-dot.online  { background:var(--green);  box-shadow:0 0 6px var(--green); }
.sp-dot.offline { background:var(--red);    box-shadow:0 0 6px var(--red); animation:none; }
.sp-actions { display:flex;gap:.5rem; }
.sp-toggle-btn {
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:4999;
  width:52px;height:52px;
  background:var(--red);border:none;cursor:pointer;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.2rem;
  box-shadow:0 0 20px var(--red-glow);
  transition:all .2s;
  animation:sp-bounce 3s ease-in-out 2s infinite;
}
.sp-toggle-btn:hover { transform:scale(1.1); box-shadow:0 0 30px var(--red-glow); }
.sp-toggle-btn.hidden { display:none; }
@keyframes sp-bounce {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-5px); }
}
/* Hide toggle when popup is visible */
.server-popup.show ~ .sp-toggle-btn,
body.popup-open .sp-toggle-btn { display:none; }

/* =====================================================
   STAFF PAGE
   ===================================================== */
.staff-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:1.5rem;
}
.staff-card {
  background:var(--surface);
  border:1px solid var(--border);
  overflow:hidden;
  position:relative;
  transition:transform .25s, box-shadow .25s;
}
.staff-card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,.6), 0 0 30px rgba(251,54,64,.08);
}
/* ── Staff card photo: centered 220×220 circle ── */
.staff-card-photo-wrap {
  display:flex;
  justify-content:center;
  align-items:center;
  padding:2rem 1.5rem 1.4rem;
  position:relative;
  background:transparent;
}

/* The circle frame */
.staff-photo-ring {
  width:220px;
  height:220px;
  border-radius:50%;
  position:relative;
  flex-shrink:0;
  /* animated border ring */
  background:conic-gradient(
    var(--red) 0deg,
    rgba(251,54,64,0.3) 90deg,
    transparent 180deg,
    rgba(251,54,64,0.15) 270deg,
    var(--red) 360deg
  );
  padding:2px;
  animation:ring-spin 8s linear infinite;
}
@keyframes ring-spin {
  0%   { background:conic-gradient(var(--red) 0deg,   rgba(251,54,64,0.2) 90deg,  transparent 200deg, rgba(251,54,64,0.1) 300deg, var(--red) 360deg); }
  50%  { background:conic-gradient(transparent 0deg,  var(--red) 90deg, rgba(251,54,64,0.3) 200deg, transparent 280deg, var(--red) 360deg); }
  100% { background:conic-gradient(var(--red) 0deg,   rgba(251,54,64,0.2) 90deg,  transparent 200deg, rgba(251,54,64,0.1) 300deg, var(--red) 360deg); }
}
.staff-card:hover .staff-photo-ring {
  box-shadow:0 0 0 3px rgba(251,54,64,0.25), 0 0 30px rgba(251,54,64,0.2);
}

/* Inner circle that clips the image */
.staff-photo-inner {
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  background:rgba(20,20,20,0.9);
  position:relative;
}

.staff-card-img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  filter:grayscale(15%) contrast(1.05);
  transition:filter .35s, transform .35s;
}
.staff-card:hover .staff-card-img {
  filter:grayscale(0%) contrast(1.1);
  transform:scale(1.06);
}

/* No-photo placeholder — same circle */
.staff-card-placeholder {
  width:100%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%, rgba(251,54,64,0.15), rgba(20,20,20,0.95));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--fn-title);
  font-size:4.5rem;
  color:rgba(251,54,64,0.5);
  letter-spacing:.05em;
  text-shadow:0 0 20px rgba(251,54,64,0.3);
}

/* Role badge — bottom center, below the ring */
.staff-role-badge {
  position:absolute;
  bottom:-.5rem;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  font-family:var(--fn-mono);
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:4px 14px;
  background:#0a0a0a;
  border:1px solid;
  white-space:nowrap;
}
.role-admin      { color:#ff6b35;border-color:rgba(255,107,53,.4); }
.role-developer  { color:#818cf8;border-color:rgba(129,140,248,.4); }
.role-moderator  { color:var(--red);border-color:rgba(251,54,64,.4); }
.role-supporter  { color:var(--green);border-color:rgba(26,255,110,.4); }
.role-community  { color:#fbbf24;border-color:rgba(251,191,36,.4); }
.staff-card-body {
  padding:1.5rem 1.5rem 1.5rem;
  text-align:center;  /* center-align all text to match centered photo */
}
.staff-name {
  font-family:var(--fn-title);font-size:1.6rem;letter-spacing:.05em;
  color:var(--text);line-height:1;margin-bottom:.3rem;
}
.staff-role-title {
  font-family:var(--fn-head);font-size:.75rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin-bottom:.8rem;
}
.staff-desc {
  font-family:var(--fn-mono);font-size:.72rem;color:var(--text-dim);
  line-height:1.65;letter-spacing:.02em;margin-bottom:.9rem;
  text-align:left; /* description stays left-aligned for readability */
}
.staff-discord {
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--fn-mono);font-size:.7rem;color:#818cf8;letter-spacing:.06em;
}
.staff-discord i { color:#5865F2; }
.staff-tags {
  display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem;
  justify-content:center;
}
.staff-tag {
  font-family:var(--fn-head);font-size:.75rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;
  background:rgba(251,54,64,.1);
  border:1px solid rgba(251,54,64,.25);
  color:var(--red);
  transition:all .15s;
}
.staff-tag:hover {
  background:rgba(251,54,64,.18);
  border-color:rgba(251,54,64,.5);
}
/* Alternate tag highlight colors */
.staff-tag:nth-child(2n)   { color:#818cf8;background:rgba(129,140,248,.08);border-color:rgba(129,140,248,.2); }
.staff-tag:nth-child(3n)   { color:#fbbf24;background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.2); }
.staff-tag:nth-child(4n)   { color:var(--green);background:rgba(26,255,110,.08);border-color:rgba(26,255,110,.2); }

/* Head of staff highlight */
.staff-card.is-head {
  border-color:rgba(251,54,64,.4);
  box-shadow:0 0 30px rgba(251,54,64,.08);
}
.staff-card.is-head::before {
  content:'HEAD';
  position:absolute;top:0;left:0;
  font-family:var(--fn-mono);font-size:.55rem;letter-spacing:.2em;
  background:var(--red);color:#fff;padding:3px 10px;z-index:3;
}

/* Admin-only staff management bar */
.staff-admin-bar {
  background:rgba(251,54,64,.06);border:1px solid var(--border);
  padding:1rem 1.5rem;margin-bottom:2rem;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.staff-admin-bar p {
  font-family:var(--fn-mono);font-size:.72rem;color:var(--text-dim);letter-spacing:.05em;
}

/* ─── NAVBAR DISCORD USER CHIP ─── */
.nav-discord-user {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .3rem .7rem .3rem .3rem;
  background: rgba(88,101,242,0.08);
  border: 1px solid rgba(88,101,242,0.2);
  text-decoration: none;
  transition: all .2s;
  max-width: 200px;
}
.nav-discord-user:hover {
  background: rgba(88,101,242,0.16);
  border-color: rgba(88,101,242,0.4);
}
.nav-discord-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(88,101,242,0.5);
  flex-shrink: 0;
  object-fit: cover;
}
.nav-discord-initials {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--red), #8b0000);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fn-title);
  font-size: .95rem;
  color: #fff;
  flex-shrink: 0;
}
.nav-discord-info {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  overflow: hidden;
}
.nav-discord-name {
  font-family: var(--fn-head);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 110px;
}
.nav-discord-label {
  font-family: var(--fn-mono);
  font-size: .58rem;
  letter-spacing: .12em;
  color: #818cf8;
  text-transform: uppercase;
}

/* Hide discord info text on small screens, just show avatar */
@media (max-width: 900px) {
  .nav-discord-info,
  .nav-discord-user i { display: none; }
  .nav-discord-user {
    padding: .3rem;
    border-radius: 50%;
    background: transparent;
    border-color: transparent;
  }
}

/* =====================================================
   BAN & WARNING SYSTEM
   ===================================================== */

/* Ban badge on dashboard */
.ban-banner {
  background:rgba(251,54,64,.08);
  border:1px solid rgba(251,54,64,.4);
  border-left:4px solid var(--red);
  padding:1.2rem 1.5rem;
  margin-bottom:1.5rem;
  display:flex;align-items:flex-start;gap:1rem;
}
.ban-banner-icon { font-size:1.6rem;flex-shrink:0;line-height:1; }
.ban-banner-title {
  font-family:var(--fn-title);font-size:1.4rem;letter-spacing:.08em;
  color:var(--red);margin-bottom:.3rem;
}
.ban-banner-reason {
  font-family:var(--fn-mono);font-size:.76rem;color:var(--text-dim);
  line-height:1.6;letter-spacing:.02em;
}
.ban-banner-meta {
  font-family:var(--fn-mono);font-size:.65rem;color:var(--text-muted);
  margin-top:.4rem;letter-spacing:.05em;
}

/* Warning chips */
.warn-row {
  background:rgba(251,191,36,.05);
  border:1px solid rgba(251,191,36,.15);
  border-left:3px solid #fbbf24;
  padding:.7rem 1rem;
  margin-bottom:.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.warn-text {
  font-family:var(--fn-mono);font-size:.74rem;color:var(--text-dim);
  letter-spacing:.03em;line-height:1.5;
}
.warn-meta {
  font-family:var(--fn-mono);font-size:.6rem;color:var(--text-muted);
  letter-spacing:.05em;margin-top:2px;
}
.warn-count-badge {
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--fn-mono);font-size:.72rem;
  padding:3px 10px;letter-spacing:.1em;text-transform:uppercase;
}
.warn-count-1 { color:#fbbf24;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25); }
.warn-count-2 { color:#f97316;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.3); }
.warn-count-3plus { color:var(--red);background:rgba(251,54,64,.1);border:1px solid rgba(251,54,64,.35); }

/* Admin Ban / Warn modal */
.bw-modal { max-width:460px; }
.bw-modal .lh-modal-title { color:var(--red); }

/* Banned players table */
.banned-badge {
  display:inline-block;
  font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;
  padding:2px 8px;
  background:rgba(251,54,64,.12);color:var(--red);border:1px solid rgba(251,54,64,.3);
}
.warning-badge {
  display:inline-block;
  font-family:var(--fn-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;
  padding:2px 8px;
  background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.25);
}

/* Admin panel footer */
.admin-footer {
  border-top:1px solid var(--border);
  padding:1rem 2rem;
  background:rgba(6,6,6,.9);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  margin-top:3rem;
}
.admin-footer p {
  font-family:var(--fn-mono);font-size:.62rem;color:var(--text-muted);letter-spacing:.08em;
}
.admin-footer span { color:var(--red); }

/* Player search bar */
.player-search {
  display:flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;
}
.player-search input {
  background:rgba(15,15,15,.8);border:1px solid var(--border);
  color:var(--text);font-family:var(--fn-mono);font-size:.78rem;
  padding:.55rem 1rem;outline:none;flex:1;letter-spacing:.03em;
}
.player-search input:focus { border-color:var(--red); }

/* Admin sidebar section label */
.sidebar-section {
  font-family:var(--fn-mono);font-size:.57rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-muted);padding:.7rem 1.2rem .25rem;
}
