/* ---------- Test Mode developer panel (test builds only) ---------- */
#testModePanel{
  position:fixed;top:0;right:0;bottom:0;
  width:320px;max-width:88vw;
  z-index:100000;
  background:#14161c;
  color:#e8eaf0;
  font-family:"Courier New",monospace;
  box-shadow:-6px 0 24px rgba(0,0,0,.55);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .28s ease;
}
#testModePanel.open{transform:translateX(0);}

#tmHeader{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;
  background:#0d3320;
  border-bottom:2px solid #1f7a4d;
}
#tmHeader h2{
  margin:0;font-size:14px;letter-spacing:2px;font-weight:800;
  color:#5cffa0;
}
#tmCloseBtn{
  border:none;background:rgba(255,255,255,.08);color:#fff;
  width:26px;height:26px;border-radius:6px;cursor:pointer;
  font-size:16px;line-height:1;
}
#tmCloseBtn:active{background:rgba(255,255,255,.2);}

#tmStatus{
  flex:0 0 auto;
  padding:8px 14px;
  font-size:11.5px;
  color:#ffe066;
  background:#1c1e26;
  border-bottom:1px solid #2a2d38;
  min-height:1.4em;
}

#tmBody{
  flex:1 1 auto;
  overflow-y:auto;
  padding:8px 12px 20px;
}
.tm-section{margin-top:14px;}
.tm-section:first-child{margin-top:6px;}
.tm-section h3{
  margin:0 0 6px;font-size:11px;letter-spacing:1.5px;font-weight:800;
  color:#8fa0b8;text-transform:uppercase;
  border-bottom:1px solid #2a2d38;padding-bottom:4px;
}
.tm-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;
}
.tm-btn{
  border:1px solid #3a3f4d;background:#20242e;color:#e8eaf0;
  border-radius:6px;padding:7px 6px;font-size:11.5px;font-family:inherit;
  cursor:pointer;text-align:center;line-height:1.25;
  transition:background .12s ease, transform .08s ease;
}
.tm-btn:hover{background:#2a2f3c;}
.tm-btn:active{transform:scale(.95);background:#333a49;}
.tm-btn.wide{grid-column:1 / -1;}
