.smbp {
  --smbp-petrol: var(--sm-petrol, #0e5a53);
  --smbp-petrol-dark: var(--sm-petrol-dark, #084943);
  --smbp-gold: var(--sm-gold, #cc9a3d);
  --smbp-gold-ink: var(--sm-gold-ink, #96711f);
  --smbp-gold-tint: var(--sm-gold-tint, #fbf0dc);
  --smbp-border: var(--sm-border, #e7e1d6);
  --smbp-sand: var(--sm-sand, #f4f1ee);
  --smbp-canvas: var(--sm-canvas, #fbfaf8);
  --smbp-card: var(--sm-card, #fff);
  --smbp-ink: var(--sm-ink, #1a1a1a);
  --smbp-muted: var(--sm-muted, #5f5b56);
  --smbp-petrol-tint: var(--sm-petrol-tint, #e7f0ee);
  color: var(--smbp-ink);
  font-family: "Literata", Georgia, serif;
  margin-inline: auto;
  max-width: 1240px;
}

.smbp *, .smbp *::before, .smbp *::after { box-sizing: border-box; }
.smbp button, .smbp input, .smbp select { font: inherit; }
.smbp button { cursor: pointer; }
.smbp [hidden] { display: none !important; }

/* The theme paints every button dark green on hover, focus and press
   (Kadence's button:hover/:focus/:active). Each planner button keeps its own
   ground and colour in all three states instead. */
.smbp :is(.smbp-section-toggle, .smbp-month-copy, .smbp-section-control, .smbp-add, .smbp-snapshot-delete, .smbp-snapshot-open, .smbp-snapshot-view, .smbp-afford-close, .smbp-row-toggle, .smbp-row-add, .smbp-row-suggestion, .smbp-panel-toggle):is(:hover, :focus, :active) { background: transparent; box-shadow: none; }
.smbp :is(.smbp-snapshot-open):is(:hover, :focus, :active) { color: var(--smbp-ink); }
.smbp :is(.smbp-snapshot-view):is(:hover, :focus, :active) { color: var(--smbp-petrol); }
.smbp .smbp-section-toggle:is(:hover, :focus, :active) { color: var(--smbp-ink); }
.smbp :is(.smbp-month-copy, .smbp-section-control, .smbp-add, .smbp-row-add):is(:hover, :focus, :active) { color: var(--smbp-gold-ink); }
.smbp .smbp-snapshot-delete:is(:focus, :active) { color: #8c3d38; }
.smbp .smbp-afford-close:is(:hover, :focus, :active) { color: var(--smbp-muted); }
.smbp .smbp-remove:is(:hover, :focus, :active) { background: var(--smbp-sand); box-shadow: none; color: var(--smbp-ink); }
.smbp :is(.smbp-button-secondary, .smbp-afford-secondary):is(:hover, :focus, :active) { background: var(--smbp-sand); box-shadow: none; color: var(--smbp-ink); }
.smbp .smbp-button-primary:is(:hover, :focus, :active) { background: var(--smbp-petrol-dark); box-shadow: none; color: #fff; }
.smbp .smbp-button-light:is(:hover, :focus, :active) { background: rgba(255,255,255,.12); box-shadow: none; color: #fff; }
.smbp .smbp-button-danger:is(:hover, :focus, :active) { background: #fff1ef; box-shadow: none; color: #8c3d38; }
.smbp .smbp-afford-trigger:is(:hover, :focus, :active) { background: rgba(255,255,255,.15); box-shadow: none; color: #fff; }
.smbp .smbp-summary-tabs button:is(:hover, :focus, :active) { background: transparent; box-shadow: none; color: #d9eae7; }
.smbp .smbp-summary-tabs button[aria-selected="true"]:is(:hover, :focus, :active) { background: #fff; color: var(--smbp-petrol-dark); }

.smbp-intro {
  align-items: end;
  background: var(--smbp-canvas);
  border-bottom: 1px solid var(--smbp-border);
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 36px 0 30px;
}
.smbp-eyebrow, .smbp-summary-label {
  color: var(--smbp-gold-ink);
  font-family: "Noto Sans", sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0 0 8px;
}
.smbp-intro h1 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.14; margin: 0 0 12px; }
.smbp-intro-copy { color: var(--smbp-muted); line-height: 1.65; margin: 0; max-width: 760px; }
.smbp-print-meta { display: none; }
.smbp-save-state { align-items: center; display: flex; font-family: "Noto Sans", sans-serif; gap: 10px; max-width: 320px; }
.smbp-save-state strong, .smbp-save-state small { display: block; }
.smbp-save-state strong { font-size: .92rem; }
.smbp-save-state small { color: var(--smbp-muted); font-size: .77rem; margin-top: 2px; }
.smbp-save-state [data-save-help] { line-height: 1.35; }
.smbp-save-state [data-save-time] { font-size: .72rem; }
.smbp-save-dot { background: var(--smbp-petrol); border-radius: 50%; height: 10px; width: 10px; }

.smbp-toolbar {
  align-items: end;
  border-bottom: 1px solid var(--smbp-border);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 20px 0;
}
.smbp-month-tools { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; }
.smbp-month { color: var(--smbp-muted); display: grid; font-family: "Noto Sans", sans-serif; font-size: .78rem; font-weight: 600; gap: 5px; }
.smbp-month input { background: var(--smbp-card); border: 1px solid var(--smbp-border); border-radius: 10px; color: var(--smbp-ink); min-height: 44px; padding: 8px 12px; }
.smbp-month-copy { background: transparent; border: 0; color: var(--smbp-gold-ink); font-family: "Noto Sans", sans-serif; font-size: .82rem; font-weight: 650; min-height: 44px; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }
.smbp-month-copy:disabled { color: var(--smbp-muted); cursor: default; opacity: .65; text-decoration: none; }
.smbp-toolbar-actions, .smbp-summary-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.smbp-button { border-radius: 999px; font-family: "Noto Sans", sans-serif; font-size: .9rem; font-weight: 650; min-height: 44px; padding: 9px 18px; }
.smbp-button-primary { background: var(--smbp-petrol); border: 1px solid var(--smbp-petrol); color: #fff; }
.smbp-button-primary:hover, .smbp-button-primary:focus-visible { background: var(--smbp-petrol-dark); }
.smbp-button-secondary, .smbp-button-light { background: transparent; border: 1px solid var(--smbp-border); color: var(--smbp-ink); }
.smbp-button-light { border-color: rgba(255,255,255,.5); color: #fff; }
.smbp-button-danger { background: transparent; border: 1px solid #a64b45; color: #8c3d38; }
.smbp-button-danger:hover, .smbp-button-danger:focus-visible { background: #fff1ef; }
.smbp-status { background: var(--smbp-petrol); color: #fff; font-family: "Noto Sans", sans-serif; margin: 12px 0 0; padding: 10px 14px; }
.smbp-status.is-error { background: #a64b45; }

.smbp-data-management { border-bottom: 1px solid var(--smbp-border); font-family: "Noto Sans", sans-serif; }
.smbp-data-management summary { color: var(--smbp-gold-ink); cursor: pointer; font-size: .82rem; font-weight: 650; min-height: 44px; padding: 13px 0; }
.smbp-data-management summary:focus-visible { outline: 2px solid var(--smbp-petrol); outline-offset: 3px; }
.smbp-data-management-body { border-top: 1px solid var(--smbp-border); padding: 14px 0 18px; }
.smbp-data-management-body p { color: var(--smbp-muted); font-size: .82rem; line-height: 1.5; margin: 0 0 12px; }
.smbp-data-management-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.smbp-banking-companion {
  align-items: start;
  background: #f5f9f8;
  border: 1px solid #bdd8d4;
  border-radius: 14px;
  display: grid;
  gap: 14px;
  grid-template-columns: 42px minmax(0, 1fr);
  margin: 20px 0 0;
  padding: 17px 18px;
}
.smbp-banking-icon {
  align-items: center;
  border: 1px solid #74a9a3;
  border-radius: 50%;
  color: var(--smbp-petrol);
  display: flex;
  font-family: "Noto Sans", sans-serif;
  font-size: 1.15rem;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.smbp-banking-label { color: var(--smbp-petrol); font: 700 .7rem "Noto Sans", sans-serif; letter-spacing: .08em; margin: 0 0 4px; }
.smbp-banking-companion h2 { font-size: 1.05rem; margin: 0 0 5px; }
.smbp-banking-companion p, .smbp-banking-companion small { color: #4f5f5c; font: .8rem/1.5 "Noto Sans", sans-serif; }
.smbp-banking-companion p { margin: 0 0 5px; }
.smbp-banking-companion small { display: block; font-size: .7rem; }

.smbp-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(300px, 365px); padding: 28px 0 40px; }
.smbp-plan-column { min-width: 0; }
.smbp-classification-intro {
  align-items: start;
  background: #fff;
  border: 1px solid var(--smbp-border);
  border-radius: 14px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 18px;
  padding: 17px 18px;
}
.smbp-classification-intro strong { font-size: 1rem; }
.smbp-classification-intro p { color: var(--smbp-muted); font: .82rem/1.5 "Noto Sans", sans-serif; margin: 4px 0 0; }
.smbp-classification-key { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.smbp-classification-key span, .smbp-role-label {
  align-items: center;
  background: #fff;
  border: 1px solid;
  border-radius: 999px;
  display: inline-flex;
  font-family: "Noto Sans", sans-serif;
  font-size: .72rem;
  font-weight: 700;
  min-height: 34px;
  padding: 6px 10px;
  white-space: nowrap;
}
.smbp .is-basic { border-color: #74a9a3; color: var(--smbp-petrol-dark); }
.smbp .is-flexible { border-color: var(--smbp-gold); color: #745416; }
.smbp .is-goal { border-color: #a691bd; color: #5c4472; }
.smbp .is-income { border-color: #8aa6bd; color: #36566f; }
.smbp-section-controls { align-items: center; display: flex; font-family: "Noto Sans", sans-serif; justify-content: space-between; margin: 0 0 12px; min-height: 44px; }
.smbp-section-controls > span { color: var(--smbp-muted); font-size: .8rem; font-weight: 650; }
.smbp-section-controls > div { display: flex; gap: 16px; }
.smbp-section-control { background: transparent; border: 0; color: var(--smbp-gold-ink); font-family: "Noto Sans", sans-serif; font-size: .82rem; font-weight: 650; min-height: 44px; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }
.smbp-plan { display: grid; gap: 16px; }
.smbp-section { background: var(--smbp-card); border: 1px solid var(--smbp-border); border-radius: 16px; overflow: hidden; }
.smbp-section-head { align-items: center; cursor: pointer; display: flex; gap: 20px; justify-content: space-between; padding: 12px 22px; }
.smbp-section-head:hover { background: transparent; }
.smbp-section-copy { flex: 1 1 auto; min-width: 0; }
.smbp-section-heading { font-size: 1.25rem; line-height: 1.3; margin: 0; }
.smbp-section-toggle { align-items: center; background: transparent; border: 0; color: var(--smbp-ink); display: flex; font-weight: 700; gap: 10px; justify-content: space-between; min-height: 44px; padding: 4px 0; text-align: left; width: 100%; }
.smbp .smbp-section-toggle:hover { background: transparent; border-color: transparent; box-shadow: none; color: var(--smbp-ink); }
.smbp-section-toggle:focus-visible { outline: 2px solid var(--smbp-petrol); outline-offset: 4px; }
.smbp-section-chevron { color: var(--smbp-gold-ink); display: inline-block; flex: 0 0 auto; font-family: "Noto Sans", sans-serif; font-size: 1.65rem; font-weight: 400; line-height: 1; transform: rotate(0deg); transition: transform .16s ease; }
.smbp-section-toggle[aria-expanded="true"] .smbp-section-chevron { transform: rotate(90deg); }
.smbp-section-copy p { color: var(--smbp-muted); font-family: "Noto Sans", sans-serif; font-size: .82rem; line-height: 1.45; margin: 0; }
.smbp-section:not(.is-expanded) .smbp-section-copy p { display: none; }
.smbp-section-total { flex: 0 0 auto; font-family: "Noto Sans", sans-serif; font-size: .95rem; }
.smbp-rows { border-top: 1px solid var(--smbp-border); padding: 0 22px 18px; }
.smbp-row { align-items: center; border-bottom: 1px solid var(--smbp-sand); display: grid; gap: 9px; grid-template-columns: minmax(150px, 1fr) 112px 105px 122px 44px; min-height: 64px; transition: background-color .3s ease; }
.smbp-row.is-new { background: #eef7f5; }
.smbp-row-name { background: transparent; border: 0; color: var(--smbp-ink); min-width: 0; padding: 11px 6px; }
/* Outranks the theme's input[type=text] grey text, border and 3px corners. */
.smbp .smbp-row-name, .smbp .smbp-row-name:focus { background: #fff; border: 1px solid var(--smbp-border); border-radius: 10px; color: var(--smbp-ink); }
.smbp .smbp-amount input, .smbp .smbp-amount input:focus { color: var(--smbp-ink); }
.smbp-row-name-print { display: none; }
.smbp-row-name:focus { outline: 2px solid var(--smbp-petrol); outline-offset: 2px; }
.smbp-role, .smbp-cadence, .smbp-amount { border: 1px solid var(--smbp-border); border-radius: 10px; min-height: 44px; }
.smbp-role, .smbp-cadence { background: #fff; color: var(--smbp-petrol-dark); font-family: "Noto Sans", sans-serif; font-size: .78rem; font-weight: 700; min-width: 0; padding: 7px 8px; width: 100%; }
.smbp-role-label { justify-content: center; min-height: 44px; }
/* Έσοδο and Στόχος set like the Μηνιαία / Ετήσια control beside them. */
.smbp-row .smbp-role-label { font-family: inherit; font-size: inherit; font-weight: 400; }
.smbp-cadence { background: var(--smbp-petrol-tint); border-color: #bdd8d4; }
.smbp-row.is-annual .smbp-cadence { background: var(--smbp-gold-tint); border-color: var(--smbp-gold); color: #6f5116; }
.smbp-amount { align-items: center; background: #fff; display: grid; grid-template-columns: auto 1fr; overflow: hidden; }
.smbp-amount span { color: var(--smbp-muted); font-family: "Noto Sans", sans-serif; padding-left: 10px; }
.smbp-amount input { border: 0; font-family: "Noto Sans", sans-serif; font-variant-numeric: tabular-nums; min-width: 0; padding: 8px 9px 8px 5px; text-align: right; width: 100%; }
.smbp-remove { background: transparent; border: 0; border-radius: 50%; color: var(--smbp-muted); font-family: "Noto Sans", sans-serif; font-size: 1.5rem; height: 44px; line-height: 1; width: 44px; }
.smbp-remove:hover, .smbp-remove:focus-visible { background: var(--smbp-sand); color: var(--smbp-ink); }
.smbp-add { background: transparent; border: 0; color: var(--smbp-gold-ink); font-family: "Noto Sans", sans-serif; font-weight: 650; min-height: 44px; padding: 13px 6px 5px; }
/* «Προσθήκη»: the section's default rows not in the plan, and its catch-all. */
.smbp .smbp-row-add { background: transparent; border: 0; color: var(--smbp-gold-ink); font: 650 .9rem "Noto Sans", sans-serif; min-height: 44px; padding: 13px 6px 5px; text-align: left; }
.smbp-row-picker { background: var(--smbp-canvas); border: 1px solid var(--smbp-border); border-radius: 12px; margin: 4px 0 6px; max-width: 460px; padding: 4px 12px; }
.smbp-row-picker-title { color: var(--smbp-muted); font: 700 .72rem "Noto Sans", sans-serif; letter-spacing: .06em; margin: 8px 0 2px; }
.smbp .smbp-row-suggestion { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--smbp-sand); color: var(--smbp-ink); display: flex; font-family: "Literata", Georgia, serif; font-size: .95rem; gap: 12px; justify-content: space-between; min-height: 44px; padding: 8px 0; text-align: left; width: 100%; }
.smbp .smbp-row-suggestion:is(:hover, :focus, :active) { color: var(--smbp-ink); }
.smbp-row-suggestion:last-child { border-bottom: 0; }
.smbp-row-suggestion > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.smbp-row-suggestion-plus { color: var(--smbp-gold-ink); flex: 0 0 auto; font: 1.1rem "Noto Sans", sans-serif; }

.smbp-summary { background: var(--smbp-petrol); border-radius: 16px; color: #fff; padding: 26px; position: sticky; top: 100px; }
.smbp-summary-label { color: var(--smbp-gold); }
.smbp-summary h2 { color: #fff; font-size: 1.3rem; margin: 0; }
.smbp-primary-number { color: #fff; font-family: "Noto Sans", sans-serif; font-size: 3rem; font-weight: 750; line-height: 1; margin: 16px 0 8px; }
.smbp-primary-number.is-negative { color: #ffd7d2; }
.smbp-primary-caption, .smbp-breakdown-note { color: #d9eae7; font-size: .82rem; line-height: 1.5; margin: 0; }
.smbp-metrics { border-block: 1px solid rgba(255,255,255,.28); display: grid; gap: 12px; margin: 22px 0; padding: 18px 0; }
.smbp-metrics div, .smbp-summary-total { align-items: baseline; display: flex; gap: 16px; justify-content: space-between; }
.smbp-metrics dt, .smbp-summary-total span { color: #d9eae7; font-size: .9rem; }
.smbp-metrics dd { font-family: "Noto Sans", sans-serif; font-weight: 700; margin: 0; }
.smbp-summary h3 { color: #fff; font-size: 1rem; margin: 0 0 5px; }
.smbp-breakdown { display: grid; gap: 13px; margin: 18px 0 22px; }
.smbp-breakdown-row { display: grid; gap: 5px 10px; grid-template-columns: minmax(0, 1fr) auto; }
.smbp-breakdown-label { color: #fff; font-size: .82rem; }
.smbp-breakdown-value { font-family: "Noto Sans", sans-serif; font-size: .82rem; }
.smbp-breakdown-track { background: rgba(255,255,255,.22); border-radius: 999px; grid-column: 1 / -1; height: 7px; overflow: hidden; }
.smbp-breakdown-track span { background: var(--smbp-gold); display: block; height: 100%; }
.smbp-summary .smbp-empty { color: #d9eae7; }
.smbp-summary-total { border-top: 1px solid rgba(255,255,255,.28); font-family: "Noto Sans", sans-serif; padding: 18px 0; }
.smbp-section-total, .smbp-primary-number, .smbp-metrics dd, .smbp-breakdown-value, .smbp-summary-total strong { flex: 0 0 auto; white-space: nowrap; }
.smbp-summary-actions { margin-top: 5px; }

.smbp-next-action {
  background: #fff5e6;
  border-radius: 12px;
  color: var(--smbp-ink);
  margin: 18px 0 4px;
  padding: 14px;
}
.smbp-next-action p, .smbp-plan-insights > p { color: #8a6217; font: 700 .66rem "Noto Sans", sans-serif; letter-spacing: .08em; margin: 0 0 5px; }
.smbp-next-action h3 { color: var(--smbp-ink); font-size: .92rem; margin: 0 0 4px; }
.smbp-next-action span { color: var(--smbp-muted); display: block; font: .72rem/1.45 "Noto Sans", sans-serif; }
.smbp-afford-trigger {
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 12px;
  color: #fff;
  display: grid;
  gap: 10px;
  grid-template-columns: 28px minmax(0, 1fr);
  margin: 18px 0 2px;
  min-height: 58px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}
.smbp-afford-trigger > span:first-child { align-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: flex; font-family: "Noto Sans", sans-serif; height: 27px; justify-content: center; width: 27px; }
.smbp-afford-trigger strong, .smbp-afford-trigger small { display: block; }
.smbp-afford-trigger strong { font-size: .86rem; }
.smbp-afford-trigger small { color: #d9eae7; font: .68rem "Noto Sans", sans-serif; margin-top: 2px; }
.smbp-afford-trigger:hover, .smbp-afford-trigger:focus-visible { background: rgba(255,255,255,.15); }
.smbp-summary-tabs { border: 1px solid rgba(255,255,255,.42); border-radius: 999px; display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 20px; padding: 3px; }
.smbp-summary-tabs button { background: transparent; border: 0; border-radius: 999px; color: #d9eae7; font: 700 .75rem "Noto Sans", sans-serif; min-height: 40px; padding: 7px 8px; }
.smbp-summary-tabs button[aria-selected="true"] { background: #fff; color: var(--smbp-petrol-dark); }
.smbp-breakdown-label { align-items: center; display: inline-flex; gap: 8px; }
.smbp-breakdown-label i, .smbp-goal-summary i { border-radius: 50%; display: inline-block; flex: 0 0 auto; height: 9px; width: 9px; }
.smbp-dot-basic, .smbp-bar-basic { background: #a8cfca !important; }
.smbp-dot-flexible, .smbp-bar-flexible { background: #e7c578 !important; }
.smbp-dot-goal { background: #c6afd9 !important; }
.smbp-goal-summary { border: 1px solid rgba(255,255,255,.3); border-radius: 12px; display: grid; font-family: "Noto Sans", sans-serif; gap: 4px 12px; grid-template-columns: minmax(0, 1fr) auto; margin: 0 0 20px; padding: 13px; }
.smbp-goal-summary span { align-items: center; display: flex; font-size: .82rem; gap: 8px; }
.smbp-goal-summary strong { font-size: .85rem; }
.smbp-goal-summary small { color: #d9eae7; font-size: .72rem; grid-column: 1 / -1; }
.smbp-plan-insights { border-top: 1px solid rgba(255,255,255,.28); margin-top: 22px; padding-top: 18px; }
.smbp-plan-insights > p { color: #e7c578; }
.smbp-plan-insights ul { display: grid; gap: 9px; list-style: none; margin: 12px 0 10px; padding: 0; }
.smbp-plan-insights li { color: #fff; font: .74rem/1.45 "Noto Sans", sans-serif; padding-left: 16px; position: relative; }
.smbp-plan-insights li::before { background: #a8cfca; border-radius: 50%; content: ""; height: 7px; left: 0; position: absolute; top: .43em; width: 7px; }
.smbp-plan-insights small { color: #d9eae7; display: block; font: .66rem/1.4 "Noto Sans", sans-serif; }

.smbp-afford-dialog {
  background: var(--smbp-canvas);
  border: 0;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(8,73,67,.25);
  color: var(--smbp-ink);
  font-family: "Literata", Georgia, serif;
  margin: auto;
  max-height: calc(100vh - 32px);
  max-width: 680px;
  overflow: auto;
  padding: 0;
  width: calc(100% - 32px);
}
.smbp-afford-dialog *, .smbp-afford-dialog *::before, .smbp-afford-dialog *::after { box-sizing: border-box; }
.smbp-afford-dialog::backdrop { background: rgba(8,32,29,.58); }
.smbp-afford-form { padding: 26px; }
.smbp-afford-head { align-items: start; display: flex; gap: 20px; justify-content: space-between; }
.smbp-afford-head h2 { font-size: 1.65rem; margin: 0 0 6px; }
.smbp-afford-head > div > p:last-child { color: var(--smbp-muted); font: .82rem/1.5 "Noto Sans", sans-serif; margin: 0; }
.smbp-afford-close { background: transparent; border: 1px solid var(--smbp-border); border-radius: 50%; color: var(--smbp-muted); flex: 0 0 auto; font-size: 1.5rem; height: 42px; line-height: 1; width: 42px; }
.smbp-afford-fields { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 24px 0 18px; }
.smbp-afford-fields > label, .smbp-afford-field { color: var(--smbp-muted); display: grid; font: 700 .74rem "Noto Sans", sans-serif; gap: 5px; min-width: 0; }
.smbp-afford-field > label:first-child { color: var(--smbp-muted); font: 700 .74rem "Noto Sans", sans-serif; }
.smbp-afford-fields input, .smbp-afford-fields select, .smbp-afford-amount { background: #fff; border: 1px solid var(--smbp-border); border-radius: 10px; color: var(--smbp-ink); font: 600 .88rem "Noto Sans", sans-serif; min-height: 46px; padding: 9px 11px; width: 100%; }
.smbp-afford-amount { align-items: center; display: grid; grid-template-columns: auto minmax(0, 1fr); padding: 0; }
.smbp-afford-amount span { color: var(--smbp-muted); padding-left: 11px; }
.smbp-afford-amount input { border: 0; min-width: 0; text-align: right; }
.smbp-afford-result { background: #eef7f5; border: 1px solid #9dc7c1; border-radius: 14px; padding: 18px; }
.smbp-afford-result.is-short { background: #fff5e6; border-color: #e2be75; }
.smbp-afford-result-label { color: var(--smbp-petrol); font: 700 .68rem "Noto Sans", sans-serif; letter-spacing: .08em; margin: 0 0 5px; }
.smbp-afford-result.is-short .smbp-afford-result-label { color: #8a6217; }
.smbp-afford-result h3 { font-size: 1.15rem; margin: 0 0 6px; }
.smbp-afford-result > p:not(.smbp-afford-result-label) { color: var(--smbp-muted); font: .78rem/1.5 "Noto Sans", sans-serif; margin: 0 0 14px; }
.smbp-afford-result dl { border-top: 1px solid rgba(14,90,83,.18); display: grid; gap: 8px; margin: 0; padding-top: 12px; }
.smbp-afford-result dl div { align-items: baseline; display: flex; gap: 16px; justify-content: space-between; }
.smbp-afford-result dt { color: var(--smbp-muted); font-size: .78rem; }
.smbp-afford-result dd { font: 700 .82rem "Noto Sans", sans-serif; margin: 0; white-space: nowrap; }
.smbp-afford-disclaimer { color: var(--smbp-muted); font: .7rem/1.5 "Noto Sans", sans-serif; margin: 12px 0 0; }
.smbp-afford-add-note { background: var(--smbp-sand); border-radius: 9px; color: var(--smbp-muted); font: .72rem/1.5 "Noto Sans", sans-serif; margin: 12px 0 0; padding: 10px 12px; }
.smbp-afford-actions { display: flex; gap: 9px; justify-content: end; margin-top: 18px; }
.smbp-afford-secondary { background: transparent; border: 1px solid var(--smbp-border); color: var(--smbp-ink); }

.smbp-history { background: var(--smbp-card); border: 1px solid var(--smbp-border); border-radius: 16px; margin: 0 0 44px; overflow: hidden; scroll-margin-top: 30px; }
.smbp-history-head { cursor: pointer; padding: 12px 22px; }
.smbp-history h2 { font-size: 1.25rem; margin: 0; }
.smbp-history-count { color: var(--smbp-muted); font: 600 .85rem "Noto Sans", sans-serif; }
.smbp-history-body { border-top: 1px solid var(--smbp-border); padding: 16px 22px 22px; }
.smbp-history-body > p { color: var(--smbp-muted); font: .82rem/1.5 "Noto Sans", sans-serif; margin: 0; }
.smbp-history-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; }
.smbp-snapshot { background: #fff; border: 1px solid var(--smbp-border); border-radius: 14px; padding: 18px; }
.smbp-snapshot h3 { font-size: 1rem; margin: 0 0 10px; text-transform: capitalize; }
.smbp-snapshot > strong { color: var(--smbp-petrol); display: block; font-family: "Noto Sans", sans-serif; font-size: 1.7rem; }
.smbp-snapshot > strong.is-negative { color: #a64b45; }
.smbp-snapshot p, .smbp-snapshot small { color: var(--smbp-muted); font-family: "Noto Sans", sans-serif; font-size: .78rem; line-height: 1.5; }
.smbp-snapshot small { display: block; }
.smbp-snapshot-actions { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 10px; }
.smbp-snapshot h3 .smbp-snapshot-open { background: transparent; border: 0; color: var(--smbp-ink); font: inherit; min-height: 44px; padding: 0; text-align: left; text-decoration: underline; text-decoration-color: var(--smbp-border); text-underline-offset: 4px; }
.smbp-snapshot h3 .smbp-snapshot-open:hover, .smbp-snapshot h3 .smbp-snapshot-open:focus-visible { text-decoration-color: currentColor; }
.smbp-snapshot-view { background: transparent; border: 0; color: var(--smbp-petrol); font-family: "Noto Sans", sans-serif; font-size: .8rem; font-weight: 650; min-height: 44px; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }

/* «Αποστολή με email». */
.smbp-email-fields { display: grid; gap: 8px; margin: 22px 0 14px; }
.smbp-email-fields > label { color: var(--smbp-muted); font: 700 .74rem "Noto Sans", sans-serif; }
.smbp .smbp-email-fields input[type="email"] { background: #fff; border: 1px solid var(--smbp-border); border-radius: 10px; color: var(--smbp-ink); font: 600 .95rem "Noto Sans", sans-serif; min-height: 46px; padding: 9px 11px; width: 100%; }
.smbp-email-trap { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.smbp .smbp-email-consent { align-items: start; color: var(--smbp-ink); cursor: pointer; display: grid; font: 400 .85rem/1.5 "Noto Sans", sans-serif; gap: 10px; grid-template-columns: 22px minmax(0, 1fr); margin-top: 6px; min-height: 44px; padding: 8px 0; }
.smbp-email-consent input { accent-color: var(--smbp-petrol); height: 20px; margin: 1px 0 0; width: 20px; }
.smbp-email-privacy { font: .8rem "Noto Sans", sans-serif; margin: 0; }
.smbp-email-privacy a { color: var(--smbp-petrol); }
.smbp-email-status { font: .85rem/1.5 "Noto Sans", sans-serif; margin: 0; min-height: 1.5em; }
.smbp-email-status.is-ok { background: #eef7f5; border-radius: 10px; color: var(--smbp-petrol-dark); padding: 10px 12px; }
.smbp-email-status.is-error { color: #8c3d38; }

/* A saved record, read-only: in its window and in its own PDF. */
.smbp-record-print { display: none; }
.smbp-record-note { background: var(--smbp-gold-tint); border-radius: 10px; color: #6f5116; font: .8rem/1.5 "Noto Sans", sans-serif; margin: 18px 0 0; padding: 10px 12px; }
.smbp-record-totals { border-block: 1px solid var(--smbp-border); display: grid; gap: 8px; margin: 18px 0; padding: 14px 0; }
.smbp-record-totals div { align-items: baseline; display: flex; gap: 16px; justify-content: space-between; }
.smbp-record-totals dt { color: var(--smbp-muted); font-size: .9rem; }
.smbp-record-totals dd { font: 700 .95rem "Noto Sans", sans-serif; margin: 0; white-space: nowrap; }
.smbp-record-totals div:first-child dd { color: var(--smbp-petrol); font-size: 1.35rem; }
.smbp-record-totals dd.is-negative, .smbp-record-totals div:first-child dd.is-negative { color: #a64b45; }
.smbp-record-section { margin: 0 0 16px; }
.smbp-record-section h3 { align-items: baseline; display: flex; font-size: 1.02rem; gap: 12px; justify-content: space-between; margin: 0 0 4px; }
.smbp-record-section h3 span { font: 700 .82rem "Noto Sans", sans-serif; white-space: nowrap; }
.smbp-record-row { align-items: baseline; border-bottom: 1px solid var(--smbp-sand); display: grid; font: .82rem/1.4 "Noto Sans", sans-serif; gap: 2px 14px; grid-template-columns: minmax(0, 1fr) 128px 62px 84px; padding: 7px 0; }
.smbp-record-name { font: .92rem/1.35 "Literata", Georgia, serif; min-width: 0; overflow-wrap: anywhere; }
.smbp-record-kind, .smbp-record-period { color: var(--smbp-muted); }
.smbp-record-row.is-annual .smbp-record-period { color: var(--smbp-gold-ink); font-weight: 650; }
.smbp-record-amount { text-align: right; white-space: nowrap; }
.smbp-snapshot-delete { background: transparent; border: 0; color: #8c3d38; font-family: "Noto Sans", sans-serif; font-size: .8rem; font-weight: 650; min-height: 44px; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }
.smbp-snapshot-delete:hover, .smbp-snapshot-delete:focus-visible { color: #682d29; }
.smbp-empty { color: var(--smbp-muted); font-family: "Noto Sans", sans-serif; font-size: .88rem; margin: 0; }

@media (max-width: 1024px) {
  .smbp { padding-inline: 24px; }
  .smbp-layout { grid-template-columns: 1fr; }
  .smbp-summary { order: -1; position: static; }
  .smbp-history-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smbp-classification-intro { grid-template-columns: 1fr; }
  .smbp-classification-key { justify-content: start; }
}

@media (max-width: 600px) {
  .smbp { padding-inline: 20px; }
  .smbp-intro { align-items: start; grid-template-columns: 1fr; padding-top: 24px; }
  .smbp-toolbar { align-items: stretch; flex-direction: column; }
  .smbp-month-tools { align-items: stretch; flex-direction: column; }
  .smbp-month-copy { text-align: left; }
  .smbp-toolbar-actions { flex-wrap: nowrap; }
  .smbp-toolbar-actions .smbp-button { white-space: nowrap; }
  .smbp-toolbar-actions [data-print-button] { flex: 1; }
  .smbp-toolbar-actions { flex-wrap: wrap; }
  .smbp-toolbar-actions [data-email-button] { flex: 1 1 100%; }
  .smbp-data-management-actions { align-items: stretch; flex-direction: column; }
  .smbp-data-management-actions .smbp-button { width: 100%; }
  .smbp-classification-key { display: grid; grid-template-columns: 1fr; }
  .smbp-section-controls { align-items: flex-start; flex-direction: column; gap: 0; }
  .smbp-section-controls > div { justify-content: space-between; width: 100%; }
  .smbp-section-head { align-items: start; display: grid; gap: 4px 12px; grid-template-columns: minmax(0, 1fr) auto; padding: 10px 16px 14px; }
  .smbp-section-copy { display: contents; }
  .smbp-section-heading { grid-column: 1; grid-row: 1; }
  .smbp-section-copy p { grid-column: 1 / -1; grid-row: 2; }
  .smbp-section-total { grid-column: 2; grid-row: 1; padding-top: 12px; }
  .smbp-summary { margin-inline: -4px; padding: 22px; }
  .smbp-afford-dialog { max-height: calc(100vh - 20px); width: calc(100% - 20px); }
  .smbp-afford-form { padding: 20px; }
  .smbp-afford-fields { grid-template-columns: 1fr; }
  .smbp-history-head { padding: 10px 16px; }
  .smbp-history-body { padding: 14px 16px 18px; }
  .smbp-history-grid { grid-template-columns: 1fr; }
  .smbp-record-row { grid-template-columns: minmax(0, 1fr) auto; }
  .smbp-record-kind { grid-column: 1; grid-row: 2; }
  .smbp-record-period { grid-column: 2; grid-row: 2; text-align: right; }
  .smbp-record-amount { grid-column: 2; grid-row: 1; }
}

/* Phone-only parts. Hidden on a tablet, a desktop and in print, where the
   panels' bodies sit in their place as if unwrapped. */
.smbp-panel-heading, .smbp-row-toggle { display: none; }
.smbp-panel-body { display: contents; }
.smbp .smbp-panel-toggle:is(:hover, :focus, :active) { color: inherit; }

@media screen and (max-width: 600px) {
  /* «Ξεκίνα πιο εύκολα» and «Η εικόνα του μήνα» fold to their heading. */
  .smbp-panel-static { display: none; }
  .smbp-panel-heading { display: block; margin: 0; }
  .smbp-panel-body { display: block; }
  .smbp [data-panel].is-collapsed .smbp-panel-body { display: none; }
  .smbp-panel-toggle { align-items: center; background: transparent; border: 0; color: inherit; display: flex; font: inherit; gap: 12px; min-height: 44px; padding: 0; text-align: left; width: 100%; }
  .smbp-panel-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
  .smbp-panel-toggle-copy { display: grid; flex: 1 1 auto; gap: 3px; min-width: 0; }
  .smbp-panel-toggle-copy > span:first-child { margin: 0; }
  .smbp-panel-toggle-title { font-family: "Literata", Georgia, serif; font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
  .smbp-panel-chevron { color: var(--smbp-gold-ink); flex: 0 0 auto; font: 400 1.65rem/1 "Noto Sans", sans-serif; transition: transform .16s ease; }
  .smbp-panel-toggle[aria-expanded="true"] .smbp-panel-chevron { transform: rotate(90deg); }
  .smbp-banking-companion { align-items: center; }
  .smbp-banking-companion:not(.is-collapsed) { align-items: start; }
  .smbp-banking-companion .smbp-panel-toggle { color: var(--smbp-ink); }
  .smbp-banking-companion .smbp-panel-body { margin-top: 8px; }
  .smbp-summary .smbp-panel-toggle { color: #fff; }
  .smbp-summary .smbp-panel-toggle-title { font-size: 1.15rem; }
  .smbp-summary .smbp-panel-figure { color: #fff; flex: 0 0 auto; font: 750 1.45rem/1 "Noto Sans", sans-serif; white-space: nowrap; }
  .smbp-summary .smbp-panel-figure.is-negative { color: #ffd7d2; }
  .smbp-summary .smbp-panel-chevron { color: var(--smbp-gold); }
  .smbp-summary .smbp-panel-body { margin-top: 14px; }
  .smbp-summary.is-collapsed { padding-block: 16px; }

  /* On the site the theme's page gutter is the planner's gutter; its own is
     only for a page without one, so names keep their width on a phone. */
  .site-container .smbp { padding-inline: 0; }

  /* Compact rows: name and amount on one line, the details one tap away. */
  .smbp-rows { padding: 0 16px 6px; }
  .smbp-row { align-items: start; column-gap: 10px; grid-template-columns: minmax(0, 1fr) 92px; min-height: 0; padding: 6px 0 0; position: relative; row-gap: 0; z-index: 0; }
  .smbp-row.is-unused { display: none; }
  .smbp .smbp-row-name, .smbp .smbp-row-name:focus { background: transparent; border: 0; border-radius: 6px; box-shadow: none; display: block; font-family: "Literata", Georgia, serif; font-size: 1rem; font-weight: 400; grid-column: 1; grid-row: 1; line-height: 1.35; min-height: 44px; overflow: hidden; padding: 11px 0; resize: none; width: 100%; }
  .smbp-amount { background: transparent; border: 0; grid-column: 2; grid-row: 1; }
  .smbp .smbp-amount input { background: transparent; font-size: 1rem; font-weight: 400; padding-right: 0; }
  .smbp-role, .smbp-role-label, .smbp-cadence, .smbp-remove { display: none; }
  .smbp-row-toggle { align-items: center; background: transparent; border: 0; color: var(--smbp-muted); display: flex; gap: 10px; grid-column: 1 / -1; grid-row: 2; justify-content: space-between; min-height: 44px; padding: 0; text-align: left; width: 100%; }
  .smbp .smbp-row-toggle:is(:hover, :focus, :active) { color: var(--smbp-muted); }
  .smbp-row-toggle:focus-visible { outline: 2px solid var(--smbp-petrol); outline-offset: 2px; }
  .smbp-row-meta { font: .78rem/1.35 "Noto Sans", sans-serif; }
  .smbp-row.is-annual .smbp-row-meta { color: var(--smbp-gold-ink); font-weight: 650; }
  .smbp-row-chevron { color: var(--smbp-gold-ink); flex: 0 0 auto; font: 400 1.35rem/1 "Noto Sans", sans-serif; transition: transform .16s ease; }
  .smbp-row.is-open .smbp-row-chevron { transform: rotate(90deg); }
  .smbp-row.is-open::before { background: var(--smbp-canvas); border-radius: 12px; content: ""; grid-column: 1 / -1; grid-row: 3 / 6; margin: 0 -10px 12px; z-index: -1; }
  .smbp-row.is-open .smbp-cadence { display: block; grid-column: 1 / -1; grid-row: 3; margin-top: 10px; }
  .smbp-row.is-open .smbp-role { display: block; grid-column: 1 / -1; grid-row: 4; margin-top: 9px; }
  .smbp-row.is-open .smbp-remove { border-radius: 0; color: #8c3d38; display: block; font-size: 0; grid-column: 1 / -1; grid-row: 5; height: 44px; justify-self: end; margin-bottom: 12px; padding: 0 2px; width: auto; }
  .smbp-row.is-open .smbp-remove::after { content: "Διαγραφή"; font: 650 .82rem "Noto Sans", sans-serif; text-decoration: underline; text-underline-offset: 3px; }
  .smbp .smbp-row.is-open .smbp-remove:is(:hover, :focus, :active) { background: transparent; color: #682d29; }
  .smbp .smbp-row-add { align-items: center; display: flex; min-height: 48px; padding: 8px 0; width: 100%; }
  .smbp-row-picker { margin: 0 0 12px; max-width: none; padding: 4px 10px; }
  .smbp .smbp-row-suggestion { min-height: 48px; }
}

@media screen and (max-width: 360px) {
  /* «Ιστορικό» and «Αποθήκευση ως PDF» still share one line at 320px. */
  .smbp-toolbar-actions { gap: 8px; }
  .smbp-toolbar-actions .smbp-button { padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .smbp * { scroll-behavior: auto !important; }
}

@media print {
  @page { size: A4; margin: 16mm 14mm; }
  .smbp { max-width: none; padding: 0 !important; }
  .smbp-intro { display: block; padding: 0 0 14px; }
  .smbp-intro h1 { font-size: 26pt; }
  .smbp-intro-copy { display: none; }
  .smbp-print-meta { color: var(--smbp-ink) !important; display: block !important; font-family: "Noto Sans", sans-serif; font-size: 10pt; margin: 8px 0 0 !important; text-transform: capitalize; }
  /* Only the planner prints. The site's header, menu, breadcrumb and footer
     do not, nor does anything a plugin adds to the page (the logged-in
     Hostinger chatbot's «Ask AI» in #vue-app, the admin bar): every element
     that is not the planner, inside it or one of its containers is hidden. */
  body :not(.smbp, .smbp *, :has(.smbp)), #vue-app, #wpadminbar { display: none !important; }
  body :has(.smbp):not(.smbp) { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  .smbp :focus, .smbp :focus-visible { outline: none !important; }
  .smbp { --smbp-muted: #3d3a36; }
  .smbp-summary, .smbp-summary * { color: var(--smbp-ink) !important; }
  .smbp-summary-label, .smbp-next-action > p, .smbp-plan-insights > p { color: var(--smbp-gold-ink) !important; }
  .smbp-next-action { background: transparent; border: 1px solid var(--smbp-border); }
  .smbp-goal-summary { border-color: var(--smbp-border); }
  /* The summary fits page 1 under the theme's type, so page 2 is not a single line. */
  .smbp-summary { break-inside: avoid-page; page-break-inside: avoid; }
  .smbp-primary-number { font-size: 30pt; margin: 8px 0 4px; }
  .smbp-next-action { margin: 12px 0 0; padding: 10px 12px; }
  .smbp-metrics { margin: 14px 0; padding: 12px 0; }
  .smbp-breakdown { margin: 12px 0 14px; }
  .smbp-plan-insights { margin-top: 14px; padding-top: 12px; }
  .smbp-summary-total { padding: 12px 0 0; }
  /* The theme gives every paragraph a 32px bottom margin; in print the summary
     keeps its own, tighter rhythm so it shares page 1 with the title. */
  .smbp .smbp-summary p { margin: 0 0 4px; }
  .smbp .smbp-summary .smbp-primary-number { margin: 2px 0 4px; }
  .smbp .smbp-summary .smbp-next-action > p, .smbp .smbp-summary .smbp-plan-insights > p { margin: 0 0 3px; }
  .smbp-metrics { gap: 6px; margin: 10px 0; padding: 8px 0; }
  .smbp-breakdown { gap: 8px; margin: 8px 0 10px; }
  .smbp-goal-summary { margin: 0 0 6px; padding: 8px 12px; }
  .smbp-plan-insights ul { gap: 4px; margin: 6px 0; }
  .smbp-save-state, .smbp-toolbar, .smbp-status, .smbp-data-management, .smbp-banking-companion, .smbp-classification-intro, .smbp-section-controls, .smbp-add, .smbp-remove, .smbp-summary-actions, .smbp-history, .smbp-row-add, .smbp-row-picker, .smbp-afford-trigger, .smbp-summary-tabs, .smbp-afford-dialog { display: none !important; }
  .smbp-layout { display: flex; flex-direction: column; gap: 16px; padding: 18px 0 0; }
  .smbp-summary { background: #fff; border: 1px solid var(--smbp-border); color: var(--smbp-ink); order: -1; padding: 18px; position: static; width: 100%; }
  .smbp-summary-label, .smbp-summary h2, .smbp-primary-number, .smbp-primary-number.is-negative, .smbp-primary-caption, .smbp-breakdown-note, .smbp-metrics dt, .smbp-summary-total span, .smbp-summary h3, .smbp-breakdown-label, .smbp-summary .smbp-empty { color: var(--smbp-ink); }
  .smbp-metrics, .smbp-summary-total { border-color: var(--smbp-border); }
  .smbp-breakdown-track { background: var(--smbp-sand); }
  .smbp-plan-column { break-before: page; page-break-before: always; }
  .smbp-plan { display: block; }
  .smbp-section + .smbp-section { margin-top: 10px; }
  .smbp-section { break-inside: auto; overflow: visible; }
  .smbp-section[data-category="daily"], .smbp-section[data-category="family"] { break-before: page; page-break-before: always; }
  .smbp-section[data-category="leisure"], .smbp-section[data-category="irregular"], .smbp-section[data-category="savings"] { break-inside: avoid-page; page-break-inside: avoid; }
  .smbp-section-head { break-after: avoid-page; break-inside: avoid-page; page-break-after: avoid; page-break-inside: avoid; padding: 8px 14px; }
  .smbp-section-chevron { display: none; }
  .smbp-section:not(.is-expanded) .smbp-section-copy p { display: block; }
  .smbp .smbp-rows[hidden] { display: block !important; }
  .smbp-rows { padding: 0 14px 10px; }
  .smbp-row { break-inside: avoid-page; gap: 8px; grid-template-columns: minmax(0, 1fr) 76px 82px 92px; min-height: 48px; }
  .smbp-row-name { display: none; }
  .smbp-row-name-print { display: block; font-size: 9pt; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; padding: 8px 6px; }
  .smbp-role, .smbp-role-label, .smbp-cadence, .smbp-amount, .smbp-amount input { background: transparent; border: 0; border-radius: 0; color: var(--smbp-ink); font-size: 9pt; padding-inline: 0; }
  .smbp-row.is-annual .smbp-cadence { background: transparent; border: 0; color: var(--smbp-ink); }
  /* «Προβολή και PDF» on a record prints that record alone. */
  .smbp.is-printing-record > :not(.smbp-record-print) { display: none !important; }
  .smbp.is-printing-record .smbp-record-print { color: var(--smbp-ink); display: block !important; }
  .smbp-record-print .smbp-record-print-title { font: 700 22pt/1.2 "Literata", Georgia, serif; margin: 0 0 4px; text-transform: capitalize; }
  .smbp-record-print .smbp-record-print-meta { font: 10pt "Noto Sans", sans-serif; margin: 0; }
  .smbp-record-print .smbp-record-section { break-inside: avoid-page; }
  .smbp-record-print .smbp-record-row { break-inside: avoid-page; grid-template-columns: minmax(0, 1fr) 130px 70px 90px; }
  .smbp-record-print .smbp-record-kind, .smbp-record-print .smbp-record-period { grid-column: auto; grid-row: auto; text-align: left; }
  .smbp-record-print .smbp-record-amount { grid-column: auto; grid-row: auto; }
  /* The plan uses the page's full width, and every column of a row prints in
     one type: the controls otherwise inherit the screen's larger serif. */
  .smbp-plan-column { width: 100%; }
  .smbp .smbp-row :is(.smbp-role, .smbp-role-label, .smbp-cadence, .smbp-amount, .smbp-amount input, .smbp-amount span) { color: var(--smbp-ink); font: 400 9pt/1.3 "Noto Sans", sans-serif; min-height: 0; }
}
