:root{
  --bg:#FFFFFF; --bg-alt:#F4F4F4; --surface:#FFFFFF;
  --border:rgba(0,0,0,0.10); --border-strong:rgba(0,0,0,0.20);
  --text:#0A0A0A; --text-dim:#55555A; --text-dimmer:#8A8A8F;
  --acid:#E4FF3D; --acid-ink:#0A0A0A;
  --hero-bg:#060606; --hero-surface:#161616; --hero-text:#F5F5F5; --hero-text-dim:#B0B0B0;
  --ff-display:'Space Grotesk','Inter',sans-serif; --ff-body:'Inter',sans-serif; --ff-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:var(--ff-body); background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased;}
.hidden{display:none !important;}
input,textarea,select,button{font-family:inherit;}
.brand{display:flex; align-items:center; gap:8px;}
.brand-mark{font-family:var(--ff-display); font-weight:800; font-size:20px; color:var(--acid);}
.brand-word{font-family:var(--ff-mono); font-size:12px; letter-spacing:0.1em; color:var(--hero-text-dim);}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 22px; border-radius:0; font-weight:700; font-size:14px; border:1px solid transparent; cursor:pointer; transition:transform .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--acid); color:var(--acid-ink);}
.btn-ghost{background:transparent; border-color:var(--border-strong); color:var(--text);}
.btn-sm{padding:8px 16px; font-size:12.5px;}

/* ===== Login ===== */
.login-view{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--hero-bg);}
.login-card{width:340px; padding:40px; border:1px solid rgba(255,255,255,0.15); background:var(--hero-surface);}
.login-card .brand{margin-bottom:6px;}
.login-card .brand-word{color:var(--hero-text-dim);}
.login-sub{font-family:var(--ff-mono); font-size:12px; color:var(--hero-text-dim); margin-bottom:28px; text-transform:uppercase; letter-spacing:0.08em;}
#loginForm{display:flex; flex-direction:column; gap:14px;}
#loginPassword{padding:13px 14px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:var(--hero-text); font-size:14px;}
#loginPassword::placeholder{color:var(--hero-text-dim);}
.login-error{color:#ff6b6b; font-size:12.5px; min-height:16px;}

/* ===== Dashboard shell ===== */
.dash-nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; background:var(--hero-bg); color:var(--hero-text); position:sticky; top:0; z-index:10;}
.dash-tabs{display:flex; gap:6px;}
.tab-btn{background:none; border:1px solid transparent; color:var(--hero-text-dim); padding:9px 16px; font-size:13.5px; font-weight:600; cursor:pointer;}
.tab-btn.active{background:var(--acid); color:var(--acid-ink);}
.tab-btn:not(.active):hover{color:var(--hero-text);}
.dash-main{max-width:1100px; margin:0 auto; padding:36px 24px 80px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h2{font-family:var(--ff-display); font-size:22px; font-weight:700; margin-bottom:20px;}
.panel-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;}
.panel-head h2{margin-bottom:0;}

/* ===== Overview ===== */
.stat-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:0; border:2px solid var(--text); border-left:none; margin-bottom:32px;}
.stat-card{border-left:2px solid var(--text); padding:26px 22px;}
.stat-num{display:block; font-family:var(--ff-display); font-weight:800; font-size:36px;}
.stat-label{font-size:12.5px; color:var(--text-dim);}
.lang-breakdown{display:flex; gap:24px; font-family:var(--ff-mono); font-size:13px; color:var(--text-dim);}
.lang-breakdown span{color:var(--text); font-weight:700;}

/* ===== Tables ===== */
.table-wrap{border:2px solid var(--text); overflow-x:auto;}
table{width:100%; border-collapse:collapse; font-size:13.5px; white-space:nowrap;}
th{text-align:left; font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-dimmer); padding:12px 16px; border-bottom:2px solid var(--text);}
td{padding:11px 16px; border-bottom:1px solid var(--border);}
tr:last-child td{border-bottom:none;}

/* ===== Broadcast form ===== */
.broadcast-form{display:flex; flex-direction:column; gap:16px; max-width:640px;}
.broadcast-form label{font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-dim);}
.broadcast-form textarea, .broadcast-form input, .broadcast-form select{
  padding:13px 14px; border:2px solid var(--text); background:var(--surface); color:var(--text); font-size:14px; font-family:inherit;
}
.form-row{display:grid; grid-template-columns:2fr 1fr; gap:16px;}
.form-row > div{display:flex; flex-direction:column; gap:6px;}
.bc-status{font-size:13px; color:var(--text-dim); min-height:18px;}

@media (max-width:720px){
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .dash-tabs{overflow-x:auto;}
}

@media (min-width:721px) and (max-width:980px){
  .stat-grid{grid-template-columns:repeat(3,1fr);}
}
