*{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#c0000a;--red2:#ff2020;--dark:#060000;--darker:#030000;
  --panel:rgba(14,0,0,0.92);--text:#e8d0d0;--accent:#ff3333;
  --border:rgba(192,0,10,0.35);--border2:rgba(255,30,30,0.6);
}
html,body{height:100%;background:var(--dark);color:var(--text);font-family:'Rajdhani',sans-serif;overflow-x:hidden}
body{
  background-image:
    radial-gradient(ellipse 90% 55% at 50% -5%,rgba(160,0,8,0.22) 0%,transparent 65%),
    repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(192,0,10,0.04) 40px),
    repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(192,0,10,0.025) 40px);
}
nav{
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:62px;
  background:rgba(4,0,0,0.97);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(16px);
}
.nav-brand{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
.nav-logo-img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,20,20,0.7))}
.nav-title{font-family:'Bebas Neue',sans-serif;font-size:1.45rem;letter-spacing:4px;color:var(--red2);text-shadow:0 0 18px rgba(255,30,30,0.45)}
.nav-links{display:flex;gap:2.5rem}
.nav-links a{color:rgba(232,208,208,0.75);text-decoration:none;font-weight:600;font-size:0.82rem;letter-spacing:2px;text-transform:uppercase;transition:color .18s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--red2)}
.nav-right{display:flex;align-items:center;gap:10px;font-family:'Share Tech Mono',monospace;font-size:0.72rem;color:var(--red2)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--red2);animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,30,30,0.5)}60%{opacity:.5;box-shadow:0 0 0 7px rgba(255,30,30,0)}}
.ticker{background:rgba(192,0,10,0.12);border-bottom:1px solid var(--border);padding:7px 0;overflow:hidden;white-space:nowrap;font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--red2)}
.ticker-inner{display:inline-block;animation:tickerMove 35s linear infinite}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.page{display:none;min-height:calc(100vh - 103px)}
.page.active{display:block}
#home.active{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 2rem;position:relative;overflow:hidden}
.scanline{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,26,26,.12),transparent);animation:scan 5s linear infinite;pointer-events:none}
@keyframes scan{from{top:-10px}to{top:110%}}
.hero-logo{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 0 36px rgba(255,18,18,.85)) drop-shadow(0 0 72px rgba(180,0,8,.45));animation:float 4s ease-in-out infinite;margin-bottom:2.2rem}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-14px) rotate(.5deg)}}
.hero-kicker{font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:5px;color:var(--red2);margin-bottom:1rem;opacity:.8}
.hero-h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,11vw,8rem);line-height:.95;letter-spacing:10px;color:#fff;text-shadow:0 0 70px rgba(255,25,25,.55),0 0 130px rgba(180,0,8,.3);margin-bottom:.3rem}
.hero-h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,4.5vw,3.8rem);letter-spacing:14px;color:var(--red2);margin-bottom:1.8rem}
.hero-desc{max-width:560px;line-height:1.75;color:rgba(232,208,208,.65);font-size:1.05rem;margin-bottom:3rem}
.hero-btns{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}
.about-card{
  margin-top:2.5rem;
  max-width:760px;
  width:min(92vw,760px);
  background:rgba(14,0,0,.82);
  border:1px solid var(--border);
  border-left:4px solid var(--red2);
  padding:1.2rem 1.4rem;
  text-align:left;
}
.about-tag{
  font-family:'Share Tech Mono',monospace;
  font-size:.68rem;
  letter-spacing:3px;
  color:var(--red2);
  margin-bottom:.45rem;
}
.about-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.5rem;
  letter-spacing:2px;
  color:#fff;
  margin-bottom:.55rem;
}
.about-text{
  font-size:.96rem;
  color:rgba(232,208,208,.76);
  line-height:1.65;
  margin-bottom:.5rem;
}
.about-text:last-child{margin-bottom:0}
.btn-solid{padding:13px 34px;background:var(--red);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:3px;cursor:pointer;text-transform:uppercase;transition:all .2s;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.btn-solid:hover{background:var(--red2);box-shadow:0 0 28px rgba(255,25,25,.5);transform:translateY(-2px)}
.btn-ghost{padding:13px 34px;background:transparent;color:var(--red2);border:1px solid var(--red2);font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:3px;cursor:pointer;text-transform:uppercase;transition:all .2s;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.btn-ghost:hover{background:rgba(255,25,25,.1);transform:translateY(-2px)}
#wanted.active{display:block;padding:4rem 2rem}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-tag{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:5px;color:var(--red2);margin-bottom:.5rem}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;letter-spacing:4px;color:#fff}
.wanted-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.5rem;max-width:1180px;margin:0 auto}
.wcard{background:var(--panel);border:1px solid var(--border);position:relative;overflow:hidden;transition:all .25s;cursor:pointer}
.wcard:hover{border-color:var(--red2);transform:translateY(-5px);box-shadow:0 14px 42px rgba(192,0,10,.28)}
.wcard::before{content:'WANTED';position:absolute;top:13px;left:-28px;background:var(--red);color:#fff;font-family:'Bebas Neue',sans-serif;font-size:.72rem;letter-spacing:2px;padding:3px 32px;transform:rotate(-45deg);z-index:2}
.wcard-img{width:100%;height:185px;background:rgba(36,0,0,.6);display:flex;align-items:center;justify-content:center}
.avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,rgba(192,0,10,.25),rgba(6,0,0,.85));border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:2.4rem;color:var(--red2)}
.wcard-body{padding:1rem}
.wcard-id{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:rgba(232,208,208,.45);margin-bottom:3px}
.wcard-name{font-family:'Bebas Neue',sans-serif;font-size:1.35rem;letter-spacing:2px;color:#fff;margin-bottom:3px}
.wcard-alias{font-size:.76rem;color:rgba(232,208,208,.5);margin-bottom:4px}
.wcard-charge{font-size:.82rem;color:rgba(232,208,208,.72);margin-bottom:8px}
.badge{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:1px;padding:3px 8px;border:1px solid;margin-bottom:6px}
.badge-active{color:var(--red2);border-color:var(--red2);background:rgba(255,26,26,.08)}
.badge-cap{color:#666;border-color:#444;background:rgba(60,60,60,.1)}
.wcard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid var(--border)}
.reward-lbl{font-size:.7rem;letter-spacing:1px;color:rgba(232,208,208,.45);text-transform:uppercase}
.reward-val{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--red2)}
.wcard-chat-btn{
  background:rgba(18,0,0,.85);
  border:1px solid var(--red2);
  color:var(--red2);
  font-family:'Share Tech Mono',monospace;
  font-size:.7rem;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:.5rem .75rem;
  cursor:pointer;
  transition:all .2s;
}
.wcard-chat-btn:hover{
  background:rgba(255,32,32,.16);
  color:#fff;
}
#alerts.active{display:block;padding:4rem 2rem}
.alert-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.aitem{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--red);padding:1.2rem 1.5rem;display:flex;gap:1.4rem;transition:all .2s;cursor:pointer}
.aitem:hover{border-left-color:var(--red2);background:rgba(22,0,0,.92)}
.aitem.critical{border-left-color:#ff0000;animation:ablink 2s infinite}
@keyframes ablink{0%,100%{border-left-color:#ff0000}50%{border-left-color:rgba(255,0,0,.25)}}
.aicon{width:40px;height:40px;min-width:40px;border-radius:50%;background:rgba(192,0,10,.18);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem}
.acontent{flex:1}
.atop{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}
.atitle{font-weight:700;letter-spacing:1px;color:#fff;font-size:.95rem}
.atime{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:rgba(232,208,208,.45)}
.amsg{color:rgba(232,208,208,.72);font-size:.88rem;line-height:1.65}
.atags{margin-top:6px;display:flex;gap:.8rem}
.atag{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:1px;color:var(--red2);opacity:.8}
#admin-login.active{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 103px)}
.login-box{background:var(--panel);border:1px solid var(--border2);padding:3rem 2.5rem;max-width:420px;width:90%;text-align:center}
.login-box img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,20,20,.7));margin-bottom:1.5rem}
.login-box h2{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:4px;color:#fff;margin-bottom:.4rem}
.login-box p{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:2px;color:rgba(232,208,208,.5);margin-bottom:2rem}
.lfield{margin-bottom:1rem;text-align:left}
.lfield label{display:block;font-size:.72rem;letter-spacing:2px;color:rgba(232,208,208,.55);text-transform:uppercase;margin-bottom:5px}
.lfield input{width:100%;background:rgba(18,0,0,.9);border:1px solid var(--border);border-bottom:1px solid var(--border2);color:var(--text);padding:10px 12px;font-family:'Share Tech Mono',monospace;font-size:.88rem;outline:none;transition:border-color .2s}
.lfield input:focus{border-color:var(--red2)}
.login-err{font-family:'Share Tech Mono',monospace;font-size:.7rem;color:#ff4444;margin-bottom:.8rem;min-height:1rem;text-align:left}
.btn-login{width:100%;padding:13px;background:var(--red);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:3px;cursor:pointer;text-transform:uppercase;transition:all .2s}
.btn-login:hover{background:var(--red2);box-shadow:0 0 24px rgba(255,20,20,.45)}
.sec-notice{margin-top:1.5rem;font-family:'Share Tech Mono',monospace;font-size:.62rem;color:rgba(232,208,208,.3);letter-spacing:1px}
#dashboard.active{display:block;padding:2rem 2.5rem}
.dash-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.dash-left h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:#fff}
.dash-left p{font-family:'Share Tech Mono',monospace;font-size:.68rem;color:rgba(232,208,208,.45);margin-top:3px}
.admin-badge{display:flex;align-items:center;gap:8px;background:rgba(192,0,10,.13);border:1px solid var(--border);padding:8px 16px;font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--red2)}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:2rem}
.stat{background:var(--panel);border:1px solid var(--border);padding:1.2rem;position:relative;overflow:hidden}
.stat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),transparent)}
.stat-lbl{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:2px;color:rgba(232,208,208,.45);text-transform:uppercase;margin-bottom:7px}
.stat-val{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--red2);line-height:1}
.stat-sub{font-size:.75rem;margin-top:3px;color:rgba(232,208,208,.45)}
.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
@media(max-width:680px){.dash-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .about-card{padding:1rem}
  .about-title{font-size:1.35rem}
}
.dpanel{background:var(--panel);border:1px solid var(--border);padding:1.4rem}
.dpanel-hd{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:2px;color:#fff;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.dpanel-tag{font-family:'Share Tech Mono',monospace;font-size:.62rem;color:var(--red2)}
.srow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid rgba(192,0,10,.1)}
.srow:last-child{border-bottom:none}
.snum{width:26px;height:26px;min-width:26px;border-radius:50%;background:rgba(192,0,10,.13);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--red2)}
.sinfo{flex:1}
.sname{font-weight:600;font-size:.88rem;color:#fff;letter-spacing:.5px}
.sloc{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:rgba(232,208,208,.45);margin-top:2px}
.sstatus{font-family:'Bebas Neue',sans-serif;font-size:.88rem;letter-spacing:1px}
.shot{color:#ff2222}.scold{color:#666}.snew{color:#ffaa00}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.act-btn{background:rgba(18,0,0,.85);border:1px solid var(--border);color:var(--text);font-family:'Rajdhani',sans-serif;font-weight:600;padding:.8rem;cursor:pointer;transition:all .2s;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;text-align:center}
.act-btn:hover{background:rgba(192,0,10,.18);border-color:var(--red2);color:#fff}
.act-btn.danger{border-color:rgba(255,0,0,.4);color:#ff4444}
.act-btn.danger:hover{background:rgba(255,0,0,.13);border-color:#ff0000}
.bar-wrap{margin-bottom:.75rem}
.bar-lbl{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:4px}
.bar-lbl span:first-child{color:rgba(232,208,208,.65)}
.bar-lbl span:last-child{font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--red2)}
.bar-track{background:rgba(192,0,10,.08);height:5px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--red2));transition:width 1.2s ease}
.log-line{font-family:'Share Tech Mono',monospace;font-size:.68rem;color:rgba(232,208,208,.55);padding:5px 0;border-bottom:1px solid rgba(192,0,10,.07);line-height:1.5}
.log-line span{color:var(--red2)}
.log-line.ok{color:rgba(100,200,100,.65)}.log-line.ok span{color:rgba(100,200,100,1)}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:300;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal-box{background:var(--darker);border:1px solid var(--red2);max-width:440px;width:90%;padding:2rem;position:relative}
.modal-box h3{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;letter-spacing:3px;color:#fff;margin-bottom:1rem}
.m-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:rgba(232,208,208,.5);cursor:pointer;font-size:1.4rem;line-height:1}
.m-close:hover{color:var(--red2)}
.mfield{margin-bottom:.9rem}
.mfield label{display:block;font-size:.72rem;letter-spacing:2px;color:rgba(232,208,208,.5);text-transform:uppercase;margin-bottom:5px}
.mfield input,.mfield select,.mfield textarea{width:100%;background:rgba(18,0,0,.9);border:1px solid var(--border);color:var(--text);padding:9px 12px;font-family:'Rajdhani',sans-serif;font-size:.92rem;outline:none;transition:border-color .2s}
.mfield input:focus,.mfield select:focus{border-color:var(--red2)}
.mfield select option{background:#1a0000}
.mfield textarea{height:80px;resize:vertical}
.chat-thread{
  border:1px solid var(--border);
  background:rgba(8,0,0,.8);
  min-height:220px;
  max-height:300px;
  overflow:auto;
  padding:.8rem;
  margin-bottom:.9rem;
}
.chat-empty{
  color:rgba(232,208,208,.55);
  font-size:.85rem;
}
.chat-msg{
  padding:.6rem .7rem;
  border:1px solid transparent;
  margin-bottom:.55rem;
}
.chat-msg-user{
  background:rgba(192,0,10,.18);
  border-color:rgba(255,40,40,.3);
}
.chat-msg-admin{
  background:rgba(0,70,0,.25);
  border-color:rgba(80,180,80,.35);
}
.chat-meta{
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  color:rgba(232,208,208,.62);
  margin-bottom:.28rem;
}
.chat-text{
  color:#fff;
  line-height:1.5;
  font-size:.9rem;
}
footer{border-top:1px solid var(--border);padding:1.4rem 2.5rem;display:flex;align-items:center;justify-content:space-between;background:rgba(3,0,0,.98);flex-wrap:wrap;gap:1rem}
.foot-brand{display:flex;align-items:center;gap:10px}
.foot-brand img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,20,20,.5))}
.foot-name{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;color:var(--red2)}
.foot-copy{font-family:'Share Tech Mono',monospace;font-size:.62rem;color:rgba(232,208,208,.28)}
.toast{position:fixed;top:76px;right:1rem;z-index:400;background:rgba(10,0,0,.97);border:1px solid var(--red2);border-left:3px solid var(--red2);padding:11px 20px;font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--red2);max-width:290px;transform:translateX(120%);transition:transform .3s}
.toast.show{transform:translateX(0)}

/* Additional Modal Styles */
#mapModal .modal-box { max-width: 650px; }
#emergencyLockModal .modal-box { max-width: 500px; text-align: center; }
#notifyFieldModal .modal-box { max-width: 500px; }
#backupModal .modal-box { max-width: 500px; text-align: center; }

#mapCanvas {
  width: 100%;
  background: #0a0a0a;
  border: 1px solid #00ff00;
  border-radius: 3px;
}

#backupBar {
  background: linear-gradient(90deg, #00ff00, #00aa00);
  transition: width 0.3s ease;
}

#backupProgress {
  height: 24px;
  background: #1a1a1a;
  border: 1px solid #00ff00;
  border-radius: 3px;
  overflow: hidden;
}

.field-agent {
  background: rgba(0, 255, 0, 0.08);
  border: 1px solid rgba(0, 255, 0, 0.3);
  padding: 0.6rem;
  margin: 0.3rem 0;
  border-radius: 2px;
  font-size: 0.8rem;
}
