/* ================================================
   NEXUS SIMULATEUR v1.1.0 — Pleine page lisible
   Tailles adaptées grand écran — WCAG AA
   ================================================ */

:root {
  --nx-bg:      #04111f;
  --nx-bg2:     #071828;
  --nx-bg3:     #0c2240;
  --nx-bg4:     #0a1e38;
  --nx-border:  #1a3d6e;
  --nx-border2: #2a5590;
  --nx-blue:    #44DDFF;
  --nx-blue2:   #0099cc;
  --nx-green:   #00FF88;
  --nx-red:     #FF3300;
  --nx-orange:  #FF8800;
  --nx-white:   #eaf4ff;
  --nx-grey:    #7aabcc;
  --nx-muted:   #3a6080;
  --nx-planet:  #2ecc71;
}

/* ── Reset + pleine page ── */
#nsim-app *, #nsim-app *::before, #nsim-app *::after {
  box-sizing: border-box !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
}

/* Casser le conteneur WordPress */
.entry-content, .post-content, .page-content,
.wp-block-post-content, .hentry, .site-main article,
.nexus-page-content, .nexus-page-content__body {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

#nsim-app {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background: var(--nx-bg) !important;
  border-radius: 0 !important;
  border: none !important;
  border-top: 3px solid var(--nx-blue) !important;
  box-shadow: none !important;
}

/* ── HEADER ── */
#nsim-app .nsim-header {
  background: #020f20 !important;
  border-bottom: 2px solid var(--nx-blue) !important;
  padding: 20px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

#nsim-app .nsim-header-logo {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: var(--nx-blue) !important;
  letter-spacing: 3px !important;
  text-shadow: 0 0 24px rgba(68,221,255,.35) !important;
}

#nsim-app .nsim-header-sub {
  font-size: 14px !important;
  color: var(--nx-grey) !important;
  letter-spacing: 1px !important;
}

/* ── ONGLETS NAV ── */
#nsim-app .nsim-nav {
  display: flex !important;
  gap: 8px !important;
  background: #030e1c !important;
  padding: 14px 40px !important;
  border-bottom: 1px solid var(--nx-border) !important;
  flex-wrap: wrap !important;
}

#nsim-app .nsim-nt {
  background: var(--nx-bg2) !important;
  border: 1px solid var(--nx-border) !important;
  color: var(--nx-grey) !important;
  padding: 10px 22px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  transition: all .18s !important;
}
#nsim-app .nsim-nt:hover,
#nsim-app .nsim-nt.active {
  background: var(--nx-bg3) !important;
  color: var(--nx-blue) !important;
  border-color: var(--nx-blue) !important;
  border-bottom-width: 2px !important;
  box-shadow: 0 0 12px rgba(68,221,255,.12) !important;
}

/* ── CONTENU PRINCIPAL ── */
#nsim-content {
  padding: 30px 40px !important;
  background: var(--nx-bg) !important;
  color: var(--nx-white) !important;
  min-height: 500px !important;
}

/* ── GRILLE 2 COLONNES ── */
#nsim-app .nsim-cols {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-bottom: 28px !important;
}

/* ── PANNEAUX ── */
#nsim-app .nsim-panel {
  background: var(--nx-bg2) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

#nsim-app .nsim-def-block {
  background: var(--nx-bg2) !important;
  border: 1px solid #1a5c2a !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

#nsim-app .nsim-panel-title {
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 14px !important;
  letter-spacing: 1.5px !important;
}

#nsim-app .nsim-att    { color: #FF6644 !important; }
#nsim-app .nsim-def    { color: var(--nx-blue) !important; }
#nsim-app .nsim-planet { color: var(--nx-planet) !important; }

/* ── SECTIONS ── */
#nsim-app .nsim-sec {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--nx-grey) !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 16px 0 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--nx-border) !important;
}

/* ── MODÈLES RAPIDES ── */
#nsim-app .nsim-presets {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}

#nsim-app .nsim-pb {
  font-size: 12px !important;
  padding: 6px 12px !important;
  cursor: pointer !important;
  border: 1px solid var(--nx-border2) !important;
  border-radius: 5px !important;
  background: var(--nx-bg3) !important;
  color: var(--nx-grey) !important;
  font-weight: 600 !important;
  transition: all .15s !important;
}
#nsim-app .nsim-pb:hover {
  border-color: var(--nx-blue) !important;
  color: var(--nx-blue) !important;
  background: #0a2540 !important;
}

/* ── CARTES VAISSEAUX ── */
#nsim-app .nsim-vcard {
  background: var(--nx-bg) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 10px !important;
  padding: 16px 18px !important;
  margin-bottom: 12px !important;
  position: relative !important;
}
#nsim-app .nsim-vcard::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: var(--nx-blue2) !important;
  border-radius: 10px 10px 0 0 !important;
}
#nsim-app .nsim-vcard-def::before {
  background: var(--nx-planet) !important;
}

#nsim-app .nsim-vhead {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

#nsim-app .nsim-vname {
  font-weight: 700 !important;
  font-size: 15px !important;
  flex: 1 !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  color: var(--nx-white) !important;
}

#nsim-app .nsim-del {
  font-size: 12px !important;
  padding: 4px 9px !important;
  cursor: pointer !important;
  border: 1px solid #5a1a1a !important;
  border-radius: 4px !important;
  background: #200808 !important;
  color: #FF6644 !important;
  font-weight: 700 !important;
  transition: all .15s !important;
}
#nsim-app .nsim-del:hover {
  background: #400000 !important;
  border-color: var(--nx-red) !important;
}

/* ── CHAMPS ── */
#nsim-app .nsim-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  flex-wrap: wrap !important;
}

#nsim-app .nsim-row label {
  font-size: 13px !important;
  color: var(--nx-grey) !important;
  min-width: 110px !important;
  font-weight: 600 !important;
}

#nsim-app .nsim-row select {
  flex: 1 !important;
  font-size: 13px !important;
  min-width: 0 !important;
  background: #020c18 !important;
  border: 1px solid var(--nx-border2) !important;
  color: var(--nx-white) !important;
  border-radius: 6px !important;
  padding: 8px 10px !important;
  outline: none !important;
}
#nsim-app .nsim-row select:focus {
  border-color: var(--nx-blue) !important;
}

#nsim-app .nsim-row input[type="number"] {
  width: 80px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: #020c18 !important;
  border: 1px solid var(--nx-border2) !important;
  color: var(--nx-blue) !important;
  border-radius: 6px !important;
  padding: 7px 10px !important;
  text-align: center !important;
  outline: none !important;
}
#nsim-app .nsim-row input[type="number"]:focus {
  border-color: var(--nx-blue) !important;
  box-shadow: 0 0 0 2px rgba(68,221,255,.15) !important;
}

/* ── PRESETS QUANTITÉ ── */
#nsim-app .nsim-qty-presets {
  display: flex !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
  margin-top: 6px !important;
}

#nsim-app .nsim-qbtn {
  font-size: 12px !important;
  padding: 4px 9px !important;
  cursor: pointer !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 4px !important;
  background: var(--nx-bg3) !important;
  color: var(--nx-grey) !important;
  font-weight: 600 !important;
  transition: all .15s !important;
}
#nsim-app .nsim-qbtn:hover {
  border-color: var(--nx-blue2) !important;
  color: var(--nx-blue) !important;
}

/* ── STATS MINI PAR CARTE ── */
#nsim-app .nsim-smi {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-top: 10px !important;
}

#nsim-app .nsim-chip {
  font-size: 13px !important;
  padding: 4px 10px !important;
  border-radius: 5px !important;
  background: var(--nx-bg2) !important;
  border: 1px solid var(--nx-border) !important;
  font-weight: 700 !important;
}

/* ── AJOUTER ── */
#nsim-app .nsim-add-btn {
  width: 100% !important;
  padding: 10px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  border: 1px dashed var(--nx-border2) !important;
  border-radius: 8px !important;
  background: none !important;
  color: var(--nx-grey) !important;
  margin-top: 6px !important;
  font-weight: 600 !important;
  transition: all .15s !important;
}
#nsim-app .nsim-add-btn:hover {
  border-color: var(--nx-blue) !important;
  color: var(--nx-blue) !important;
}

/* ── TECHNOLOGIE ── */
#nsim-app .nsim-tech-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}
#nsim-app .nsim-tech-row label {
  font-size: 13px !important;
  color: var(--nx-grey) !important;
  min-width: 90px !important;
  font-weight: 600 !important;
}
#nsim-app .nsim-tech-row input[type="range"] {
  flex: 2 !important;
  accent-color: var(--nx-blue) !important;
}
#nsim-app .nsim-tech-row span {
  font-size: 14px !important;
  font-weight: 900 !important;
  color: var(--nx-blue) !important;
  min-width: 50px !important;
  text-align: right !important;
}

/* ── STATS FLOTTE ── */
#nsim-app .nsim-fstats {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 !important;
}

#nsim-app .nsim-fsc {
  background: var(--nx-bg3) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* ── ÉQUIPAGE ── */
#nsim-app .nsim-crew-box {
  border: 1px solid var(--nx-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-top: 10px !important;
  background: var(--nx-bg) !important;
}
#nsim-app .nsim-crow {
  display: flex !important;
  justify-content: space-between !important;
  padding: 5px 0 !important;
  font-size: 13px !important;
  border-bottom: 1px solid var(--nx-border) !important;
}
#nsim-app .nsim-crow:last-child { border-bottom: none !important; }
#nsim-app .nsim-crow span:first-child { color: var(--nx-grey) !important; }
#nsim-app .nsim-crow span:last-child { font-weight: 700 !important; color: var(--nx-white) !important; }

/* ── BUNKER ── */
#nsim-app .nsim-bunk-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}
#nsim-app .nsim-bunk-row label {
  font-size: 14px !important;
  color: var(--nx-grey) !important;
  min-width: 140px !important;
  font-weight: 600 !important;
}
#nsim-app .nsim-bunk-row select {
  flex: 1 !important;
  font-size: 14px !important;
  background: #020c18 !important;
  border: 1px solid var(--nx-border2) !important;
  color: var(--nx-white) !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  outline: none !important;
}

/* ── BOUTON SIMULATION ── */
#nsim-app .nsim-sim-btn {
  background: linear-gradient(135deg, #0a2a5a, #0d3870) !important;
  color: var(--nx-blue) !important;
  border: 2px solid var(--nx-blue2) !important;
  padding: 16px 60px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  transition: all .2s !important;
  text-transform: uppercase !important;
}
#nsim-app .nsim-sim-btn:hover {
  background: linear-gradient(135deg, #0d3870, #1050a0) !important;
  border-color: var(--nx-blue) !important;
  box-shadow: 0 0 30px rgba(68,221,255,.25) !important;
}

#nsim-app .nsim-back-btn {
  background: var(--nx-bg2) !important;
  color: var(--nx-grey) !important;
  border: 1px solid var(--nx-border2) !important;
  padding: 10px 28px !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all .15s !important;
}
#nsim-app .nsim-back-btn:hover {
  border-color: var(--nx-blue) !important;
  color: var(--nx-blue) !important;
}

/* ── RAPPORT — TITRE ── */
#nsim-app .nsim-result-title {
  font-size: 28px !important;
  font-weight: 900 !important;
  text-align: center !important;
  margin-bottom: 6px !important;
  letter-spacing: 2px !important;
  text-shadow: 0 0 20px currentColor !important;
}

#nsim-app .nsim-result-sub {
  font-size: 15px !important;
  color: var(--nx-grey) !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* ── RAPPORT — MÉTRIQUES ── */
#nsim-app .nsim-metrics {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 28px !important;
}

#nsim-app .nsim-metric {
  background: var(--nx-bg2) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 10px !important;
  padding: 18px 16px !important;
  text-align: center !important;
}

#nsim-app .nsim-metric-label {
  font-size: 12px !important;
  color: var(--nx-grey) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}

#nsim-app .nsim-metric-val {
  font-size: 30px !important;
  font-weight: 900 !important;
  margin-bottom: 4px !important;
  line-height: 1.1 !important;
}

#nsim-app .nsim-metric-sub {
  font-size: 12px !important;
  color: var(--nx-grey) !important;
  line-height: 1.4 !important;
}

/* ── RAPPORT — TABLEAU ── */
#nsim-app .nsim-stitle {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--nx-blue) !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-bottom: 12px !important;
}

#nsim-app .nsim-tbl-wrap {
  overflow-x: auto !important;
  margin-bottom: 20px !important;
  border-radius: 8px !important;
  border: 1px solid var(--nx-border) !important;
}

#nsim-app .nsim-tbl {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  table-layout: fixed !important;
}

#nsim-app .nsim-tbl th {
  padding: 12px 14px !important;
  text-align: right !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: var(--nx-grey) !important;
  border-bottom: 1px solid var(--nx-border) !important;
  white-space: nowrap !important;
  background: var(--nx-bg2) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
#nsim-app .nsim-tbl th:first-child { text-align: left !important; }

#nsim-app .nsim-tbl td {
  padding: 11px 14px !important;
  text-align: right !important;
  border-bottom: 1px solid var(--nx-border) !important;
  color: var(--nx-white) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
#nsim-app .nsim-tbl td:first-child { text-align: left !important; }

#nsim-app .nsim-tbl tr:hover td {
  background: var(--nx-bg2) !important;
}

/* ── NOTE ── */
#nsim-app .nsim-note {
  font-size: 13px !important;
  color: var(--nx-grey) !important;
  background: var(--nx-bg2) !important;
  border: 1px solid var(--nx-border) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-top: 14px !important;
  line-height: 1.8 !important;
}

/* ══════════════════════════════════════════════════
   RESPONSIVE COMPLET
   Couvre : mobile XS, mobile, tablette, grand écran
   iOS Safari, scroll horizontal corrigé
   ══════════════════════════════════════════════════ */

/* ── Correctif iOS Safari — évite le scroll horizontal ── */
#nsim-app {
  overflow-x: hidden !important;
}
html, body {
  overflow-x: hidden !important;
}

/* ── GRAND ÉCRAN (≥ 1400px) ── */
@media (min-width: 1400px) {
  #nsim-content {
    padding: 36px 60px !important;
  }
  #nsim-app .nsim-header {
    padding: 22px 60px !important;
  }
  #nsim-app .nsim-nav {
    padding: 16px 60px !important;
  }
  #nsim-app .nsim-cols {
    gap: 36px !important;
  }
  #nsim-app .nsim-panel,
  #nsim-app .nsim-def-block {
    padding: 30px !important;
  }
  #nsim-app .nsim-panel-title { font-size: 20px !important; }
  #nsim-app .nsim-result-title { font-size: 32px !important; }
  #nsim-app .nsim-metric-val { font-size: 34px !important; }
  #nsim-app .nsim-metrics {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}

/* ── TABLETTE PAYSAGE (1024px – 1399px) ── */
@media (min-width: 1024px) and (max-width: 1399px) {
  #nsim-content {
    padding: 24px 32px !important;
  }
  #nsim-app .nsim-header {
    padding: 18px 32px !important;
  }
  #nsim-app .nsim-nav {
    padding: 12px 32px !important;
  }
  #nsim-app .nsim-cols {
    gap: 20px !important;
  }
  #nsim-app .nsim-panel,
  #nsim-app .nsim-def-block {
    padding: 20px !important;
  }
  #nsim-app .nsim-metrics {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ── TABLETTE PORTRAIT (768px – 1023px) ── */
@media (min-width: 768px) and (max-width: 1023px) {
  #nsim-content {
    padding: 20px 24px !important;
  }
  #nsim-app .nsim-header {
    padding: 16px 24px !important;
  }
  #nsim-app .nsim-nav {
    padding: 10px 24px !important;
  }
  /* Une seule colonne sur tablette portrait */
  #nsim-app .nsim-cols {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  #nsim-app .nsim-panel,
  #nsim-app .nsim-def-block {
    padding: 18px !important;
  }
  #nsim-app .nsim-panel-title { font-size: 16px !important; }
  #nsim-app .nsim-presets { gap: 5px !important; }
  #nsim-app .nsim-pb { font-size: 11px !important; padding: 5px 10px !important; }
  #nsim-app .nsim-metrics {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  #nsim-app .nsim-metric-val { font-size: 24px !important; }
  #nsim-app .nsim-result-title { font-size: 22px !important; }
  /* Tableau : scroll horizontal propre */
  #nsim-app .nsim-tbl-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #nsim-app .nsim-tbl { table-layout: auto !important; }
  #nsim-app .nsim-tbl th,
  #nsim-app .nsim-tbl td {
    padding: 9px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

/* ── MOBILE STANDARD (480px – 767px) ── */
@media (max-width: 767px) {
  /* Pleine largeur sans scroll parasite iOS */
  #nsim-app {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: static !important;
  }

  #nsim-app .nsim-header {
    padding: 12px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
  #nsim-app .nsim-header-logo { font-size: 16px !important; letter-spacing: 1.5px !important; }
  #nsim-app .nsim-header-sub  { font-size: 12px !important; }

  /* Nav : scroll horizontal, pas de retour ligne */
  #nsim-app .nsim-nav {
    padding: 10px 14px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 6px !important;
  }
  #nsim-app .nsim-nav::-webkit-scrollbar { display: none !important; }
  #nsim-app .nsim-nt {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    padding: 8px 14px !important;
  }

  /* Contenu */
  #nsim-content { padding: 14px !important; }

  /* 1 colonne */
  #nsim-app .nsim-cols {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #nsim-app .nsim-panel,
  #nsim-app .nsim-def-block {
    padding: 14px !important;
    border-radius: 8px !important;
  }

  #nsim-app .nsim-panel-title { font-size: 15px !important; }

  /* Presets compacts */
  #nsim-app .nsim-pb {
    font-size: 11px !important;
    padding: 4px 8px !important;
  }

  /* Champs */
  #nsim-app .nsim-row label   { min-width: 80px !important; font-size: 12px !important; }
  #nsim-app .nsim-row select  { font-size: 12px !important; padding: 6px 8px !important; }
  #nsim-app .nsim-row input[type="number"] {
    width: 70px !important;
    font-size: 13px !important;
  }

  /* Chips */
  #nsim-app .nsim-chip        { font-size: 11px !important; padding: 3px 7px !important; }
  #nsim-app .nsim-fsc         { font-size: 12px !important; padding: 4px 10px !important; }

  /* Tech sliders */
  #nsim-app .nsim-tech-row label { min-width: 70px !important; font-size: 12px !important; }
  #nsim-app .nsim-tech-row span  { font-size: 12px !important; }

  /* Bouton sim */
  #nsim-app .nsim-sim-btn {
    font-size: 14px !important;
    padding: 13px 24px !important;
    letter-spacing: 1px !important;
  }

  /* Rapport */
  #nsim-app .nsim-result-title { font-size: 18px !important; }
  #nsim-app .nsim-result-sub   { font-size: 12px !important; }
  #nsim-app .nsim-metrics {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  #nsim-app .nsim-metric       { padding: 10px 8px !important; }
  #nsim-app .nsim-metric-label { font-size: 10px !important; }
  #nsim-app .nsim-metric-val   { font-size: 20px !important; }
  #nsim-app .nsim-metric-sub   { font-size: 10px !important; }

  /* Tableau : scroll horizontal + colonnes auto */
  #nsim-app .nsim-tbl-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 -14px 14px !important;
    padding: 0 14px !important;
  }
  #nsim-app .nsim-tbl { table-layout: auto !important; min-width: 600px !important; }
  #nsim-app .nsim-tbl th,
  #nsim-app .nsim-tbl td {
    padding: 7px 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  #nsim-app .nsim-note { font-size: 11px !important; padding: 10px 12px !important; }
  #nsim-app .nsim-back-btn { font-size: 13px !important; padding: 9px 20px !important; }
}

/* ── MOBILE XS (≤ 380px — iPhone SE, vieux Android) ── */
@media (max-width: 380px) {
  #nsim-app .nsim-header-logo { font-size: 14px !important; letter-spacing: 1px !important; }
  #nsim-app .nsim-panel-title { font-size: 13px !important; }
  #nsim-app .nsim-nt          { font-size: 11px !important; padding: 7px 11px !important; }
  #nsim-app .nsim-pb          { font-size: 10px !important; padding: 3px 7px !important; }
  #nsim-app .nsim-row label   { min-width: 70px !important; font-size: 11px !important; }
  #nsim-app .nsim-row select  { font-size: 11px !important; }
  #nsim-app .nsim-row input[type="number"] { width: 60px !important; font-size: 12px !important; }
  #nsim-app .nsim-metrics {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  #nsim-app .nsim-metric-val  { font-size: 17px !important; }
  #nsim-app .nsim-result-title { font-size: 16px !important; }
  #nsim-app .nsim-sim-btn {
    font-size: 13px !important;
    padding: 11px 16px !important;
  }
}
