/* ════════════════════════════════════════════════════════════════════
   Coleman & Co. — Printable Member Forms reskin
   Loaded after forms-print-sheet.css.
   Targets every body.mfs-page form (peptide journal, weekly calendar,
   stack builder guide, cycle overview, appointment notes, recon &
   dosing card, lab results log, symptom & change log).
   ════════════════════════════════════════════════════════════════════ */

:root {
  --fpl-bg:        #EDECEA;
  --fpl-bg-strong: #E5E4E2;
  --fpl-bg-deep:   #DCDBD8;
  --fpl-card:      #FFFFFF;
  --fpl-rule:      rgba(26, 31, 46, 0.10);
  --fpl-rule-strong: rgba(26, 31, 46, 0.16);
  --fpl-text:      #1A1F2E;
  --fpl-text-dim:  rgba(26, 31, 46, 0.78);
  --fpl-text-mut:  rgba(26, 31, 46, 0.62);
  --fpl-blue:      #2A3FA8;
  --fpl-blue-deep: #1E2D7A;
  --fpl-cyan:      #2EB6E0;
  --fpl-blue-tint: rgba(42, 63, 168, 0.06);
  --fpl-blue-tint-strong: rgba(42, 63, 168, 0.10);
  --fpl-blue-rule: rgba(42, 63, 168, 0.20);
  --fpl-shadow:    0 12px 32px rgba(26, 31, 46, 0.08);
  --fpl-shadow-soft: 0 6px 18px rgba(26, 31, 46, 0.06);
  --fpl-font-display: 'Marcellus', Georgia, serif;
  --fpl-font-ui:      'DM Sans', system-ui, sans-serif;
  --fpl-font-eyebrow: 'Barlow Condensed', 'DM Sans', system-ui, sans-serif;
  --fpl-radius: 16px;
}

/* ───── Body / wallpaper ───── */
body.mfs-page {
  background: linear-gradient(180deg, var(--fpl-bg) 0%, var(--fpl-bg-strong) 48%, var(--fpl-bg-deep) 100%) !important;
  color: var(--fpl-text) !important;
  font-family: var(--fpl-font-ui) !important;
}
.mfs-atmo { display: none !important; }
.mfs-atmo::after { display: none !important; content: none !important; background: none !important; }
.mfs-shell { background: transparent !important; }

/* ───── Toolbar ───── */
body.mfs-page .mfs-toolbar {
  background: transparent !important;
  margin-bottom: 18px !important;
}
body.mfs-page .mfs-toolbar a.form-back {
  font-family: var(--fpl-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fpl-blue) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  padding: 9px 16px !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}
body.mfs-page .mfs-toolbar a.form-back:hover {
  background: var(--fpl-blue) !important;
  color: #fff !important;
  border-color: var(--fpl-blue) !important;
}
body.mfs-page .print-btn {
  font-family: var(--fpl-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--fpl-blue), var(--fpl-blue-deep)) !important;
  border: 1px solid var(--fpl-blue-deep) !important;
  border-radius: 100px !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(42, 63, 168, 0.24) !important;
  transition: all .2s ease !important;
  text-shadow: none !important;
}
body.mfs-page .print-btn:hover {
  filter: brightness(1.05) !important;
  transform: translateY(-1px) !important;
}

/* ───── Sheet (the printable form card) ───── */
body.mfs-page .sheet {
  background: var(--fpl-card) !important;
  border: 1px solid var(--fpl-rule) !important;
  border-radius: var(--fpl-radius) !important;
  padding: 32px clamp(20px, 3vw, 36px) 28px !important;
  box-shadow: var(--fpl-shadow) !important;
  color: var(--fpl-text) !important;
  position: relative !important;
  overflow: hidden !important;
}
body.mfs-page .sheet::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 3px !important;
  height: auto !important;
  background: linear-gradient(180deg, var(--fpl-cyan), var(--fpl-blue)) !important;
  border-radius: 2px 0 0 2px !important;
  opacity: 1 !important;
}
body.mfs-page .sheet::after { display: none !important; content: none !important; }

/* Focus ring */
body.mfs-page .sheet :where(input:not([type='hidden']), textarea):focus-visible {
  outline: 2px solid var(--fpl-blue) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* ───── Header ───── */
body.mfs-page .hdr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
  margin-bottom: 18px !important;
  position: relative !important;
}
body.mfs-page .hdr::before { display: none !important; content: none !important; }

body.mfs-page .hdr-left {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

/* Replace the legacy .mono-ring with our actual logo block */
body.mfs-page .mono-ring {
  width: 56px !important;
  height: 56px !important;
  border-radius: 14px !important;
  background: linear-gradient(165deg, #FFFFFF 0%, #F2F1EE 100%) !important;
  border: 1px solid var(--fpl-rule) !important;
  box-shadow: 0 8px 22px rgba(42, 63, 168, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  flex-shrink: 0 !important;
  color: transparent !important;  /* hide legacy SVG glyph */
  position: relative !important;
}
body.mfs-page .mono-ring::before { display: none !important; content: none !important; }
/* Hide the legacy inline SVG inside .mono-ring */
body.mfs-page .mono-ring > svg { display: none !important; }
/* Render our actual brand mark instead */
body.mfs-page .mono-ring::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: 8px !important;
  background-image: url('../images/coleman-mark.svg') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body.mfs-page .hdr-brand-name {
  font-family: var(--fpl-font-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--fpl-text) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
  text-shadow: none !important;
}
body.mfs-page .hdr-brand-sub {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
  margin-top: 2px !important;
}

body.mfs-page .hdr-right { text-align: right !important; }
body.mfs-page .hdr-title {
  font-family: var(--fpl-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--fpl-blue) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  -webkit-text-fill-color: var(--fpl-blue) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  text-shadow: none !important;
}
body.mfs-page .hdr-eyebrow {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
  margin-top: 4px !important;
}

/* ───── Section labels ───── */
body.mfs-page .sec-lbl {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--fpl-blue) !important;
  margin: 0 0 12px !important;
  padding-left: 12px !important;
  position: relative !important;
  display: inline-block !important;
  -webkit-text-fill-color: var(--fpl-blue) !important;
}
body.mfs-page .sec-lbl::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  bottom: 2px !important;
  width: 3px !important;
  background: linear-gradient(180deg, var(--fpl-cyan), var(--fpl-blue)) !important;
  border-radius: 2px !important;
}
body.mfs-page .sec-lbl::after { display: none !important; content: none !important; }

/* ───── Field labels + boxes ───── */
body.mfs-page .field-lbl {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
}
body.mfs-page .field-box {
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
}
body.mfs-page .field-box:focus-within {
  border-color: var(--fpl-blue) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(42, 63, 168, 0.10) !important;
}
body.mfs-page .field-box.accent {
  background: linear-gradient(135deg, var(--fpl-blue-tint-strong), var(--fpl-blue-tint)) !important;
  border-color: var(--fpl-blue-rule) !important;
}

/* Write lines + areas */
body.mfs-page .write-line,
body.mfs-page .write-area {
  font-family: var(--fpl-font-ui) !important;
  font-size: 14px !important;
  color: var(--fpl-text) !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  width: 100% !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .write-line {
  border-bottom: 1px solid var(--fpl-rule) !important;
  padding: 4px 0 !important;
}
body.mfs-page .write-line::placeholder,
body.mfs-page .write-area::placeholder {
  color: var(--fpl-text-mut) !important;
  opacity: 0.7 !important;
  font-style: italic !important;
}
body.mfs-page .write-area {
  padding: 8px 0 !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

/* mfs-ta textareas (used in some forms) */
body.mfs-page textarea.mfs-ta {
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text) !important;
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 12px !important;
  outline: none !important;
  line-height: 1.55 !important;
  width: 100% !important;
  resize: vertical !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
}
body.mfs-page textarea.mfs-ta::placeholder {
  color: var(--fpl-text-mut) !important;
  opacity: 0.7 !important;
  font-style: italic !important;
}
body.mfs-page textarea.mfs-ta:focus {
  border-color: var(--fpl-blue) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(42, 63, 168, 0.10) !important;
}

body.mfs-page textarea.write-area {
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 12px !important;
  resize: vertical !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
  font-family: var(--fpl-font-ui) !important;
}
body.mfs-page textarea.write-area:focus {
  border-color: var(--fpl-blue) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(42, 63, 168, 0.10) !important;
  outline: none !important;
}

/* ───── Check rows ───── */
body.mfs-page .check-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 4px !important;
  border-radius: 8px !important;
  transition: background .15s ease !important;
}
body.mfs-page .check-row:hover { background: var(--fpl-blue-tint) !important; }
body.mfs-page .check-box {
  width: 18px !important;
  height: 18px !important;
  border-radius: 5px !important;
  border: 1.5px solid var(--fpl-blue-rule) !important;
  background: #FFFFFF !important;
  flex-shrink: 0 !important;
}
body.mfs-page .check-lbl {
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text) !important;
}

/* ───── Step rows (used by stack builder guide) ───── */
body.mfs-page .step-row {
  display: flex !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
}
body.mfs-page .step-row:last-child { border-bottom: 0 !important; }
body.mfs-page .step-num {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, var(--fpl-blue), var(--fpl-blue-deep)) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--fpl-font-display) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  flex-shrink: 0 !important;
  -webkit-text-fill-color: #fff !important;
  background-image: linear-gradient(135deg, var(--fpl-blue), var(--fpl-blue-deep)) !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  box-shadow: 0 6px 14px rgba(42, 63, 168, 0.24) !important;
}
body.mfs-page .step-title {
  font-family: var(--fpl-font-display) !important;
  font-size: 16px !important;
  color: var(--fpl-text) !important;
  margin: 0 0 4px !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .step-hint {
  font-family: var(--fpl-font-ui) !important;
  font-size: 12px !important;
  color: var(--fpl-text-mut) !important;
  font-style: italic !important;
  margin-bottom: 8px !important;
}
body.mfs-page .step-body {
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text-dim) !important;
  line-height: 1.55 !important;
}

/* ───── Day grid (peptide journal weekly log) ───── */
body.mfs-page .day-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
body.mfs-page .day-col {
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 10px !important;
}
body.mfs-page .day-hdr,
body.mfs-page .dp-hdr {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-blue) !important;
  -webkit-text-fill-color: var(--fpl-blue) !important;
  text-align: center !important;
  padding: 0 0 8px !important;
  margin: 0 0 8px !important;
  border-bottom: 1px solid var(--fpl-blue-rule) !important;
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  text-shadow: none !important;
}
body.mfs-page .day-field {
  margin-bottom: 8px !important;
}
body.mfs-page .day-field:last-child { margin-bottom: 0 !important; }
body.mfs-page .day-field-lbl {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
  margin-bottom: 3px !important;
}
body.mfs-page .day-field input {
  font-family: var(--fpl-font-ui) !important;
  font-size: 12px !important;
  color: var(--fpl-text) !important;
  background: #FFFFFF !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 6px !important;
  padding: 5px 7px !important;
  width: 100% !important;
  outline: none !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .day-field input::placeholder {
  color: var(--fpl-text-mut) !important;
  opacity: 0.6 !important;
  font-size: 11px !important;
}

/* DP slot (cycle / appointment forms variant) */
body.mfs-page .dp-slot { margin-bottom: 8px !important; }
body.mfs-page .dp-slot input {
  font-family: var(--fpl-font-ui) !important;
  font-size: 12px !important;
  color: var(--fpl-text) !important;
  background: #FFFFFF !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 6px !important;
  padding: 6px 8px !important;
  width: 100% !important;
  outline: none !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .dp-col {
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 10px !important;
}

/* ───── Tables (sched + tracker, lab results) ───── */
body.mfs-page .sched-table,
body.mfs-page .tracker-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--fpl-card) !important;
  border: 1px solid var(--fpl-rule) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
}
body.mfs-page .sched-table th,
body.mfs-page .tracker-table th {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
  text-align: left !important;
  padding: 10px !important;
  background: var(--fpl-blue-tint) !important;
  border-bottom: 1px solid var(--fpl-blue-rule) !important;
}
body.mfs-page .sched-table td,
body.mfs-page .tracker-table td {
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
  vertical-align: top !important;
  color: var(--fpl-text) !important;
}
body.mfs-page .sched-table tr:last-child td,
body.mfs-page .tracker-table tr:last-child td { border-bottom: 0 !important; }
body.mfs-page .sched-table td input,
body.mfs-page .tracker-table td input {
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  width: 100% !important;
  outline: none !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .tracker-table td:first-child {
  font-family: var(--fpl-font-display) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  color: var(--fpl-blue) !important;
  -webkit-text-fill-color: var(--fpl-blue) !important;
  background: var(--fpl-blue-tint) !important;
  background-color: rgba(42,63,168,0.08) !important;
  background-image: none !important;
  text-align: left !important;
  width: auto !important;
  border-right: 1px solid var(--fpl-blue-rule) !important;
}

/* ───── Rating dots (peptide journal weekly reflection) ───── */
body.mfs-page .rating-row {
  display: grid !important;
  grid-template-columns: minmax(120px, 0.8fr) auto minmax(120px, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 8px 0 !important;
}
body.mfs-page .rating-lbl {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
}
body.mfs-page .rdot {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--fpl-blue-rule) !important;
  background: #FFFFFF !important;
  display: inline-block !important;
}
body.mfs-page .rdot-row {
  display: flex !important;
  gap: 8px !important;
}

/* ───── Q rows (questions for clinician) ───── */
body.mfs-page .q-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
}
body.mfs-page .q-row:last-of-type { border-bottom: 0 !important; }
body.mfs-page .q-row input.q-line {
  flex: 1 !important;
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text) !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  padding: 4px 0 !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .q-row input.q-line::placeholder {
  color: var(--fpl-text-mut) !important;
  opacity: 0.7 !important;
  font-style: italic !important;
}
body.mfs-page .q-num {
  font-family: var(--fpl-font-display) !important;
  font-size: 14px !important;
  color: var(--fpl-blue) !important;
  width: 22px !important;
  flex-shrink: 0 !important;
  -webkit-text-fill-color: var(--fpl-blue) !important;
}

/* ───── Brandon box (notes / questions card) ───── */
body.mfs-page .brandon-box {
  background: linear-gradient(180deg, var(--fpl-blue-tint), transparent) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  position: relative !important;
}
body.mfs-page .brandon-box::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 12px !important;
  bottom: 12px !important;
  width: 3px !important;
  background: linear-gradient(180deg, var(--fpl-cyan), var(--fpl-blue)) !important;
  border-radius: 0 2px 2px 0 !important;
}
body.mfs-page .brandon-box-lbl {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-blue) !important;
  margin-bottom: 8px !important;
  padding-left: 10px !important;
}
body.mfs-page .brandon-box textarea {
  font-family: var(--fpl-font-ui) !important;
  font-size: 13px !important;
  color: var(--fpl-text) !important;
  background: #FFFFFF !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 8px !important;
  padding: 10px !important;
  width: 100% !important;
  outline: none !important;
  resize: vertical !important;
  line-height: 1.5 !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .brandon-box textarea::placeholder {
  color: var(--fpl-text-mut) !important;
  opacity: 0.7 !important;
  font-style: italic !important;
}

/* ───── Interest columns (stack builder guide) ───── */
body.mfs-page .interest-col-hdr {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-blue) !important;
  margin-bottom: 10px !important;
}
body.mfs-page .int-box {
  background: var(--fpl-blue-tint) !important;
  border: 1px solid var(--fpl-blue-rule) !important;
  border-radius: 10px !important;
  padding: 12px !important;
  margin-bottom: 8px !important;
}
body.mfs-page .int-name,
body.mfs-page .int-why {
  font-family: var(--fpl-font-ui) !important;
  font-size: 12px !important;
  color: var(--fpl-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fpl-rule) !important;
  outline: none !important;
  padding: 4px 0 !important;
  width: 100% !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
}
body.mfs-page .int-why { margin-top: 6px !important; }

/* ───── Footer ───── */
body.mfs-page .footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 22px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--fpl-rule) !important;
}
body.mfs-page .footer-left,
body.mfs-page .footer-right {
  font-family: var(--fpl-font-eyebrow) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--fpl-text-mut) !important;
}
body.mfs-page .footer-brand {
  font-family: var(--fpl-font-display) !important;
  font-size: 14px !important;
  color: var(--fpl-text) !important;
  -webkit-text-fill-color: var(--fpl-text) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

/* ───── Print: keep colors, white background ───── */
@media print {
  body.mfs-page {
    background: #FFFFFF !important;
  }
  body.mfs-page .sheet {
    box-shadow: none !important;
    border: 1px solid var(--fpl-rule) !important;
    page-break-inside: avoid;
  }
  body.mfs-page .mfs-toolbar { display: none !important; }
}

/* ───── Mobile ───── */
@media (max-width: 900px) {
  body.mfs-page .sheet { padding: 22px 18px !important; }
  body.mfs-page .hdr {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
  body.mfs-page .hdr-right { text-align: left !important; }
  body.mfs-page .day-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 520px) {
  body.mfs-page .day-grid { grid-template-columns: 1fr !important; }
}
