.card > .plus-btn {
  position: absolute !important;
  bottom: 3px !important;
  right: 3px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 50% !important;
  background: #eaf0ff !important;
  color: #000 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  border: 1px solid #9ca3af !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  padding: 0 !important;
  z-index: 50 !important;
}
.card > .plus-btn:hover {
  background: #f3f4f6 !important;
}


.plus-btn {
  position: absolute !important;
  bottom: 4px !important;
  right: 4px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: #eaf0ff !important;
  color: #000 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  border: 1px solid #9ca3af !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  z-index: 50 !important;
}
.plus-btn:hover {
  background: #f3f4f6 !important;
}
/*
 * Mission popup container.  The popup is hidden by default but can be
 * displayed via JavaScript.  Do not use !important here so that the
 * script is able to control the display state.  A translucent overlay
 * covers the page when the popup is shown.
 */
#mission-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 9999;
}

#mission-popup .mission-popup-content {
  position: relative !important;
  margin: 40px auto !important;
  background: white !important;
  padding: 20px 30px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  font-family: sans-serif !important;
  text-align: left !important;
  max-width: 800px !important;
  width: 90% !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
}

#mission-popup .mission-popup-close {
  float: right;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
}

body{margin:0;font-family:Inter,Arial,sans-serif;background:#f6f8fb;color:#0b1220}
header{background:#fff;border-bottom:1px solid #e1e5ec;padding:10px;position:sticky;top:0;z-index:10}
h1{margin:0;font-size:18px}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.total{font-size:18px;font-weight:800}

/* Make the grand total score more prominent.  By targeting only the
   total display within the header (.top) we avoid affecting other
   elements such as the saved time totals. */
.top .total{
  font-size:32px;
  line-height:1;
}
.top .total #grandTotal{
  font-size:36px;
}
.progress{height:12px;background:#e7ebf2;border-radius:6px;overflow:hidden;margin-top:6px}

.progress span {
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg,#3b82f6,#1e3a8a);
  transition: width 0.8s ease-in-out, background 0.5s;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) inset;
}
.progress span.maxed {
  background: linear-gradient(90deg,#fbbf24,#f97316,#dc2626);
}

main{padding:10px;max-width:1400px;margin:auto}
.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:#fff;border:1px solid #e1e5ec;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.mhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1e5ec;padding-bottom:4px}
.left{display:flex;align-items:center;gap:6px}
.thumb{width:40px;height:40px;border-radius:6px;flex:0 0 auto;object-fit:contain;border:1px solid #d7ddea;background:#f3f4f8}
.title{font-weight:700;font-size:14px}
.sum{font-weight:800}
.toggle{padding:6px;border:1px solid #e1e5ec;border-radius:6px;cursor:pointer;font-size:13px}
.toggle.on{background:#eaf0ff;border-color:#9bb8ff}
.stepper{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.btn{padding:2px 6px;margin:2px;border:1px solid #ccc;background:#fff;cursor:pointer;border-radius:6px}
.btn.active{background:#cde}
textarea{width:100%;min-height:30px;font-size:12px;border:1px dashed #ccc;border-radius:6px;padding:4px;resize:none;overflow:auto}
.roundctl{display:flex;align-items:center;gap:6px}
select{padding:4px}
.chart-container{margin-top:30px;background:#fff;border:1px solid #e1e5ec;border-radius:12px;padding:10px}

#confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;display:none}
.progress.flash{animation:flash 1s ease-in-out 2}
@keyframes flash{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 20px 5px #4ade80}}


.progress span.maxed {
  background: linear-gradient(90deg,#facc15,#f59e0b,#d97706);
  box-shadow: 0 0 15px rgba(250,204,21,0.9);
}
.total.golden {
  color: #d97706;
  text-shadow: 0 0 6px rgba(250,204,21,0.7);
}


.btn.fullmat {
  background: #fff;
  color: #111;
  
  border: 1px solid #e1e5ec;
  border-radius: 8px;
  box-shadow: none;
}
.btn.fullmat.golden {
  font-weight: 800;
  background: linear-gradient(90deg,#facc15,#f59e0b,#d97706);
  border: 1px solid #d97706;
  box-shadow: 0 0 6px rgba(250,204,21,0.7);
}
.btn.fullmat.golden:hover {
  filter: brightness(1.08);
  box-shadow: 0 0 12px rgba(250,204,21,0.9);
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

#mission-popup-content img {
  display: block !important;
  margin: 10px auto !important;
  max-width: 60% !important;
  height: auto !important;
}
#mission-popup-content {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
#mission-popup-content h2 {
  font-size: 20px !important;
  margin-bottom: 10px !important;
}


#mission-popup-content .clarification {
  font-style: italic !important;
  color: #2563eb !important;
  background: #f0f7ff !important;
  padding: 6px 10px !important;
  border-left: 3px solid #93c5fd !important;
  display: block !important;
  margin: 8px 0 !important;
}


#mission-popup-content .constraint {
  font-style: italic !important;
  color: #b91c1c !important;
  background: #fef2f2 !important;
  padding: 6px 10px !important;
  border-left: 3px solid #f87171 !important;
  display: block !important;
  margin: 8px 0 !important;
}


#mission-popup-content .constraint {
  font-style: italic !important;
  color: #92400e !important;
  background: #fef9c3 !important;
  padding: 6px 10px !important;
  border-left: 3px solid #facc15 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}
#mission-popup-content .constraint strong {
  color: #dc2626 !important;
  font-size: 16px !important;
  margin-bottom: 0 !important;
}
#mission-popup-content .constraint img {
  width: 74px !important;
  height: 74px !important;
  flex-shrink: 0 !important;
  margin-top: 4px !important;
}


#mission-popup-content .constraint {
  background: #fef9c3 !important;
  border-left: 3px solid #facc15 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 8px 0 !important;
  padding: 10px !important;
}
#mission-popup-content .constraint img {
  width: 74px !important;
  height: 74px !important;
  flex-shrink: 0 !important;
  margin-top: 4px !important;
}
#mission-popup-content .constraint .constraint-text {
  display: flex !important;
  flex-direction: column !important;
}
#mission-popup-content .constraint strong {
  color: #dc2626 !important;
  font-size: 16px !important;
  margin-bottom: 0 !important;
}
#mission-popup-content .constraint span {
  font-style: normal !important;
  color: #92400e !important;
}


#mission-popup-content .constraint strong {
  color: #dc2626 !important;
  font-size: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
#mission-popup-content .constraint .constraint-text span {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}


#mission-popup-content .constraint {
  line-height: 1.2 !important;
}
#mission-popup-content .constraint strong {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  display: block !important;
}
#mission-popup-content .constraint .constraint-text span {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  display: block !important;
}


#bar {
  z-index: 9999 !important;
  position: relative !important;
}
.card {
  position: relative !important;
  z-index: 0 !important;
}
.btn.mission-info {
  z-index: 1 !important;
}


.summary-box {
  background: #fff;
  border: 1px solid #e1e5ec;
  border-radius: 12px;
  padding: 16px;
  margin-top: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.summary-box .sheet {
  width: 100%;
}
.summary-box .chart {
  width: 100%;
}

/* --- Sticky Header + First Column Fix --- */
table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #fff;
}

table th:first-child,
table td:first-child {
  position: sticky;
  left: 0;
  z-index: 10;
  background: #fff;
}


/* --- Sticky Top-Left "Round" Header Fix --- */
table thead th:first-child {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 15;
  background: #fff;
}


/* --- Final Sticky Header + First Column + Top-Left "Round" Fix --- */
table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #fff;
}

table th:first-child,
table td:first-child {
  position: sticky;
  left: 0;
  z-index: 10;
  background: #fff;
}

table thead th:first-child {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 20;
  background: #fff;
}


/* --- Visual Enhancement: Shadows for Sticky Header + Column --- */
table thead th {
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

table th:first-child,
table td:first-child {
  box-shadow: 2px 0 4px rgba(0,0,0,0.1);
}

table thead th:first-child {
  z-index: 25;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
}


/* --- Sticky Table Fixes (Corrected) --- */
#summaryTable thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
}

#summaryTable th:first-child,
#summaryTable td:first-child {
  position: sticky;
  left: 0;
  background: #fff;
  z-index: 15;
}

#summaryTable thead th:first-child {
  top: 0;
  left: 0;
  z-index: 20;
  background: #fff;
}


#summaryGraphBox,
#summaryTableContainer {
  max-width: 1400px;
  margin: 30px auto;
}


#summaryGraphBox,
#summaryTableContainer {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}


#summaryGraphBox,
#summaryTableContainer,
#summaryGraphBox *,
#summaryTableContainer * {
  background: #f9f9f9 !important;
}

/* === DARK ONLY: Summary graph & table === */
@media (prefers-color-scheme: dark) {
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
  }
}

/* Fallback class/attribute dark toggles for summary areas */
:is(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme="dark" i], [data-bs-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :is(#summaryGraphBox, #summaryTableContainer, #summaryGraphBox *, #summaryTableContainer *) {
  background: #1e2533 !important;
  color: #fff !important;
}


/* Dark-only override for summary areas */
@media (prefers-color-scheme: dark) {
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
  }
}
.dark #summaryGraphBox,
.dark #summaryTableContainer,
.dark #summaryGraphBox *,
.dark #summaryTableContainer * {
  background: #1e2533 !important;
  color: #fff !important;
}


/* === Dark mode overrides for summary graph/table (inserted) === */
@media (prefers-color-scheme: dark) {
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
      background: #1e2533 !important;
      color: #fff !important;
  }
}

/* Fallback for setups that toggle dark mode with a class */
.dark #summaryGraphBox,
.dark #summaryTableContainer,
.dark #summaryGraphBox *,
.dark #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
}


/* === INSERTED: Dark mode overrides for summary sections === */
@media (prefers-color-scheme: dark) {
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
  }
}

/* Class/attribute-based dark toggles (broad support) */
html.dark #summaryGraphBox,
html.dark #summaryTableContainer,
html.dark #summaryGraphBox *,
html.dark #summaryTableContainer *,
body.dark #summaryGraphBox,
body.dark #summaryTableContainer,
body.dark #summaryGraphBox *,
body.dark #summaryTableContainer *,
.theme-dark #summaryGraphBox,
.theme-dark #summaryTableContainer,
.theme-dark #summaryGraphBox *,
.theme-dark #summaryTableContainer *,
[data-theme="dark"] #summaryGraphBox,
[data-theme="dark"] #summaryTableContainer,
[data-theme="dark"] #summaryGraphBox *,
[data-theme="dark"] #summaryTableContainer * {
  background: #1e2533 !important;
  color: #fff !important;
}



#summaryGraphBox,
#summaryTableContainer {
  border: 1px solid #ccc !important;
  border-radius: 8px !important;
  color: #333 !important;
  font-family: Arial, sans-serif !important;
}

#summaryGraphBox *,
#summaryTableContainer * {
  color: #333 !important;
  font-family: Arial, sans-serif !important;
}


#summaryGraphBox h2,
#summaryTableContainer h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  text-align: center !important;
  margin: 0 0 16px 0 !important;
  color: #222 !important;
  font-family: Arial, sans-serif !important;
}


#summaryGraphBox h2,
#summaryTableContainer h2 {
  font-size: 20px !important;
  font-weight: bold !important;
  color: #333 !important;
  text-align: center !important;
  font-family: Arial, sans-serif !important;
}


#summaryGraphBox h2,
#summaryTableContainer h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #222 !important;
  text-align: center !important;
  font-family: Arial, sans-serif !important;
  margin: 16px 0 !important;
  padding: 0 !important;
}


/* Unified header style */
#summaryGraphBox h2,
#summaryTableContainer h2,
.chart-container h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #222 !important;
  text-align: center !important;
  font-family: Arial, sans-serif !important;
  margin: 16px 0 !important;
  padding: 0 !important;
}

/* Unify border style for all Table/Chart boxes */
#summaryGraphBox,
.chart-container,
#summaryTableContainer {
  border: 1px solid #ccc !important;
  border-radius: 12px !important;
}

:root{
    --bg: #f7f7f9;
    --card: #ffffff;
    --muted: #6b7280;
    --accent: #2563eb;
    --accent-600:#1d4ed8;
    --ring: rgba(37,99,235,0.35);
    --shadow: 0 8px 24px rgba(0,0,0,0.08);
  }
  body{ background: var(--bg); }
  /* Mission cards */
  .card{
    background: var(--card) !important;
    border-radius: 14px !important;
    box-shadow: var(--shadow);
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
  }
  .card:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,0.12); }
  .card .title{ font-weight: 700; letter-spacing: .2px; }
  /* Buttons */
  .btn{
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    border-radius: 10px !important;
  }
  .btn:active{ transform: translateY(1px) scale(0.99); }
  .btn.primary, .btn.fullmat.golden{
    box-shadow: 0 6px 18px rgba(29,78,216,.25);
  }
  /* Inputs */
  textarea, input, select, button{ outline: none; }
  textarea:focus, input:focus, select:focus{ box-shadow: 0 0 0 3px var(--ring); border-color: var(--accent-600); }
  /* Notes box auto-grow look */
  #global-notes-wrap textarea{
    min-height: 90px;
    resize: none;
    transition: background-color .25s ease, box-shadow .25s ease, min-height .2s ease;
  }
  #global-notes-wrap textarea.editing{
    background: #fffbeb;
  }
  /* Chart container already styled; keep gray and shadow */
  .chart-container{
    background:#f0f0f0 !important;
    border-radius:12px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,0.12) !important;
  }
  .chart-container h3{ font-size: 1.1rem; font-weight: 800; color:#111827; }
  /* Autosave badge */
  #saveBadge{
    display:inline-block; margin-left:8px; font-size:.85rem; color: var(--muted);
    vertical-align: middle;
  }
  #saveBadge.saving{ color:#92400e; }
  #saveBadge.saved{ color:#065f46; }
  /* Full Mat pulse when golden */
  @keyframes pulseGlow{
    0%{ box-shadow: 0 0 0 0 rgba(250,204,21,.55); }
    70%{ box-shadow: 0 0 0 12px rgba(250,204,21,0); }
    100%{ box-shadow: 0 0 0 0 rgba(250,204,21,0); }
  }
  .btn.fullmat.golden{ animation: pulseGlow 2.4s ease-out infinite; }
  /* Fade-in for cards on round switch */
  .fade-in{ animation: fadeUp .24s ease both; }
  @keyframes fadeUp{
    from{ opacity:0; transform: translateY(6px); }
    to{ opacity:1; transform: translateY(0); }
  }
  /* Total number emphasis */
  .total .big{ font-weight: 800; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Global toolbar buttons */
  #toolbar, .toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .btn{ height: 38px; padding: 0 14px; font-weight: 600; border: 1px solid #e5e7eb; }
  .btn.primary{ background:#2563eb; color:#fff; border-color:#1d4ed8; }
  .btn.primary:hover{ filter: brightness(1.05); box-shadow: 0 6px 18px rgba(37,99,235,.25); }
  .btn.secondary{ background:#f9fafb; color:#111827; }
  .btn.secondary:hover{ background:#f3f4f6; }
  .btn.danger{ background:#fee2e2; color:#991b1b; border-color:#fecaca; }
  .btn.danger:hover{ background:#fecaca; }
  .btn.ghost{ background:#fff; }
  .btn .icon{ margin-right:8px; font-size:1rem; line-height:1; }
  /* Make the FULL MAT stand out but not confusing */
  #fullMatBtn{ min-width: 140px; }
  /* Mission token buttons (e.g., precision tokens or option selections) */
  button[data-points]{
    display:inline-flex; align-items:center; justify-content:center;
    min-width: 56px; height: 40px; padding: 0 10px; margin: 4px;
    border-radius: 10px; border:1px solid #e5e7eb; background:#fff; cursor:pointer;
    font-weight: 600; transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
  }
  button[data-points]:hover{ background:#f9fafb; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
  button[data-points]:active{ transform: translateY(1px) scale(.99); }
  button[data-points].active{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.2);
  }
  button[data-points].active::after{
    content:"✓"; margin-left:8px; font-weight:800; color:#059669;
  }
  /* Improve spacing inside mission cards action rows */
  .card .actions, .card .controls{ display:flex; flex-wrap:wrap; gap: 6px; }
  /* Make +/- counter buttons clearer if present */
  .card .counter button{ min-width:40px; height:36px; font-size:1.05rem; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Unify *all* buttons inside mission cards */
  .card button{
    display:inline-flex; align-items:center; justify-content:center;
    min-width: 56px; height: 40px; padding: 0 12px; margin: 4px 4px 4px 0;
    border-radius: 10px; border:1px solid #e5e7eb; background:#fff; cursor:pointer;
    font-weight: 600; transition: background .2s ease, box-shadow .2s ease, transform .06s ease, border-color .2s ease;
    touch-action: manipulation;
  }
  .card button:hover{ background:#f9fafb; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
  .card button:active{ transform: translateY(1px) scale(.99); }
  /* Active/selected states inside missions */
  .card button.active, .card button[aria-pressed="true"]{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.2);
  }
  .card button.active::after{
    content:"✓"; margin-left:8px; font-weight:800; color:#059669;
  }
  /* Counter groups */
  .card .counter{ display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .card .counter .count-value{
    min-width: 46px; height:40px; padding:0 10px;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #e5e7eb; border-radius:10px; background:#fff; font-weight:700;
  }
  .card .counter.active .count-value,
  .card .counter.active button{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.2);
  }
  /* Helper labels inside cards */
  .card .label{ font-weight:700; color:#111827; margin-right:8px; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.card{ position: relative; }
  .card.done{
    border-color:#22c55e !important;
    background: linear-gradient(0deg,#ecfdf5 0%, #ffffff 65%) !important;
    box-shadow: 0 0 0 2px rgba(34,197,94,.25), 0 10px 24px rgba(0,0,0,.10) !important;
  }
  .card .done-badge{
    position:absolute; top:8px; right:8px;
    display:inline-flex; align-items:center; gap:6px;
    background:#16a34a; color:#fff; padding:4px 8px; border-radius:10px;
    font-size:.85rem; font-weight:700; box-shadow: 0 2px 8px rgba(22,163,74,.35);
  }
  .card.done .done-badge::before{ content:"✓"; font-weight:900; }
  .card:not(.done) .done-badge{ display:none; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Layout spacing for mission control rows */
  .card .actions, .card .controls, .card .counter { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }

  /* Make ALL mission buttons (tokens, toggles, +/-) identical size */
  .card button,
  .card button[data-points],
  .card .counter button{
    height: 44px !important;
    min-width: 64px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border:1px solid #e5e7eb;
    background:#fff;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    display:inline-flex; align-items:center; justify-content:center;
    transition: background .15s ease, box-shadow .15s ease, transform .06s ease, border-color .15s ease;
    touch-action: manipulation;
    cursor: pointer;
  }
  .card button:hover{ background:#f9fafb; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
  .card button:active{ transform: translateY(1px) scale(.99); }

  /* Active/selected tokens and active counters share the same success style */
  .card button.active,
  .card .counter.active button{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.2);
  }
  .card button.active::after{
    content:"✓"; margin-left:8px; font-weight:800; color:#059669;
  }

  /* The numeric value pill matches button size for visual unity */
  .card .counter .count-value{
    height:44px !important;
    min-width:64px !important;
    padding:0 12px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    font-weight:800;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .card .counter.active .count-value{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.2);
  }

  /* Make + and - clearly readable and consistent */
  .card .counter button.plus,
  .card .counter button.minus{
    font-size: 1.2rem;
    font-weight:900;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Normalize +/- to match all mission buttons exactly */
  .card button,
  .card .counter button,
  .card .counter .count-value{
    height:44px !important;
    min-width:64px !important;
    box-sizing:border-box !important;
    line-height:1 !important;
  }
  .card .counter button.plus,
  .card .counter button.minus{
    font-size:1rem !important;
    font-weight:700 !important;
    padding:0 14px !important;
    min-width:64px !important;
    height:44px !important;
    letter-spacing:0 !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Smaller +/- controls, but keep them aligned with the value pill */
  .card .counter{ align-items: center; gap:10px; }
  .card .counter .count-value{
    height: 40px !important;
    min-width: 56px !important;
    font-size: 1rem !important;
  }
  .card .counter button.plus,
  .card .counter button.minus{
    height: 36px !important;
    min-width: 48px !important;
    padding: 0 10px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
  }
  /* Tighten gaps so the group feels compact */
  .card .counter button.plus, .card .counter button.minus, .card .counter .count-value{
    margin: 2px 4px 2px 0 !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Ultra-compact +/- while preserving readability */
  .card .counter{ align-items:center; gap:8px; }
  .card .counter .count-value{
    height: 34px !important;
    min-width: 50px !important;
    font-size: 0.95rem !important;
    border-radius: 8px !important;
  }
  .card .counter button.plus,
  .card .counter button.minus{
    height: 30px !important;
    min-width: 40px !important;
    padding: 0 8px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }
  .card .counter button.plus, .card .counter button.minus, .card .counter .count-value{
    margin: 1px 3px 1px 0 !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Real +/- containers are .stepper — make them compact and consistent */
  .card .stepper, .stepper{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .stepper button.btn{
    height: 28px !important;
    min-width: 36px !important;
    padding: 0 8px !important;
    border-radius: 8px !important;
    border:1px solid #e5e7eb; background:#fff; font-weight:700; font-size:.95rem; line-height:1;
    transition: background .15s ease, box-shadow .15s ease, transform .06s ease, border-color .15s ease;
  }
  .stepper button.btn:hover{ background:#f3f4f6; box-shadow: 0 3px 10px rgba(0,0,0,.06); }
  .stepper button.btn:active{ transform: translateY(1px) scale(.99); }
  .stepper span[id^="val_"]{
    display:inline-flex; align-items:center; justify-content:center;
    height: 30px !important;
    min-width: 44px !important;
    padding: 0 10px; border-radius: 8px; border:1px solid #e5e7eb; background:#fff; font-weight:800;
  }
  /* Active highlight when value > 0 */
  .stepper.active button.btn, .stepper.active span[id^="val_"]{
    border-color:#10b981; background:#ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.18);
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Switch active/selected visual from green to blue across mission buttons */
  .card button.active,
  .card button[aria-pressed="true"],
  .card .counter.active button,
  .card .counter.active .count-value,
  .stepper.active button,
  .stepper.active span[id^="val_"],
  .card button[data-points].active{
    border-color:#2563eb !important;
    /* Active background updated to a softer light blue */
    background:#eaf0ff !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.20) !important;
  }
  .card button.active::after{ color:#1d4ed8 !important; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Universal Mission Card Button Style */
  .card button,
  .card button[data-points],
  .card .counter button,
  .card .counter .count-value {
    height: 44px !important;
    min-width: 64px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    background: #eaf0ff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .15s ease, box-shadow .15s ease, transform .06s ease;
    cursor: pointer;
  }

  /* Hover */
  .card button:hover,
  .card .counter button:hover {
    background: #f9fafb !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-1px);
  }

  /* Active/Selected */
  .card button.active,
  .card .counter.active button,
  .card .counter.active .count-value,
  .card button[aria-pressed="true"] {
    border-color: #2563eb !important;
    /* Use same light blue highlight for selected buttons */
    background: #eaf0ff !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.20) !important;
  }

  /* Consistent Checkmark */
  .card button.active::after,
  .card button[aria-pressed="true"]::after {
    content: "✓";
    margin-left: 6px;
    font-weight: 800;
    color: #1d4ed8;
  }

  /* Ensure +/- buttons match visually */
  .card .counter button.plus,
  .card .counter button.minus {
    font-size: 1.2rem !important;
    font-weight: 900 !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Wrapper for counter row */
  .card .counter {
    display: inline-flex;
    align-items: center;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #d1d5db;
    background: #fff;
  }

  /* Minus and plus buttons */
  .card .counter button.minus,
  .card .counter button.plus {
    background: #374151 !important; /* dark gray */
    color: #fff !important;
    border: none !important;
    height: 40px !important;
    min-width: 44px !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
  }
  .card .counter button.minus:hover,
  .card .counter button.plus:hover {
    background: #1f2937 !important; /* darker hover */
  }

  /* Value box and label look like middle cells */
  .card .counter .count-value,
  .card .counter .label {
    background: #fff;
    color: #111;
    height: 40px !important;
    min-width: 44px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-left: 1px solid #d1d5db;
    border-right: 1px solid #d1d5db;
  }

  /* Active highlight */
  .card .counter.active {
    box-shadow: 0 0 0 3px rgba(37,99,235,0.2);
    border-color: #2563eb;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make stepper controls look like a single pill with dark +/- endcaps */
  .card .stepper {
    display: inline-flex;
    align-items: center;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #d1d5db;
    background: #fff;
  }

  /* Reset any prior stepper/button sizing so we control it here */
  .card .stepper > .btn,
  .card .stepper > span,
  .card .stepper > .label {
    height: 40px !important;
    line-height: 40px !important;
  }

  /* Endcaps: dark +/- buttons */
  .card .stepper > .btn:first-child,
  .card .stepper > .btn:last-child {
    background: #374151 !important;
    color: #fff !important;
    border: none !important;
    min-width: 44px !important;
    padding: 0 12px !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s ease !important;
    box-shadow: none !important;
  }
  .card .stepper > .btn:first-child:hover,
  .card .stepper > .btn:last-child:hover {
    background: #1f2937 !important;
  }

  /* Middle cells: value, unit labels, counts, etc. */
  .card .stepper > span[id^="val_"],
  .card .stepper > span,
  .card .stepper > .label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    background: #eaf0ff !important;
    color: #111 !important;
    font-weight: 700 !important;
    min-width: 44px !important;
    border-left: 1px solid #d1d5db !important;
  }

  /* Remove inner borders around first middle cell after minus (handled by container border) */
  .card .stepper > .btn:first-child + * {
    border-left: 1px solid #d1d5db !important;
  }

  /* Active highlight for the whole control */
  .card .stepper.active {
    box-shadow: 0 0 0 3px rgba(37,99,235,0.20) !important;
    border-color: #2563eb !important;
  }
  /* Keep endcaps dark even when active (override earlier blue overrides) */
  .card .stepper.active > .btn:first-child,
  .card .stepper.active > .btn:last-child {
    background: #374151 !important;
    color: #fff !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Hide token selection buttons that are not part of a counter/stepper (+/-) */
  .card [data-id] button[data-points] {
    display: none !important;
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make precision-stepper visually match normal token buttons */
.stepper.precision-stepper {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: none;
  padding: 0;
  margin-top: 4px;
}
.stepper.precision-stepper button.btn {
  font-size: 0.85em; /* match normal button font size */
  padding: 4px 8px;
  border-radius: 6px;
  min-width: 32px;
  line-height: 1.2;
}
.stepper.precision-stepper .count-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  min-width: 28px;
  font-weight: 600;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Shrink only the - and + buttons inside steppers */
.stepper button.btn {
  font-size: 0.75em;
  padding: 2px 6px;
  min-width: 24px;
  line-height: 1.1;
  border-radius: 4px;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make - and + buttons extremely compact */
.stepper button.btn {
  font-size: 0.65em;
  padding: 1px 4px;
  min-width: 18px;
  line-height: 1;
  border-radius: 3px;
  margin: 0;
}
.stepper {
  gap: 2px; /* tighter spacing */
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Force -/+ buttons to be as small as possible */
.stepper button.btn {
  font-size: 10px !important;
  padding: 0 3px !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  line-height: 18px !important;
  border-radius: 3px !important;
  margin: 0 !important;
}
.stepper {
  gap: 1px !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Ultra-compact -/+ buttons */
.stepper button.btn {
  font-size: 8px !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 !important;
  line-height: 14px !important;
  border-radius: 3px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.stepper {
  gap: 1px !important;
  align-items: center !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Extreme micro buttons and text */
.stepper button.btn {
  font-size: 4px !important;
  width: 8px !important;
  min-width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  line-height: 6px !important;
  border-radius: 2px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.stepper .count-value {
  font-size: 4px !important;
  min-width: 8px !important;
  line-height: 6px !important;
}
.stepper {
  gap: 1px !important;
  align-items: center !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make only counter/token labels smaller */
.stepper > div:first-child {
  font-size: 0.8em !important;
  line-height: 1.05 !important;
  margin-bottom: 1px !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Put -/+ buttons on their own line, left aligned */
.stepper {
  display: flex;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Keep label on its own line, put - 0 + all in one row below */
.stepper {
  display: flex;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}
.stepper button.btn, 
.stepper .count-value {
  display: inline-flex !important;
  vertical-align: middle;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Force - 0 + to be in a single horizontal row */
.stepper {
  display: flex;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}
/* Make all children after the first (label) stay in one line */
.stepper > *:not(:first-child) {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 2px;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.stepper-controls {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make - 0 + group box less rounded */
.stepper-controls {
  border-radius: 3px !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Force slightly rounded (2px) corners on - 0 + container */
.stepper-controls {
  border-radius: 2px !important;
  overflow: hidden; /* ensure children respect the rounded corners */
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Give - 0 + container a visible background and smaller radius */
.stepper-controls {
  display: inline-flex;
  background: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px !important;
  padding: 2px;
  gap: 2px;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Make the highlight box (stepper background that turns blue) more square */
.stepper {
  border-radius: 2px !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Remove visible box around - 0 + group */
.stepper-controls {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Style - 0 + box to match normal button look */
.stepper-controls {
  display: inline-flex;
  background: var(--btn-bg, #f0f0f0);
  border: 1px solid #ccc;
  border-radius: 2px;
  padding: 2px 4px;
  gap: 2px;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Match active box background/border to normal active button */
.stepper.active .stepper-controls {
  background: var(--btn-active-bg, #007bff);
  border-color: var(--btn-active-border, #007bff);
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Remove ALL glow/shadow effects from +/- boxes and keep only border color change */

/* 1) Neutral defaults */
.card .counter,
.card .counter *,
.stepper,
.stepper * {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  outline: none !important;
}

/* 2) Active states: border turns blue, background stays white */
.card .counter.active,
.card .counter.active .count-value,
.card .counter.active button,
.stepper.active,
.stepper.active span[id^="val_"],
.stepper.active button,
.stepper.active .stepper-controls {
  background: #eaf0ff !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}

/* === DARK ONLY: Active counters & steppers, and raw stepper-controls === */
@media (prefers-color-scheme: dark) {
  .card .counter.active,
  .card .counter.active .count-value,
  .card .counter.active button,
  .stepper.active,
  .stepper.active span[id^="val_"],
  .stepper.active button,
  .stepper.active .stepper-controls,
  /* also cover controls even if .stepper/.active not present */
  .stepper-controls, 
  .stepper-controls button,
  span[id^="val_"] {
    background: #1e2533 !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
    color: #fff !important;
  }
}

/* --------------------------------------------------------------------- */
/* Custom light theme styling for steppers
 * These rules ensure the numeric box and the ± buttons use a light gray
 * background and subtle border when inactive (value = 0).  When the
 * stepper becomes active (value > 0), the border changes to blue while
 * the background reverts to white.  The same styling applies to the
 * buttons so they match the value box. */
.stepper span[id^="val_"], .stepper-controls .btn {
  background-color: #f3f4f6 !important;
  border-color: #d1d5db !important;
  color: #111827 !important;
  box-shadow: none !important;
}
/* Highlight active stepper controls with a light blue background
 * similar to selected missions.  When a stepper value exceeds zero
 * the JavaScript logic toggles an `active` class on the wrapper
 * (.stepper-controls.active).  This rule applies a pale blue
 * background and a slightly darker border to both the numeric box and
 * its ± buttons.  The color values mirror those used for mission
 * toggles (see .toggle.on) so that selected elements share a common
 * palette.
 */
.stepper-controls.active span[id^="val_"],
.stepper-controls.active .btn,
.stepper-controls.active .count-value {
  background-color: #eaf0ff !important;
  border-color: #9bb8ff !important;
  color: #111827 !important;
}


/* Fallback class/attribute dark toggles */
:is(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme="dark" i], [data-bs-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :is(.card .counter.active, .card .counter.active .count-value, .card .counter.active button, .stepper.active, .stepper.active span[id^="val_"], .stepper.active button, .stepper.active .stepper-controls, .stepper-controls, .stepper-controls button, span[id^="val_"]) {
  background: #1e2533 !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
  color: #fff !important;
}


/* Dark-only override for active counter & stepper */
@media (prefers-color-scheme: dark) {
  .card .counter.active,
.card .counter.active .count-value,
.card .counter.active button,
.stepper.active,
.stepper.active span[id^="val_"],
.stepper.active button,
.stepper.active .stepper-controls {
    background: #1e2533 !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
  }
}
.dark .card .counter.active,
.card .counter.active .count-value,
.card .counter.active button,
.stepper.active,
.stepper.active span[id^="val_"],
.stepper.active button,
.stepper.active .stepper-controls {
  background: #1e2533 !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}


/* 3) Also kill hover shadows specifically on these controls */
.card .counter:hover,
.card .counter .count-value:hover,
.card .counter button:hover,
.stepper:hover,
.stepper span[id^="val_"]:hover,
.stepper button:hover,
.stepper .stepper-controls:hover {
  box-shadow: none !important;
}

/* 4) If any framework applies focus rings, suppress them here */
.card .counter :focus,
.stepper :focus {
  box-shadow: none !important;
  outline: none !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Remove borders from box containing subtitle + buttons */
.stepper,
.stepper.active,
.card .counter,
.card .counter.active {
  border: none !important;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Smooth animate bars in the bottom chart */
.chart-bar, .chart-bar div {
  transition: height 0.3s ease, width 0.3s ease;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Per-round creation timestamp display */
.round-meta{
  display:inline-block;
  margin-top:6px;
  font-size:.8rem;
  line-height:1.2;
  color: var(--muted-foreground, #666);
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.round-meta-notes{ opacity:0.9; }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Gray out bonus items (those with dependency unmet) */
.toggle.blocked{
  background: #e5e7eb !important; /* light gray */
  opacity: 0.7;
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

/* Blocked bonuses are not clickable and look disabled */
.toggle.blocked{
  pointer-events: none;
  filter: grayscale(0.4);
}

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.card {
  position: relative !important;
}

/* Show only for selected missions */
.card:has(.plus-btn[data-mission="M01"])::after,
.card:has(.plus-btn[data-mission="M04"])::after,
.card:has(.plus-btn[data-mission="M05"])::after,
.card:has(.plus-btn[data-mission="M09"])::after,
.card:has(.plus-btn[data-mission="M11"])::after,
.card:has(.plus-btn[data-mission="M12"])::after,
.card:has(.plus-btn[data-mission="M13"])::after,
.card:has(.plus-btn[data-mission="M14"])::after {
  content: "";
  position: absolute;
  bottom: 28px; /* just above the + button */
  right: 6px;
  width: 20px;
  height: 20px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAYAAACI7Fo9AAAACXBIWXMAAAdiAAAHYgE4epnbAAAEzGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI1LTA5LTE5PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjRiNjE2MzYxLWRjYjEtNDJlZi04YzcxLTEwYzYwODhlYjIzMTwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5QbGFubmVyIC0gMTwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi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') no-repeat center/contain;
  opacity: 0.95;
}

/* === REMOVE mission info button === */
.mission-info-btn {
  display: none !important;
}

.card textarea {
  width: 85% !important;
  margin: 0 !important;
  display: block !important;
}

.chart-container { position: relative !important; }

/* Wrapper to make table scrollable if too big */
#summaryTableContainer {
  overflow: auto;
  max-width: 100%;
  /* optional: max-height if you want vertical scroll control */
}

/* General cell/padding cleanup so sticky works cleanly */
#summaryTable th,
#summaryTable td {
  background: #fff; /* Ensure no transparency */
  border: 1px solid #ccc;
}

/* Sticky header row = first row */
#summaryTable tr:first-child th {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #f9f9f9; /* header style */
}

/* Sticky first column */
#summaryTable th:first-child,
#summaryTable td:first-child {
  position: sticky;
  left: 0;
  z-index: 20;
  background: #f9f9f9; /* first column style */
}

/* Top-left corner cell */
#summaryTable tr:first-child th:first-child {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 40; /* highest */
  background: #ddd; /* corner style */
}

.popup-footer{margin-top:12px;padding:10px 12px;border-top:1px solid #e5e7eb;font-family:Inter,system-ui,Arial,sans-serif;font-size:12px;color:#374151;text-align:center}
  .popup-footer .accent{color:#2563eb;font-weight:600}
  .popup-footer .popup-links{margin:6px 0;display:flex;justify-content:center;gap:10px}
  .popup-footer .popup-links a,.popup-footer .popup-extra a{color:#2563eb;font-weight:600;text-decoration:none;font-size:12px}
  .popup-footer .popup-links a:hover,.popup-footer .popup-extra a:hover{text-decoration:underline;color:#1e40af}
  .popup-footer .popup-extra{margin-top:6px;font-size:11.5px;line-height:1.4}

.mission-popup-content {
  color: #333;
}
.mission-popup-content h2,
.mission-popup-content p,
.mission-popup-content span,
.mission-popup-content li {
  color: inherit;
}

/* Hide +/- buttons in TIME card */
.card[data-id="TIME"] .stepper button {
  display: none !important;
}
/* Enlarge the displayed value in TIME card */
#val_TIME {
  font-size: 1em;
  font-weight: bold;
  display: inline-block;
  min-width: 80px;
  text-align: center;
}

#val_TIME {
  font-size: 1em !important;
  font-weight: 800 !important;
  min-width: 200px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.card[data-id="TIME"] .stepper button {
  display: none !important;
}

.card[data-id="TIME"] .thumb img {
  width: 40px !important;
  height: auto !important;
  object-fit: contain;
}

.card[data-id="TIME"] .mhead .left {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Hide + - buttons only for the TIME (remaining seconds) card */
.card[data-id="TIME"] .stepper .btn {
    display: none !important;
}

/* Special independent TIME card controls */
.card[data-id="TIME"] .timecard-controls {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
}
.card[data-id="TIME"] .timecard-controls button {
  background: #111827;
  color: #fff;
  border: none;
  border-radius: 6px;
  width: 40px;
  height: 40px;
  font-weight: bold;
  font-size: 18px;
  cursor: pointer;
}
.card[data-id="TIME"] .timecard-controls button:hover {
  background: #2563eb;
}
.card[data-id="TIME"] .timecard-controls .time-value {
  font-weight: 900;
  font-size: 20px;
  color: #1d4ed8;
  min-width: 60px;
  text-align: center;
}

#saved-time-box {
  margin: 8px 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: #f3f4f6;
  border: 1px solid #cbd5e1;
  text-align: left;
  max-width: 220px;
  font-size: 13px;
  line-height: 1.4;
}
#saved-time-box .rt-header {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 4px;
  color: #1e3a8a;
}
#saved-time-box .label {
  font-weight: 600;
  margin-right: 4px;
}
#saved-time-box .time-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#saved-time-box .time-controls button {
  background: #1e3a8a;
  color: #fff;
  border: none;
  border-radius: 3px;
  width: 24px;
  height: 24px;
  font-weight: bold;
  font-size: 13px;
  cursor: pointer;
  padding: 0;
}
#saved-time-box .time-controls button:hover {
  background: #2563eb;
}
#saved-time-box .time-controls .time-value {
  font-weight: 700;
  font-size: 13px;
  min-width: 32px;
  text-align: center;
}
#saved-time-box .total-value {
  font-weight: 700;
  font-size: 13px;
  color: #dc2626;
}

#saved-time-box {
  margin: 8px 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: #f3f4f6;
  border: 1px solid #cbd5e1;
  text-align: left;
  max-width: 220px;
  font-size: 13px;
  line-height: 1.4;
}
#saved-time-box .rt-header {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 4px;
  color: #1e3a8a;
}
#saved-time-box .label {
  font-weight: 600;
  margin-right: 4px;
}
#saved-time-box .time-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#saved-time-box .time-controls button {
  background: #1e3a8a;
  color: #fff;
  border: none;
  border-radius: 3px;
  width: 24px;
  height: 24px;
  font-weight: bold;
  font-size: 13px;
  cursor: pointer;
  padding: 0;
}
#saved-time-box .time-controls button:hover {
  background: #2563eb;
}
#saved-time-box .time-controls .time-value {
  font-weight: 700;
  font-size: 13px;
  min-width: 32px;
  text-align: center;
}
#saved-time-box .total-value {
  font-weight: 700;
  font-size: 13px;
  color: #dc2626;
}

/* Make table columns narrower */
#saved-time-box table,
#saved-time-box td,
#saved-time-box th {
  padding: 1px 2px;
}
#saved-time-box .time-value,
#saved-time-box .total-value {
  min-width: auto;
  display: inline-block;
  text-align: center;
}

#summaryTable th,
#summaryTable td {
  font-size: 12.5px !important; /* slightly smaller */
}

#saved-time-box,
#saved-time-box .rt-header,
#saved-time-box .label,
#saved-time-box .time-value,
#saved-time-box .total-value {
  font-family: Inter, system-ui, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111827 !important; /* uniform dark gray */
}

/* ======= Auth Modal Overlay ======= */
#auth-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.60);
  backdrop-filter: blur(2px);
  z-index: 10000;
}
#auth-overlay.show { display: flex; }

#auth-overlay .auth-card {
  width: min(480px, 92vw);
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  padding: 24px;
  text-align: center;
  font-family: Inter, 'Segoe UI', Roboto, Arial, sans-serif;
}

#auth-overlay .brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}
#auth-overlay .brand img {
  width: 40px; height: 40px; object-fit: contain;
}
#auth-overlay .brand .title {
  font-size: 20px; font-weight: 800; letter-spacing: .3px; color: #111827;
}
#auth-overlay .subtitle {
  margin: 0 0 14px 0;
  color: #6b7280; font-size: 14px;
}

#auth-overlay .input {
  width: 80%;
  max-width: 320px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  margin: 6px auto;
  display: block;
  font-size: 14px;
}
#auth-overlay .input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.20);
  border-color: #2563eb;
}

#auth-overlay .actions {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  justify-content: center;
}

#auth-overlay .btn {
  padding: 10px 16px;
  border: none;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}
#auth-overlay .btn.primary { background:#1e3a8a; color:#fff; }
#auth-overlay .btn.secondary { background:#3b82f6; color:#fff; }
#auth-overlay .btn.link {
  background: transparent; color:#2563eb; font-weight:600; padding: 6px 8px;
}

#auth-overlay .meta {
  font-size: 12px; color:#6b7280; margin-top: 10px;
}

body.auth-lock {
  overflow: hidden; /* prevent background scroll while login modal is open */
}

#app.app-dim { filter: blur(1.5px) brightness(0.85); pointer-events: none; user-select: none; }

#toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10001;
  display: none;
  opacity: 0;
  transition: opacity .25s ease;
}
#toast .toast-msg {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #111827;
  color: #fff;
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  font-family: Inter, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 14px;
  max-width: 92vw;
  white-space: pre-line;
}
#toast .toast-msg.success { background: #065f46; }  /* green */
#toast .toast-msg.error { background: #7f1d1d; }    /* red */
#toast .toast-msg.info { background: #1e3a8a; }     /* blue */
#toast .toast-icon { font-size: 16px; }
#toast .toast-close {
  margin-left: auto;
  cursor: pointer;
  background: none;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
}

#fllTimerBox {
  position: relative;
}
#timer-watermark {
  display: none;
  position: absolute;
  top: 1%;        /* higher */
  left: 50%;
  transform: translateX(-50%);
  width: 10%;     /* smaller */
  max-width: 120px;
  opacity: 0.65;
  z-index: 9999;
}
#fllTimerBox.fll-expanded #timer-watermark {
  display: block;
}

#fllTimerBox{
    position:fixed; bottom:20px; right:20px; width:320px;
    background:#111; color:#fff; z-index:2000; padding:20px;
    border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,0.5);
    text-align:center; font-family:Inter,Arial,sans-serif;
    transition:all .25s ease;
  }
  #fllTimerBox.hidden{ display:none; }
  #fllTimerText{ font-size:3rem; font-weight:800; line-height:1.1; }
  #fllTimerControls{ margin-top:14px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  .fll-btn{
    padding:8px 16px; border:none; border-radius:10px; cursor:pointer; font-weight:700;
    color:#fff;
  }
  .fll-green{ background:#16a34a; }
  .fll-red{ background:#dc2626; }
  .fll-blue{ background:#2563eb; }
  .fll-amber{ background:#f59e0b; }
  /* Expanded (big) view */
  #fllTimerBox.fll-expanded{
    top:0; left:0; right:0; bottom:0; width:100%; height:100%;
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    background:#0b0b0b;
  }

/* Make timer text 10x bigger when expanded */
#fllTimerBox.fll-expanded #fllTimerText {
  font-size: 30rem !important; /* base is 3rem → 10x */
  line-height: 1;
}

/* When truly fullscreen, also force huge text */
:fullscreen #fllTimerText,
:-webkit-full-screen #fllTimerText,
:-moz-full-screen #fllTimerText {
  font-size: 30rem !important;
  line-height: 1;
}

  /* --- Negative time toggle switch styles --- */
  .neg-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #fff;
    margin-top: 4px;
  }
  .neg-switch .neg-label {
    user-select: none;
  }
  .switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
  }
  /* Hide default checkbox */
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  /* The slider */
  .slider-neg {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #4b5563; /* dark gray default */
    transition: 0.3s;
    border-radius: 34px;
  }
  .slider-neg:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    top: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
  }
  input:checked + .slider-neg {
    background-color: #22c55e; /* green when on */
  }
  input:checked + .slider-neg:before {
    transform: translateX(18px);
  }

.mission-info-btn {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mission-popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
}
.mission-popup-content {
  background: #fff;
  margin: 10% auto;
  padding: 16px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
}
.mission-popup-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

#summaryGraphBox {
  margin:30px auto 160px auto;
  padding:16px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
  max-width:1400px;
}
#summaryGraphBox h2 {
  margin:0 0 12px 0;
  font-family:Arial, sans-serif;
  font-size:16px;
  font-weight:600;
  color:#333;
}
#summaryTableContainer {
  overflow:auto;
  max-height:600px;
}
#summaryTable {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px;
  text-align:center;
  font-family:Arial, sans-serif;
}
#summaryTable th, #summaryTable td {
  border:1px solid #ddd;
  padding:4px 6px;
  min-width:30px;
  width:30px;
}
#summaryTable th {
  position:sticky;
  top:0;
  background:#f2f4f7;
  font-weight:600;
  z-index:2;
}
#summaryTable td:first-child,
#summaryTable th:first-child {
  text-align: center;
  background: #f2f4f7;
  font-weight: 600;
  z-index: 5;
  color: #111;

  z-index: 5;
  font-weight: 700;
  color: #111;

  position:sticky;
  left:0;
  background:#f9fafb;
  z-index:3;
  font-weight:600;
}
#summaryTable tr:nth-child(even) td {
  background:#fcfcfc;
}
#summaryTable tr:hover td {
  background:#f0f7ff;
}
#summaryTable tr.averages {
  background:#e6f2ff !important;
  font-weight:bold;
}
#summaryTable tr.averages td:first-child {
  text-align:right;
}

#fll-footer-notice.footer-card {
    margin: 10px 16px 20px 16px; /* less bottom margin */
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #111827;
    max-width: 320px; /* narrower */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    font-family: Inter, system-ui, Arial, sans-serif;
  }
  #fll-footer-notice h2 {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
  }
  #fll-footer-notice .accent {
    color: #2563eb;
  }
  #fll-footer-notice p {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    color: #374151;
  }
  #fll-footer-notice .links {
    display: flex;
    gap: 8px;
  }
  #fll-footer-notice .links a {
    text-decoration: none;
    color: #2563eb;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 4px 8px;
    border-radius: 6px;
    background: #f3f4f6;
    transition: all 0.2s ease;
  }
  #fll-footer-notice .links a:hover {
    background: #e0e7ff;
    color: #1e40af;
  }

.popup-footer-note{
    margin-top:16px;
    padding-top:10px;
    border-top:1px solid #e5e7eb;
    font-family: Inter, system-ui, Arial, sans-serif;
    font-size:12.5px;
    color:#374151;
    line-height:1.5;
    text-align:left;
  }
  .popup-footer-note .accent{ color:#2563eb; font-weight:600; }
  .popup-footer-note a{ color:#2563eb; font-weight:600; text-decoration:none; }
  .popup-footer-note a:hover{ text-decoration:underline; color:#1e40af; }

.mission-popup-close {
    position: absolute;
    top: 10px;
    right: 14px;
    font-size: 26px;
    font-weight: bold;
    color: #666;
    cursor: pointer;
    transition: color 0.2s ease;
    line-height: 1;
  }
  .mission-popup-close:hover {
    color: #000;
  }

.clarification {
    margin-top: 8px;
    padding: 8px 10px;
    border-left: 3px solid #2563eb;
    background: #f9fafb;
    font-size: 13px;
    font-style: italic;
    color: #374151;
  }

.fll-btn.fll-purple{background:#6b21a8;color:#fff;}

#fll-footer-notice {
    position: fixed;
    bottom: 14px;
    left: 14px;
    padding: 5px 14px;
    font-size: 12px;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    color: #0b1220;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(37, 99, 235, 0.25);
    border-radius: 999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
    z-index: 9999;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  #fll-footer-notice .label {
    font-weight: 500;
    opacity: 0.9;
  }

  #fll-footer-notice a {
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
  }
  #fll-footer-notice a:hover {
    color: #1d4ed8;
    transform: translateY(-1px);
  }

/* === Dark Mode v2 (Improved Contrast & Depth) === */
body {
  transition: background-color 0.4s ease, color 0.4s ease;
}
body.dark-mode {
  background: #0b1220 !important;
  color: #e2e8f0 !important;
}

/* Header, Navbar */
body.dark-mode header {
  background: #111827 !important;
  border-bottom: 1px solid #1f2937 !important;
  color: #f1f5f9 !important;
}

/* Cards / Containers */
body.dark-mode .card,
body.dark-mode .summary-box,
body.dark-mode .chart-container {
  background: #1e2533 !important;
  border-color: #2c3446 !important;
  color: #e2e8f0 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}

/* Buttons */
body.dark-mode .btn {
  background: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
  transition: background 0.2s ease;
}
body.dark-mode .btn:hover {
  background: #475569 !important;
}
body.dark-mode .btn.primary {
  background: #2563eb !important;
  color: #f8fafc !important;
}
body.dark-mode .btn.primary:hover {
  background: #1d4ed8 !important;
}

/* Input fields / textareas */
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
  background: #111827 !important;
  color: #f8fafc !important;
  border: 1px solid #374151 !important;
}
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
  color: #9ca3af !important;
}

/* Table & Charts */
body.dark-mode table {
  background: #1f2937 !important;
  color: #e5e7eb !important;
  border-color: #374151 !important;
}
body.dark-mode table th {
  background: #111827 !important;
  color: #f9fafb !important;
}
body.dark-mode table td {
  background: #1e2533 !important;
  color: #e2e8f0 !important;
}

/* Progress bar */
body.dark-mode .progress {
  background: #374151 !important;
}
body.dark-mode .progress span {
  background: linear-gradient(90deg, #3b82f6, #2563eb) !important;
  box-shadow: 0 0 6px rgba(37,99,235,0.5);
}

/* Popup overlays */
body.dark-mode #mission-popup,
body.dark-mode .mission-popup {
  background: rgba(0,0,0,0.75) !important;
}
body.dark-mode #mission-popup .mission-popup-content,
body.dark-mode .mission-popup-content {
  background: #1e2533 !important;
  color: #e2e8f0 !important;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* Titles & Highlights */
body.dark-mode .title { color: #f9fafb !important; }
body.dark-mode .sum { color: #60a5fa !important; }
body.dark-mode .total.golden {
  color: #fbbf24 !important;
  text-shadow: 0 0 10px rgba(251,191,36,0.8);
}

/* Stepper, toggles */
body.dark-mode .toggle {
  background: #1e2533 !important;
  border-color: #475569 !important;
  color: #e2e8f0 !important;
}
body.dark-mode .toggle.on {
  background: #2563eb !important;
  color: #fff !important;
}

/* Lang / Logout / Theme buttons */
body.dark-mode #langBtn,
body.dark-mode #logout-btn,
body.dark-mode #themeBtn {
  background: #2563eb !important;
  color: #fff !important;
  border: none !important;
}
body.dark-mode #langBtn:hover,
body.dark-mode #logout-btn:hover,
body.dark-mode #themeBtn:hover {
  filter: brightness(1.15);
}

/* Charts and summary */
body.dark-mode .chart text,
body.dark-mode .chart tspan {
  fill: #f8fafc !important;
}

/* Scrollbar for dark mode (nicer aesthetic) */
body.dark-mode ::-webkit-scrollbar {
  width: 8px;
}
body.dark-mode ::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 4px;
}
body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* === Dark Mode v2.1 – Fixes for tables, +/- buttons, auth overlay, timer === */

/* Sticky table backgrounds forced to white in base CSS — override in dark */
body.dark-mode table thead th,
body.dark-mode table th:first-child,
body.dark-mode table td:first-child,
body.dark-mode table thead th:first-child {
  background: #111827 !important;
  color: #f1f5f9 !important;
  border-color: #374151 !important;
}

/* General table cell background to avoid white islands when sticky columns overlap */
body.dark-mode table td {
  background: #1e2533 !important;
  color: #e2e8f0 !important;
  border-color: #374151 !important;
}

/*
 * Additional dark mode tweaks introduced in this patch.  These styles
 * ensure the login modal and promotional popup respect the dark theme
 * colours.  Without these rules the login card and promo would remain
 * bright even when dark mode is active.
 */
body.dark-mode #fllplannerPromo {
  background: #1e2533 !important;
  border-color: #2c3446 !important;
  color: #e2e8f0 !important;
}
body.dark-mode #fllplannerPromo .promo-header {
  background: linear-gradient(90deg,#1e3a8a,#3b82f6) !important;
  color: #fff !important;
}
body.dark-mode #fllplannerPromo .promo-btn {
  background: #2563eb !important;
  color: #fff !important;
}

body.dark-mode .auth-card {
  background: #1e2533 !important;
  border-color: #2c3446 !important;
  color: #e2e8f0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.6) !important;
}
body.dark-mode .auth-card input,
body.dark-mode .auth-card select,
body.dark-mode .auth-card textarea {
  background: #111827 !important;
  color: #f8fafc !important;
  border: 1px solid #374151 !important;
}
body.dark-mode .auth-card input::placeholder,
body.dark-mode .auth-card textarea::placeholder {
  color: #9ca3af !important;
}
body.dark-mode .auth-card .btn.primary {
  background: #2563eb !important;
  color: #ffffff !important;
}
body.dark-mode .auth-card .btn.secondary {
  background: #334155 !important;
  color: #ffffff !important;
}

/* Stepper and time controls buttons are not .btn — style them explicitly */
body.dark-mode .stepper button,
body.dark-mode .timecard-controls button,
body.dark-mode .time-minus,
body.dark-mode .time-plus {
  background: #334155 !important;
  color: #f8fafc !important;
  border: 1px solid #475569 !important;
  border-radius: 6px !important;
}
body.dark-mode .stepper button:hover,
body.dark-mode .timecard-controls button:hover,
body.dark-mode .time-minus:hover,
body.dark-mode .time-plus:hover {
  background: #475569 !important;
}

/* Counter numbers inside steppers */
body.dark-mode .count-value,
body.dark-mode .time-value {
  color: #f8fafc !important;
}

/* FLL timer buttons */
body.dark-mode .fll-btn {
  color: #ffffff !important;
  border-color: #0b1220 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* Negative time switch */
body.dark-mode .neg-switch .slider-neg {
  background: #334155 !important;
  border: 1px solid #475569 !important;
}
body.dark-mode .neg-label {
  color: #e2e8f0 !important;
}

/* Auth overlay & login card */
body.dark-mode #auth-overlay {
  background: rgba(0,0,0,0.7) !important;
}
body.dark-mode #auth-overlay .auth-card {
  background: #111827 !important;
  color: #e2e8f0 !important;
  border: 1px solid #1f2937 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important;
}
body.dark-mode #auth-overlay .title,
body.dark-mode #auth-title {
  color: #f8fafc !important;
}
body.dark-mode #auth-overlay .subtitle,
body.dark-mode #auth-subtitle {
  color: #cbd5e1 !important;
}
body.dark-mode #auth-overlay .input,
body.dark-mode #auth-overlay input {
  background: #0b1220 !important;
  color: #f8fafc !important;
  border: 1px solid #334155 !important;
}
body.dark-mode #auth-overlay .btn {
  background: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
}
body.dark-mode #auth-overlay .btn.primary {
  background: #2563eb !important;
}
body.dark-mode #auth-overlay .btn.secondary {
  background: #475569 !important;
}
body.dark-mode #auth-overlay .btn.link {
  background: transparent !important;
  color: #93c5fd !important;
  border: none !important;
}

/* Mission popup close '×' */
body.dark-mode .mission-popup-close {
  color: #f8fafc !important;
}

/* Plus-button “+” popover triggers in cards */
body.dark-mode .plus-btn {
  background: #0b1220 !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
}
body.dark-mode .plus-btn:hover {
  background: #1f2937 !important;
}

/* === Dark Mode v3.0 (Comprehensive Polished Version) === */

/* Global transition for smooth switching */
body {
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* Base colors */
body.dark-mode {
  background: #0b1220 !important;
  color: #e2e8f0 !important;
}

/* Header and Navbar */
body.dark-mode header,
body.dark-mode .navbar {
  background: #111827 !important;
  color: #f1f5f9 !important;
  border-bottom: 1px solid #1f2937 !important;
}

/* Generic containers, cards */
body.dark-mode .card,
body.dark-mode .container,
body.dark-mode .box,
body.dark-mode .panel,
body.dark-mode .summary-box,
body.dark-mode .chart-container {
  background: #1e2533 !important;
  color: #f1f5f9 !important;
  border-color: #334155 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

/* Buttons */
body.dark-mode .btn {
  background: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
}
body.dark-mode .btn:hover {
  background: #475569 !important;
}
body.dark-mode .btn.primary {
  background: #2563eb !important;
}
body.dark-mode .btn.primary:hover {
  background: #1d4ed8 !important;
}

/* Inputs, selects, textareas */
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
  background: #111827 !important;
  color: #f8fafc !important;
  border: 1px solid #374151 !important;
}
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
  color: #9ca3af !important;
}

/* Tables, including summary tables */
body.dark-mode table {
  background: #1f2937 !important;
  color: #e5e7eb !important;
  border-color: #374151 !important;
}
body.dark-mode table th {
  background: #111827 !important;
  color: #f9fafb !important;
}
body.dark-mode table td {
  background: #1e2533 !important;
  color: #e2e8f0 !important;
  border-color: #374151 !important;
}

/* Stepper (counter) */
body.dark-mode .stepper {
  background: #1f2937 !important;
  border: 1px solid #334155 !important;
  border-radius: 8px !important;
  color: #f8fafc !important;
  box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
body.dark-mode .stepper button {
  background: #334155 !important;
  color: #f8fafc !important;
  border: 1px solid #475569 !important;
}
body.dark-mode .stepper button:hover {
  background: #475569 !important;
}
body.dark-mode .stepper span,
body.dark-mode .stepper .val {
  color: #f8fafc !important;
}

/*
 * In dark mode, the numeric values displayed inside steppers and summary
 * fields (spans whose id begins with "val_") should have a dark
 * background and light text.  Without these overrides the values
 * remain black on white, making them unreadable.  Apply a subtle
 * border to delineate the value boxes.
 */
body.dark-mode span[id^="val_"] {
  background: #334155 !important;
  color: #f1f5f9 !important;
  border: 1px solid #475569 !important;
}

/* Summary and graph boxes */
body.dark-mode #summaryGraphBox,
body.dark-mode #summaryTableContainer,
body.dark-mode .summarygraph-box {
  background: #1e2533 !important;
  border: 1px solid #334155 !important;
  color: #f1f5f9 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
body.dark-mode #summaryGraphBox h2,
body.dark-mode .summarygraph-box h2 {
  color: #f9fafb !important;
}

/* In dark mode, ensure the numeric count pill and its +/- controls adopt the dark theme
 * for improved readability.  The `.count-value` element shows the current counter value
 * and sits between plus/minus buttons; it inherits a white background by default which
 * becomes unreadable on a dark background.  Override the background and border colours
 * here.  Similarly, style the plus/minus buttons inside `.counter` so they match other
 * dark-mode buttons. */
body.dark-mode .count-value {
  background: #334155 !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}
body.dark-mode .counter button.plus,
body.dark-mode .counter button.minus {
  background: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
}
body.dark-mode .counter button.plus:hover,
body.dark-mode .counter button.minus:hover {
  background: #475569 !important;
}

/* Hide the old inline base64 logo when a separate `logo.png` is provided.  The original
 * project embeds a huge base64 encoded PNG on the same `<img>` tag as the new logo.  To
 * avoid duplicating the logo we hide any image whose alt text matches and whose source
 * attribute begins with "data:image" */
img[alt="FLLPlanner Scorer"][src^="data:image"] {
  display: none !important;
}

/* Progress bars */
body.dark-mode .progress {
  background: #475569 !important;
}
body.dark-mode .progress span {
  background: linear-gradient(90deg,#3b82f6,#2563eb) !important;
}

/* Popups and overlays */
body.dark-mode #mission-popup,
body.dark-mode .mission-popup {
  background: rgba(0,0,0,0.75) !important;
}
body.dark-mode #mission-popup .mission-popup-content,
body.dark-mode .mission-popup-content {
  background: #1e2533 !important;
  color: #f1f5f9 !important;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* Footer / credits / about text */
body.dark-mode footer,
body.dark-mode .footer,
body.dark-mode #footer,
body.dark-mode .credits,
body.dark-mode .about-text,
body.dark-mode .info-text {
  background: transparent !important;
  color: #e2e8f0 !important;
}
body.dark-mode footer a,
body.dark-mode .credits a,
body.dark-mode .about-text a {
  color: #93c5fd !important;
  text-decoration: underline;
}
body.dark-mode footer a:hover,
body.dark-mode .credits a:hover,
body.dark-mode .about-text a:hover {
  color: #bfdbfe !important;
}

/* Title and headings */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode .title {
  color: #f9fafb !important;
}

/* Minor text, notes, links */
body.dark-mode a { color: #60a5fa !important; }
body.dark-mode a:hover { color: #93c5fd !important; }
body.dark-mode small,
body.dark-mode .small-text,
body.dark-mode .note {
  color: #cbd5e1 !important;
}

/* Scrollbar */
body.dark-mode ::-webkit-scrollbar {
  width: 8px;
}
body.dark-mode ::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 4px;
}
body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* =======================
   FINAL DARK MODE OVERRIDES (high specificity, placed last)
   ======================= */

/* Prefer OS dark mode */
@media (prefers-color-scheme: dark) {
  /* Summary boxes & descendants */
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
  }

  /* Active counters & steppers */
  .card .counter.active,
  .card .counter.active .count-value,
  .card .counter.active button,
  .stepper.active,
  .stepper.active span[id^="val_"],
  .stepper.active button,
  .stepper.active .stepper-controls {
    background: #1e2533 !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
  }
}

/* Common class/attribute dark toggles — very broad to catch any setup */
:is(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :is(#summaryGraphBox, #summaryTableContainer) {
  background: #1e2533 !important;
}
:is(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :is(#summaryGraphBox *, #summaryTableContainer *) {
  background: #1e2533 !important;
  color: #fff !important;
}

/* Dark toggles for active counters/steppers */
:is(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :is(.card .counter.active, .card .counter.active .count-value, .card .counter.active button, .stepper.active, .stepper.active span[id^="val_"], .stepper.active button, .stepper.active .stepper-controls) {
  background: #1e2533 !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}

/* =======================
   EXPLICIT LIGHT MODE RESET (wins when not in dark)
   ======================= */

/* OS-level light preference */
@media (prefers-color-scheme: light) {
  .card .counter.active,
  .card .counter.active .count-value,
  .card .counter.active button,
  .stepper.active,
  .stepper.active span[id^="val_"],
  .stepper.active button,
  .stepper.active .stepper-controls,
  /* cover raw controls even without .active */
  .stepper-controls,
  .stepper-controls button,
  span[id^="val_"] {
    background: #eaf0ff !important;
  }
}

/* Class/attribute toggles: when NOT dark, force back to white */
:is(html, body):not(.dark):not(.dark-mode):not(.darkmode):not(.night):not(.theme-dark):not([data-theme="dark" i]):not([data-bs-theme="dark" i]):not([data-mode="dark" i]):not([theme="dark" i]) :is(
  .card .counter.active,
  .card .counter.active .count-value,
  .card .counter.active button,
  .stepper.active,
  .stepper.active span[id^="val_"],
  .stepper.active button,
  .stepper.active .stepper-controls,
  .stepper-controls,
  .stepper-controls button,
  span[id^="val_"]
) {
  background: #eaf0ff !important;
}

/* === ABSOLUTE LAST: Dark mode takes precedence over any light reset === */
@media (prefers-color-scheme: dark) {
  /* Summary areas */
  #summaryGraphBox,
  #summaryTableContainer,
  #summaryGraphBox *,
  #summaryTableContainer * {
    background: #1e2533 !important;
    color: #fff !important;
  }

  /* Stepper / Counter (active + raw controls) */
  .card .counter.active,
  .card .counter.active .count-value,
  .card .counter.active button,
  .stepper.active,
  .stepper.active span[id^="val_"],
  .stepper.active button,
  .stepper.active .stepper-controls,
  .stepper-controls,
  .stepper-controls button,
  span[id^="val_"] {
    background: #1e2533 !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
    color: #fff !important;
  }
}

/* Class/attribute-based dark toggle (ensure last) */
:where(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-bs-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :where(#summaryGraphBox, #summaryTableContainer) {
  background: #1e2533 !important;
}
:where(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-bs-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :where(#summaryGraphBox *, #summaryTableContainer *) {
  background: #1e2533 !important;
  color: #fff !important;
}
:where(html.dark, body.dark, .dark, .theme-dark, [data-theme="dark" i], [data-bs-theme="dark" i], [data-mode="dark" i], [theme="dark" i]) :where(.card .counter.active, .card .counter.active .count-value, .card .counter.active button, .stepper.active, .stepper.active span[id^="val_"], .stepper.active button, .stepper.active .stepper-controls, .stepper-controls, .stepper-controls button, span[id^="val_"]) {
  background: #1e2533 !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
  color: #fff !important;
}

/* ===== FINAL OVERRIDE: Dark mode stepper/counter must be dark ===== */
@media (prefers-color-scheme: dark) {
  /* target containers + all descendants to defeat transparent backgrounds */
  .stepper-controls,
  .stepper-controls *,
  .stepper.active,
  .stepper.active *,
  .card .counter.active,
  .card .counter.active *,
  [id^="val_"],
  .stepper-controls .btn,
  .stepper .btn {
    background: #1e2533 !important;
    background-color: #1e2533 !important;
    color: #fff !important;
    background-image: none !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
  }
}

/* Class/attribute dark toggles (super broad) */
:where(html.dark, body.dark, .dark, .theme-dark, .night, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i], [data-ui*="dark" i], body[class*="dark" i]) :where(.stepper-controls, .stepper-controls *, .stepper.active, .stepper.active *, .card .counter.active, .card .counter.active *, [id^="val_"], .stepper-controls .btn, .stepper .btn) {
  background: #1e2533 !important;
  background-color: #1e2533 !important;
  color: #fff !important;
  background-image: none !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}


/* ===== FINAL DARK MODE OVERLAY FOR STEPPER/COUNTER ===== */
/* This uses ::before overlays to visually enforce the dark background above any white bg. */

/* OS-level dark */
@media (prefers-color-scheme: dark) {
  .stepper-controls,
  .stepper-controls *,
  .stepper.active,
  .stepper.active *,
  .card .counter.active,
  .card .counter.active *,
  .stepper-controls .btn,
  .stepper .btn,
  span[id^="val_"] {
    position: relative !important;
    z-index: 0 !important; /* create a stacking context */
    background-image: none !important;
    color: #fff !important;
  }
  .stepper-controls::before,
  .stepper.active::before,
  .card .counter.active::before,
  .stepper-controls .btn::before,
  .stepper .btn::before,
  span[id^="val_"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: #1e2533 !important;
    z-index: -1 !important; /* paint above element's background but below content */
    pointer-events: none !important;
  }
}

/* Class/attribute dark toggles (broad coverage) */
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) :where(.stepper-controls, .stepper-controls *, .stepper.active, .stepper.active *, .card .counter.active, .card .counter.active *, .stepper-controls .btn, .stepper .btn, span[id^="val_"]) {
  position: relative !important;
  z-index: 0 !important;
  background-image: none !important;
  color: #fff !important;
}
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) :where(.stepper-controls::before, .stepper.active::before, .card .counter.active::before, .stepper-controls .btn::before, .stepper .btn::before, span[id^="val_"]::before) {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: #1e2533 !important;
  z-index: -1 !important;
  pointer-events: none !important;
}


/* ===== FINAL: Dark mode stepper & counter override — exact selector match ===== */
/* OS-level dark preference */
@media (prefers-color-scheme: dark) {
  /* Match the same selectors that set white in light mode */
  .card button,
  .card button[data-points],
  .card .counter button,
  .card .counter .count-value,
  .card .stepper > span[id^="val_"],
  .card .stepper > span,
  .card .stepper > .label {
    background: #1e2533 !important;
    color: #fff !important;
    border-color: #2563eb !important;
    box-shadow: none !important;
  }
  /* Common hover states */
  .card button:hover,
  .card .counter button:hover {
    background: #1f2a44 !important;
    color: #fff !important;
  }
}

/* Class/attribute dark toggles */
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) 
:where(.card button, .card button[data-points], .card .counter button, .card .counter .count-value, .card .stepper > span[id^="val_"], .card .stepper > span, .card .stepper > .label) {
  background: #1e2533 !important;
  color: #fff !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) 
:where(.card button:hover, .card .counter button:hover) {
  background: #1f2a44 !important;
  color: #fff !important;
}

/* =====================
   VARIABLE-DRIVEN STEPPER BACKGROUND (Last-in-file)
   ===================== */
:root {
  --stepper-bg: #fff;
  --stepper-fg: #111;
}

/* OS-level dark mode sets variables */
@media (prefers-color-scheme: dark) {
  :root {
    --stepper-bg: #1e2533;
    --stepper-fg: #fff;
  }
}

/* Class/attribute dark toggles set variables */
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) {
  --stepper-bg: #1e2533 !important;
  --stepper-fg: #fff !important;
}

/* Apply variables to the exact elements in the stepper area */
.stepper-controls,
.stepper-controls .btn,
.stepper-controls span[id^="val_"],
.card .stepper > span[id^="val_"],
.card .counter.active .count-value,
.card .counter.active button {
  background: var(--stepper-bg) !important;
  background-color: var(--stepper-bg) !important;
  background-image: none !important;
  color: var(--stepper-fg) !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}

/* Optional hover tweak (no color change, keeps dark/light consistent) */
.stepper-controls .btn:hover {
  filter: brightness(0.95);
}


/* ===== FINAL-FINAL DARK OVERLAY (covers inline white backgrounds) ===== */
@media (prefers-color-scheme: dark) {
  /* Create a stacking context so ::after can sit above element bg but under content */
  .stepper-controls,
  .card .counter.active,
  .stepper-controls .btn,
  span[id^="val_"] {
    position: relative !important;
    z-index: 0 !important;
  }
  /* Raise actual content above the overlay */
  .stepper-controls *,
  .card .counter.active *,
  .stepper-controls .btn *,
  span[id^="val_"] * {
    position: relative !important;
    z-index: 1 !important;
  }
  /* Paint a dark layer above any white background */
  .stepper-controls::after,
  .card .counter.active::after,
  .stepper-controls .btn::after,
  span[id^="val_"]::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: #1e2533 !important;
    box-shadow: none !important;
    pointer-events: none !important;
    z-index: 0 !important; /* sits above element bg, below content (which is z-index:1) */
  }
}

/* Class/attribute dark toggles */
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) :where(.stepper-controls, .card .counter.active, .stepper-controls .btn, span[id^="val_"]) {
  position: relative !important;
  z-index: 0 !important;
}
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) :where(.stepper-controls *, .card .counter.active *, .stepper-controls .btn *, span[id^="val_"] *) {
  position: relative !important;
  z-index: 1 !important;
}
:where(html.dark, body.dark, .dark, .dark-mode, .darkmode, .night, .theme-dark, [data-theme*="dark" i], [data-bs-theme*="dark" i], [data-mode*="dark" i], [theme*="dark" i]) :where(.stepper-controls::after, .card .counter.active::after, .stepper-controls .btn::after, span[id^="val_"]::after) {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: #1e2533 !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 0 !important;
}


/* === Dark Mode Fix: keep active steppers/counters dark (override white from .active) ===
   The base stylesheet sets active controls to white via:
     .card .counter.active, .card .counter.active .count-value, .card .counter.active button,
     .stepper.active, .stepper.active span[id^="val_"], .stepper.active button, .stepper.active .stepper-controls
   That selector is more specific than our generic dark-mode rules, so in dark mode the active
   controls were flashing white. These overrides target dark mode with equal-or-higher specificity
   and !important to ensure the dark palette is kept only when body.dark-mode is present.
*/
body.dark-mode .card .counter.active,
body.dark-mode .card .counter.active .count-value,
body.dark-mode .card .counter.active button,
body.dark-mode .stepper.active,
body.dark-mode .stepper.active span[id^="val_"],
body.dark-mode .stepper.active button,
body.dark-mode .stepper.active .stepper-controls {
  background: #1e2533 !important;
  color: #fff !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}

/* In light mode, keep the intended white active state explicitly to avoid accidental overrides */
body.light-mode .card .counter.active,
body.light-mode .card .counter.active .count-value,
body.light-mode .card .counter.active button,
body.light-mode .stepper.active,
body.light-mode .stepper.active span[id^="val_"],
body.light-mode .stepper.active button,
body.light-mode .stepper.active .stepper-controls {
  background: #eaf0ff !important;
  color: #111 !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
}


/* === THEME VARS: Dark mode card background fix === */
@media (prefers-color-scheme: dark) {
  :root { --card: #1e2533; }
}
body.dark-mode { --card: #1e2533 !important; }

/* Non-active steppers default to white background */
.stepper:not(.active),
.stepper:not(.active) .stepper-controls,
.stepper:not(.active) .stepper-controls button,
.stepper:not(.active) span[id^="val_"] {
  background: #fff !important;
}

/* --- Override: non-active steppers stay white --- */
:is(html, body):not(.dark):not(.dark-mode):not(.darkmode):not(.night):not(.theme-dark):not([data-theme="dark" i]):not([data-bs-theme="dark" i]):not([data-mode="dark" i]):not([theme="dark" i])
.stepper:not(.active),
:is(html, body):not(.dark):not(.dark-mode):not(.darkmode):not(.night):not(.theme-dark):not([data-theme="dark" i]):not([data-bs-theme="dark" i]):not([data-mode="dark" i]):not([theme="dark" i])
.stepper:not(.active) .stepper-controls,
:is(html, body):not(.dark):not(.dark-mode):not(.darkmode):not(.night):not(.theme-dark):not([data-theme="dark" i]):not([data-bs-theme="dark" i]):not([data-mode="dark" i]):not([theme="dark" i])
.stepper:not(.active) .stepper-controls button,
:is(html, body):not(.dark):not(.dark-mode):not(.darkmode):not(.night):not(.theme-dark):not([data-theme="dark" i]):not([data-bs-theme="dark" i]):not([data-mode="dark" i]):not([theme="dark" i])
.stepper:not(.active) span[id^="val_"] {
  background: #fff !important;
}

/* --- Force non-active steppers and inner elements to white --- */
.stepper:not(.active),
.stepper:not(.active) *,
.stepper:not(.active) .stepper-controls,
.stepper:not(.active) .stepper-controls *,
.stepper:not(.active) span[id^="val_"] {
  background: #fff !important;
}

/* === Grand Total visual emphasis (scoped) === */
.total:has(#grandTotal) {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  font-size: 0.95rem;      /* base for slash and max */
  font-weight: 400;        /* normal for slash/max */
  color: #8a8f99;          /* soft gray for slash/max */
}

.total:has(#grandTotal) #grandTotal {
  font-size: 2.15rem;      /* larger current total */
  line-height: 1;
  font-weight: 800;        /* bold current total */
  color: #111;             /* dark for emphasis */
}

/* Toast success variant (green) */
.toast-text.toast-success{background:#16a34a !important;color:#fff !important;border-radius:10px}

/* === Toast visual style (success variant) === */
.toast-msg.success {
  background: #16a34a;
  color: #fff;
  padding: 10px 16px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  font-size: 0.95rem;
  font-weight: 600;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.toast-msg.success .toast-icon {
  font-size: 1.1rem;
}
.toast-msg.success .toast-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.1rem;
  margin-left: 8px;
  cursor: pointer;
}

/* === Popup animation for constraint === */
.constraint-popup-box {
  animation: constraintFade 0.25s ease;
}
@keyframes constraintFade {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}


/* Clickable overlay aligned with the ::after no-equipment badge on mission cards */
.constraint-tap-target{
  position:absolute;
  bottom:28px; right:6px;
  width:20px; height:20px;
  cursor:pointer;
  z-index: 10; /* above card content but below global modals */
  background: transparent;
}


/* === FINAL v23 styles === */
.constraint-tap-target{
  position:absolute;
  bottom:28px;
  right:6px;
  width:22px;
  height:22px;
  cursor:pointer;
  background:transparent;
  z-index:12;
}
/* Disable clicks on icons inside popup */
.constraint-popup img[alt="No Equipment"]{
  pointer-events:none !important;
}
.constraint-popup-box{
  animation:constraintFade 0.25s ease;
}
@keyframes constraintFade{
  from{transform:scale(0.95);opacity:0}
  to{transform:scale(1);opacity:1}
}

/* v24: tap target for card badge (::after) and highlight */
.constraint-tap-target{
  position:absolute;
  bottom:28px;
  right:6px;
  width:22px;
  height:22px;
  cursor:pointer;
  background:transparent;
  z-index:12;
}
.mission-popup-content img[alt="No Equipment"]{
  pointer-events:none !important;
}
.mission-popup-content .constraint.constraint-highlight{
  outline: 2px solid #3b82f6;
  border-radius: 8px;
  animation: constraintPulse 1200ms ease-out 1;
}
@keyframes constraintPulse{
  0%{ box-shadow: 0 0 0 0 rgba(59,130,246,0.6); }
  100%{ box-shadow: 0 0 0 14px rgba(59,130,246,0); }
}


/* v26: Constraint Info modal */
#constraintInfoModal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}
#constraintInfoModal .cim-panel{
  background: #fff;
  color: #111;
  width: min(780px, calc(100% - 32px));
  max-height: 80vh;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  padding: 18px 20px 22px;
  overflow: auto;
  position: relative;
  font-family: inherit;
}
#constraintInfoModal .cim-close{
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: 22px;
  line-height: 1;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
}
#constraintInfoModal h3{ margin: 0 0 8px; font-size: 18px; }
#constraintInfoModal hr{ border: 0; border-top: 1px solid #e5e7eb; margin: 10px 0 12px; }
#constraintInfoModal p{ margin: 0 0 6px; font-size: 14px; line-height: 1.5; }


/* Hide constraint tap target on blacklisted missions (redundant safety) */
.card[data-mission="EI"] .constraint-tap-target,
.card[data-mission="M02"] .constraint-tap-target,
.card[data-mission="M03"] .constraint-tap-target,
.card[data-mission="M06"] .constraint-tap-target,
.card[data-mission="M07"] .constraint-tap-target,
.card[data-mission="M08"] .constraint-tap-target,
.card[data-mission="M10"] .constraint-tap-target,
.card[data-mission="M15"] .constraint-tap-target,
.card[data-mission="PT"] .constraint-tap-target { display:none !important; }

