/* Mantém a identidade visual do desktop em telas menores, sem cortes horizontais. */
html, body { max-width: 100%; overflow-x: hidden; }

/* Botões de ação: branco recebe texto azul; azul recebe texto branco. */
.secondary-action { background:rgba(255,255,255,.90); color:var(--blue) !important; }
.primary-action,
.menu-item.active { background:rgba(0,87,153,.90); color:#fff !important; }

@media (max-width: 900px) {
  .app-panel,
  .content,
  .game-panel,
  .hunt-panel { width:100%; max-width:100%; min-width:0; }

  .app-panel { gap:14px; }
  .content { padding:18px; }
  .sidebar { width:100%; max-width:100%; }
  .sidebar:not(.collapsed) .side-avatar,
  .sidebar.collapsed.hover-expanded .side-avatar,
  .sidebar:not(.collapsed) .side-avatar .avatar-img,
  .sidebar.collapsed.hover-expanded .side-avatar .avatar-img { width:160px; height:160px; }

  .topbar { gap:10px; }
  .topbar-right { flex-wrap:wrap; }
  .metric-card,
  .score-board { min-width:0; }
  .siem-button { width:min(100%, 528px); min-width:0; min-height:76px; padding:0 20px; font-size:clamp(1.25rem, 5vw, 2rem); }
  .training-actions { display:grid; grid-template-columns:1fr; }
  .training-button { width:100%; min-width:0; }
  .rank-row { width:60%; }
  .game-panel { gap:14px; }
  .game-header, .game-summary, .board-shell { border-radius:10px; }
}

@media (max-width: 640px) {
  .app-panel, .game-panel, .hunt-panel { min-height:calc(100vh - 24px); }
  .content { padding:14px; }
  .sidebar { padding:10px 14px 14px; }
  .sidebar:not(.collapsed) .side-avatar,
  .sidebar.collapsed.hover-expanded .side-avatar,
  .sidebar:not(.collapsed) .side-avatar .avatar-img,
  .sidebar.collapsed.hover-expanded .side-avatar .avatar-img { width:120px; height:120px; }
  .sidebar-profile-details { flex-wrap:wrap; }
  .topbar-right, .game-actions { width:100%; }
  .topbar-right > *, .game-actions > * { flex:1 1 auto; }
  .metric-card, .score-board { padding:16px; min-height:0; }
  .board-shell { padding:10px; }
  .board-viewport { min-height:460px; }
  .board, .rpg-map { min-height:460px; }
  #scoreView.active { grid-template-columns:1fr; }
  .ranking-toplists { grid-column:auto; grid-template-columns:1fr; }
  .ranking-activity { grid-column:auto; }
  .rank-row { width:100%; min-width:0; }
}
