@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Roboto+Mono:wght@400;500&display=swap');

/* ── CSS custom properties ────────────────────────────────── */
#ba-wrap {
  --ba-primary:    #1a6fa8;
  --ba-accent:     #f0a500;
  --ba-success:    #16a34a;
  --ba-card:       #ffffff;
  --ba-bg:         #f8fafc;
  --ba-text:       #1c2b3a;
  --ba-muted:      #64748b;
  --ba-border:     #e2e8f0;
  --ba-radius:     8px;
  --ba-font:       15px;
  --ba-shadow:     0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --ba-sec-pad:    22px;
  --ba-card-pad:   22px;
  --ba-sec-gap:    14px;
  --ba-field-gap:  14px;
  --ba-input-pv:   10px;
  --ba-input-ph:   13px;
  --ba-label-size: 79%;
  --ba-hint-size:  71%;
}

/* ── Scope reset — box-sizing only, NO padding/margin wipe ─ */
/* Padding/margin reset causes theme conflicts and kills our spacing vars */
#ba-wrap, #ba-wrap * { box-sizing:border-box; }

/* ── Wrapper ────────────────────────────────────────────── */
#ba-wrap {
  font-family:'Open Sans',sans-serif;
  font-size:var(--ba-font, 15px);
  color:var(--ba-text);
  width:100%;
  position:relative;
  /* Reset common theme overrides explicitly on the wrapper only */
  line-height:1.5;
  margin:0;
  padding:0;
}

/* ── Form layout ────────────────────────────────────────── */
#ba-wrap .ba-form { display:flex; flex-direction:column; gap:var(--ba-sec-gap, 14px); margin:0; padding:0; }
#ba-wrap .ba-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--ba-sec-gap, 14px); margin:0; padding:0; }
#ba-wrap .ba-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:var(--ba-sec-gap, 14px); margin:0; padding:0; }
@media(max-width:720px){ #ba-wrap .ba-grid-2, #ba-wrap .ba-grid-3 { grid-template-columns:1fr; } }
@media(min-width:721px) and (max-width:900px){ #ba-wrap .ba-grid-3 { grid-template-columns:1fr 1fr; } }

/* ── Section boxes ──────────────────────────────────────── */
#ba-wrap .ba-section {
  background:var(--ba-card, #fff);
  border:1px solid var(--ba-border, #e2e8f0);
  border-radius:var(--ba-radius, 8px);
  padding:var(--ba-sec-pad, 22px) !important;
  box-shadow:var(--ba-shadow);
  margin:0;
}
#ba-wrap .ba-sec-label {
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:var(--ba-primary, #1a6fa8);
  margin:0 0 calc(var(--ba-sec-pad, 22px) * 0.65) 0;
  padding:0;
  display:block;
}
#ba-wrap .ba-section-tariff { display:flex; flex-direction:column; }

/* ── Fields ─────────────────────────────────────────────── */
#ba-wrap .ba-fields-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--ba-field-gap, 14px); margin:0; padding:0; }
@media(max-width:440px){ #ba-wrap .ba-fields-2 { grid-template-columns:1fr; } }

#ba-wrap .ba-field { display:flex; flex-direction:column; gap:5px; margin:0; padding:0; }

#ba-wrap .ba-field label {
  font-size:var(--ba-label-size, 79%);
  font-weight:600;
  color:var(--ba-muted, #64748b);
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
}
#ba-wrap .ba-field-badge {
  font-size:.62rem;
  font-weight:600;
  background:rgba(26,111,168,.1);
  color:var(--ba-primary, #1a6fa8);
  padding:2px 7px;
  border-radius:20px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
#ba-wrap .ba-iw {
  display:flex;
  border:1.5px solid var(--ba-border, #e2e8f0);
  border-radius:calc(var(--ba-radius, 8px) - 2px);
  overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
  margin:0;
  padding:0;
}
#ba-wrap .ba-iw:focus-within {
  border-color:var(--ba-primary, #1a6fa8);
  box-shadow:0 0 0 3px rgba(26,111,168,.1);
}
#ba-wrap .ba-input {
  flex:1;
  border:none;
  outline:none;
  background:transparent;
  padding:var(--ba-input-pv, 10px) var(--ba-input-ph, 13px);
  font-family:'Roboto Mono',monospace;
  font-size:.93rem;
  color:var(--ba-text, #1c2b3a);
  min-width:0;
  margin:0;
}
#ba-wrap .ba-input::placeholder { color:#c4cdd6; }
#ba-wrap .ba-input::-webkit-inner-spin-button { opacity:.5; }
#ba-wrap .ba-unit {
  padding:0 10px;
  font-size:.68rem;
  font-weight:600;
  color:var(--ba-muted, #64748b);
  background:var(--ba-bg, #f8fafc);
  border-left:1px solid var(--ba-border, #e2e8f0);
  display:flex;
  align-items:center;
  white-space:nowrap;
  margin:0;
}
#ba-wrap .ba-hint {
  font-size:var(--ba-hint-size, 71%);
  color:#94a3b8;
  font-style:italic;
  margin:0;
  padding:0;
}

/* ── Toggle ─────────────────────────────────────────────── */
#ba-wrap .ba-toggle-wrap {
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  margin:0 0 12px 0;
  padding:0;
}
#ba-wrap .ba-toggle-ctrl { flex-shrink:0; padding:2px 0 0 0; margin:0; }
#ba-wrap .ba-toggle-chk { position:absolute; opacity:0; width:0; height:0; }
#ba-wrap .ba-toggle-track {
  display:block;
  width:46px;
  height:25px;
  background:#dde3ea;
  border-radius:100px;
  position:relative;
  transition:background .2s;
  margin:0;
  padding:0;
}
#ba-wrap .ba-toggle-thumb {
  display:block;
  width:17px;
  height:17px;
  background:#fff;
  border-radius:50%;
  position:absolute;
  top:4px; left:4px;
  transition:transform .2s;
  box-shadow:0 1px 3px rgba(0,0,0,.22);
  margin:0;
  padding:0;
}
#ba-wrap .ba-toggle-chk:checked ~ .ba-toggle-track { background:var(--ba-primary, #1a6fa8); }
#ba-wrap .ba-toggle-chk:checked ~ .ba-toggle-track .ba-toggle-thumb { transform:translateX(21px); }
#ba-wrap .ba-toggle-wrap strong { display:block; font-size:.88rem; font-weight:600; color:var(--ba-text, #1c2b3a); margin:0; padding:0; }
#ba-wrap .ba-toggle-wrap span   { display:block; font-size:.74rem; color:var(--ba-muted, #64748b); margin:2px 0 0 0; line-height:1.4; padding:0; }
#ba-wrap .ba-dyn-note {
  display:flex;
  align-items:flex-start;
  gap:8px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:calc(var(--ba-radius, 8px) - 2px);
  padding:10px 12px;
  font-size:.78rem;
  color:#1d4ed8;
  line-height:1.5;
  margin:4px 0 0 0;
}
#ba-wrap .ba-dyn-icon { flex-shrink:0; font-size:1rem; }

/* ── CTA button ─────────────────────────────────────────── */
#ba-wrap .ba-cta-row { display:flex; padding:4px 0 0 0; margin:0; }
#ba-wrap .ba-cta-row.align-center { justify-content:center; }
#ba-wrap .ba-cta-row.align-right  { justify-content:flex-end; }
#ba-wrap .ba-cta-row.align-left   { justify-content:flex-start; }
#ba-wrap .ba-btn {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--ba-primary, #1a6fa8);
  color:#fff;
  border:none;
  border-radius:100px;
  padding:12px 34px;
  font-family:'Open Sans',sans-serif;
  font-size:.95rem;
  font-weight:700;
  cursor:pointer;
  transition:filter .15s, transform .12s, box-shadow .15s;
  box-shadow:0 3px 12px rgba(26,111,168,.28);
  margin:0;
  line-height:1;
}
#ba-wrap .ba-btn:hover { filter:brightness(.9); transform:translateY(-1px); box-shadow:0 5px 18px rgba(26,111,168,.38); }
#ba-wrap .ba-btn:active { transform:translateY(0); }

/* ── Error ──────────────────────────────────────────────── */
#ba-wrap .ba-error {
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#dc2626;
  border-radius:calc(var(--ba-radius, 8px) - 2px);
  padding:9px 13px;
  font-size:.82rem;
  margin:4px 0 0 0;
}

/* ── Loading ────────────────────────────────────────────── */
#ba-wrap .ba-loading {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:40px;
  font-size:.88rem;
  color:var(--ba-muted, #64748b);
  margin:0;
}
#ba-wrap .ba-spinner {
  width:38px; height:38px;
  border:3px solid var(--ba-border, #e2e8f0);
  border-top-color:var(--ba-primary, #1a6fa8);
  border-radius:50%;
  animation:ba-spin .7s linear infinite;
}
@keyframes ba-spin { to { transform:rotate(360deg); } }

/* ── Results ────────────────────────────────────────────── */
#ba-wrap .ba-results { margin:calc(var(--ba-sec-gap, 14px) + 8px) 0 0 0; animation:ba-up .3s ease; padding:0; }
@keyframes ba-up { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
#ba-wrap .ba-results-header { margin:0 0 var(--ba-sec-gap, 14px) 0; padding:0; }
#ba-wrap .ba-results-header h3 { font-size:1.05rem; font-weight:700; color:var(--ba-text, #1c2b3a); margin:0; padding:0; }

/* Summary strip */
#ba-wrap .ba-summary {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:var(--ba-field-gap, 14px);
  margin:0 0 var(--ba-sec-gap, 14px) 0;
  padding:0;
}
#ba-wrap .ba-stat {
  background:var(--ba-card, #fff);
  border:1px solid var(--ba-border, #e2e8f0);
  border-radius:var(--ba-radius, 8px);
  padding:14px var(--ba-sec-pad, 22px);
  box-shadow:var(--ba-shadow);
  text-align:center;
  margin:0;
}
#ba-wrap .ba-stat-val {
  display:block;
  font-family:'Roboto Mono',monospace;
  font-size:1.35rem;
  font-weight:500;
  color:var(--ba-primary, #1a6fa8);
  margin:0; padding:0;
}
#ba-wrap .ba-stat-lbl { font-size:.67rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; color:var(--ba-muted, #64748b); margin:3px 0 0 0; padding:0; }

/* HP note */
#ba-wrap .ba-hp-note {
  display:flex; align-items:flex-start; gap:8px;
  background:#f0fdf4; border:1px solid #bbf7d0;
  border-radius:var(--ba-radius, 8px);
  padding:10px 14px; font-size:.79rem; color:#166534;
  margin:0 0 var(--ba-sec-gap, 14px) 0; line-height:1.5;
}
#ba-wrap .ba-hp-note svg { flex-shrink:0; margin-top:1px; }

/* Cards */
#ba-wrap .ba-cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:var(--ba-sec-gap, 14px);
  margin:0 0 var(--ba-sec-gap, 14px) 0;
  padding:0;
}
#ba-wrap .ba-card {
  background:var(--ba-card, #fff);
  border:1.5px solid var(--ba-border, #e2e8f0);
  border-radius:var(--ba-radius, 8px);
  padding:var(--ba-card-pad, 22px) !important;
  padding-top:calc(var(--ba-card-pad, 22px) + 4px) !important;
  box-shadow:var(--ba-shadow);
  position:relative;
  transition:transform .15s, box-shadow .15s;
  margin:0;
}
#ba-wrap .ba-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.09); }
#ba-wrap .ba-card.is-rec { border-color:var(--ba-accent, #f0a500); box-shadow:0 0 0 3px rgba(240,165,0,.12), var(--ba-shadow); }
#ba-wrap .ba-rec-badge {
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--ba-accent, #f0a500); color:#7a4200;
  font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px;
  padding:3px 13px; border-radius:20px; white-space:nowrap;
  box-shadow:0 2px 6px rgba(240,165,0,.25);
  margin:0;
}
#ba-wrap .ba-card-brand { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--ba-muted, #64748b); margin:0 0 2px 0; padding:0; }
#ba-wrap .ba-card-model { font-size:.9rem; font-weight:600; color:var(--ba-text, #1c2b3a); margin:0 0 4px 0; line-height:1.3; padding:0; }
#ba-wrap .ba-card-cap { font-family:'Roboto Mono',monospace; font-size:1.9rem; font-weight:500; color:var(--ba-primary, #1a6fa8); line-height:1; }
#ba-wrap .ba-card-cap-unit { font-size:.85rem; color:var(--ba-muted, #64748b); margin-left:2px; }
#ba-wrap .ba-card-modules { font-size:.7rem; color:var(--ba-muted, #64748b); margin:3px 0 14px 0; padding:0; }
#ba-wrap .ba-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin:0 0 12px 0; padding:0; }
#ba-wrap .ba-card-top > div:first-child { flex:1; }
#ba-wrap .ba-card-badges { flex-shrink:0; display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
#ba-wrap .ba-card-kwhrow { display:flex; align-items:baseline; gap:4px; margin:4px 0 2px 0; padding:0; }
#ba-wrap .ba-sep { border:none; border-top:1px solid var(--ba-border, #e2e8f0); margin:12px 0; padding:0; }

/* Inverter line */
#ba-wrap .ba-inv-line {
  display:flex; align-items:center; gap:6px;
  background:var(--ba-bg, #f8fafc); border:1px solid var(--ba-border, #e2e8f0);
  border-radius:calc(var(--ba-radius, 8px) - 2px);
  padding:8px 11px; margin:0 0 12px 0;
}
#ba-wrap .ba-inv-icon { font-size:.85rem; }
#ba-wrap .ba-inv-info { flex:1; margin:0; padding:0; }
#ba-wrap .ba-inv-brand { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--ba-muted, #64748b); margin:0; padding:0; }
#ba-wrap .ba-inv-model { font-size:.78rem; color:var(--ba-text, #1c2b3a); font-weight:500; margin:0; padding:0; }
#ba-wrap .ba-inv-kw { font-family:'Roboto Mono',monospace; font-size:.8rem; font-weight:500; color:var(--ba-primary, #1a6fa8); white-space:nowrap; }

/* Data rows */
#ba-wrap .ba-row {
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:.8rem; color:var(--ba-muted, #64748b); margin:0 0 5px 0; gap:8px; padding:0;
}
#ba-wrap .ba-row span:last-child {
  font-family:'Roboto Mono',monospace; font-size:.82rem;
  color:var(--ba-text, #1c2b3a); font-weight:500; text-align:right; white-space:nowrap;
}
#ba-wrap .ba-row.is-green span:last-child { color:var(--ba-success, #16a34a); font-weight:700; }
#ba-wrap .ba-row.is-amber span:last-child { color:#b45309; font-weight:700; }
#ba-wrap .ba-row.is-blue  span:last-child { color:var(--ba-primary, #1a6fa8); font-weight:700; }

/* Payback */
#ba-wrap .ba-payback {
  margin:14px 0 0 0; border:1px solid var(--ba-border, #e2e8f0);
  border-radius:6px; padding:12px; text-align:center;
  background:var(--ba-bg, #f8fafc);
}
#ba-wrap .ba-pb-label { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--ba-muted, #64748b); margin:0; padding:0; }
#ba-wrap .ba-pb-val { font-family:'Roboto Mono',monospace; font-size:1.55rem; font-weight:500; color:var(--ba-primary, #1a6fa8); display:block; margin:2px 0 0 0; padding:0; }
#ba-wrap .ba-pb-both {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1px; background:var(--ba-border, #e2e8f0);
  border-radius:6px; overflow:hidden; margin:14px 0 0 0; padding:0;
}
#ba-wrap .ba-pb-cell { background:var(--ba-bg, #f8fafc); padding:10px; text-align:center; margin:0; }
#ba-wrap .ba-pb-cell-lbl { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--ba-muted, #64748b); margin:0; padding:0; }
#ba-wrap .ba-pb-cell-val { font-family:'Roboto Mono',monospace; font-size:1.3rem; font-weight:500; color:var(--ba-primary, #1a6fa8); display:block; margin:2px 0 0 0; padding:0; }
#ba-wrap .ba-pb-cell-val.is-green { color:var(--ba-success, #16a34a); }

/* Tax callout */
#ba-wrap .ba-tax-callout {
  background:#fffbeb; border:1px solid #fde68a;
  border-radius:var(--ba-radius, 8px); padding:13px 16px;
  font-size:.82rem; color:#92400e; margin:0 0 var(--ba-sec-gap, 14px) 0; line-height:1.6;
}
#ba-wrap .ba-tax-callout strong { color:#78350f; }

/* Notes */
#ba-wrap .ba-notes { display:flex; flex-direction:column; gap:7px; margin:0 0 var(--ba-sec-gap, 14px) 0; padding:0; }
#ba-wrap .ba-note {
  font-size:.77rem; color:#374151; padding:9px 14px;
  background:#fffbeb; border-left:3px solid var(--ba-accent, #f0a500);
  border-radius:0 5px 5px 0; line-height:1.5; margin:0;
}

/* Disclaimer */
#ba-wrap .ba-disclaimer {
  font-size:.68rem; color:#94a3b8; line-height:1.55;
  border-top:1px solid var(--ba-border, #e2e8f0); padding:13px 0 0 0; margin:4px 0 0 0;
}

/* Savings range */
#ba-wrap .ba-savings-range {
  margin:8px 0 6px 0; background:var(--ba-bg, #f8fafc);
  border:1px solid var(--ba-border, #e2e8f0);
  border-radius:calc(var(--ba-radius, 8px) - 2px); overflow:hidden;
}
#ba-wrap .ba-sr-title {
  font-size:.72rem; font-weight:700; color:var(--ba-muted, #64748b);
  padding:7px 10px 5px 10px; border-bottom:1px solid var(--ba-border, #e2e8f0);
  display:flex; align-items:center; gap:6px; margin:0;
}
#ba-wrap .ba-sr-note { font-size:.65rem; font-weight:400; color:#94a3b8; font-style:italic; }
#ba-wrap .ba-sr-rows { display:flex; flex-direction:column; }
#ba-wrap .ba-sr-row {
  display:grid; grid-template-columns:60px 1fr auto;
  align-items:center; gap:6px; padding:5px 10px;
  border-bottom:1px solid var(--ba-border, #e2e8f0); font-size:.78rem; margin:0;
}
#ba-wrap .ba-sr-row:last-child { border-bottom:none; }
#ba-wrap .ba-sr-label { font-weight:600; color:var(--ba-muted, #64748b); }
#ba-wrap .ba-sr-total { font-family:'Roboto Mono',monospace; font-weight:700; text-align:right; }
#ba-wrap .ba-sr-break { font-size:.65rem; color:#94a3b8; text-align:right; white-space:nowrap; }
#ba-wrap .ba-sr-low   .ba-sr-total { color:#64748b; }
#ba-wrap .ba-sr-mid   .ba-sr-total { color:var(--ba-success, #16a34a); }
#ba-wrap .ba-sr-mid { background:rgba(22,163,74,.04); }
#ba-wrap .ba-sr-high  .ba-sr-total { color:#0369a1; }
#ba-wrap .ba-sr-yr { font-size:.65rem; font-weight:400; color:var(--ba-muted, #64748b); }

/* Payback range */
#ba-wrap .ba-pb-range {
  margin:12px 0 0 0; border:1px solid var(--ba-border, #e2e8f0);
  border-radius:calc(var(--ba-radius, 8px) - 2px); overflow:hidden;
  background:var(--ba-bg, #f8fafc); padding:0;
}
#ba-wrap .ba-pb-range-title {
  font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  color:var(--ba-muted, #64748b); padding:6px 10px;
  border-bottom:1px solid var(--ba-border, #e2e8f0); margin:0;
}
#ba-wrap .ba-pb-range-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  gap:1px; background:var(--ba-border, #e2e8f0); margin:0; padding:0;
}
#ba-wrap .ba-pb-rc { background:var(--ba-bg, #f8fafc); padding:8px 6px; text-align:center; margin:0; }
#ba-wrap .ba-pb-rc-lbl { font-size:.62rem; font-weight:700; text-transform:uppercase; color:var(--ba-muted, #64748b); margin:0; padding:0; }
#ba-wrap .ba-pb-rc-val { font-family:'Roboto Mono',monospace; font-size:1.1rem; font-weight:500; color:var(--ba-primary, #1a6fa8); margin:2px 0 0 0; padding:0; display:block; }
#ba-wrap .ba-pb-rc-net { font-size:.63rem; color:var(--ba-success, #16a34a); font-weight:600; margin:2px 0 0 0; padding:0; }
#ba-wrap .ba-pb-tax-note {
  font-size:.7rem; color:#92400e; padding:6px 10px;
  border-top:1px solid var(--ba-border, #e2e8f0); background:#fffbeb; margin:0;
}

/* Backup badges */
#ba-wrap .ba-backup-badge {
  display:inline-block; background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8;
  font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  padding:3px 9px; border-radius:20px; white-space:nowrap; margin:0;
}
#ba-wrap .ba-no-backup-badge {
  display:inline-block; background:#fef9c3; border:1px solid #fde047; color:#854d0e;
  font-size:.62rem; font-weight:600; padding:3px 9px; border-radius:20px; white-space:nowrap; margin:0;
}

/* Cost breakdown */
#ba-wrap .ba-cost-item    { margin:0 0 2px 0; padding:0; }
#ba-wrap .ba-excl-note    { font-size:.68rem; color:var(--ba-muted, #64748b); margin:1px 0 6px 0; padding-left:4px; border-left:2px solid var(--ba-border, #e2e8f0); }
#ba-wrap .ba-cost-incl    { font-family:'Roboto Mono',monospace; font-size:.82rem; font-weight:500; color:var(--ba-text, #1c2b3a); }
#ba-wrap .ba-cost-total   { margin:6px 0 2px 0; padding:6px 0 0 0; border-top:1px solid var(--ba-border, #e2e8f0); }

/* Fixed contract savings */
#ba-wrap .ba-bat-save-row {
  margin:8px 0 6px 0; background:var(--ba-bg, #f8fafc);
  border:1px solid var(--ba-border, #e2e8f0);
  border-radius:calc(var(--ba-radius, 8px) - 2px); padding:10px 12px;
}
#ba-wrap .ba-bat-save-label { font-size:.78rem; font-weight:600; color:var(--ba-muted, #64748b); margin:0 0 3px 0; padding:0; }
#ba-wrap .ba-bat-save-val { font-family:'Roboto Mono',monospace; font-size:1.3rem; font-weight:700; color:var(--ba-success, #16a34a); margin:0; padding:0; }
#ba-wrap .ba-bat-save-yr  { font-size:.7rem; font-weight:400; color:var(--ba-muted, #64748b); }
#ba-wrap .ba-bat-save-sub { font-size:.65rem; font-weight:400; color:#94a3b8; font-style:italic; margin-left:6px; }
#ba-wrap .ba-bat-save-note { font-size:.68rem; color:#94a3b8; font-style:italic; margin:3px 0 0 0; line-height:1.4; padding:0; }
#ba-wrap .ba-save-line    { font-size:.7rem; color:var(--ba-muted, #64748b); margin:3px 0 0 0; padding:3px 0 0 0; border-top:1px solid var(--ba-border, #e2e8f0); }
